Judge Demo Console

Private eligibility. Public Stellar settlement. No double claims.

This is the focused route for judging ZK AidShield. Follow the flow in order: escrow is funded, a wallet-bound credential is issued, the beneficiary proves eligibility privately, Stellar settles the payout, and credential reuse fails.

Live Anchors

NetworkStellar Testnet
Proof systemGroth16 BLS12-381
DisbursementCARYQO…5D3CZD
VerifierCAD7QR…DEJ2KG
Disbursement ID176bc0…d25922
Merkle root337334…d6d5ad

What This Proves

ZK gates payout

The browser proof must verify before escrow releases XLM.

Eligibility stays private

Name, ID, secret, and Merkle path never go on-chain.

Stellar settles publicly

Transaction, amount, contract, verifier, and nullifier are auditable.

Reuse fails

The same credential cannot claim twice because the nullifier is already spent.

01
Fund Escrow
/donor

Open the donor portal, connect Freighter on Stellar testnet, and fund the campaign escrow.

Real XLM is available before any beneficiary claim is attempted.

02
Issue Credential
/admin

Use the admin console to issue a wallet-bound beneficiary credential for a registered campaign slot.

Eligibility is represented as a signed private credential, not a public identity record.

03
Claim Privately
/claim

Load the credential, generate the Groth16 proof in-browser, approve with Freighter, and settle on Stellar.

The ZK proof is load-bearing: without it, the escrow contract cannot pay.

04
Show Receipt
/receipt

Inspect the claim receipt: transaction hash, nullifier, amount, contract, verifier, and Merkle root.

Donors and auditors get public accountability without beneficiary PII.

05
Try Reuse
/claim

Load the same credential again and attempt another claim.

The on-chain nullifier blocks replay and prevents double claiming.

Secondary Evidence

These pages stay available for deeper review, but the live demo should lead with the five-step console above.

Detailed Demo Path