Ordinal numbers are assigned sequentially to each satoshi as it enters circulation via the coinbase transaction of each block. The first satoshi of the genesis block is ordinal 0; the last satoshi ever mined will be ordinal 2,099,999,997,689,999.
Tracking individual satoshis through spends relies on a strict first-in-first-out (FIFO) rule applied to transaction inputs and outputs:
- โบInputs are ordered as they appear in the transaction. Each input's satoshis are concatenated in sequence.
- โบOutputs are filled in order. The first output absorbs the first N satoshis (where N equals the output's value), the second output absorbs the next batch, and so on.
- โบAny satoshis not accounted for by outputs are assigned to the miner as fees โ they flow into the coinbase transaction of the block, ordered after the block subsidy sats.
- โบCoinbase input ordering: subsidy sats come first (with fresh ordinal numbers), then fee sats in the order of their originating transactions within the block.
This deterministic mapping means any observer running the same FIFO logic over the full blockchain will arrive at the same assignment. But the computational cost is non-trivial: the ord indexer must track satoshi flow through every transaction in every block. A full reindex from genesis currently takes multiple days on commodity hardware and requires hundreds of gigabytes of index data beyond the raw blockchain.
Rarity and Naming
Rodarmor defined rarity tiers based on Bitcoin's periodic events: common (any sat), uncommon (first sat of a block), rare (first sat of a difficulty adjustment period), epic (first sat of a halving epoch), legendary (first sat of a conjunction of halving and difficulty adjustment โ occurs roughly every 24 years), and mythic (the first sat of the genesis block, ordinal 0). These labels are purely conventional โ the ord client enforces them, but nothing in Bitcoin script does.