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 an 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
These are the nouns and verbs you will see throughout the SDK and the rest of these docs:- ATA —
AssociatedTokenAccount. A standard SPL Associated Token Account holding plaintext tokens. Source/destination of deposits and withdrawals. - ETA —
EncryptedTokenAccount. An Umbra-managed account whose balance is encrypted. Has two modes: MXE-only (only the Arcium MPC network can decrypt) and Shared (you can also decrypt locally with your viewing key). - Stealth Pool Note — an anonymous note stored as a commitment in the on-chain Indexed Merkle Tree. Senders create notes; either the original sender (self-burnable) or a designated recipient (receiver-burnable) burns them later to redeem the value.
- Burn — the operation that redeems a Stealth Pool Note: it reveals the note’s nullifier (preventing double-spend), discharges the value into either an ETA or an ATA, and emits no on-chain link back to the creator.
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 of the same 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.devnet— Development and integration testing. wSOL, dUSDC, dUSDT, STREAMFLOW. Get dUSDC / dUSDT test tokens at faucet.umbraprivacy.com.localnet— Local validator (development).
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.