Protocol dossier

Digital matter on Bitcoin: objects, names, and colored satoshis

Atomicals mints digital objects onto Bitcoin through a commit and reveal pattern that carries a CBOR payload inside witness data. ARC-20 is its fungible token model: one token unit occupies one satoshi, so tokens move by moving satoshis, and the rules that decide which outputs inherit which balance are exact enough to simulate.

This site documents both, grounded in the indexer code Bitcoin Universe runs, with Universe-specific indexing decisions labeled as such.

The colored satoshi, drawn as an atom A nucleus labelled one satoshi sits at the centre of three crossing orbital rings. Particles on the rings are labelled token unit, object payload, and realm name. 1 sat nucleus token unit object payload realm name
Fig. 1: the colored sat model. An ARC-20 unit is not an account entry; it is a satoshi carrying color, and everything an Atomical can be (object, token, name) orbits real unspent outputs.
Chain and network
Bitcoin mainnet
Protocol activation
height 808080
Envelope marker
atom in tapscript witness
Payload encoding
CBOR map
Token model
1 unit = 1 satoshi
Document version
2.0.0, lifecycle beta

What the protocol is

Atomicals is a protocol, created by the upstream Atomicals project, for minting and transferring digital objects on Bitcoin without a sidechain or a separate token ledger. A mint is two transactions: a commit that pays into a taproot script containing an atom-tagged envelope, and a reveal that spends it, exposing an operation code and a CBOR payload in witness data. The object's permanent identifier is the commit outpoint: the commit transaction id plus its output index, written compactly as <txid>i<index>.

On that foundation the protocol defines several families.

Fungible

ARC-20 tokens

Deployed directly with a fixed supply (ft) or as decentralized mints (dft then many dmt) where anyone mints under declared limits, optionally gated by bitwork proof-of-work. Every unit is a colored satoshi.

Non-fungible

NFTs and collections

Single objects minted with nft, carrying arbitrary payload data, with mutable state through mod unless minted immutable or sealed with sl, organized into containers whose items are proven by merkle path.

Names

Realms and subrealms

Human readable names (+alpha, +alpha.child) claimed through the same commit and reveal race, resolved by earliest valid commit, with proof-of-work required for top-level names.

Who this site is for

Lifecycle and status

Atomicals activated on Bitcoin mainnet at height 808080 and evolved through dated activation heights up to custom coloring at height 848484; the specification lists each one. The upstream reference implementation is atomicals-electrumx, and Bitcoin Universe operates a pinned fork of it as its indexing authority, alongside a read-only projection service for NFTs, realms, subrealms, containers, and dmitems. Upstream development has slowed since 2024, so treat the activation heights listed here as the current rule set and verify them against whatever implementation you index with.

These documents are lifecycle beta: complete for ARC-20 and for the NFT and naming families described here, verified against indexer code on the date shown in the footer.

Entry points

Specification

Envelope grammar, commit and reveal windows, CBOR fields, dmint bitwork rules, coloring rules C1 to C12, invalidity conditions.

Guide

Plain language walkthrough, worked mint and transfer examples, and what Bitcoin Universe products actually support.

Reference

Terminology, indexer semantics, fee and size considerations, limitations, security considerations, implementation checklist.

Test vectors

Valid and invalid cases with expected outcomes, several transcribed from the indexer's own test suite.

Transfer simulator

Enter inputs and outputs and watch the coloring rules assign, split, and burn token value, step by step, in your browser.

Your keys, your outputs, your decision. ARC-20 movements depend on Bitcoin outputs as much as on the spend itself. Before signing, check the asset, amount, destination, output values, and miner fee in a compatible wallet. Keep a colored UTXO intact unless you understand how the transaction allocates its units. The simulator exists so you can check.