What is Umbra?
Umbra adds a privacy layer on top of standard Solana SPL and Token-2022 tokens. It lets you:- Shield balances — move tokens from a public Associated Token Account (ATA) into an EncryptedTokenAccount (ETA) where the balance is hidden from everyone except authorized viewers.
- Transfer anonymously — write a Stealth Pool Note into a shared mixer tree, then burn it from any wallet with no on-chain linkage to the sender.
- Control who sees what — grant selective viewing access to auditors or compliance systems without exposing your full history.
You do not need to understand MPC or zero-knowledge proofs to use Umbra. The SDK handles all cryptographic operations for you.
Key terms
The SDK and these docs use this vocabulary throughout:- ATA —
AssociatedTokenAccount. A standard SPL Associated Token Account holding plaintext tokens. - ETA —
EncryptedTokenAccount. An Umbra-managed account whose balance is encrypted. Two modes: MXE-only (Arcium decrypts) and Shared (the user can also decrypt locally). - Stealth Pool Note — a leaf in the shared mixer tree. On-chain it is a commitment in the Indexed Merkle Tree; the SDK surfaces it as a “note”.
- Burn — consuming a note: it reveals the note’s nullifier on-chain and credits the destination balance.
burn_* and the relayer endpoint is /v1/claims — the wire protocol uses these lower-level nouns, and a handful of TS aliases bridge them so the relayer client plugs into the burner factories unchanged. You should not need to touch any of that as an SDK consumer.
Core Concepts at a Glance
Encrypted Balances
Shield any SPL or Token-2022 token balance in an EncryptedTokenAccount. Only you — and anyone you explicitly grant access to — can see the amount.
Stealth Pool
Break the on-chain link between sender and recipient using a shared Merkle tree of Stealth Pool Notes and zero-knowledge burn proofs.
SDK
One TypeScript package,
@umbra-privacy/sdk. The ZK prover, indexer client, and relayer client all ship as subpath modules — no separate @umbra-privacy/web-zk-prover package.Indexer API
A read-only REST API for Stealth Pool Note records and Merkle proofs — used internally by the SDK and available for direct integration.
How It Fits Into Your Stack
Umbra is designed to slot into an existing Solana application. You bring your wallet adapter; Umbra handles the rest.Program IDs
The Umbra on-chain program is deployed at different addresses per network:- Mainnet:
UMBRAD2ishebJTcgCLkTkNUx1v3GyoAgpTRPeWoLykh - Devnet:
DSuKkyqGVGgo4QtPABfxKJKygUDACbUhirnuv63mEpAJ
network parameter.
Supported Networks
mainnet— Production. wSOL, USDC, USDT, UMBRA, CASH, ZINC.devnet— Development and integration testing. wSOL only.localnet— Local validator. wSOL only.
Next Steps
Quickstart
Install the SDK and run your first deposit + burn in under 5 minutes.
How Umbra Works
Understand the privacy model before you start building.