Privacy & KYC

Money Account balances convenience with privacy and compliance.

Privacy by Default

Address Minimization

Public APIs return capabilities, not raw addresses:
  • /resolve shows what a user can receive, not their vault address
  • Payments route through the system without exposing on-chain activity
  • Cross-chain activity is not publicly aggregated

Selective Disclosure

Users choose what to reveal:
  • Share payment identity without revealing all transactions
  • Prove KYC status without exposing personal data
  • Transact pseudonymously when regulations allow

Optional KYC

For regulated flows (fiat rails, high-value transactions), Money Account supports opt-in KYC.

How It Works

  1. User initiates KYC via /do-kyc
  2. Redirected to Sumsub for verification
  3. On success, attestation is stored
  4. Attestation is reusable across services

What’s Stored

On-ChainOff-Chain
”User is KYC-verified” flagPersonal documents
Verification timestampName, address, etc.
Attestation hashGovernment IDs
No PII is stored on-chain. Only proofs and flags.

When KYC is Required

  • Fiat off-ramps
  • High-value transactions (configurable threshold)
  • Regulated business integrations

When KYC is Not Required

  • Crypto-to-crypto payments
  • Small transactions
  • Pseudonymous usage

API Endpoints

EndpointDescription
GET /is-kyc-doneCheck KYC status
POST /do-kycInitiate KYC flow