Bitcoin

How Casey Rodarmor Put Millions of Files on Bitcoin

11 min read
MH
Written by Mohamed Habbat

I work in the crypto self-custody space, and people who have held BTC for years still ask me whether you can really put files on the chain. Since December 2022 the answer is yes. Every satoshi has a number, and that numbering is what made it possible.

TL;DR

Casey Rodarmor's Ordinals protocol assigns a permanent number to every satoshi, then lets you attach arbitrary data to a satoshi inside Bitcoin's witness field. The first inscription sits in block 767,430, mined on 14 December 2022, and ord 0.4.0 opened inscribing to the public on 20 January 2023. The ordinals.com index counted 128,058,183 inscriptions on 11 October 2026. Runes, a token protocol Rodarmor designed to replace BRC-20, went live at block 840,000, and that block paid miners 37.63 BTC in fees.

What Casey Rodarmor built

Rodarmor's whole idea fits in one line: give every satoshi a number.

The Ordinals handbook numbers satoshis in the order they were mined and moves them from transaction inputs to outputs first in, first out. It covers the roughly 2.1 quadrillion satoshis that will ever exist. Satoshi number zero came from the genesis block. Every sat mined since holds its own permanent position in that sequence. The handbook says the scheme needs no separate token, no other blockchain and no change to Bitcoin.

The first inscription, Inscription 0, was written on mainnet in block 767,430 at 20:32 UTC on 14 December 2022. The public release came a month later. ord 0.4.0, published on 20 January 2023, was the first release to include pull request 1170, "Remove mainnet restrictions".

Numbering alone gives collectors of historically significant satoshis something to chase. Pair it with inscriptions and you get something the Bitcoin community had not seen before.

The code lives at github.com/ordinals/ord.

How inscriptions embed data on Bitcoin

An inscription uses an OP_FALSE OP_IF ... OP_ENDIF envelope inside a Taproot script-path witness, as the inscriptions chapter of the handbook documents. The envelope never executes, so Bitcoin's consensus rules treat the script as valid and skip the data. Inscribing takes two transactions: a commit transaction creates a Taproot output that commits to the script, and a reveal transaction spends it and puts the content on chain. The chain holds the bytes themselves, with no pointer to a remote file.

Every archival full node stores those bytes. A node running Bitcoin Core with -prune deletes old blocks, inscriptions included, after it has checked them.

Two upgrades made this affordable. SegWit, active since block 481,824 in August 2017, counts each witness byte as one weight unit and each other byte as four under BIP 141, a 75% discount for witness data. Taproot, active from block 709,632 in November 2021 per BIP 341, dropped the 10,000-byte script size limit for its scripts under BIP 342. The ceiling for one inscription is the block weight limit of 4,000,000 weight units, just under 4 MB of witness data. Bitcoin Core only relays transactions up to 400,000 weight units, about 400 KB of witness data, so anything larger has to go to a miner directly.

Inscription 0 is a 793-byte PNG of a skull; the handbook's recursion page uses it as its example and saves it as skull.jpg.

You buy an inscription for its permanence. A link can break; an inscription exists on Bitcoin the way a transaction exists on Bitcoin, secured by proof-of-work, for as long as nodes keep the chain.

Bitcoin inscriptions versus Ethereum NFTs

Most people compare inscriptions with Ethereum NFTs first. The table shows where they differ.

FeatureBitcoin InscriptionsEthereum NFTs
Content storageOn-chain, inside the witnesstokenURI pointing to a file, often off-chain
Tokenization unitSatoshiERC-721 / ERC-1155 token
Smart contractsNot supportedCore feature
ProgrammabilityMinimalExtensive
Security modelBitcoin proof-of-workEthereum proof-of-stake
Fees paid inBTC, per virtual byteETH, per unit of gas

An ERC-721 token stores a tokenURI, and the URI "may point to a JSON file" with the metadata. That file, and the image it names, can live on a server or IPFS. The Ordinals FAQ says some NFT content stored on IPFS "has already been lost". A Bitcoin inscription stores every byte inside the transaction. Ethereum has run on proof-of-stake since 2022. In my view, inscriptions suit permanent artifacts where you want the bytes on the chain, and Ethereum NFTs suit programmable applications.

For the broader context see NFTs and Tokens on Bitcoin.

Satoshi rarity tiers

The Ordinals handbook defines six rarity tiers based on the significance of the block a satoshi came from:

  • common: any sat not the first of its block
  • uncommon: first sat of each block
  • rare: first sat of each difficulty adjustment period
  • epic: first sat of each halving epoch
  • legendary: first sat of each cycle, when a halving and a difficulty adjustment coincide; the handbook expects the first in 2032, so none exists yet
  • mythic: first sat of the genesis block (one exists)

The handbook calls sats that are prized for other reasons "exotic" and says which ones count is subjective. In my view the obvious candidates are sats from block 170, which carried the 10 BTC that Satoshi Nakamoto sent to Hal Finney on 12 January 2009, the transaction Finney described as the first one he received. Another is block 57,043 from 22 May 2010, which holds the 10,000 BTC Laszlo Hanyecz paid for two pizzas.

