Chain membership
The block has to be real
A reader resolves the hash through a Bitcoin node. If the header is unknown, or its height now belongs to a different block, the mint is rejected. A hash from an orphaned block does not count.
Bitcoin · inscription-carried token protocol
BLOCK-20 writes compact JSON into Bitcoin inscriptions. Deploy defines a ticker, transfer moves a balance, and every mint carries the hash of a Bitcoin block. A reader credits that mint only when the named block is genuinely on the active chain, mined after the deployment, before the mint's own reveal, and recent enough. Minting is not open. It is proved.
767430
First Bitcoin mainnet height a BLOCK-20 reader scans
block-20deploy, mint, transferbitcoin-universe-block20-v1The idea
Most inscription token protocols let anyone mint at any time until supply runs out. BLOCK-20 keeps that shape but adds one field to every mint: hash, a 64 character lowercase Bitcoin block ID. That single field is what a reader checks before crediting anything.
Chain membership
A reader resolves the hash through a Bitcoin node. If the header is unknown, or its height now belongs to a different block, the mint is rejected. A hash from an orphaned block does not count.
Ordering
The anchor height must be at or above the deploy height and strictly below the block that reveals the mint. You cannot anchor to a block that has not been mined yet, and you cannot anchor before the ticker existed.
Freshness
The reader rejects an anchor more than 144 blocks before the reveal, roughly one day of Bitcoin. Mints cannot be prepared far in advance and dumped later.
Who this is for
You want to know what will be written to Bitcoin, what it costs, and how to tell whether your mint counted.
You are building against a BLOCK-20 reader and need the payload grammar, the state model, and the confirmation and reorganization behavior.
You are writing an indexer and need numbered rules, exact rejection conditions, and vectors to test against.
Support
Claims below are limited to what is wired in the organization's own capability registry. Anything not listed is not currently supported.
| Surface | Supported actions | State |
|---|---|---|
| Core | view, discover, view collection, view activity, view transaction | Discovery only |
| Wallet | view, send, receive | Supported |
| Inscribe | deploy, mint, transfer | Writer |
| Marketplace | none | No trade path |
BLOCK-20 is indexed but not tradeable inside Bitcoin Universe. The capability registry records no marketplace entry for this protocol at all, which means no Universe product implements listing, buying, offers, or settlement for BLOCK-20. Balances can be viewed, sent, and received. They cannot be bought or sold through a Universe surface. Do not read the explorer and the wallet as evidence that a market exists.
Two halves
BLOCK-20 is deliberately split. The writer places bytes on Bitcoin. It does not compute balances, order operations, or settle transfers. Everything about who owns what is decided by a reader applying the rules on this site.
Bitcoin Universe Inscribe builds the JSON payload, funds a commit output, and broadcasts a reveal. It selects the mint anchor by reading the current chain tip while the order is being created. It performs no supply or ticker validation of its own.
A reader replays inscriptions in block order, applies the payload grammar strictly, checks the mint anchor against a Bitcoin node, tracks reservations for transfer inscriptions, and reverses everything cleanly on a reorganization.
Emitting a payload is not the same as it being accepted. The writer will happily inscribe a mint whose amount exceeds the ticker limit, or a ticker that was never deployed. The reader rejects it and no balance changes. Always verify after the reveal.
Attribution
BLOCK-20 uses the compact field conventions established by inscription-carried token standards that originated outside Bitcoin Universe, notably BRC-20: a p protocol marker, an op operation, a short tick, and string-encoded amounts. The parts specific to BLOCK-20 are the mint anchor in the hash field and the reader rules that make it binding.
The writer described here is the Bitcoin Universe Inscribe implementation. The reader rules described here are the bitcoin-universe-block20-v1 profile operated by Bitcoin Universe. Both are implementations. Neither is a Bitcoin consensus rule, and another reader may reach a different conclusion about the same inscription unless it applies the same profile.
There is no version field inside a BLOCK-20 payload. A change to field names, defaults, serialization, or the anchor rule is compatibility sensitive by construction. Version changes are recorded in the changelog.
Entry points
Numbered normative rules: envelope, payload grammar, the anchor derivation, operation semantics, and every rejection condition.
Plain-language walkthrough with worked deploy, mint, and transfer examples.
Terminology, indexer semantics, fees and size, limitations, security considerations, implementation checklist.
Commit and reveal stages, order statuses, and payment safety.
Client-side tool that parses a payload and walks the anchor derivation step by step.
Valid and invalid cases with expected reader outcomes.
External: source repository, docs.bitcoinuniverse.io, security reporting, Universe Inscribe writer.