Interactive demo · Midnight Preprod + XRPL testnet
Watch a private proof
release an XRPL escrow.
Click through a real CorvusZK run, one step at a time. 20 test XRP were locked in a native XRPL escrow, a zero-knowledge eligibility proof was made on Midnight, and only then was the escrow released. Every step links to the public block explorer so you can check it yourself. Nothing to install, no wallet needed.
The walkthrough
That is the whole flow: the XRP could only move to the escrow's fixed destination, and only after the private proof was accepted on Midnight. The payer never handed over the release key, and the person who proved eligibility never showed their credential to anyone.
Try a private check yourself
CorvusZK's age_over template proves "born at least N years before year Y" without revealing the
birth year. Below, the same rule runs in your browser so you can see what stays private and what a verifier
sees. This in-browser version is an illustration, not a zero-knowledge proof: SHA-256 stands in for
Midnight's hash, and nothing leaves your device. The real circuit was
proven on Midnight Preprod at 2:51 AM PT on 12 Nov 2026 ↗.
Stays with you
What a verifier sees
Verify it yourself
Check the XRPL side live from your browser. It asks a public XRPL testnet server for each transaction's result. (Midnight transactions open in the Midnight Explorer; links are in each step above and in the table.)
| Step | Network | Transaction | Block / ledger | Result |
|---|
Honest limits: XRPL does not check the Midnight proof by itself. The escrow's release key is revealed on Midnight only after the proof succeeds, and the party who created that key (here, the destination) is trusted not to release early. The payer cannot. This is a developer toolkit on testnet: unaudited, not on mainnet, no customers yet. Details are in the security model.
Want to build on it?
The toolkit is open source: TypeScript SDK, Compact templates and the script that produced this run
(npm run live:eligibility). View on GitHub ↗