DUST-20 REV 1.1.0

DUST-20 documentation

Glossary and FAQ

Terminology, and the questions people actually ask.

Protocol
DUST-20Registry id dust20, alias dust-20
Chain
BitcoinNetwork: mainnet
Ownership model
UTXOUnits are carried by satoshis in unspent outputs
Carrier
Inscription + spendDeploy and mint are inscribed; movement is a spend
Decimals
0Balances are whole units only
Document version
1.1.0Revised 2026-09-01
Lifecycle
ExperimentalNot a ratified multi-party standard
Owning repository
bitcoinuniverseio/dust-20Documentation source of truth

A.1 Glossary

Plain definitions of every term this documentation uses in a specific way. Where a term has a numbered rule behind it, the rule is the authority and this entry is the explanation.

Satoshi

The smallest unit of Bitcoin, one hundred-millionth of a bitcoin. Satoshis are indivisible, which is why every DUST-20 amount is a whole number.

Dust

A Bitcoin output so small that nodes will not relay it, because spending it would cost more in fees than it is worth. The usual threshold for a common output type is 546 satoshis, which is why that number appears throughout DUST-20 examples.

UTXO

An unspent transaction output: a discrete piece of bitcoin with an amount and an owner. Bitcoin has no account balances; a wallet balance is the sum of its UTXOs.

Outpoint

The address of a specific output, written as a transaction id and an output index, such as txid:0. It is how an allocation is identified.

Colored output

An output whose satoshis an indexer interprets as carrying token units. Bitcoin itself sees an ordinary output; the colour exists only in the interpretation.

Cardinal input

An ordinary bitcoin input carrying no token allocation. Cardinal inputs are what you use to pay miner fees without disturbing colored satoshis.

Backing

The satoshis that stand behind a quantity of units, equal to units × unit_sats. Backing is not a price, it is the physical space the units occupy in a transaction.

unit_sats

The number of satoshis that back one unit, fixed at deploy time and unchangeable afterwards. Every later calculation depends on it.

Deploy

The inscription that creates a ticker and fixes its supply and satoshi backing rule.

Mint

The inscription that creates units, in an output whose value equals the declared satoshi backing exactly.

Colored change

The output that receives the units you did not send. Omitting it does not keep those units, it burns them.

Allocation

An indexer’s record that a specific span of satoshis inside a specific output represents a number of units of a ticker.

Offset

Where an allocation begins inside its output, measured in satoshis from the start of that output. Without the offset, the next spend cannot be computed.

Ordinal flow

The first-in-first-out rule that decides which satoshis in the outputs correspond to which satoshis in the inputs. DUST-20 uses it to follow units through a spend.

Burn

The destruction of units, caused by their satoshis being paid as fees, sent somewhere unattributable, or split so that no whole unit fits in an output. There is no burn message.

Mempool

The waiting area for broadcast but unconfirmed transactions. DUST-20 mempool coverage is partial, so unconfirmed state is not a safe basis for an irreversible decision.

RBF

Replace-by-fee: resubmitting a transaction with a higher fee. Because the replacement can have a different output layout, it can burn units the original would have preserved.

Reorg

A chain reorganization, where confirmed blocks are replaced by a different branch. An indexer must roll allocations back and replay the new branch.

PSBT

A partially signed Bitcoin transaction: the unsigned transaction your wallet shows you before you approve it. It is your last chance to check every output role.

A.2 Frequently asked questions

The questions people actually ask, answered from the rules rather than from intuition.

Do I need 546 satoshis per unit?

No. 546 is the most common example because it matches Bitcoin’s usual dust threshold, but unit_sats is whatever the deploy declares. Never assume 546 when a payload omits the field, because omitting it makes the deploy invalid.

Why is there no transfer inscription?

Because the satoshis themselves carry the units. Spending them moves the units, so a separate message would be redundant and could disagree with the transaction that actually happened. The current implementation rejects any op: "transfer" inscription.

What happens if I forget the colored change output?

The units you meant to keep are burned. Bitcoin will confirm the transaction normally and nothing warns you. This is the single most expensive mistake in DUST-20.

Can I pay the miner fee from my token backing?

No. Satoshis that go to the fee are gone, and any units they carried are burned. Always add a separate ordinary bitcoin input to fund the fee.

Are DUST-20 amounts divisible?

No. Balances have zero decimal places, and a unit only survives a spend if its whole block of unit_sats satoshis lands inside one output.

What if two people deploy the same ticker?

The first valid deployment wins. Tickers are compared after Unicode NFC normalization and lower-case folding, so "DUST" and "dust" are the same ticker.

Is a balance from an indexer authoritative?

It is one service’s interpretation of Bitcoin, not consensus. Check its source, coverage and observation height, and treat disagreement between two indexers as a blocking error rather than a choice.

Is this documentation a specification?

No. It documents the legacy DUST-20 specification and the behaviour of the Bitcoin Universe production indexer, labelling every statement with which of the two supports it. Where they disagree or nothing settles a question, that is stated rather than resolved by guesswork.

Can I trade DUST-20 in Bitcoin Universe?

No. Marketplace availability is read-only: viewing, collections and activity are supported, and listing, buying, selling, offers and settlement are not. The recorded reason is that DUST-20 mutations are unavailable until a typed authoritative ownership resolver replaces the retired address-only legacy flow. The Universe support page publishes the full recorded state.