Interactive tool · Bitcoin mainnet · Rules as of indexer 1.9.3

SRC-20 payload validator

Paste an SRC-20 JSON operation. Every field is checked against the rules the Bitcoin Stamps indexer enforces, and each result explains itself, including whether a failure means the transaction is excluded or merely recorded as invalid.

Nothing leaves your browser

This tool is a single static JavaScript file. There is no request, no logging, no storage and no analytics of any kind. You can read assets/validator.js and confirm it.

JavaScript required for this tool only

The validator needs JavaScript. Every other page on this site works without it.


The BRC-20 differences that catch people out

Both protocols use the field names p, op, tick, max, lim, amt and dec. That similarity is the problem: a payload copied from a BRC-20 guide looks right and behaves differently.

Field-level differences
TopicSRC-20BRC-20
Protocol stringsrc-20, compared case-insensitively. The hyphen is required.brc-20
Where the data livesTransaction output scripts, which stay in the UTXO set.Input witness data, under the witness discount.
Ticker length1 to 5 Unicode code points.Exactly 4 bytes.
Ticker character setA fixed ASCII list plus 1154 allowlisted single emoji code points. No space, hyphen or comma.Any 4-byte sequence, with wider implementation variation.
Numeric typesJSON string or JSON number, both accepted.Strings expected by the common indexers.
Fractional max / limTruncated down to an integer, then deployed.Commonly rejected outright.
Over-limit mintClamped and still valid. Statuses OMA and ODL are not failures.Commonly rejected, though the last-mint clamp exists in some indexers.
Over-balance transferInvalid, nothing moves, no partial fill.Also invalid. This one matches.
Transfer modelDirect: one transaction moves balance from sender to output 0.Two steps: an inscribe-transfer, then a transfer of the inscription.
Who receives a mintThe address in output 0, which need not be the sender.The inscription's owner.
The single most costly misreading

Treating a clamped mint as a rejected mint. In SRC-20, when your amt is above the per-mint limit or above what remains of the supply, the amount is quietly reduced and the mint still succeeds. An indexer that rejects it will report a smaller circulating supply than every other indexer, and a wallet that reports it as failed will confuse its users. See rules V-6 and V-7.