Skip to content

Governance layer for Stripe agent payments — commerce delegation, spend limits, merchant allowlists, audit trail #356

@aeoess

Description

@aeoess

Governance layer for Stripe agent payments — APS commerce delegation

Stripe handles money movement. Governance handles who authorized it, within what limits, and produces the audit trail. Neither replaces the other.

The gap

The Agent Toolkit uses Restricted API Keys (RAKs) to control which Stripe APIs an agent can call. RAKs are static, dashboard-configured, and don't answer:

  • Who authorized this specific agent to make this specific purchase?
  • What's the per-task spending ceiling, not just the API key's scope?
  • Which merchants is this agent allowed to transact with?
  • Does a human need to approve above a threshold?
  • Can we trace this payment back to the human who delegated authority?

What we built

Agent Passport System (Apache 2.0, 2,306 tests) ships a commerce delegation layer that answers all five. We built a governance adapter that wraps the Stripe Agent Toolkit:

Agent wants to pay
       │
       ▼
  APS 4-Gate Preflight
  1. Passport valid?      ← Ed25519 agent identity
  2. Scope authorized?    ← Delegation includes commerce
  3. Budget remaining?    ← Per-delegation spend tracking
  4. Merchant allowed?    ← Allowlist check
       │
  All pass → Stripe processes payment
  Any fail → Blocked, signed receipt emitted
       │
       ▼
  Signed ActionReceipt
  (links payment → delegation chain → human principal)

Works with:

  • Stripe Agent Toolkit (LangChain, CrewAI, Vercel AI SDK)
  • Stripe MPP (Machine Payments Protocol)
  • Stripe x402 (USDC micropayments on Base)
  • Stripe SPTs (Shared Payment Tokens)

Demo

npm install agent-passport-system
npx tsx examples/stripe-governance/demo.ts

Output shows four scenarios: auto-approved payment, human-approval-required, unauthorized merchant (blocked), and budget exhaustion (blocked).

Integration surface

The adapter wraps toolkit.getTools() with governance checks:

import { governStripeTools } from 'agent-passport-system/examples/stripe-governance'

const governedTools = governStripeTools(toolkit.getTools(), {
  passport: agentPassport,
  delegation: commerceDelegation,
  onHumanApprovalRequired: async (req) => notifySlack(req),
  onReceipt: (receipt) => auditLog(receipt),
})

For MPP payments:

const result = await governMPPPayment(config, {
  amount: 4999, currency: 'usd',
  merchant: 'api.openai.com',
  resource: 'API credits',
  paymentMethod: 'spt',
})
// result.authorized, result.receipt, result.remainingBudget

What this enables for Stripe

Concern Stripe APS
Money movement
Payment processing
Fraud detection (Radar)
Agent identity verification
Per-delegation spend authorization
Merchant allowlisting
Human escalation gates
Cryptographic audit trail

Enterprise buyers deploying agents with Stripe need both layers. Happy to discuss deeper integration or contribute directly.

Adapter source: https://github.com/aeoess/agent-passport-system/tree/main/examples/stripe-governance
SDK: npm install agent-passport-system (v1.34.0)
Paper: https://doi.org/10.5281/zenodo.19260073

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions