Test mode — simulated cards and balances only. No real funds move on AgentPay today.
For developers

Add payments to your AI product without becoming a card program

Create cardholders, issue scoped cards programmatically, simulate authorizations, and subscribe to webhooks — all in a sandbox that mirrors production one-to-one.

quickstart.ts
const agent = await agentpay.agents.create({
  name: "Procurement Agent",
  agent_type: "procurement_agent",
  provider: "anthropic",
  default_budget_cents: 250_000,
});

const card = await agentpay.cards.create({
  agent_id: agent.id,
  amount_cents: 12_500,
  card_type: "multi_use",
  merchant_category_lock: ["office_supplies"],
});
webhook.ts
export async function POST(req: Request) {
  const event = agentpay.webhooks.verify(
    await req.text(),
    req.headers.get("agentpay-signature"),
    process.env.AGENTPAY_WEBHOOK_SECRET,
  );

  if (event.type === "transaction.declined") {
    await notifyOwner(event.data.agent_id, event.data.decline_reason);
  }

  return new Response("ok");
}
Developer platform

Everything you need in one dashboard

Separate test and production data, scoped credentials with expiry and rotation, and a log of every request your agents made.

Scoped API credentials

Secret and publishable keys per environment, with permissions, expiry, rotation, and revocation. Secrets are shown exactly once.

Sandbox transactions

Trigger authorizations, declines, reversals, and refunds on demand to exercise every branch of your integration.

Signed webhooks

Eighteen event types, signing secrets, delivery history, and one-click retry for failed deliveries.

API logs

Every request with payload, response status, latency, and the policy evaluation that produced the outcome.

MCP out of the box

Expose card issuance, balances, and approvals to your agent runtime without writing a tool layer yourself.

SDKs and CLI

TypeScript and Python SDKs, plus an agentpay CLI for scripting card creation in CI or a terminal.

Reveal endpoint

Card credentials are a separate, audited call

Normal API responses never contain a full PAN. Revealing requires reauthentication and a short-lived reveal token, and every request is written to the audit log.

reveal.sh
curl -X POST https://api.agentpay.dev/v1/cards/card_123/reveal \
  -H "Authorization: Bearer $AGENTPAY_SECRET_KEY" \
  -H "AgentPay-Reveal-Token: rvl_9f2c...expires_in_60s"

{
  "pan": "4242 4242 4242 4242",
  "cvv": "123",
  "expiration": "12/30",
  "expires_at": "2026-08-02T19:01:00Z"
}

Get a sandbox key in under a minute

No card program, no compliance review, no sales call. Create an organization in test mode and start issuing simulated cards.