fshy / Egress and tunnels / Storage
libp2p circuit-relay
github.com · Egress and tunnels, Storage · 2 records · JSON
- libp2p circuit-relay v2 Egress and tunnelsfails: quotaanonymousno cardDper-object-cap
- libp2p circuit-v2 public relays Storagefails: quotaemail?card?R
libp2p circuit-relay v2 Egress and tunnels
fails: quotaanonymousno cardDper-object-cap
| Free tier | whatever the relay operator allows; the reference implementations cap a circuit by default unit none; metered on downloaded-bytes |
|---|---|
| Price | none stated |
| Per-object cap | 128 KiB per direction per relayed connection by default (131072 bytes) |
| Retention | 2 minutes per relayed connection by default |
| Egress | not applicable: the protocol's own default ends a circuit at 128 KiB per direction |
| Identity | anonymous peers are identified by a generated keypair |
| Limits |
the 128 KiB value is defined in both reference implementations and their wording differs. go-libp2p's Data field comment reads 'The limit of data relayed (on each direction) before resetting the connection', which is where the per-direction qualifier comes from; js-libp2p defines DEFAULT_DATA_LIMIT = 1 << 17 with '128k is the default data limit' and no per-direction language |
| Binding | per-object-cap |
| Interface | unknown /libp2p/circuit/relay/0.2.0/hop and /stop |
| Tooling | js-libp2p, go-libp2p |
| Composes with | composes with nothing at this volume: 128 KiB per circuit means a 1 GiB object needs 8,192 relayed connections, so it is a NAT-traversal primitive and not a transport. |
| Reliability | the limits are defaults an operator can raise; the reference implementations ship them at these values |
| Notes | Architecturally excluded from bulk, not merely slow: 128 KiB is 2^17 bytes, so 1 TiB needs 8.4 million relayed connections. The free tier is genuine and the capacity is zero. |
| Evidence rung | documented |
| Checked | 2026-10-23 (live); stale on 2026-11-22 |
| Parsed numbers |
|
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-22 | github.com/libp2p/js-libp2p/blob/master/packages/transport-c | DEFAULT_DATA_LIMIT = BigInt(1 << 17) and DEFAULT_DURATION_LIMIT = 2 * minute, with the comment '128k is the default data limit' |
| 2026-10-22 | github.com/libp2p/go-libp2p/blob/master/p2p/protocol/circuit | quoted from the Data field comment: 'Data is the limit of data relayed (on each direction) before resetting the connection', 'Defaults to 128KB', with Data: 1 << 17 in the default Resources literal |
More fields (3)
{
"stale_after_days": 180,
"bytes_transit": "yes",
"transit_note": "a relayed circuit carries bytes in both directions, capped at 128 KiB per direction by default"
}Unknown or withheld values (1)
$.interfaceinterface-unknown
libp2p circuit-v2 public relays Storage
fails: quotaemail?card?R
| Free tier | Default relay limits are signalling-grade, not transport-grade: 128 KiB of data and 2 minutes per relayed connection. Fine for hole-punching, useless for bytes. 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 | Default relay limits are signalling-grade, not transport-grade: 128 KiB of data and 2 minutes per relayed connection. Fine for hole-punching, useless for bytes. |
| Notes | Default relay limits are signalling-grade, not transport-grade: 128 KiB of data and 2 minutes per relayed connection. Fine for hole-punching, useless for bytes. |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | github.com/libp2p/js-libp2p/blob/master/packages/transport-c | Default relay limits are signalling-grade, not transport-grade: 128 KiB of data and 2 minutes per relayed connection. Fine for hole-punching, useless for bytes. |
| 2026-10-21 | github.com/libp2p/specs/blob/master/relay/circuit-v2.md | cited as the basis of the rejection: Default relay limits are signalling-grade, not transport-grade: 128 KiB of data and 2 minutes per relayed connection. Fine for hole-punching, useless for bytes. |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "Default relay limits are signalling-grade, not transport-grade: 128 KiB of data and 2 minutes per relayed connection. Fine for hole-punching, useless for bytes.",
"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