Skip to content

Fees

Every contribution pays a fee inside its proof. The spend statement includes it, the recursion adds the fees up, and the settlement’s fee total is part of what the pool’s script reads. Fees pay two parties: the miner and the provers.

Every fee rule is a pure function of data every node sees (the batch, and recent Bitcoin blocks), in integer arithmetic. So a wallet, a node and a prover all compute the same numbers.

part vB
the settlement, fixed (verifier, state, script) ~44,000 (measured 2026-11-04/07)
each published record 29
room in one standard settlement about 1,930 records
the vault fan-out 424 fixed + 109 per payout

At 1 sat/vB a full settlement costs about 100,000 sat for about 1,900 contributions, around 50 sat each. A settlement with 10 contributions costs about 44,000 sat, 4,400 each. The fixed cost is the whole story: Cheshire is cheap at volume and expensive in a quiet hour.

Nodes agree on a rate with a rule, so every node computes the same fee for the same batch: take the round’s block and the 10 before it, read each block’s median fee rate, clamp each to 1–1,000 sat/vB, and take the median of the 11. A miner who stuffs or empties its own blocks moves fewer than half of them, so it cannot move the median outside the honest blocks’ range. The rule lags the market by about an hour; a rise after the proof is made is handled by fee bumping.

A contribution must pay at least its floor: its own bytes (29 vB per record, plus 109 vB for a withdrawal’s fan-out output) and its share of the fixed part of a full settlement, at the rate, plus its share of the proving at the minimum price.

Wallets do not pay the floor itself. They pay a value from one fixed ladder of 17 steps, 1-2-5 from 500 sat to 1 BTC:

  • economy: the first step at or above the floor;
  • normal (the default): one step up;
  • priority: two steps up.

Everyone choosing the same level in the same hour pays the same fee, so a fee says which level was chosen, not which wallet. The wallet’s core refuses any fee off the ladder unless a privacy option (any_fee) is set.

rate transfer: floor / economy / normal / priority
1 sat/vB 105 / 500 / 1,000 / 2,000
10 sat/vB 636 / 1,000 / 2,000 / 5,000
100 sat/vB 5,946 / 10,000 / 20,000 / 50,000

A first payment to someone (two records, with a handshake) and a withdrawal (a fan-out output) have higher floors. Nodes serve the current rate, floors and levels at GET /fees; the app takes the median of what its nodes answer and recomputes the levels itself, so a node cannot steer it to an odd fee.

The gate, and paying more to settle sooner

Section titled “The gate, and paying more to settle sooner”

The floor assumes a full settlement. A small one costs far more per contribution. So a batch is proved only when its fees cover the settlement’s Bitcoin cost and the provers’ minimum price. Until then it waits for more contributions.

At low volume a lone payment does not cover a settlement, and waits. Fees are never raised for you automatically. Instead the node reports how short the batch is, and the app offers pay more to settle sooner: the same payment, proved again on the phone at the next ladder step that covers the shortfall. The new one takes the old one’s place (they spend the same note, so at most one can ever settle). You decide; the app does nothing until you tap. A payment already referenced by a share cannot be replaced.

Σfee ─┬─▶ the settlement's Bitcoin cost ──▶ the miner
├─▶ price × shares = Σsats ──▶ the provers, in notes, 6 settlements later
└─▶ the remainder (< one share) ──▶ the miner

The settlement transaction pays the miner Σfee − Σsats − 570 sat (the caboose and anchor outputs take 330 + 240). See paying the provers.

  • Deposits pay their fee out of their own value, inside their proof.
  • Withdrawals pay the ladder fee, priced to cover their fan-out output.
  • An exit request pays its own Bitcoin transaction, plus a processing fee from the note.
  • A solo exit pays its whole transaction from the note.

Individual fees are inside the proofs; only the total reaches Bitcoin. But each contribution’s fee is public on the share chain. That is why the wallet pays only ladder values: an odd fee would mark the wallet.