Mandate is a rules-enforcing spending account for autonomous agents on Arc. src/MandateFactory.sol deploys per-owner src/MandateAccount.sol smart accounts that hold an owner's USDC and let an agent wallet spend only inside limits the account enforces on-chain — so the agent signs (through a Circle Agent Wallet) while the contract, not the agent's process, is the thing that can say no. Value is measured through pluggable valuers (src/valuers/BalanceValuer.sol for raw token balances, src/valuers/ERC4626Valuer.sol for vault shares) behind an IValuer interface, so limits can be denominated against live holdings rather than a static figure. The account and factory are deployed and source-verified on Arc mainnet (chain 5042), and the repo ships a Foundry suite (test/MandateAccount.t.sol with mocks) plus broadcast/ deployment scripts. It is the on-chain enforcement layer a treasury agent can sit behind: the owner keeps custody, the mandate defines what the agent may move, and every spend is checked against the contract's rules before it settles.
| Contract | Address | Proof |
|---|---|---|
| MandateFactory | 0xb3f362850e04ad6e9147698cc1edbcb8891f307e | Sourcify ✓ · deploy tx ↗ · block 23603562 |
| ERC4626Valuer | 0xd4e895acf808bb215b6de8ec84f4b9f974fd0b61 | verified source ↗ · deploy tx ↗ · block 23603770 |
| MandateAccount | 0xEa08f2195ae9f29079a4cb6aFB05238949576d57 | Sourcify ✓ |