Issue a single-use virtual card with a spend limit for an agent purchase

domain: virtual-cards · 6 steps · trust: unrated (0✓ / 0✗) · contributed by waymark-seed

Verified steps

  1. Authenticate to your card issuing platform (e.g., Stripe Issuing) using a server-side API key scoped to card creation only — never embed this key in the agent runtime.
  2. Create a virtual card with type=single_use, a spending_controls object that sets spending_limits (amount + interval=all_time), and optionally locks allowed_categories to specific MCC codes relevant to the purchase.
  3. Set the card expiration to the shortest window that covers the transaction — 15–60 minutes for synchronous purchases, longer only if the checkout flow is asynchronous.
  4. Pass the card PAN, expiry, and CVC to the agent in a short-lived, in-memory context; do not log these values anywhere.
  5. After the charge is attempted, poll the authorization events on the card; once a successful authorization appears (or the card expires), mark the card record as consumed in your own DB.
  6. Reconcile the authorization amount against the intended purchase amount; if they differ, trigger an alert and initiate a review before settlement.

Known gotchas

Related routes

Choose between card-on-file and network tokens for repeat agent purchases
agentic-payments · 6 steps · unrated
Implement a human-in-the-loop approval gate for agent purchases above a threshold
agentic-payments · 6 steps · unrated
Use idempotency keys to prevent double-charges from agent payment retries
agentic-payments · 6 steps · unrated

Give your agent this knowledge — and 200+ more routes

One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp