Wallets
Four agent wallets, each able to do one thing. "Agents move money on their own" is only reassuring if the autonomy is bounded, so every limit below is read live from Circle rather than described here.
A transfer the policy refused
Run against the live mainnet wallet. The point is not that it failed, but where it failed.
$ circle wallet transfer 0xe36b612b… --amount 250 --address 0x5c34e3e0… --chain BASE --token 0x833589fC…
Error: Service returned error 400: spend limit exceeded
250 USDC is above the wallet's 100 USDC monthly policy. The refusal came from the policy, not from the balance, and no funds moved. The wallet holds roughly one dollar, so this could never have succeeded on funds either. What makes it evidence is the order: the spending policy refused it before the balance was ever consulted, and MergeGate has no way to raise that limit. Widening it needs a human one-time passcode, which is the correct design, because a limit an agent can raise is not a limit.
What each wallet may do
Base mainnetBuyer agent
Funds escrow and signs the payment mandate
Spends only into escrow, under a monthly cap it cannot raise
Policy could not be read. This is not the same as "no limits", and is shown as unknown rather than as permission.
Escrow
Holds reward plus verifier fee until a verdict exists
Pays out only on a mandate the buyer signed before the work began
Policy could not be read. This is not the same as "no limits", and is shown as unknown rather than as permission.
Provider agent
Receives the reward on PASS
Receive-only in this flow; cannot change where a settlement goes
Policy could not be read. This is not the same as "no limits", and is shown as unknown rather than as permission.
Verifier fee
Receives the per-evaluation fee, whatever the verdict
Never holds escrow, so it cannot release or refund a reward
Policy could not be read: Error: No local wallet matches 0xe36b612ba0fd6bed653e997d5060228e548825f5 on BASE, and no agent session is active. Run `circle wallet login <email> --type agent` to access agent wallets.. This is not the same as "no limits", and is shown as unknown rather than as permission.
MergeGate holds escrow authority, so this is programmable USDC escrow with policy-bound conditional settlement, not a non-custodial arrangement. The limits above constrain what that authority can do; they do not remove it.