Agent index (llms.txt) — fetch this first, then the page it names.

Supply and emission

A normal genesis creates no norama. A genesis with coins already in accounts is allowed only on a devnet, stagenet or localnet chain id, and only when emission is started with --allow-bootstrap-stake.

New coins are minted once per epoch, not once per block, and only the x/emission module can mint norama. Every other module that needs new coins (storage, relay, development) asks x/emission, which refuses anything above that epoch's ceiling.

When an epoch closes

Both conditions have to be true:

  • +at least 24 hours of block time have passed since the epoch started
  • +at least 14,400 blocks have been produced in the epoch

If blocks arrive faster than that, the epoch still waits for the 24 hours. If they arrive slower, it waits for the 14,400th block. A halt does not mint the epochs that were missed: the next close moves the schedule forward by exactly one epoch. The block that closes an epoch emits an emission_epoch_closed event (the epoch, the blocks it held, when it began), so a reader can find where an epoch ended without working it out from the two thresholds, which governance can change.

On a devnet, stagenet or localnet chain id, allow_bootstrap_stake relaxes both floors. The stagenet installer uses a 300 second epoch with 10 blocks; the localnet script uses 30 seconds with 5 blocks. Neither is the production schedule.

The three emission parameters (epoch_duration_seconds = 86,400, min_blocks_per_epoch = 14,400, allow_bootstrap_stake = false) are immutable after genesis. x/emission has no message that can change the schedule.

The schedule

The maximum for one epoch is fixed in code, in whole ORAMA. Halving counts epochs, not calendar days.

EpochsMaximum per epochBracket total
1 to 73014,848 ORAMA10,839,040
731 to 1,4607,424 ORAMA5,419,520
1,461 to 2,1903,712 ORAMA2,709,760
2,191 to 2,9201,856 ORAMA1,354,880
2,921 to 3,650928 ORAMA677,440
3,651 onward274 ORAMA, every epochabout 100,010 per year

At one epoch a day the five brackets are ten years and their maximum adds up to 21,000,640 ORAMA. After epoch 3,650 the chain keeps minting a tail of 274 ORAMA per epoch. There is no terminal supply cap.

The explorer's Emission page (/explorer/emission) shows this schedule beside the epoch in progress, with a countdown to the next halving and what was actually minted against each ceiling.

How each epoch's maximum is split

SharePercentWhat happens
Validators and delegators60%Minted at epoch close and paid by x/power
Storage25%A ceiling. Minted only when x/storage settles a payment, never beyond the ceiling
Relay10%A ceiling. Minted only when x/relay settles an epoch (see Relay rewards)
Development5%A ceiling. Minted only when a governance-approved spend asks for it

Remainders from rounding fold into the validator share. In the first year the per-epoch shares are 8,908.8, 3,712, 1,484.8 and 742.4 ORAMA.

If every one of the 3,650 halving epochs hits its maximum and every validator share is minted, validators receive 12,600,384 ORAMA. The rest is created only if storage, relay or development spending actually happens, and never above its share. Ceiling records are kept for 30 epochs and then pruned.

The split can move, but only through governance and only within bounds: each share may move at most 10 percentage points from 60/25/10/5, and the four must still sum to 100. The halving table and the tail are not reachable by any message.

Other ways ORAMA is created

SourceWhereBound
Storage service payments and the PRIVATE-deal subsidyx/storage at epoch closeThe epoch's storage ceiling
Relay rewardsx/relay end blockThe epoch's relay ceiling. Of each operator's total, 5% is burned and 5% goes to the archive fund
Development spendA passed x/houses proposalThe epoch's development ceiling minus what was already minted
Test-network faucetMsgFaucetOnly on a chain id containing -devnet-, -stagenet- or -localnet-. Off by default. Max drip 1,000 ORAMA, 100,000 ORAMA per epoch, 24 hour recipient cooldown
Token factoryx/tokenMints only its own factory/… denoms. A mint of norama is refused

The supply identity

The chain checks this relationship (invariant 2):

bank supply = genesis supply
            + minted for validators
            + minted for development
            + minted for storage and relay service
            + minted by the faucet
            - burned

Burns that happen in other modules are reconciled in x/emission's EndBlock, so the identity holds even though fees, token creation, nullifiers and deals each burn something.

Where the coins land

Emission lands in an earnings balance, not a normal spendable one. Earnings can pay a base fee, be bonded, fund a storage deal or pay for a token. The owner can withdraw them to a bank balance (orama chain withdraw-earnings), from where they can be sent to another user in the open (orama chain send --public) or moved into the shielded pool. See Fees for how to use your rewards and how earnings accounts work.

Queries

orama chain query emission/… and oramad query emission … expose params, current-epoch, schedule-at [epoch], cumulative-minted, supply-cap-so-far [epoch] and invariants. See Reading the chain.