History
Changelog
Two histories, kept separate: the version history of this document, and the consensus changes in the protocol it describes.
Document versions
2026.09.01
Verified against btc_stamps indexer 1.9.3 and the Bitcoin Universe ecosystem capability registry snapshot of 31 August 2026.
Complete rebuild of this documentation from the protocol implementations, replacing marketing-oriented pages with a normative specification.
- Added a numbered specification covering the data carrier, both encodings, activation heights, ticker and numeric rules, the three operations, and the full validity and invalidity taxonomy.
- Documented both carriers precisely: bare multisig with ARC4 keyed on input 0's previous txid and a required burn key, and OLGA P2WSH from block 865000, including the deliberate absence of a multisig fallback.
- Corrected the widespread description of SRC-20 as a Counterparty protocol. Counterparty-encoded SRC-20 has been ignored since block 796000.
- Recorded that
OP_RETURNis not an SRC-20 data carrier, contrary to common description. - Documented the clamping mint statuses
OMAandODLas valid outcomes, which is the most frequent source of indexer divergence. - Documented the truncation asymmetry:
maxandlimround down,amtdoes not. - Documented the pre-833000 numeric stripping behaviour, which changes historical supply figures if not reproduced.
- Recorded that the
BULK_XFERcode path in the reference indexer is unreachable and must not be implemented. - Recorded that a DEPLOY missing
maxorlimreports statusDE, whose message misleadingly reads "DEPLOY EXISTS". - Added a client-side payload validator reproducing the field-level rules, with the BRC-20 difference table.
- Added test vectors including a stateful lifecycle covering both clamping cases.
- Added indexer semantics for ordering, confirmation, the absence of mempool state, and reorg handling.
- Replaced the product support claims with the actions declared in the ecosystem capability registry, including each unsupported marketplace action and its recorded reason.
- Added local search, a theme toggle, a changelog, a 404 page,
sitemap.xml,robots.txtand a validateddocs.manifest.json. - Corrected the site's own published URLs, which previously pointed at a
bitcoinuniverse.github.iohost rather than the realbitcoinuniverseio.github.ioPages origin.
Earlier
The repository previously published a three-page introduction covering Bitcoin Stamps, SRC-20 and SRC-101 together. Its accurate content, the protocol relationships and the user-safety guidance, is carried forward into the overview and the guide. The Stampchain logo and its attribution are retained unchanged.
Protocol changes
SRC-20 has no upstream versioned specification. Its history is a sequence of block heights at which indexer behaviour changed, and those heights are the protocol's real version numbers.
| Height | Approx. date | Change |
|---|---|---|
788041 | April 2023 | SRC-20 begins. Operations are carried inside Counterparty issuances, requiring a numeric asset id and a declared supply of 0. |
793068 | May 2023 | First SRC-20 carried directly on Bitcoin, with no Counterparty encoding. |
796000 | June 2023 | Counterparty-encoded SRC-20 stops counting. Every such operation at or after this height is ignored, making the protocol direct-to-Bitcoin. |
833000 | February 2024 | Numeric parsing becomes strict. Below this height every character that was not a digit or a dot was stripped from a numeric string before parsing; from here a malformed numeric excludes the transaction. |
865000 | October 2024 | OLGA P2WSH encoding becomes available for SRC-20, carrying payload bytes in 32-byte witness programs with no encryption. It takes precedence over bare multisig. |
Dates are approximate, derived from typical block intervals. The heights are exact and are what an indexer must use.
Proposals exist to add conditional transfers to SRC-20, which would make non-custodial marketplace escrow possible. None is activated at a block height, and none is implemented by the reference indexers. Until a proposal has an activation height and agreeing implementations, it is not protocol behaviour and this document will not describe it as such.