Node types
Frost nodes differ along two independent axes: what role they play in consensus, and how much history they retain. A node picks one of each.
Validator
Section titled “Validator”Participates in consensus. A validator runs all four components in one process: a consensus authority, an execution driver, an execution layer, and an ingress.
It proposes and signs consensus blocks, drives its execution layer over the
forced-transaction Engine API, and accepts user submissions. Validators are the
only nodes that can accept eth_sendRawTransaction.
Membership is by committee. See Keys and committee.
Follower
Section titled “Follower”Does not participate in consensus. A follower streams the committed order from a validator’s observer endpoint and drives its own execution layer to the identical chain.
It produces byte-identical blocks and state roots, so it is a fully verifying node — it simply has no vote. Followers are the right choice for serving RPC, running an explorer or indexer, or independently checking what the validators agreed.
Followers cannot accept transaction submissions.
History tiers
Section titled “History tiers”Post-quantum signatures make storage a first-order cost — a frame transaction is about 90% signature bytes — so no node holds everything, and the fleet deliberately holds different amounts. Names follow Ethereum’s where the concept matches.
| Tier | Holds | Closest Ethereum equivalent |
|---|---|---|
| pruned | Full header chain back to genesis, a rolling recent-block window of bodies and receipts, and current state. | Full node with EIP-4444 history expiry. |
| tx-history | Full header chain, signature-stripped transaction bodies, receipts and the txid index back to genesis — all provable — plus current state. Witness sidecars pruned below a rolling window. | No equivalent. This tier exists because of witness segregation. |
| full-history | Everything, including ML-DSA signature sidecars, plus current state. | Full node. |
| state-archive | All historical state — eth_call and storage queries at any height. |
Archive node. |
The tx-history tier is the interesting one and is Frost’s own contribution.
Because each block header commits to a strippedTransactionsRoot, a node can
discard multi-kilobyte witnesses and still serve every historical transaction
with a proof. You lose the signature bytes, not the ability to prove what
happened. See Witness segregation.
Ask any node what it holds:
curl -s <node-rpc> -H 'content-type: application/json' \ --data '{"jsonrpc":"2.0","id":1,"method":"frost_historyStatus","params":[]}'Retention windows
Section titled “Retention windows”State and history are pruned on independent windows, because they grow differently — history grows unconditionally and linearly, state only on net-new accounts and storage slots. The bulk post-quantum cost is history.
Execution layer. --frost.history.retention W sets the block window.
W ≥ 90,000 is a hard minimum: below geth’s immutability threshold the data
is stranded in the key-value store and the bound silently degrades to about
90,000 anyway.
A separate sidecar window prunes witness bytes only. A sidecar can never outlive its block body, so where both are set the shorter one wins — and the tx-history tier is precisely “the sidecar knob alone”.
Consensus layer. A separate retention window over consensus commits.
One thing is never pruned: the commit spine, the hash-linked record running back to genesis. It is roughly 1% of the consensus layer by volume — a few hundred bytes per commit instead of tens of kilobytes of signed DAG blocks — so keeping all of it is cheap, and it is what makes everything else verifiable.
Pruning is also clamped by runtime floors: consumer progress, the latest certified checkpoint, the durable-execution floor, and the verified-upload floor on hosts that export to archive. The pruner never cuts past any of them.
Cold archive
Section titled “Cold archive”Beyond the node tiers, certified consensus segments and full-witness block groups are exported to S3-compatible object storage. Data is hash-verified against the chain’s own commitments before anything may be pruned locally.
The storage is treated as untrusted: a provider that corrupts or loses data is detected rather than believed. A state-archive node is rebuilt from this export by replaying full-witness blocks in archive mode.
Choosing
Section titled “Choosing”| You want to | Run |
|---|---|
| Participate in consensus | Validator |
| Serve RPC to an application | Follower, tx-history |
| Run an explorer or indexer | Follower, tx-history or full-history |
Answer historical eth_call |
Follower, state-archive |
| Verify the chain independently, cheaply | Follower, pruned |
A follower gives you full verification without committee membership, and is the right default for anyone who wants their own trustworthy view of the chain.