Token Mechanics
Intermediate
1-2 hoursToken Supply & Burning Pattern (Lifecycle Control)
Design mint/burn rules, capped supply and admin-controlled burn functions
Problem
You need fine-grained control over token supply: capped minting, burn mechanisms, or governance-controlled supply changes.
Solution
Combine a minting contract with burn capabilities. Use a state box to track total supply, enforce caps, and require authorization for supply changes.
How It Works
- 1Deploy a state box holding the minting authority (NFT or special token)
- 2Minting contract checks current supply against cap before allowing new mints
- 3Burns can happen by omission (not including tokens in outputs) or sending to unspendable address
- 4Governance can control mint/burn through multi-sig or DAO voting
- 5State box tracks total minted and total burned for transparency
Code Examples
{
// State box with minting authority
val stateBox = CONTEXT.dataInputs(0)
val mintingNFT = fromBase64("MINTING_AUTHORITY_NFT")
// Verify authority
val hasAuthority = stateBox.tokens.exists(t => t._1 == mintingNFT)
// Supply tracking in state box registers
val currentSupply = stateBox.R4[Long].get
val maxSupply = stateBox.R5[Long].get
val mintAmount = OUTPUTS(0).tokens(0)._2
// Check cap
val withinCap = currentSupply + mintAmount <= maxSupply
// Governance approval (multi-sig)
val governanceApproved = atLeast(2, Coll(
proveDlog(admin1PK),
proveDlog(admin2PK),
proveDlog(admin3PK)
))
hasAuthority && withinCap && governanceApproved
}Minting contract with hard cap enforcement. State box tracks supply, governance multi-sig controls minting authority.
Use Cases
- →Deflationary tokenomics (buyback-and-burn)
- →Capped supply governance tokens
- →Fee burning for protocol revenue
- →Proof-of-burn for cross-chain bridges
- →Elastic supply stablecoins
Security Considerations
- !Burns are irreversible - double-check amounts
- !Use multi-sig for governance-controlled burns
- !Log burn events for off-chain tracking
- !Ensure state box cannot be destroyed accidentally
Resources
Fee Considerations
Standard transaction fees. State box updates require additional transaction.