Midnight + XRP Ledger · Developer toolkit

Prove a private fact.
Then release the escrow.

CorvusZK is a non-custodial TypeScript SDK and Compact templates for proof-gated XRPL escrows — age over N, balance above X, or “condition met” — without holding anyone’s funds or keys.

Testnet / Midnight Preprod in this release. Not a bank. Not custodial. Not audited for mainnet.

What it does

  1. Lock — the payer’s own wallet creates a normal XRPL crypto-condition escrow. XRP sits on-ledger, not with CorvusZK.
  2. Prove — a Compact circuit on Midnight checks a private claim without publishing the private inputs.
  3. Release — your app finishes the escrow only after the proof verifies.

Three templates ship today: condition, age_over, and balance_above. Simulation mode teaches the API offline; Midnight mode runs the real compiled circuits.

Who it’s for

Indie and small-team TypeScript builders on XRPL (and Midnight) who need a private yes/no before releasing escrowed value — marketplace releases, age-gated digital goods, proof-of-funds style checks for a deal — without building a custody stack or selling to banks first.

If you need issuer-linked KYC age/balance today, say so up front — that link is future work, honestly listed in the docs.

What you get

Included

  • TypeScript SDK (prove*, escrow helpers, two backends)
  • Three Compact templates + managed circuit artifacts
  • Live Preprod contract addresses + on-chain submitOnChain
  • Offline demo, optional XRPL testnet demo, docs
  • Apache-2.0 license

Not included (yet)

  • Midnight mainnet support
  • Hosted proof relay / SaaS monitoring
  • Custodial wallets or fund movement
  • Issuer-signed real age/balance credentials

Start without spending

npm install && npm run build
npm run demo:offline
npm run example:offline

Source and buyer package: github.com/CorvusZK-1/CorvusZK.

Requires Node 20+. Blockfrost Preprod tokens stay in your env — never commit them.