Staking & economics
Running a node has an economic shape: you lock a stake to register, you earn a charge on every request you serve, and the protocol takes a fee on top of your charge. This page explains each piece and how money moves.
The stake amounts and the protocol fee percentage are set in the on-chain contract and read live from the chain — they can change. The figures below are illustrative of the current configuration and subject to change; for the values that apply to your registration, trust what the contract and the node software report rather than any number printed here.
The USDC stake
Registering requires locking a USDC stake in the protocol. There are two levels:
- A stake to register the operator identity itself — currently $250 USDC.
- A stake per node you bring online under that operator. The first node is covered by the operator stake; each additional node escrows $25 USDC more.
The stake isn't a fee — it stays locked as long as your node is registered and is returned in full when you deregister in good standing.
The stake exists to give every operator skin in the game. Because users are anonymous and the network is permissionless, the stake is what's actually at risk if an operator misbehaves — it's the cost of holding a network identity worth trusting. An operator found acting in bad faith can be evicted, with a portion of stake slashed, through the protocol's moderation path (an admin action, not a permissionless sweep).
How you earn
You're paid per request, in USDC, settled on-chain (see The payment flow). For each request:
- You quote a price ceiling in the ticket.
- You charge the actual amount in the receipt, within that ceiling.
- On settlement, you receive your charge; the user is refunded the unused remainder; the treasury takes the protocol fee.
Your charge is yours to set through your advertised rates (see Serving models & pricing). You compete with other operators serving the same models, so your rates are a real lever — cheaper or faster nodes get picked more often, including by Auto mode.
The protocol fee
On top of your charge, the protocol takes a fee, expressed in basis points
of the charge (the contract's protocolFeeBps) and paid to the treasury at
settlement. One thing is worth understanding:
- The user sees an all-in price. The rate shown in the app already includes the protocol fee, so the number a user agrees to is the number they pay. Your advertised rate is your charge; the node grosses up the ticket's maximum to cover the fee, which is added on top and paid by the payer — you do not inflate your published rate to absorb it.
Where the money lands
- Your per-request charge settles to your operator's owner address — the payout address you set at registration. It's separate from your node's signing key, so the key that does the hot, online signing isn't the key that accumulates revenue.
- The protocol fee settles to the treasury.
- The unused escrow is refunded to the user in the same atomic settlement.
Because settlement is on-chain and final, your revenue is realized request-by-request as you serve — there's no payout cycle to wait on and no intermediary holding your earnings.
Keep the signing account funded with ALGO
USDC income lands at your owner address, but the per-request on-chain
transactions are paid by your node's signing account. Your node submits the
escrow open() and the atomic settle() for every request, and through
Algorand fee pooling it covers the whole transaction group's network fees —
so the payer's net ALGO cost is zero. That cost falls on you instead.
Budget roughly 7,000 µALGO per paid request for the signing account: about
2,000 µALGO at open (2 × minTxnFee) and about 5,000 µALGO at settle
(5 × minTxnFee, covering the group plus the contract's three disbursement
inner-transactions). The settle fee is sized to the payments that actually
happen, so a free model settles for about 2,000 µALGO and a failed
request — billed nothing and refunded in full — for about 3,000 µALGO. A
standalone watchdog settle — the fallback when the payer never acknowledges —
costs about the same as the group it replaces. Because the
revenue lands at the owner address and the fees are spent from the signing
account, the signing account does not refill itself — the node does not
auto-fund it. Keep a working ALGO float on the signing account and top it
up manually before it runs dry; a signing account out of ALGO can't open or
settle, which stalls serving even though your owner address is collecting USDC.
Two accounts, two jobs: the owner address (cold) receives your USDC payouts; the signing account (hot, key on the node) pays the per-request ALGO fees. Fund both at registration and watch the signing account's ALGO balance over time. For how each transaction in the group is authorized, see The payment flow.
The economic loop, end to end
Lock stake
Register your operator and nodes.
Advertise
Publish your models and rates.
Serve requests
Quote a ceiling and charge the actual amount.
Settle
Each request settles on-chain — charge to your owner address, fee to treasury, remainder refunded, fees paid from your signing account.
Compete on price and performance
Earn more traffic; faster, cheaper, reliably-reachable nodes win more requests.
Deregister
Wind a node down in good standing to recover your stake.
For how rates and capabilities are advertised, continue to Serving models & pricing. For how you get registered in the first place, see Registering on-chain.