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.

72-second demo: live on Midnight Preprod + XRPL testnet
What you are looking at. This is a replay of a live run recorded on 12 Nov 2026 at 2:55 AM PT (88 seconds end to end). Your browser does not create new transactions; the receipts are real and on public testnets. Testnet only: test XRP and test DUST have no value. The credential issuer in this run is a MOCK issuer for demonstration, not a real KYC provider.

The walkthrough

    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 ↗.

    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.)

    StepNetworkTransactionBlock / ledgerResult

    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 ↗