Agent Card Provisioning
SKILL.md
Agent Card Provisioning
Provision virtual payment cards for AI agents with built-in spending controls.
How It Works
- Agent requests card via payment intent
- Policy evaluates the request (amount, merchant, limits)
- Card issued if within policy OR approval required if over threshold
- Agent uses card for the specific purchase
- Transaction tracked and matched to intent
Creating a Card (Intent-Based)
Cards are provisioned through payment intents, not created directly:
proxy.intents.create
├── merchant: "Amazon"
├── amount: 49.99
├── description: "Office supplies"
└── category: "office_supplies" (optional)
If approved (auto or manual), a card is issued:
Response:
├── id: "int_abc123"
├── status: "pending" or "card_issued"
├── cardId: "card_xyz789"
└── message: "Card issued successfully"
Getting Card Details
Masked (for display)
proxy.cards.get { cardId: "card_xyz789" }
→ { last4: "4242", brand: "Visa", status: "active" }
Full Details (for payment)
proxy.cards.get_sensitive { cardId: "card_xyz789" }
→ {
pan: "4532015112830366",
cvv: "847",
expiryMonth: "03",
expiryYear: "2027",
billingAddress: {
line1: "123 Main St",
city: "New York",
state: "NY",
postalCode: "10001",
country: "US"
}
}
Card Controls (via Policy)
Policies define what cards can be used for:
| Control | Description |
|---|---|
| Spending limit | Max per transaction |
| Daily/monthly limits | Cumulative caps |
| Merchant categories | Allowed/blocked MCCs |
| Auto-approve threshold | Below = instant, above = human approval |
| Expiration | Card validity period |
Card Lifecycle
Intent Created
│
▼
┌─────────────┐
│ Policy │
│ Evaluation │
└──────┬──────┘
│
┌────┴────┐
▼ ▼
Auto Needs
Approve Approval
│ │
▼ ▼
Card [Human]
Issued │
│ │
◀─────────┘
│
▼
Card Used
│
▼
Transaction
Matched
│
▼
Card
Expired
Best Practices
- One intent per purchase - Creates audit trail
- Descriptive intent names - Helps reconciliation
- Set reasonable policies - Balance autonomy vs control
- Monitor transactions - Use
proxy.transactions.list_for_card
Security
- Cards are single-purpose (one intent = one card)
- Unused cards auto-expire
- Full PAN only via
get_sensitive(requires auth) - All transactions logged and reconciled