DOCS / THE SPEND-POLICY SWITCH
The spend-policy switch
One master switch sits above every cap on your account. Off, your agent can reach any MCP with no limits — the no-friction way to try things. On, your spend grant takes over: only approved hosts, only within your per-call and per-day USDC budgets.
Why it's off by default
New accounts start with the policy off. The point is to never block a brand-new agent on its very first call: you can wire up the SDK, run a chat, and see real routing before you've decided what to allow. Spend is still metered and receipted — it just isn't refused.
When to turn it on
Flip it ononce you've curated your account: turn on the agents you trust in Approvals, set a daily budget you're comfortable with, and the switch starts enforcing both. From then on, anything outside the allowlist or over a cap is refused with a typed GrantError.
Toggling is non-destructive
The switch never touches your per-agent approvals. Turn the policy off to unblock a quick experiment, then back on, and your curated allowlist is exactly where you left it — it was dormant, not deleted. The switch flips a single flag; your configuration is preserved.
Where it's enforced
There are two payment paths, and the switch reaches them differently:
- Chats Yeetful runs — hard-enforced. The payment is refused server-side, before the call settles, and the denial is ledgered. Instant.
- External SDK agents— advisory. Your agent pays from its own wallet, so Yeetful can't intercept the transfer; instead the policy is published on
GET /api/agent/policyand the SDKrefuses locally on its next policy check. The hard, on-chain stop is a Coinbase Spend Permission (coming to the dashboard's “Back on-chain”).
Toggle it
The switch lives on your dashboard Overview, above the budget meter. It's distinct from the freeze / kill switch: the spend policy decides whether caps apply at all; freeze is the emergency stop that refuses every payment regardless.