DUST-20 REV 1.1.0

DUST-20 documentation

Changelog

What changed in this document, and when.

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

H.1 Version history

This is the version history of the document, not of the protocol. DUST-20 itself has had no versioned releases: what changes here is how completely and how accurately the protocol is described, and which questions have moved from open to resolved.

How versions work here

The document version appears in the masthead as REV, in the datasheet block on every page, and in docs.json. Numbered rule identifiers are stable across versions: a rule that is withdrawn keeps its number and is marked withdrawn rather than having its number reused. A change that would alter the meaning of an existing rule gets a new rule number instead.

Version 1.1.0

2026-09-01

Normative renumbering, Universe availability truth, and a static-first rebuild.

  • Added a numbered normative specification with stable rule identifiers from DUST-2.1 to DUST-9.8, and linked every conformance vector to the rule it exercises.
  • Published the recorded Bitcoin Universe capability state for DUST-20: marketplace availability read-only, with the exact mutation gate, ownership and settlement statements from the capability registry.
  • Documented that the DUST-20 read path in Universe products is first-party, and why an untyped boolean output check cannot support settlement.
  • Added transaction anatomy tables, state transitions, invalidity conditions keyed to decoder issue codes, fee and size considerations, limitations, and a five-part implementation checklist.
  • Moved every data-driven table to build-time rendering, so the whole site now reads without JavaScript. Scripts remain only for the decoder, the visualizer, search and the theme toggle.
  • Added client-side search over pages, rules, fields, terms and vectors, plus a changelog page and a Universe support page.
  • Rebuilt the presentation as a technical datasheet with a fine grid substrate, hairline rules and monospace numerics.

Version 1.0.0

2026-08-18

First complete documentation set generated from a single data model.

  • Established assets/protocol-data.js and assets/protocol-vectors.js as the source of truth for every table, example and machine-readable artifact.
  • Published the strict reader profile, the field ledger with provenance labels, the formula set and the reconciliation section.
  • Shipped an exact-integer validator, a transaction simulator and a browser conformance laboratory backed by the same vectors the Node test suite asserts.
  • Resolved max_sats to required, resolved the transfer payload question to "none exists", and resolved ticker identity to NFC plus lower-case folding.

Rules that changed provenance

Three statements moved from unresolved to settled between 1.0.0 and 1.1.0, all of them resolved by the current implementation rather than by an agreement between implementers. They are labelled UNIVERSE accordingly, and the reasoning is published in full in the reconciliation section.

Provenance movements
QuestionWasNowRule

Is max_sats required in a deploy?

UNRESOLVED VERIFIED DUST-5.4

Is there an official transfer payload?

UNRESOLVED UNIVERSE DUST-7.1

Does output order matter?

UNRESOLVED UNIVERSE DUST-7.5

Is there one official DUST-20 indexer API?

UNRESOLVED UNRESOLVED DUST-9.7

Still open

Five questions have no authoritative answer and are documented as open rather than guessed: whether independent implementations agree with these rules, what confirmation depth makes a balance safe, what the pending lifecycle is for an unconfirmed movement, what happens to state when a transaction is replaced, and what a typed authoritative ownership resolver would look like. All five are on the reference page with the posture that keeps you safe while they stay open.