I Built a Payment Gate That Never Sees Your Balance 🔐⚡

rust dev.to

zkremit-guard

zkRemit Guard is a Stellar proof-gated escrow demo.

It demonstrates:

  • a Noir reserve-threshold proof
  • UltraHonk proof generation with nargo 1.0.0-beta.9 and bb 0.87.0
  • on-chain Soroban verification
  • a real escrowed token transfer that only releases after proof verification
  • pass/fail localnet and testnet demo flows

Status

The top-level MVP path is implemented and runnable.

Implemented:

  • circuits/reserve_threshold uses Poseidon2 commitment binding
  • contracts/payment_gate stores the VK at deploy time and verifies proofs on-chain
  • create_transfer escrows demo tokens into the contract
  • release_transfer pays escrowed tokens to the recipient
  • scripts/ runs local/testnet deploy and pass/fail demos

Still useful follow-ups:

  • replace demo token issuance with your intended production asset model
  • polish contract events and indexing
  • expand docs/UI beyond the CLI-first hackathon flow

Layout

zkremit-guard/
  README.md
  demo/
  circuits/
  contracts/
  scripts/
  ui/
  docs/

Suggested next steps

  1. Build proof artifacts with ./scripts/build_proof.sh.
  2. Deploy locally with ./scripts/deploy_local.sh.
  3. Run the happy path with STELLAR_NETWORK_NAME=local ./scripts/demo_pass.sh.
  4. Run the fail…

Source: dev.to

arrow_back Back to Tutorials