fshy / Egress and tunnels / Storage
iroh
iroh.computer · Egress and tunnels, Storage · 7 records · JSON
- iroh public relays Egress and tunnelscaveatanonymousno cardDper-ip-shaping
- iroh public relays (n0.computer) Storagecaveatanonymousno cardRper-ip-shaping
- iroh n0 public relays Storagefails: egressemail?card?R
- iroh Services — Community (free tier) Storagefails: egressemailno cardR
- iroh Shared relay Egress and tunnelsfails: quotaemailno cardDvolume-quota
- ipfs / shipyard (the 'ipfs-like service' the client half-remembers) Storagefails: quotaemail?card?R
- n0 hosted blob pinning / storage service Storagefails: quotaemail?card?R
iroh public relays Egress and tunnels
caveatanonymousno cardDper-ip-shaping
| Free tier | four public relay regions, no authentication, rate-limited per connection unit unlimited; metered on downloaded-bytes |
|---|---|
| Price | none stated |
| Per-object cap | not applicable: a stream |
| Retention | not applicable |
| Egress | no byte quota; a per-connection rate limit that is retuned |
| Identity | anonymous no authentication on the public relays |
| Limits |
|
| Binding | per-ip-shaping |
| Interface | unknown the n0 public relay preset, spoken over QUIC |
| Tooling | iroh |
| Composes with | a zero-cost relay for the connections that fail to hole-punch, which makes it a redundancy layer rather than a capacity layer. |
| Reliability | the documentation says not to rely on the public relays for production |
| Notes | A relay that transits bytes is metered by definition, and this one meters rate rather than volume. No number, so no capacity claim. |
| Evidence rung | documented |
| Checked | 2026-10-23 (live); stale on 2026-11-22 |
Evidence (1)
| date | source | what it proved |
|---|---|---|
| 2026-10-22 | docs.iroh.computer/relays/rate-limiting | 'The exact rate limits aren't published today, as they get tuned as needed', plus the warning that public relays are not for production workloads |
More fields (3)
{
"stale_after_days": 180,
"bytes_transit": "yes",
"transit_note": "a relay that transits bytes when hole-punching fails, at a per-connection rate it does not publish"
}Unknown or withheld values (1)
$.interfaceinterface-unknown
iroh public relays (n0.computer) Storage
caveatanonymousno cardRper-ip-shaping
| Free tier | No storage. Free, no account, no card. Public relays are rate-limited per connection but the rate limits are deliberately unpublished. The paid Shared tier is the only one with published figures: 100 GB relayed egress/month then $0.09/GB, 5 MB/s, 10,000 concurrent connections. unit GB; metered on stored-bytes |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | not stated |
| Egress | Free public relays, rate-limited. Self-hosting a relay is free and unlimited (open licence) — the cost moves to your own bandwidth. |
| Identity | anonymous anonymous |
| Limits | Not a storage provider. Only relayed bytes hit the operator, hence the per-connection rate limit rather than a byte quota. |
| Binding | per-ip-shaping one stream is shaped, and a user's throughput is the shaped rate times the number of streams |
| Interface | unknown QUIC over TLS 1.3; Rust crate iroh, bindings for other languages |
| Tooling | iroh crate; relay is a library, not a service with an upload endpoint |
| Composes with | This is SIGNALLING, not relaying, in the normal case: 'roughly 9 out of 10 connections go direct; the relay is only a fallback'. The relay carries bytes only when hole punching fails, which is what makes the free tier viable at all. |
| Reliability | 'The exact rate limits aren't published today, as they get tuned as needed' and 'Do not rely on it for production workloads' — the free tier is explicitly capacity-unstable by design. |
| Notes | No storage. Free, no account, no card. Public relays are rate-limited per connection but the rate limits are deliberately unpublished. The paid Shared tier is the only one with published figures: 100 GB relayed egress/month then $0.09/GB, 5 MB/s, 10,000 concurrent connections. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
| Parsed numbers |
|
Evidence (5)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | docs.iroh.computer/about/faq | 'In practice, roughly 9 out of 10 connections go direct; the relay is only a fallback'; relays are stateless and cannot read traffic (QUIC/TLS 1.3) |
| 2026-10-21 | docs.iroh.computer/relays/rate-limiting | 'The exact rate limits aren't published today, as they get tuned as needed ... applied per connection'; 'Do not rely on it for production workloads' |
| 2026-10-21 | www.iroh.computer/pricing | Free: 'Rate limited' / 'Variable'; Pro $19/mo: 10,000 connections, shared relays, 5 MB/s; Dedicated $199/mo/region: unlimited |
| 2026-10-21 | docs.iroh.computer/iroh-services/relays/shared | '100 GB of relay egress per month, then $0.09/GB'; 'A 5 MB/s rate limit' |
| 2026-10-21 | www.iroh.computer/blog/shared-relays | worked example: 2,000 users x 10 GB/mo; 'if 98% of the traffic could travel directly ... only the remaining 2% (400 GB) would pass through' |
Unknown or withheld values (6)
$.free_tier.notesprocess$.interfaceinterface-unknown$.per_object_cap.notesnot-extracted$.per_object_cap.statednot-extracted$.retention.notesnot-extracted$.retention.statednot-extracted
iroh n0 public relays Storage
fails: egressemail?card?R
| Free tier | Free tier is 'rate-limited traffic' with 'No uptime guarantees' and the exact limits are deliberately unpublished ('The exact rate limits aren't published today, as they get tuned as needed' unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | Free tier is 'rate-limited traffic' with 'No uptime guarantees' and the exact limits are deliberately unpublished ('The exact rate limits aren't published today, as they get tuned as needed' |
| Notes | Free tier is 'rate-limited traffic' with 'No uptime guarantees' and the exact limits are deliberately unpublished ('The exact rate limits aren't published today, as they get tuned as needed' |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (3)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | docs.iroh.computer/relays/rate-limiting | Free tier is 'rate-limited traffic' with 'No uptime guarantees' and the exact limits are deliberately unpublished ('The exact rate limits aren't published today, as they get tuned as needed' |
| 2026-10-21 | www.iroh.computer/pricing | cited as the basis of the rejection: Free tier is 'rate-limited traffic' with 'No uptime guarantees' and the exact limits are deliberately unpublished ('The exact rate limits aren't published today, as they get tuned as needed' |
| 2026-10-21 | docs.iroh.computer/iroh-services/relays/public | cited as the basis of the rejection: Free tier is 'rate-limited traffic' with 'No uptime guarantees' and the exact limits are deliberately unpublished ('The exact rate limits aren't published today, as they get tuned as needed' |
More fields (1)
{
"dead_end": {
"failure_class": "egress",
"why": "Free tier is 'rate-limited traffic' with 'No uptime guarantees' and the exact limits are deliberately unpublished ('The exact rate limits aren't published today, as they get tuned as needed'",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (15)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded
iroh Services — Community (free tier) Storage
fails: egressemailno cardR
| Free tier | 0 bytes of storage. Free plan = public relays in US/EU/Singapore, 7-day metrics retention, no auth, rate-limited traffic, no uptime guarantee. unit mixed; metered on stored-bytes |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | Free plan = public relays in US/EU/Singapore, 7-day metrics retention, no auth, rate-limited traffic, no uptime guarantee (7 days) |
| Egress | Variable / unpublished (inherits public relay limits). |
| Identity | email email |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown Dashboard at services.iroh.computer + iroh-services crate; account is username + email + password. |
| Tooling | iroh_services::Client pushes endpoint metrics on an interval; net-diagnostics can dial back into your endpoint (requires granting Caps::net_diagnostics_get_any()). |
| Composes with | Free tier covers signalling and discovery for an unlimited number of endpoints — which is exactly the part a self-hosted origin needs. It contributes nothing to bytes at rest or bytes served. |
| Reliability | Free tier requires an account only to see metrics; the relays themselves need no account at all. |
| Notes | 0 bytes of storage. Free plan = public relays in US/EU/Singapore, 7-day metrics retention, no auth, rate-limited traffic, no uptime guarantee. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (3)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | www.iroh.computer/pricing | plan table: Free/Pro $19/Dedicated $199 per region/Enterprise; rows are Connections, Relays, Rate limit, Egress, Auth, Custom DNS, Metrics, Support. No storage row exists. |
| 2026-10-21 | www.iroh.computer/services/hosting | Public free / Cloud $19+ / Open Source self-host. 'Hosting' here means relays and discovery. |
| 2026-10-21 | services.iroh.computer/ | signup form is username + email + password (no card, no institution) |
More fields (1)
{
"dead_end": {
"failure_class": "retention",
"why": "0 bytes of storage. Free plan = public relays in US/EU/Singapore, 7-day metrics retention, no auth, rate-limited traffic, no uptime guarantee.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (6)
$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.interfaceinterface-unknown$.per_object_cap.notesnot-extracted$.per_object_cap.statednot-extracted$.retention.notesnot-extracted
ipfs / shipyard (the 'ipfs-like service' the client half-remembers) Storage
fails: quotaemail?card?R
| Free tier | The IPFS pinning lane is closing, not opening — and free IPFS pinning was already excluded at <=6 GB in earlier waves. iroh's own blog frames Mainline+blake3.net as the successor, which is w unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | The IPFS pinning lane is closing, not opening — and free IPFS pinning was already excluded at <=6 GB in earlier waves. iroh's own blog frames Mainline+blake3.net as the successor, which is w |
| Notes | The IPFS pinning lane is closing, not opening — and free IPFS pinning was already excluded at <=6 GB in earlier waves. iroh's own blog frames Mainline+blake3.net as the successor, which is w |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (1)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | www.iroh.computer/blog/iroh-global-content-discovery | The IPFS pinning lane is closing, not opening — and free IPFS pinning was already excluded at <=6 GB in earlier waves. iroh's own blog frames Mainline+blake3.net as the successor, which is w |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "The IPFS pinning lane is closing, not opening — and free IPFS pinning was already excluded at <=6 GB in earlier waves. iroh's own blog frames Mainline+blake3.net as the successor, which is w",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (15)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded
n0 hosted blob pinning / storage service Storage
fails: quotaemail?card?R
| Free tier | Does not exist. n0 sells coordination (relays, metrics, diagnostics) and never bytes at rest. Checked the pricing table, the hosting page, the services dashboard, the org's 100-repo listing, unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | Does not exist. n0 sells coordination (relays, metrics, diagnostics) and never bytes at rest. Checked the pricing table, the hosting page, the services dashboard, the org's 100-repo listing, |
| Notes | Does not exist. n0 sells coordination (relays, metrics, diagnostics) and never bytes at rest. Checked the pricing table, the hosting page, the services dashboard, the org's 100-repo listing, |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (3)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | www.iroh.computer/pricing | Does not exist. n0 sells coordination (relays, metrics, diagnostics) and never bytes at rest. Checked the pricing table, the hosting page, the services dashboard, the org's 100-repo listing, |
| 2026-10-21 | www.iroh.computer/services/hosting | cited as the basis of the rejection: Does not exist. n0 sells coordination (relays, metrics, diagnostics) and never bytes at rest. Checked the pricing table, the hosting page, the services dashboard, the org's 100-repo listing, |
| 2026-10-21 | docs.iroh.computer/iroh-services/relays/shared | cited as the basis of the rejection: Does not exist. n0 sells coordination (relays, metrics, diagnostics) and never bytes at rest. Checked the pricing table, the hosting page, the services dashboard, the org's 100-repo listing, |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "Does not exist. n0 sells coordination (relays, metrics, diagnostics) and never bytes at rest. Checked the pricing table, the hosting page, the services dashboard, the org's 100-repo listing,",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (15)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded