Skip to main content
Opaque is a cross-chain privacy stack for unlinkable payments and zero-knowledge reputation. Configure one client (@opaquecash/opaque) and integrate stealth sends, PSR attestations, inbox scanning, and Groth16 proofs without touching chain-specific libraries directly.

Quickstart

Install the SDK, derive keys, and run your first flow in five minutes.

OpaqueClient reference

Full API for the unified client: stealth, PSR, reputation, and UAB.

Create a schema

Register a PSR schema and issue attestations on Ethereum or Solana.

Scan and sweep

Discover owned stealth outputs across chains and move funds to a fresh address.

What you can build

CapabilityDescription
Stealth payments (CSAP)EIP-5564 meta-addresses, one-time stealth destinations, on-chain announcements
Reputation (PSR)Schema registry, stealth-bound attestations, Groth16 proofs without revealing identity
Cross-chain (UAB)Relay announcements over Wormhole so payments on one chain appear in the other chain’s inbox

Architecture at a glance

Supported networks (testnet)

ChainID / clusterStatus
Ethereum Sepolia11155111Stealth, PSR V2, UAB, reputation verifier
Solana devnetdevnetStealth, PSR V2, reputation verifier
Contract addresses ship inside the SDK (see Deployments). Override any address via OpaqueClient.create({ contracts: { ... } }).

Packages

Most apps only need @opaquecash/opaque (plus @opaquecash/react for React apps). Contract addresses and program ids ship in the generated @opaquecash/deployments registry. Lower-level packages (stealth-chain, psr-core, uab, etc.) are re-exported when you need a narrow surface. See Installation.