Real-World ZKCircom + Groth16Soroban verification

Why This Fits Stellar Hacks

AidShield closes the exact gap the hackathon describes: proofs are generated off-chain, verified by a Stellar smart contract, and used to control a real settlement workflow.

ZK option
Circom
Verifier location
Soroban
Settlement
XLM escrow

Hackathon Alignment Map

Off-chain proof generation

Circom + snarkjs generate a Groth16 proof in the beneficiary browser.

On-chain proof verification

Soroban verifier contract checks the BLS12-381 Groth16 proof before payout.

Real-world Stellar use case

Aid moves from XLM escrow to a beneficiary wallet or approved vendor.

ZK is load-bearing

No valid proof means no settlement, no voucher redemption, and no successful claim.

Public accountability

Escrow, nullifier, contract IDs, claim count, and settlement transaction stay auditable.

Private eligibility

Names, IDs, Merkle path, credential secret, and aid-list membership stay off-chain.

Protocol Stack

CircuitCircom 2.1 membership + nullifier statement
Proof systemGroth16 on BLS12-381
HashingPoseidon over the BLS12-381 scalar field
VerifierSoroban smart contract using BLS12-381 pairing verification
SettlementXLM Stellar Asset Contract escrow
WalletFreighter on Stellar testnet

Verification Anchors

Disbursement contractCARYQO…5D3CZD
Groth16 verifierCAD7QR…DEJ2KG
Disbursement ID176bc0…d25922
Merkle root337334…d6d5ad
VK hashc243d169dcf3...77d4d128

The Standout Claim

ZK AidShield turns Stellar into a privacy-preserving crisis-aid settlement rail: beneficiaries prove eligibility privately, Soroban verifies the proof, XLM settles from escrow, and donors audit outcomes without seeing the beneficiary list.

Open Judge ModeField Pilot PlanAttack Theater