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/policy and 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.