Skip to main content

Ghost Protocol Developer Documentation

Build privacy-preserving applications on Umbraline Testnet, an Avalanche subnet with native ZK-SNARK privacy.

Network Information

PropertyValue
Network NameUmbraline Testnet
Chain ID47474
RPC URLhttps://testnet-rpc.umbraline.com
Block Explorerumbrascan.com
Native TokenGHOST

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.

Core vs Application

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) │
└─────────────────────────────────────────────────────────────────┘
I want to...Go to...
Get started quicklyQuickstart
Understand the protocolLifecycle Mental Model
Build an applicationOne-Time Access Token Tutorial
Look up contract addressesContract Addresses
Generate proofsProof Generation
AI agent referencellms.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

ContractAddress
GhostVault0x9A8F98916d324153B61F1C4B6D7d85F52988b3b1
CommitmentTree0xe382a7C7a5CE3B9250D73aE6ab97931E5798e6F7
NullifierRegistry0x03972E4453fD143A5203602020DbE2f7DcF6e0db
ProofVerifier0x2Bc0ac5508FF31A0Ad055A1F823C7653F48D37bE

See Contract Addresses for the complete list including USDG and token factory.