Interactive tool
Inscription payload validator
Paste a BRC-20 inscription JSON payload. Every check is reported with the rule that produced it and an explanation of what to change. The tool checks what can be decided from the payload alone; conditions that depend on chain state are called out rather than guessed at.
This runs entirely in your browser. Nothing you paste is transmitted, stored, or logged; the page makes no network request while validating. Rules revision: this site's specification 1.0.0 (classic BRC-20 plus the 5-byte self-mint extension), Bitcoin mainnet. Programmable extensions are not checked.
Result
Select Check payload to validate the JSON above.
What this tool checks
| Check | Rule |
|---|---|
| Content parses as exactly one JSON object | R1 |
| Every value is a JSON string, not a number or boolean | R3 |
p is exactly "brc-20" | R4 |
op is deploy, mint, or transfer, lowercase | R5 |
| Required fields present; unknown keys flagged as ignored | R6 |
Ticker is 4 UTF-8 bytes, or 5 with self_mint | R7 |
max positive, lim at most max, dec from 0 to 18, uint64 bound | R9 |
Amount grammar and decimal places against dec | R11 |
| Operation-appropriate fields for mint and transfer | R13, R16 |
| Duplicate top-level keys | R1 |
What it cannot check
These depend on the chain, not the payload, and no offline tool can decide them:
- Whether the ticker is already deployed, and by whom (R10, R12).
- The deployed
lim,dec, and remaining supply, so a mint's real ceiling and decimal allowance are unknown here (R13, R14). - The available balance backing a transfer inscription at confirmation (R16).
- The inscription envelope itself: content type, cursed status, and first ownership (R2, R24).
A "well-formed" verdict means the payload is syntactically correct BRC-20. It does not promise the operation will take effect.