Your transactions,forever private
Shield tokens, transact privately, withdraw freely. No trusted parties — just math.
Private by
design.
Every feature is built from first principles — cryptographic proofs, not promises. No third parties, no honeypots, no exceptions.
ZK Proof Shielding
Deposit tokens with cryptographic privacy. An UltraHonk zero-knowledge proof ensures your commitment is valid without revealing your address, amount, or identity.
Private Transfers
Send tokens to anyone without on-chain visibility. The recipient gets a commitment they can spend — nobody else learns who sent what to whom.
Merkle Note System
Your notes live in a Poseidon2 Merkle tree. Membership proofs are generated locally — only you can spend your notes, proven by math.
Non-Custodial
Your spending key never leaves your device. No relayers, no servers, no trust required. Every action is verified on-chain by a smart contract.
Shield.Transfer.Unshield.
Trust math,
not promises.
Privacy should be a protocol guarantee, not a policy statement. Every claim Stealth Pay makes is backed by cryptographic proof — verifiable on-chain, forever.
UltraHonk ZK proofs
Every shield and spend is backed by a zero-knowledge proof. Mathematically impossible to fake.
Nullifier system
Spent notes are cryptographically invalidated. Double-spend is impossible by construction.
On-chain verification
Proofs are verified by immutable smart contracts. No oracle, no relayer, no trust.
No trusted setup
Pure math. No ceremonies, no coordinator, no backdoors. Verify everything yourself.
Build private
apps in minutes.
One SDK. Three primitives: shield, spend, unshield. Everything else — proofs, Merkle siblings, nullifiers — handled for you.
TypeScript SDK
Full type safety. Shield, spend, and unshield with a single import.
Local proof generation
Nargo + Barretenberg CLI. No cloud, no leaks — proofs stay on your machine.
Auto Merkle sync
NoteManager replays chain events and keeps siblings fresh automatically.
0G Chain native
Deployed on Galileo testnet. Sub-second finality, near-zero gas costs.
import { StealthPaySDK } from "@stealthpay/sdk";
import { ethers } from "ethers";
const sdk = new StealthPaySDK({
signer,
privacyPoolAddress: "0x87fE...83F1",
spendingPrivkey: myPrivkey,
});
// Sync Merkle tree from chain
await sdk.sync(provider);
// Shield 100 USDC
const { commitment } = await sdk.shield(USDC, 100_000_000n);
// Send privately
await sdk.privateSend(USDC, 50_000_000n, receiverPubkey);
// Withdraw
await sdk.unshield(USDC, 50_000_000n, recipient);Your privacy starts
with one transaction.
Shield your tokens in seconds. No sign-up, no KYC, no trusted parties. Just you, your keys, and a zero-knowledge proof.
Deployed on 0G Galileo testnet · Open source · Non-custodial







