fshy

Home / Storage

Farcaster hubs / Snapchain — storage RENT, actively metered

github.com/farcasterxyz/protocol/blob/main/docs/SPECIFICATIOFarcasterstorage/farcaster-hubs-snapchain-storage-rent-actively-meteredJSONcomparereport an errorprovider JSON

Free allowance
Storage is allocated in integer units per fid and must be BOUGHT from the Storage Registry contract on Optimism (0x00000000fcCe7f938e7aE6D3c335bD6a1a7c593D).
Verdict
fails: quotathe free allowance is too small to matter
Cost
free tier
Identity
email?placeholder, not evidence; card unknown, phone unknown
Binding limit
noneno named constraint binds
Evidence
reported2 sources; a third party said so
Freshness
stale on 2026-11-05checked 2026-10-21 (inherited); stale on 2026-11-05
Free tierStorage is allocated in integer units per fid and must be BOUGHT from the Storage Registry contract on Optimism (0x00000000fcCe7f938e7aE6D3c335bD6a1a7c593D). Each CRDT specifies messages-per-unit, so the unit is a message count, not bytes.
unit mixed; metered on stored-bytes
Pricenone stated
Identityemail (placeholder) not published
Egressn/a — hubs replicate messages, media is a URL in the cast body pointing at an external host (often Cloudflare Images / imgur).
Per-object capnot stated
Retentionnot stated
Interfaceunknown grpc
ToolinggRPC hub API (submitMessage); @farcaster/hub-nodejs. Storage must be purchased on-chain before a message is accepted.
Composes withNone. Media is never stored by the protocol — a cast embed is a plain URL. Farcaster is a message log with paid rent, not a file store.
ReliabilitySnapchain (2025 rewrite) preserves the rent model.
Parsed numbers
  • has-free-tier 1
Evidence 2
datesourcewhat it proved
2026-10-21raw.githubusercontent.com/farcasterxyz/protocol/main/docs/SP'The Storage registry contract keeps track of the storage allocated to each fid. The storage for an fid is denominated in integer units. Each CRDT specifies the number of messages it can store per unit.'; 'For a message to be accepted, the fid must be registered in the Id registry, and signed with a valid signer present in the Key registry, and the fid must have enough storage allocated in the Storage registry.'
2026-10-21docs.farcaster.xyz/learn/architecture/storageprobe: GET -> 404 (moved); docs.farcaster.xyz is a Next.js shell with no server-rendered quota table
More fields 1
dead end{"failure_class": "quota","why": "Storage is allocated in integer units per fid and must be BOUGHT from the Storage Registry contract on Optimism (0x00000000fcCe7f938e7aE6D3c335bD6a1a7c593D). Each CRDT specifies messages-per-unit, so the unit is a message count, not bytes.","retry_when": null,"first_recorded": "2026-10-21"}
Unknown values 5
  • interface: the access interface was not established
  • per object cap notes: the field may be stated in a source that was not read
  • per object cap stated: the field may be stated in a source that was not read
  • retention notes: the field may be stated in a source that was not read
  • retention stated: the field may be stated in a source that was not read