Agent financial infrastructure

Agent-native
corporate cards.

Give every AI agent its own card with real-time spend controls. Issue, limit, and monitor — all via REST API.

API-first Real-time webhooks Per-agent limits Instant issuance
•••• •••• •••• 8819
•••• •••• •••• 4284
Transaction approved — $12.99

Up and running in minutes

Three steps from zero to fully operational agent spend infrastructure.

01

Issue a card

One API call creates a virtual card assigned to a specific agent. Issued instantly with a unique card number, CVV, and expiry.

curl -X POST https://spur-2-scnv.polsia.app/v1/cards \
-H "X-API-Key: sk_live_..." \
-d '{"agent_id":"sales-v3","spending_limit":500}'

→ 201 Created
{ "id": "crd_8xK2mNpQ",
"card_number": "9999 0012 4847 4284",
"status": "active" }
02

Set spend limits

Update the spending limit in real-time. Freeze or cancel a card instantly — changes take effect immediately.

curl -X PATCH .../v1/cards/crd_8xK2mNpQ \
-H "X-API-Key: sk_live_..." \
-d '{"spending_limit":1000}'

→ 200 OK — limit updated instantly
# Also: freeze, unfreeze, cancel
03

Monitor in real-time

Simulate transactions for testing. In production, every charge fires a webhook to your endpoint within milliseconds.

curl -X POST .../v1/cards/crd_8xK2mNpQ/transactions \
-d '{"amount":12.99,"merchant":"OpenAI"}'

→ webhook fires to your endpoint:
{ "event": "transaction.created",
"amount": 12.99, "card_id": "crd_8xK2mNpQ" }

Built for developers

Clean REST API. Predictable responses. Authentication via API key header — no OAuth dance.

POST /v1/cards — Issue a card
# Request body
{
"agent_id": "sales-agent-v3",
"spending_limit": 500.00,
"currency": "USD",
"label": "Q2 outreach budget"
}

# Response 201
{
"card": {
"id": "crd_8xK2mNpQ",
"card_number": "9999 0012 4847 4284",
"cvv": "381",
"spending_limit": 500.00,
"status": "active"
}
}
POST /v1/cards/:id/transactions — Simulate charge
# Request body
{
"amount": 49.00,
"merchant": "Anthropic",
"currency": "USD"
}

# Response 201 + webhook fired
{
"transaction": {
"id": "txn_4pQ8rX",
"amount": 49.00,
"merchant": "Anthropic",
"status": "settled"
}
}
Auth via X-API-Key header. Full docs at /docs. Try the dashboard at /dashboard.

Everything agents need to spend

Built for machines first, operators second.

core

Card issuance

Virtual card per agent. Issued instantly via API with unique number, CVV, and expiry. No human onboarding required.

control

Spend limits

Set per-card spending limits programmatically. Update, freeze, or cancel any card in real-time. Changes take effect immediately.

testing

Transaction simulation

Simulate charges against any card for sandbox testing. Validate your integration before going live — no real money required.

events

Webhook notifications

Every transaction, status change, and limit update fires a signed webhook to your endpoint. React in real-time, not batch.

security

API key auth

Simple header-based authentication. Create multiple keys per company, revoke instantly, track last-used timestamps per key.

visibility

Live dashboard

Web UI showing all cards, balances, and transaction history. Manage your agent fleet without writing a line of code.

Live Demo

Try it right now

No signup needed. Test the card issuance and spend limit enforcement APIs directly in your browser.

Step 1 of 2
Issue a demo card

Creates a virtual card with a $100 spending limit, valid for 5 minutes. No API key required.

terminal — spur demo
$ curl -X POST https://spur-2-scnv.polsia.app/api/demo/issue-card
{"card": {"id": "crd_xxxxxxxx", "masked_number": "•••• •••• •••• 0000", "spending_limit": 100, ...}}
Response

The API returns a full card object with masked number, CVV, and expiry. Card auto-expires after 5 minutes.

201 Created
// card object — card number masked for demo

{
  "id": "crd_8xK2mNpQ",
  "masked_number": "•••• •••• •••• 4284",
  "spending_limit": 100.00,
  "status": "active"
}
Step 2 of 2
Simulate a transaction

Try a charge against the demo card. Try an amount exceeding the limit to see spend enforcement in action.

terminal — spur demo
$ curl -X POST https://spur-2-scnv.polsia.app/api/demo/charge
  -H "Content-Type: application/json"
  -d '{"card_id": "crd_8xK2mNpQ", "amount": 12.99, "merchant": "OpenAI"}'
USD
Issue a card first to enable this step
Spend enforcement

Charges are approved only if remaining budget is sufficient. Try a large amount to see a decline.

APPROVED
Charge $12.99 against a card with $100 available
DECLINED — limit exceeded
Charge $150 against a card with only $50 remaining
Rate limit: 10 requests per IP per hour  |  Demo cards expire after 5 minutes  |  Data stored in memory only — resets on server restart

Get in before
the crowd.

Spur is in private early access. We're onboarding teams building with AI agents right now.

Full API access — card issuance, limits, transactions, webhooks
Direct line to the team — your use case shapes the roadmap
Early adopter pricing locked in for life
No personal guarantee, no lengthy onboarding

Request access