For the complete rarity mechanics see satoshi uniqueness and digital ownership.

Recursive inscriptions

On 10 June 2023, recursive inscriptions merged into the ord codebase via pull request 2167. A recursive inscription loads content from other inscriptions through a /content/<INSCRIPTION_ID> path, as the recursion page documents. Builders compose on-chain artifacts without duplicating data. A collection can share a base image stored in one inscription rather than copying it across thousands of mints.

BRC-20: the proof-of-concept token standard

Once inscriptions existed, developers tried to build fungible tokens on top of them. The first BRC-20 deploy, for a token called ordi, was inscribed on 8 March 2023 in block 779,832. The pseudonymous developer domo described the scheme in the brc-20 experiment document. BRC-20 uses JSON-formatted inscriptions to deploy, mint and transfer fungible tokens on Bitcoin's base layer.

The document calls itself "a fun experimental standard" and warns that the tokens "will be worthless". The inefficiency showed. A transfer takes two transactions: first you inscribe the transfer, then you send that inscription. Balances exist only in off-chain indexers that add up the inscriptions. Fees spiked in the same weeks: on 8 May 2023 blocks paid an average of 4.64 BTC in fees, the highest daily average since 5 January 2018 in the mempool.space fee history. The experiment proved that people would pay real fees for fungible tokens on Bitcoin's base layer.

Runes: the UTXO-based successor

On 20 April 2024, the same day as the fourth Bitcoin halving, the Runes protocol activated at block 840,000. Each halving cuts the subsidy in half every 210,000 blocks. Block 210,000 in November 2012 cut it from 50 to 25 BTC. Block 420,000 in July 2016 cut it to 12.5, and block 630,000 in May 2020 to 6.25. Block 840,000, mined at 00:09 UTC on 20 April 2024, cut it from 6.25 to 3.125 BTC.

Where BRC-20 puts token data in inscriptions, Runes stores its messages, called runestones, in an output that begins with OP_RETURN. Rune balances sit in transaction outputs and move with them, so they fit the UTXO model and skip the inscription step. Balances still come from an indexer. The specification tells services to use ord itself "to determine the state of runes, mints, and balances". Rune tokens get created ("etched"), minted and transferred through runestones.

Block 840,000 paid 37.63 BTC in fees across 3,050 transactions, on top of the 3.125 BTC subsidy. In my view that block shows what demand for token activity can mean for miner revenue once the subsidy is small.

The ordinals.com index counted 215,852 runes on 11 October 2026.

What ordinals mean for miner revenue

Bitcoin's block subsidy halves every 210,000 blocks, roughly every four years. Eventually it reaches zero, and from then on Bitcoin's security depends on transaction fees alone. Nobody knows yet whether fees alone will pay for enough hashrate.

Ordinals and Runes gave the question a partial real-world answer. Ordiscan counted 4,465 BTC in total inscription fees on 11 October 2026. The 37.63 BTC in block 840,000 was money people paid for block space to do something other than move value.

In my view, fee demand that does not come from payments is what Bitcoin's long-term security model needs as the subsidy declines. Whether this volume holds across multiple halvings is still an open question. The record is on-chain and auditable.

CVE-2023-50428 and Bitcoin Core 30.0

CVE-2023-50428, published by NVD on 9 December 2023, carries a CVSS score of 5.3 MEDIUM (availability impact only) and the tag "disputed". It says datacarrier size limits in Bitcoin Core through 26.0 "can be bypassed by obfuscating data as code (e.g., with OP_FALSE OP_IF), as exploited in the wild by Inscriptions in 2022 and 2023". The entry cites a post by Luke Dashjr and notes that some consider it "not a bug".

The dispute in the Bitcoin development community ran deep. The core question: should Bitcoin Core's relay policy filter data that is valid by consensus but serves no monetary purpose.

Bitcoin Core 30.0 answered for its own relay policy. Through pull request 32406 it raised the default -datacarriersize from 83 bytes to 100,000 bytes, which the release notes say "effectively uncaps the limit", and it allows more than one OP_RETURN output per transaction.

That did not end the argument. BIP 110 proposed a temporary soft fork to cap arbitrary data. Its enforcing nodes split off and stalled on 8 August 2026, and the BIP editors marked it Closed. The BIP-110 post tells that story.

For the full governance analysis see CVE-2023-50428.

The 2026 ecosystem

The ordinals.com index counted 128,058,183 inscriptions at block 970,970 on 11 October 2026. In the 20 blocks Ordiscan listed that day, 970,949 to 970,968, each carried between 2 and 131 inscriptions.

Marketplaces for inscriptions: Gamma, Ordinals Wallet, which describes itself as a non-custodial marketplace for Ordinals and Runes, and Magisat for rare sats. Magic Eden ran an Ordinals marketplace in its last archived snapshot of 15 February 2026; its site blocked my checks on 11 October 2026.

