Skip to main content

ASTRO Burner

Overview​

The burner removes a tokenfactory denom from supply. It burns its whole balance of the denom with tokenfactory MsgBurn, so the burner must be the denom's admin.

Anyone can trigger a burn. Funds can reach the burner in two ways:

  • They are attached to burn. The Maker does this with a deposit leg whose msg is {"burn":{}}.
  • They are sent to the burner directly, with a later burn call from anyone.

The burner has no message that mints or that changes the denom's admin.

How it's used​

On Neutron, the burner is the admin of the ASTRO denom factory/neutron1ffus553eet978k024lmssw0czsxwr97mggyv85lpcsdkft8v9ufsz3sa07/astro. Because the admin can only burn, minting new ASTRO is impossible in practice.

  • The Neutron Maker swaps 100% of its fees into ASTRO and deposits it here with {"burn":{}}.
  • The Terra Maker sends 25% of Terra fees, bought as ASTRO, to the Terra satellite. The satellite IBC-transfers it to the burner (transfer_astro, callable by anyone), and a later burn call burns it.
  • The Neutron Maker's seize config sends seized ASTRO here.
  • The Neutron Treasury burn on 2026-10-08 burned 302,664,416.43 ASTRO through this contract.

ASTRO supply started at 1,000,000,000 and was 696,235,077.66 ASTRO on 2026-11-04. It only goes down. total_burned returns everything this contract has burned.

InstantiateMsg​

json
msg.rs
Copy

_3
{
_3
"denom": "factory/neutron1ffus553eet978k024lmssw0czsxwr97mggyv85lpcsdkft8v9ufsz3sa07/astro"
_3
}

ParamsTypeDescription
denomStringThe tokenfactory denom to burn. The burner must be made its admin to burn it

ExecuteMsg​

burn​

Burns the burner's whole balance of the denom, including funds attached to the call. If the call attaches any other denom, it fails. With nothing to burn, it does nothing.

json
msg.rs
Copy

_3
{
_3
"burn": {}
_3
}

QueryMsg​

config​

json
msg.rs
Copy

_3
{
_3
"config": {}
_3
}

Config​

json
msg.rs
Copy

_3
{
_3
"denom": "factory/neutron1ffus553eet978k024lmssw0czsxwr97mggyv85lpcsdkft8v9ufsz3sa07/astro"
_3
}

ParamsTypeDescription
denomStringThe denom this burner burns

total_burned​

Returns the total amount this contract has burned, as a Uint128.

json
msg.rs
Copy

_3
{
_3
"total_burned": {}
_3
}