Agent index (llms.txt) — fetch this first, then the page it names.
What do I earn
What a validator, a storage provider and a relay earn per epoch under the chain's parameters, for a small and a large operator and a newcomer with no stake.
Every number in the tables below is computed from the chain's parameters by a test (TestEarningsPage_tablesMatchTheParameters in chain/app), and the table of sources at the end names the line of code that sets each input. The test fails when a parameter changes, so this page cannot drift from the code. The figures are what the rules allow, in ORAMA, before anything the market adds. They are not a price forecast and not a promise: nothing here says what an ORAMA is worth.
How to read the tables
- +Epochs, not days. Pay and the halving schedule count epochs. A mainnet epoch is 24 hours of block time and at least 14,400 blocks, so one a day. The stagenet installer uses 300 seconds, so 288 a day, and each stagenet epoch pays the same per-epoch amount. A stagenet therefore runs through the schedule 288 times faster.
- +Shares are ceilings. Only the validator share is minted every epoch. Storage and relay are minted when a provider or relay is actually paid, never beyond the ceiling, and the development share only on a governance-approved spend. What nobody claims is never created. See Supply and emission.
- +Everything lands in earnings. Pay is credited to the operator's earnings account. The owner can withdraw it to a bank balance with
MsgWithdrawEarningsand send it from there; see Fees. - +Storage and relay pay 90%. Of each service payment, 90% goes to the operator, 5% is burned and 5% funds the archive.
What each share can pay in one epoch (ORAMA)
| Epochs | Maximum per epoch | Validators and delegators | Storage ceiling | Relay ceiling | Development ceiling |
|---|---|---|---|---|---|
| 1 to 730 | 14,848 | 8,908.8 | 3,712 | 1,484.8 | 742.4 |
| 731 to 1,460 | 7,424 | 4,454.4 | 1,856 | 742.4 | 371.2 |
| 1,461 to 2,190 | 3,712 | 2,227.2 | 928 | 371.2 | 185.6 |
| 2,191 to 2,920 | 1,856 | 1,113.6 | 464 | 185.6 | 92.8 |
| 2,921 to 3,650 | 928 | 556.8 | 232 | 92.8 | 46.4 |
| 3,651 onward | 274 | 164.4 | 68.5 | 27.4 | 13.7 |
Validators and delegators, per epoch (ORAMA)
| Operator | Bonded stake | Share of stake power | Epochs 1 to 730, per epoch | From epoch 3,651, per epoch |
|---|---|---|---|---|
| Large | 30% of all bonded stake | 5% | 445.44 | 8.22 |
| Each of 38 average operators | 69% shared equally, about 1.8% each | 2.464% | 219.528 | 4.051 |
| Small | 1% of all bonded stake | 1.361% | 121.286 | 2.238 |
| Zero-stake newcomer | 0 | 0% | 0 | 0 |
Storage providers, per epoch (ORAMA)
| Provider | Proved slots paid per epoch | Paid by a customer deal at 1 ORAMA per slot-epoch, no subsidy | Same, with the full subsidy |
|---|---|---|---|
| Small (one node, one deal) | 1 | 0.9 | 1.8 |
| Large (one node at the sample size) | 8 | 7.2 | 14.4 |
| Zero-stake newcomer on probation, one protocol slot at the protocol price of 1,000 norama | 1 | 0.0000009 (900 norama) | none: a protocol deal has no subsidy |
The subsidy is zero below 8 distinct operators and reaches its full value at 32. One operator can collect at most 464 ORAMA of subsidy per epoch while the storage ceiling is at its epoch-1 value.
Relays, per epoch (ORAMA)
| Relay | Measured bandwidth reported | Settled per epoch | Credited to earnings (90%) |
|---|---|---|---|
| Small relay (also what a zero-stake newcomer starts as) | 1,000 | 1 | 0.9 |
| Large relay, at the per-relay cap | 100,000 | 100 | 90 |
| Large exit relay | 100,000 | 200 | 180 |
Epochs per day
| Network | Epoch length | Epochs per day |
|---|---|---|
| Mainnet | 86,400 seconds | 1 |
| Stagenet | 300 seconds | 288 |
Where each number comes from
| Number | Where it is set |
|---|---|
| Epoch maximums 14,848 / 7,424 / 3,712 / 1,856 / 928 | chain/x/emission/types/schedule.go:23 |
| 730 epochs per bracket | chain/x/emission/types/schedule.go:11 |
| Tail of 274 per epoch | chain/x/emission/types/schedule.go:27 |
| Split 60 / 25 / 10 / 5 | chain/x/emission/types/split.go:16 |
| Mainnet epoch of 24 hours | chain/x/emission/types/params.go:14 |
| Stagenet epoch of 300 seconds | core/cmd/orama/internal/setup/create_genesis.go:24 |
| Operator cap of 5% | chain/x/power/types/params.go:121 |
| Redistribution bound of 2 | chain/x/power/types/params.go:61 |
| Provider share of a service payment, 90% | chain/x/storage/types/subsidy.go:11 |
| Sample size of 8 slots per node | chain/x/storage/types/params.go:17 |
| Subsidy starts at 8 operators | chain/x/storage/types/params.go:24 |
| Subsidy is full at 32 operators | chain/x/storage/types/params.go:26 |
| One protocol slot per probation node | chain/x/storage/types/params.go:30 |
| Protocol price of 1,000 norama | chain/x/storage/types/params.go:52 |
| Relay quorum of 3 reporters | chain/x/relay/types/params.go:14 |
| Relay uptime floor of 0.9 | chain/x/relay/types/params.go:16 |
| Exit relays paid twice | chain/x/relay/types/params.go:18 |
| Per-relay cap of 100 ORAMA | chain/x/relay/types/params.go:22 |
| Per-operator cap of 200 ORAMA | chain/x/relay/types/params.go:24 |
| 1,000,000 norama per unit of measured bandwidth | chain/reporter/observe.go:20 |
Validators
The validator share of an epoch is paid in full to the validators and their delegators, pro rata to voting power, whether there are 30 validators or 300. So what a validator earns is the pool times its share of power, and its share is its operator's share of bonded stake after the cap, split over that operator's validators. Fees do not pay validators: the base fee is burned, so after the halvings the pool is the whole income.
- +The large operator holds 30% of all bonded stake but is held to the 5% cap per operator. The excess goes to the others, so each average operator in the example holds more than its raw 1.8%. Running more validators does not raise an operator's share; see Validators and staking.
- +The small operator gets a larger share than its raw 1% because the cap redistributes the excess pro rata.
- +A newcomer with no stake earns nothing from the validator share. Power after the hand-over is stake power; a seat on the bootstrap committee exists only until lambda reaches 1. A newcomer who bonds stake earns on the part of it that has been admitted, and an increase ramps in over 30 epochs.
- +The table gives what the validator and its delegators earn together. The validator keeps its commission and its own delegation's share and the rest goes to delegators. Commission has no cap in the code.
Storage providers
A customer sets the price of a deal, and there is no minimum price. A provider is paid for each slot it proves, and at most the sample size (8) of a node's slots are challenged and paid in an epoch, so a node's income is bounded by the sample size times the prices of the deals it holds.
- +A small provider holds one deal and one sampled slot.
- +A large provider holds the full sample of 8 slots on one node. More nodes means more samples.
- +The subsidy adds a fraction of the price on private deals, from the storage ceiling, once at least 8 distinct operators are active, rising to the full price at 32. It is capped per operator.
- +A newcomer with no stake can register a probation node with no bond, which may take one protocol-deal slot. Protocol deals are scheduled only when the genesis sets
protocol_every_epochs, and it is 0 in the defaults, so a probation node earns only from protocol deals a network turns on. A probation node that proves nothing in four epochs is jailed; one that proves graduates. See Storage deals.
Relays
A relay's pay is the median of at least three reporters' measured bandwidth, in norama, so a relay needs no stake and no bond: a newcomer starts as a small relay. A relay is paid only while its node is registered and live, its median uptime is at least 0.9, and the first epoch with quorum only switches rewards on and pays nothing. An exit relay is paid twice its weight, within the per-operator cap. The per-relay and per-operator caps bound what one relay and one operator can take, and the sum of all relays is scaled down to the epoch's ceiling if it is larger.
Bandwidth measurement (sbws) is not built yet, so until it runs the reported weights are zero and no relay is paid. See Relay rewards.