Real — running today
Real on-chain ZK
A Noir/UltraHonk proof of the Nullis circuit is verified on Stellar testnet inside
verify_and_execute, gating an actual USDC payment. The credential secret is never revealed.The circuit
Proves possession of
credential_secret, Poseidon2 commitment membership in approved_root (depth-8 Merkle), and correct nullifier derivation.Cross-impl hashing
Canonical Poseidon2-BN254 computed byte-identical across the contract, the TypeScript SDK, and the Noir circuit — cross-validated by golden vectors and
nargo execute.Atomic verify_and_execute
On-chain Soroban (Protocol 27) — atomic proof-to-action.
Real asset movement
Actual testnet asset movement via the escrow reference adapter (contract → recipient).
Replay prevention
Nullifier +
action_id replay prevention, proven on-chain.Action binding
Recipient / amount / asset / consuming-contract / network — bound and checked on-chain and in tests.
Policy lifecycle
Policy registry + versioning + root-rotation revocation + expiry.
Two apps, unlinkable
One engine, two apps, with unlinkable nullifiers — reproducible.
Privacy Receipt
Emitted on success and rejection.
Mocked / roadmap — honestly disclosed
The one line that matters
Move items from “mocked” to “real” only when they truly are. A reviewer can check every “real” claim above against a live transaction or a one-command test — and every “roadmap” item is labeled as such wherever it appears.
Verify the real claims
Every “real” item maps to a testnet transaction or a deterministic test.