Vibeleaderboard
← All Intel
Intel / article

Your AI agent can move money in Stripe - here's how to stay in control

Source
stripe.dev
Author
Daniel Wood
Date

Context

In this Stripe developer blog post, Daniel Wood, a product manager on Stripe's Identity and Agents work, starts from what agents can now do through Stripe's server, the interface that exposes Stripe actions as tools an can call: build checkout pages, run reports, issue refunds and adjust prices, and, using Stripe Treasury, send money to others. His answer to how a business stays in control is that the safeguard depends on whose identity the agent uses.

If the agent acts on your behalf, you connect it to the MCP server by signing in, then choose which accounts or sandboxes it can reach and whether it gets read or write access to each kind of resource. When that agent makes a refund or payout in live mode, Stripe requires you to confirm the action before money leaves the account, after which you tell the agent to try again. Wood says this confirmation applies only to certain write actions, but it holds even if you have switched off your agent client's own prompts asking permission before each tool call. In other words, the check sits on Stripe's side, not in whatever agent software you happen to run.

That sign-in route does not suit an agent that runs on its own, such as a bot that watches a support queue and handles refund requests, because the session is tied to one person's login and every confirmation goes to them. For that case Stripe offers agent-tagged API keys: long-lived keys that, like ordinary keys, support permissions, rotation and expiry, but are subject to approval rules. A rule names a trigger such as a refund being created, an optional condition such as an amount over $500, the reviewers, and whether to require approval or block the action outright. Stripe ships default rules for agent-tagged keys covering refunds, payouts and outbound transfers, though the post does not say what thresholds they use, and by default no one, human or agent, can approve their own request. When a rule applies, the API returns an approval_required error instead of completing the action and files a request that the agent can annotate with a reason. If a reviewer approves, Stripe itself attempts the action; unapproved requests expire after 14 days, and webhooks tell the agent how things turned out.

Key takeaways · AI-distilled
  • Stripe describes two ways to give an agent access: OAuth through its MCP server, where the agent acts as your user with per-account read or write scopes, or an agent-tagged API key that gives a its own long-lived identity.
  • Agent-tagged keys fall under Approval rules: a condition such as Refund is created with Amount > $500 routes the action to designated reviewers, and by default no actor, human or agent, can approve its own request.
  • Stripe ships default rules scoped to agent-tagged keys covering refunds, payouts and outbound transfers, so a baseline of review applies as soon as the key is created; teams then tune reviewers, conditions, and whether to require approval or block.
  • A rule-gated call returns an approval_required error instead of completing, and Stripe files an approval request the agent can annotate with a reason. Approved requests are attempted automatically; requests not approved within 14 days expire.
  • Agents can follow outcomes through v2.core.approval_request webhooks (created, approved, rejected, canceled, expired, succeeded, failed), so a support bot learns whether a refund it requested was actually completed.
Terms in this piece · Glossary
  • MCP — The Model Context Protocol — an open standard that lets any AI assistant plug into any tool or data source without custom integration code.
  • AI agent — An AI system that doesn't just answer once but works toward a goal in a loop — taking actions, reading the results, and deciding what to do next.
  • headless agent — An agent running with no one watching — in CI, on a schedule, or triggered by an event — with its output reviewed after the fact.
Recommended reads
Comments

Checking sign-in…

Loading comments…