Skip to content

Latest commit

 

History

History
63 lines (51 loc) · 3.02 KB

File metadata and controls

63 lines (51 loc) · 3.02 KB
title Opaque Protocol
description Stealth payments, provable reputation, and cross-chain announcements in one TypeScript SDK.

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.

Install the SDK, derive keys, and run your first flow in five minutes. Full API for the unified client: stealth, PSR, reputation, and UAB. Register a PSR schema and issue attestations on Ethereum or Solana. Discover owned stealth outputs across chains and move funds to a fresh address.

What you can build

Capability Description
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

flowchart LR
  App["Your app"] --> Client["OpaqueClient"]
  Client --> EVM["Ethereum\nRegistry · Announcer · PSR"]
  Client --> SOL["Solana\nRegistry · Announcer · PSR"]
  Client --> STARK["Starknet\nRegistry · Announcer · PSR verify"]
  Client --> WASM["cryptography.wasm\nscan · sweep · prove"]
  Client --> UAB["UAB / Wormhole\ncross-chain inbox"]
Loading

Supported networks (testnet)

Chain ID / cluster Status
Ethereum Sepolia 11155111 Stealth, PSR V2, UAB, reputation verifier
Solana devnet devnet Stealth, PSR V2, reputation verifier
Starknet Sepolia 0x534e (SN) Stealth, PSR verify/gate, reputation verifier (testnet preview)
Starknet Sepolia is the newest chain and ships at testnet-preview maturity. It participates as a native stealth + scan chain with on-chain PSR proof verification and gating (`PsrGate`) — schema issuance and Wormhole (UAB) relay stay on Ethereum and Solana. See [Starknet](/concepts/starknet) for the full flow and caveats.

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.