The Ghost Protocol is implemented as a set of interrelated Solidity smart contracts. All contracts use Solidity 0.8.24 and are built with Foundry.
Architecture
Core contracts
| Contract | Purpose | Address |
|---|
| CommitRevealVault | Orchestrates all commit and reveal operations | 0x443434...6c70 |
| CommitmentTree | Stores commitments in a Merkle tree (depth 20) | 0xB7E37E...4D87 |
| NullifierRegistry | Tracks spent nullifiers to prevent double-reveals | 0x0987cc...1C58b |
| NativeAssetHandler | Bridges between EVM contracts and the Ghostmint precompile | 0x35cdaE...d502b7 |
| AssetGuard | Whitelist of authorized tokens for commit/reveal | 0xa1E7d5...A8A1 |
Token contracts
| Contract | Purpose | Address |
|---|
| GhostERC20 | Privacy-enabled ERC20 with vault-controlled mint/burn | Various |
| GhostERC20Factory | Deploys and registers new GhostERC20 tokens | 0x925B54...88C8E |
Verification
| Contract | Purpose | Address |
|---|
| Groth16ProofVerifier | Verifies Groth16 ZK proofs on-chain | 0x2C8Fb6...E5bd2 |
Policy contracts
See Deployed Addresses for the full address table.