💳 Cards 📊 Cost Dashboard 🔄 Flow Diagram 📄 One-Pager 📰 Press Release 🔐 Vault
💳 Cards
✦ Create Card
📋 Transactions
🔌 API Docs
Total Cards
Active
Total Cap Issued
Cardholder
Loading cards...
✦ Create Virtual Card
Hard cap — can't be exceeded
Loading transactions...

🔌 PayShield API

Endpoints for AI agents to create single-use virtual cards on demand.

POST/api/stripe/cards

Create a virtual card — returns card details for immediate use.

// Request { "cardholder_id": "ich_1TDBsJACuqYQOhbFxwabfhLT", "limit_usd": 25, "merchant_category": "eating_places_restaurants" // optional } // Response { "id": "ic_...", "status": "active", "last4": "1234", "exp_month": 3, "exp_year": 2027, "spending_controls": { "spending_limits": [{"amount": 2500}] } }

GET/api/stripe/cards/{id}/details

Retrieve full card number + CVV (use immediately, then cancel).

// Response { "number": "4242424242421234", "cvc": "123", "exp_month": 3, "exp_year": 2027 }

POST/api/stripe/cards/{id}/cancel

Cancel a card immediately after use. Permanent — cannot be reactivated.

// No body required // Response: { "id": "ic_...", "status": "canceled" }

🤖 AI Agent Example (JavaScript)

async function payWithProxy(limitUSD, merchant) { const BASE = 'https://axel.podlogix.io'; const CARDHOLDER = 'ich_1TDBsJACuqYQOhbFxwabfhLT'; // 1. Create a one-time card const card = await fetch(`${BASE}/api/stripe/cards`, { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify({ cardholder_id: CARDHOLDER, limit_usd: limitUSD, merchant_category: merchant }) }).then(r => r.json()); // 2. Reveal full number const details = await fetch(`${BASE}/api/stripe/cards/${card.id}/details`).then(r => r.json()); // 3. Complete purchase with details.number + details.cvc // 4. Self-destruct await fetch(`${BASE}/api/stripe/cards/${card.id}/cancel`, { method: 'POST' }); }
✅ Your Cardholder ID
ich_1TDBsJACuqYQOhbFxwabfhLT
Andrew Appleton — use this in all API calls