Inspired by ERC-8004, this proposal introduces a standard for pre-execution zero-knowledge verification of agent-mediated payments. Users sign off on an agent’s batch of transactions, and agents must submit a zero-knowledge proof that their transactions match the user’s signed intent. Only after the zero-knowledge proof is verified can any funds be transferred.
PR: https://github.com/ethereum/ERCs/pull/1520
Open Questions for Discussion
We have some opening questions that we welcome feedbacks and different angles on:
- Proof verification gas costs: We recommend Groth16, and verification costs ~200-500k gas. Is this acceptable for the security guarantees provided, or should we explore batched verification approaches?
- Cross-chain intent bundles: Agents will be paying each other across different chains. The current spec includes
chainIdper action but doesn’t fully address bridge interactions or multi-chain execution atomicity. - Extension to non-payment actions: What’s the right path for extending beyond ERC-20 transfers to swaps, staking, and arbitrary contract calls? That would be great to implement for affordable customization of agent behavior.
- Compatibility to the Frame Transaction: We’ve noticed the newest core EIP-8141 on the frame transaction, which shall allow us to use a protocol-native VERIFY Frame for the zk proof.
We acknowledge in advance for the technical feedback and contributions from Parth Gargava (Fidelity Lab), Max Resnick (Anza), Alan Du (Microsoft), Luciana Silva (Nethermind), Scott Shi (Kite AI), Tomasz Stanczak (EF), Victor Zhou (NameFi), Kun Peng (Stanford), Zakie Twaine (BNY Mellon), Brian Seong (Polygon Miden)