Ghost Protocol Developer Documentation
Build privacy-preserving applications on Umbraline Testnet, an Avalanche subnet with native ZK-SNARK privacy.
Network Information
| Property | Value |
|---|---|
| Network Name | Umbraline Testnet |
| Chain ID | 47474 |
| RPC URL | https://testnet-rpc.umbraline.com |
| Block Explorer | umbrascan.com |
| Native Token | GHOST |
What is the Ghost Protocol?
Ghost Protocol is a general-purpose ZK-SNARK commit-reveal mechanism for building privacy-preserving applications on Umbraline Testnet. It allows developers to:
- Commit data — Record a cryptographic commitment on-chain
- Reveal data — Prove knowledge with a ZK proof and trigger application logic
- Build privacy applications — Token privacy (Vanish/Summon), one-time access tokens, anonymous voting, and more
The protocol uses a commit-reveal mechanism powered by Groth16 zero-knowledge proofs, ensuring that the link between commits and reveals is cryptographically impossible to trace.
The protocol is data-agnostic. Vanish/Summon (token burning/minting) is one application built on top of the core commit-reveal mechanism. You can build any privacy application using the same primitives.
┌─────────────────────────────────────────────────────────────────┐
│ Your Application │
├─────────────────────────────────────────────────────────────────┤
│ Ghost Protocol SDK │
├─────────────────────────────────────────────────────────────────┤
│ Ghost Protocol Contracts │
│ ┌─────────────┐ ┌──────────────────┐ ┌────────────────────┐ │
│ │ GhostVault │ │ CommitmentTree │ │ NullifierRegistry │ │
│ └─────────────┘ └──────────────────┘ └────────────────────┘ │
├─────────────────────────────────────────────────────────────────┤
│ Umbraline Testnet (Avalanche Subnet) │
└─────────────────────────────────────────────────────────────────┘
Quick Links
| I want to... | Go to... |
|---|---|
| Get started quickly | Quickstart |
| Understand the protocol | Lifecycle Mental Model |
| Build an application | One-Time Access Token Tutorial |
| Look up contract addresses | Contract Addresses |
| Generate proofs | Proof Generation |
| AI agent reference | llms.txt |
Key Concepts
Before diving in, understand these core concepts:
- Commitment: A cryptographic hash that commits your data on-chain
- Nullifier: A unique identifier that prevents double-spending
- Merkle Proof: Cryptographic proof that your commitment exists in the tree
- ZK-SNARK: Zero-knowledge proof that validates without revealing secrets
Design Philosophy
Ghost Protocol is a one-way protocol. Commits can be abandoned, but reveals are final.
Once a nullifier is spent, that commitment can never be revealed again. Design your applications with this permanence in mind.
Contract Addresses
| Contract | Address |
|---|---|
| GhostVault | 0x9A8F98916d324153B61F1C4B6D7d85F52988b3b1 |
| CommitmentTree | 0xe382a7C7a5CE3B9250D73aE6ab97931E5798e6F7 |
| NullifierRegistry | 0x03972E4453fD143A5203602020DbE2f7DcF6e0db |
| ProofVerifier | 0x2Bc0ac5508FF31A0Ad055A1F823C7653F48D37bE |
See Contract Addresses for the complete list including USDG and token factory.