Ghostmint Precompile
The Ghostmint precompile at address 0x0808 enables smart contracts to mint and burn native GHOST tokens by calling the chain's BankKeeper directly from the EVM. This is the consensus-layer mechanism that powers the Ghost Protocol's burn-and-mint model.
Why a precompile
On standard EVM chains, smart contracts cannot create or destroy the native token — they can only transfer it. Specter's custom precompile bridges this gap:
Smart Contract → Precompile (0x0808) → BankKeeper.MintCoins() / BurnCoins()
This means tokens are genuinely destroyed on commit (not locked in a contract) and genuinely created on reveal (not withdrawn from a pool).
Address
0x0000000000000000000000000000000000000808
Key properties
| Property | Value |
|---|---|
| Supply cap | 1,000,000,000 GHOST |
| Authorization | Governance-controlled whitelist |
| Invariant check | PreCommit ABCI hook verifies supply delta each block |
| Currently authorized | NativeAssetHandler (0x35cdaE...d502b7) |
Supply tracking
The precompile tracks cumulative mints and burns:
Net supply = totalMinted - totalBurned
This value cannot exceed 1 billion GHOST. The chain's PreCommit hook verifies this invariant on every block — if a block would violate the cap, it is rejected.
Next steps
- ABI Reference — function signatures and event definitions
- Authorization — how authorized callers are managed
- Usage Examples — calling the precompile from Solidity