Wallets that handle inscriptions: Xverse lists Ordinals and Runes wallets, UniSat says it supports Ordinals and Runes, and Leather supports Ordinals and BRC-20 and advertises UTXO protection against accidental misuse of inscriptions. A wallet without sat control can spend an inscribed sat as an ordinary output or as a fee.

Indexers and explorers provide the infrastructure layer: ordinals.com and Ordiscan track inscriptions, sat numbers and runes.

Early inscriptions sit at the start of a permanent record. That scarcity comes from the order of the chain; nobody set a supply cap.

The ord CLI remains the reference implementation. The basic commands, per the handbook's wallet guide: ord wallet create, ord wallet receive, and ord wallet inscribe --fee-rate <rate> --file <path>. For the full technical walkthrough see how to create Bitcoin ordinal inscriptions.

What ordinals mean for Bitcoin

The standard Bitcoin narrative says it does one thing well and complexity belongs elsewhere. Ordinals challenged that from inside Bitcoin's own rules.

Ordinals needed no fork and no sidechain. It uses Bitcoin's existing mechanics (the witness field, the UTXO model, the transaction structure) in ways that are valid by consensus rules. Miners accept the transactions. The chain processes them. The protocol takes no position on content.

Ordinals showed that Bitcoin's base layer can hold arbitrary data without any change to the protocol. Programmability is minimal. No smart contracts, no DeFi primitives. You can write arbitrary data to Bitcoin's ledger, attached to a specific satoshi, secured by proof-of-work, and Ordiscan counts 4,465 BTC that people have paid in fees to do it.

Critics who call inscriptions spam are right that the data plays no part in Bitcoin's monetary function. Bitcoin's consensus rules judge a transaction by validity, not by purpose, and valid transactions that pay enough fees get mined. In my view the argument is not settled: BIP 110 tried to change the consensus rules in 2026 and failed to win miners.

More than three years after the first inscription, Ordinals has settled into routine use. More than 128 million inscriptions sit on-chain, and every block Ordiscan listed on 11 October 2026 still carried new ones.


Curious about the OP_FALSE OP_IF debate? CVE-2023-50428 covers the formal challenge to inscription policy and what it reveals about Bitcoin governance.

New to Bitcoin? Start with Chapter 1.

Want the full picture? Read all 19 chapters free or order the physical book.

Further reading

Frequently Asked Questions

What are Bitcoin Ordinals?
Ordinals are a numbering scheme for individual satoshis (the smallest Bitcoin unit, 1/100,000,000 BTC) written by Casey Rodarmor. Satoshis are numbered in the order they were mined and follow transaction inputs to outputs first in, first out. No soft fork activated them: the first inscription sits in block 767,430, mined on 14 December 2022, and ord 0.4.0, the first release without the mainnet restrictions, came out on 20 January 2023. That stable number is what lets an inscription be attached to one specific satoshi.
How are Bitcoin inscriptions different from Ethereum NFTs?
An inscription stores its content inside the witness of a Bitcoin transaction, in a Taproot script-path spend. An ERC-721 token stores a tokenURI, and the metadata file it points to can sit on IPFS or an ordinary web server. Inscriptions give up smart-contract logic in exchange for content that lives on the chain itself.
Are Bitcoin ordinal sales taxed in Switzerland?
No ESTV text names inscriptions. By analogy with the ESTV working paper on crypto assets, a private investor's capital gain is tax-free under DBG Art. 16 Abs. 3, and what you hold at year end goes into the wealth tax return. Frequent traders can be classed as professional, and then gains are taxed as income. The Swiss ordinals tax guide covers the detail.
Do ordinals bloat the Bitcoin blockchain?
Inscriptions sit in witness data, which counts one weight unit per byte against four for other transaction data under BIP 141. Ordiscan counted 34 GB of stored inscription data on 11 October 2026. The data is a live dispute: BIP 110 proposed a temporary soft fork to cap it, and its enforcing nodes split off and stalled on 8 August 2026.
What is BRC-20 and how does it relate to Runes?
BRC-20 is a fungible-token experiment built on inscriptions; its first deploy, the ordi token, was inscribed on 8 March 2023. It uses inscribed JSON to deploy, mint and transfer tokens, and balances exist only in off-chain indexers. A transfer takes two transactions: inscribe the transfer, then send it. Casey Rodarmor's Runes protocol activated at block 840,000 on 20 April 2024 and stores its messages in an OP_RETURN output instead of an inscription.
Can I lose an ordinal by sending it to the wrong wallet?
Yes, you can lose it. A wallet without sat control, such as the Bitcoin Core wallet, can spend the inscribed satoshi in an ordinary payment or as a fee, and a satoshi spent as a fee goes to the miner. Sending it to an exchange deposit address hands it to the exchange. Use an Ordinals-aware wallet such as Xverse, UniSat or Leather. The step-by-step process is in the inscription guide.
Where can I buy or sell Bitcoin ordinals?
Gamma and Ordinals Wallet run Ordinals marketplaces, and Magisat specialises in rare satoshis. Magic Eden ran an Ordinals marketplace in its last archived snapshot of 15 February 2026. Check the marketplace URL carefully before you connect a wallet.