THERE WILL ONLY EVER BE 2,099,999,997,690,000 ORDINALS

Ordinals are serial numbers for satoshis.

This website, a draft BIP defining ordinals, and the ord command-line utility are developed on GitHub.

Ordinal degenerates congregate on the Discord server.

At the moment, ordinals are a fun art project. There are no wallets or markets, and there might never be. Or, they might explode in popularity and take over the world. Who can say?

Check out this blog post for some rare ordinal theory, and then the bounties page for a little ordinal treasure hunt.

A slide deck with mostly the same content as this page is available here, and and in NFT minting party video presentation form here.

What are ordinals?

Ordinals are numbers, like this: 804766073970493. Every satoshi, which is ¹⁄₁₀₀₀₀₀₀₀₀ of a bitcoin, has an ordinal, and every ordinal has a satoshi. When a satoshi changes hands, so does its ordinal. There are a lot of satoshis, and so there are a lot of ordinals. Two quadrillion ninety-nine trillion nine hundred ninety-nine billion nine hundred ninety-seven million six hundred ninety thousand, to be precise.

What can ordinals do?

Ordinals can be used for anything needing a public, persistent, transferable, decentralized identity. This includes NFTs, accounts, stablecoins, PKI, and more. For more ideas, see the BIP.

What are ordinals not?

Ordinals are not a side chain, do not require any changes to the bitcoin protocol, and are extremely simple.

How do ordinals come into existence?

Since ordinals map one-to-one to satoshis, new ordinals are created in the same way that new satoshis are created, by miners. Miners don't need to do anything special to create ordinals. Every block creates new satoshis. These new satoshis are known as the block subsidy. Each new satoshi in each block subsidy is assigned an ordinal, which is just a number, in the order in which it is mined. So, the genesis block subsidy, which created 50 BTC, or 5,000,000,000 satoshis, contains ordinals 0 through 4,999,999,999, and the second block subsidy, which was also worth 50 BTC, contains ordinals 5,000,000,000 through 9,999,999,999.

How are ordinals transferred?

Ordinals are transferred the same way that bitcoin is transferred, with bitcoin transactions. Bitcoin transactions have a bunch of inputs, which is bitcoin being sent, and a bunch of outputs, which are the bitcoin being received. Each output and each input has a value in satoshis. Ordinals transfer in first-in-first-out order. This means that you go through the ordinals in the inputs to a transaction, in order, and assign each ordinal to outputs, in order. Let's imagine a transaction with three inputs and two outputs. The inputs are on the left of the arrow and the outputs are on the right, all labeled with their values:
[2] [1] [3] → [4] [2]
Now let's label the same transaction with the ordinals that each input contains, and question marks for each output ordinal. Ordinals are long numbers, so let's use letters to represent them:
[a b] [c] [d e f] → [? ? ? ?] [? ?]
To figure out which ordinal goes to which output, go through the input ordinals in order and assign each to a question mark:
[a b] [c] [d e f] → [a b c d] [e f]
What about fees, you might ask? Good question! Let's imagine the same transaction, this time with a two satoshi fee. Transactions with fees send more satoshis in the inputs than are received by the outputs, so to make our transaction into one that pays fees, we'll remove the second output:
[2] [1] [3] → [4]
The ordinals, e and f now have nowhere to go in the outputs:
[a b] [c] [d e f] → [a b c d]
So go to the miner who mined the block as fees. The BIP has more details, but in short, fees paid by transactions are treated as extra inputs to the coinbase transaction, and are ordered how their corresponding transactions are ordered in the block. The coinbase transaction of the block might look like this:
[SUBSIDY] [e f] → [SUBSIDY e f]

Where can I read the nitty-gritty technical details?

The BIP!