# Glossary

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

| Word | What it means here |
|---|---|
| FID | Your Farcaster account number. It is registered on OP Mainnet. |
| Custody address | The 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_ADD | A 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_REMOVE | A message that cancels an app key. The RunFarcaster app does not send it. |
| Scope | One kind of message an app key may sign, for example `CAST_ADD`, `REACTION_ADD` or `LINK_ADD`. |
| TTL | How long an app key lasts without use: 1 second to 90 days. Each use starts the clock again. |
| Nonce | A counter per FID, shared by `KEY_ADD` and custody-signed `KEY_REMOVE`. Each one must use a number above `currentUserNonce`. |
| Message | One signed piece of Farcaster data: a cast, like, recast, follow, profile field, verification, or key change. |
| Cast | A 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 rent | Space 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. |
| fname | A free offchain username like `@alice`, issued by the Fname Registry as `alice.fcast.id`. Farcaster can reclaim it. |
| ENS name | An onchain username like `@alice.eth`, registered on Ethereum L1 and controlled by your wallet. |
| Username proof | A signed record that ties a username to an FID and an owner address. Nodes store them. |
| Snapchain | The network that puts Farcaster messages in order and stores them, split into shards. |
| Shard | One part of Snapchain's data. Shard 0 holds network-wide data, including gasless `KEY_ADD` messages. Shards 1 and 2 split the accounts. |
| Validator | A Snapchain node that makes blocks and votes on them. |
| Read node | A 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. |
| Hub | The older name for a Farcaster node. Some docs and libraries still say hub where they mean a Snapchain node. |
| Mempool | Where a validator holds messages until they go in a block. Read nodes do not have one. |
| blockDelay | How many seconds a shard's newest block is behind the clock. Single digits on every shard means synced. |
| Snapshot | A compressed copy of the database that a new node downloads first. |
| Gossip | How nodes pass blocks and messages to each other, over libp2p and QUIC on UDP port 3382. |
| Farcaster time | Seconds since 2021-01-01 00:00 UTC. Message timestamps use it. |
| Gasless app key | An 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). |
| Caddy | The 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.io | A 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, cpx42 | Hetzner 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 origin | The page and the API come from one scheme, host and port, so the browser makes no cross-site request. |
