AI shopping agent that pays from your own wallet, bound by rules on ENSv2 and World ID approvals.
Proviso is an AI shopping agent that you can actually trust with your money.
You tell it what you want in plain words: "a Sony 55-inch TV within a month, never above $500, buy it yourself under $400." If you only name a kind of product ("a 4K TV"), the agent suggests concrete models with live prices and you pick one. It then compares live prices across stores, models the price history and upcoming sale dates, and decides when to buy.
It pays in USDC straight from your own wallet. No deposit, no agent wallet. You set it up with one signature.
Every purchase is checked on-chain by a smart contract against rules that live on your ENS name:
Your rules and the agent's live status are public ENS records under [item].[category].[you].proviso.eth, so anyone can see what the agent is allowed to do and what it is doing. The AI agent itself can only write a status line; it can never raise a limit.
iOS app in SwiftUI (iOS 26, Liquid Glass). Backend in Node/TypeScript, deployed as a Docker image on a k3s cluster behind a Cloudflare Tunnel.
Contracts: PolicySpender (Solidity, Foundry) on Sepolia. It has unit tests and fork tests against the real ENSv2 deployment, USDC and the World ID router. Onboarding is a single EIP-2612 permit. We encode the whole account config (ENS root, resolver, agent, World ID link) as a hash into the permit deadline, so one gasless signature both approves spending and fixes the setup.
ENSv2 is the policy layer, not a label:
World ID for Agents (sandbox) does two jobs:

