Skip to content

Short definitions of the Farcaster and Snapchain terms this site uses.

WordWhat it means here
FIDYour Farcaster account number. It is registered on OP Mainnet.
Custody addressThe Ethereum address that owns an FID. It approves and cancels app keys, and can move the FID to another address.
App key (signer)An ed25519 key an app uses to post for an FID, only for its scopes and until it expires. It cannot move money.
KEY_ADDA message that approves a new app key. The custody address signs two EIP-712 payloads inside it, and the new app key signs the message. Sending it costs no gas.
KEY_REMOVEA message that cancels an app key. The RunFarcaster app does not send it.
ScopeOne kind of message an app key may sign, for example CAST_ADD, REACTION_ADD or LINK_ADD.
TTLHow long an app key lasts without use: 1 second to 90 days. Each use starts the clock again.
NonceA counter per FID, shared by KEY_ADD and custody-signed KEY_REMOVE. Each one must use a number above currentUserNonce.
MessageOne signed piece of Farcaster data: a cast, like, recast, follow, profile field, verification, or key change.
CastA post. A standard cast holds up to 320 bytes of text. Long casts allow up to 1,024 bytes, and Pro accounts up to 10,000. The RunFarcaster app sends standard casts.
Storage rentSpace rented onchain in yearly units. It sets how many messages of each kind an FID keeps; past that, the oldest go. After a unit expires there is a 30-day grace period.
fnameA free offchain username like @alice, issued by the Fname Registry as alice.fcast.id. Farcaster can reclaim it.
ENS nameAn onchain username like @alice.eth, registered on Ethereum L1 and controlled by your wallet.
Username proofA signed record that ties a username to an FID and an owner address. Nodes store them.
SnapchainThe network that puts Farcaster messages in order and stores them, split into shards.
ShardOne part of Snapchain’s data. Shard 0 holds network-wide data, including gasless KEY_ADD messages. Shards 1 and 2 split the accounts.
ValidatorA Snapchain node that makes blocks and votes on them.
Read nodeA Snapchain node that copies finished blocks from its peers (5 mainnet validators in October 2026), answers the API and sends on messages it receives. It has no mempool and earns nothing.
HubThe older name for a Farcaster node. Some docs and libraries still say hub where they mean a Snapchain node.
MempoolWhere a validator holds messages until they go in a block. Read nodes do not have one.
blockDelayHow many seconds a shard’s newest block is behind the clock. Single digits on every shard means synced.
SnapshotA compressed copy of the database that a new node downloads first.
GossipHow nodes pass blocks and messages to each other, over libp2p and QUIC on UDP port 3382.
Farcaster timeSeconds since 2021-01-01 00:00 UTC. Message timestamps use it.
Gasless app keyAn app key added with a KEY_ADD message instead of an OP Mainnet transaction, so it costs no gas. Mainnet has accepted these since engine version V16 (7 May 2026).
CaddyThe web server deploy-client.sh starts on your server. It gets an HTTPS certificate from Let’s Encrypt, serves the app, and passes /v1/* to the node.
sslip.ioA public DNS service run by someone else. <ip-with-dashes>.sslip.io points at that IP, so the app gets an HTTPS address without a domain of your own.
cax31, cpx42Hetzner server type names. cax31 is ARM64 with 8 vCPUs and 16 GB of RAM (the tested type); cpx42 is x86 with 16 GB of RAM (untested).
Same originThe page and the API come from one scheme, host and port, so the browser makes no cross-site request.