Avoid burns
The working procedure that prevents every burn shape, with the executed cases that show what each one looks like.
Protocol behavior Verified 2026-08-31
Describes the Atomicals protocol itself at the pinned reference revision. It does not promise that any product exposes it.
- Page ID
-
guides/avoid-burns - Normative authority
- Executed source code at a pinned revision
- Networks
- mainnet
- Documentation version
- 2026.08
- Audience
- everyone, holder, developer
- Owner
- bitcoin-universe-docs
- Sources
-
- Atomicals ElectrumX
at
v1.5.2.0
- Atomicals ElectrumX
at
- Known limitations
-
- A confirmed burn is permanent. This procedure prevents burns. Nothing reverses one.
Before you start
Section titled “Before you start”- Supported networks: mainnet.
- Status: protocol behavior.
- Prevention is the only control. There is no recovery.
The procedure
Section titled “The procedure”- Work in outpoints and satoshis. Never in a token amount box.
- Move one token per transaction unless you have modelled the multi token case.
- Always include a coloured change output when the lot exceeds what you are sending.
- Size the change output to exactly the remainder.
- Model the exact input and output set, in order, before building.
- Confirm the computed burn figure is zero.
- Add the fee inputs and cardinal change, then model again.
- Confirm the burn figure is still zero.
- Compare the wallet prompt to your model, line by line, before signing.
Steps seven and eight are the ones people skip, and they are where wallet-added change silently changes the result.
The four shapes, executed
Section titled “The four shapes, executed”| Case | Coloured inputs | Result per output | Burned | Clean |
|---|---|---|---|---|
Oversized next output burns the remainder oversized-next-output | 1200 units at input 0 | out 0: 700 sats to 700 units; out 1: 546 sats to 0 units | 500 units of TOKENA | no |
Outputs run out before the value does too-few-outputs | 1200 units at input 0 | out 0: 700 sats to 700 units | 500 units of TOKENA | no |
First output larger than the whole lot first-output-too-large | 500 units at input 0 | out 0: 20000 sats to 0 units | 500 units of TOKENA | no |
A non-clean slot triggers the output zero fallback two-tokens-non-clean-fallback | 700 units at input 0, 400 units at input 1 | out 0: 700 sats to 700 units; out 1: 546 sats to 0 units | 400 units of TOKENB | no |
| Shape | Prevention |
|---|---|
| Next output too large | Size change to exactly the remainder |
| Not enough outputs | Always include coloured change |
| First output larger than the lot | Never send a small lot into a large first payment |
| Multi token fallback | One token per transaction |
The one case where a burn is deliberate
Section titled “The one case where a burn is deliberate”Destroying units on purpose is a valid action. Do it explicitly: build the transaction that burns exactly what you intend, confirm the figure, and record why. Never rely on an accidental burn.
After broadcast
Section titled “After broadcast”Read the transaction through a source that reports burns and confirm the figure is what you expected. Compare the coloured input total against the sum of coloured output totals.
Source
Section titled “Source”Burns and allocation.