What is ARC-20?
The Atomicals fungible token model, where one unit is one coloured satoshi and transfers are an allocation problem rather than an account update.
Protocol behavior Verified 2026-08-31
Describes the Atomicals protocol itself at the pinned reference revision. It does not promise that any product exposes it.
- Page ID
-
start/what-is-arc-20 - Normative authority
- Atomicals reference implementation
- Networks
- mainnet
- Documentation version
- 2026.08
- Audience
- everyone
- Owner
- bitcoin-universe-docs
- Sources
-
- Atomicals ElectrumX
at
v1.5.2.0 - Atomicals protocol guide
at
unversioned
- Atomicals ElectrumX
at
- Known limitations
-
- Allocation behavior is version sensitive. The numbers on this page follow the pinned reference revision only.
ARC-20 is the fungible token model inside Atomicals. Its rule is short:
One ARC-20 unit is one satoshi in a Bitcoin output that a validator recognises as coloured.
That single sentence decides everything else. Supply is measured in satoshis. A transfer is a question about which outputs receive how much value. Value that cannot be placed is destroyed.
One unit is one satoshi
An ARC-20 balance is not a number stored somewhere. It is the satoshi value of the outputs a validator recognises as coloured for that token. An output worth 700 satoshis that a validator colours for a ticker carries exactly 700 units. Spending it spends the units. Splitting it splits the units, subject to the allocation rules.
Why this is not an account balance
Section titled “Why this is not an account balance”Account transfer against ARC-20 allocation
An account transfer subtracts a number from one row and adds it to another, and an invalid transfer simply fails. An ARC-20 transfer spends whole coloured outputs and assigns their value to new outputs in order. The Bitcoin transaction confirms either way, so an unwanted result is not reported as a failure. It is reported as a different allocation, which can include a burn.
In an account model a transfer subtracts from one row and adds to another, and the transaction either succeeds or fails. In ARC-20 the transaction succeeds on Bitcoin either way. What changes is where the coloured value lands.
| Question | Account model | ARC-20 |
|---|---|---|
| Where is the balance? | A row in a ledger | Spread across your unspent outputs |
| What is a transfer? | Debit and credit | Assigning input value to outputs in order |
| Can value vanish? | No | Yes. Unplaceable value is burned |
| Who decides the result? | The contract | The validator revision your indexer runs |
| Does confirmation mean success? | Yes | No. Confirmation and allocation are separate answers |
The three ways units come into existence
Section titled “The three ways units come into existence”| Mode | Operation | Shape |
|---|---|---|
| Direct issuance | ft |
The entire supply lands in output zero of one transaction |
| Fixed decentralised | dft then dmt |
A deployment sets the rules, then claimants mint a fixed amount each |
| Perpetual decentralised | dft with perpetual parameters |
Activation gated, with progressing Bitwork and an optional global cap |
See direct issuance, fixed DFT, and perpetual DFT.
What a ticker does and does not mean
Section titled “What a ticker does and does not mean”A ticker is a globally allocated name. Winning it means the Atomicals rules resolved a candidate into a verified winner. It does not mean:
- the project is who it says it is;
- the metadata is accurate;
- the image belongs to the minter;
- anyone stands behind the supply.
Always store and display the resolved Atomical ID next to any ticker. See tickers and candidates.
Decimals do not create fractions
Section titled “Decimals do not create fractions”decimals is presentation metadata. It changes how a wallet formats a number on screen. It never
creates sub-satoshi units. Native ARC-20 quantities are integers, always.
See metadata and decimals.