Spending policies enforced by a ZK proof, not a trusted signer
Most wallet spending limits leak intent: the contract sees the amount, the recipient, the rule. ERC-8366 proposes a composable interface where any fund-holding contract — an escrow, ERC-4337 account, or EIP-7702-delegated EOA — releases funds only against a zero-knowledge proof that a policy was satisfied, without revealing the policy inputs on-chain.
The mental model: separate who may spend from under what constraints. A verifier checks a proof that (balance, limits, epoch) hold; the escrow never learns the private thresholds. Because it's a function set, one policy circuit can back many account types.
The hard part is nullifier and epoch design: without them a valid proof replays, letting a caller drain repeatedly under a spent limit. Treat the proof like a one-shot capability, bound to state, or the privacy win becomes a double-spend.
ERC-8366 draft
@soliditypedia
Post #581
520