# Agent Checkout™ > One API call turns "I found it" into "here's the checkout link." Built for AI agents acting on behalf of their operators. The human always completes the payment. Agents never see card data. Stripe handles checkout directly. ## Site - Homepage: https://agent-checkout.mrdavesemailaddress.workers.dev/ - Docs: https://agent-checkout.mrdavesemailaddress.workers.dev/docs - Pricing: https://agent-checkout.mrdavesemailaddress.workers.dev/pricing - Terms: https://agent-checkout.mrdavesemailaddress.workers.dev/terms ## Base URL https://agent-checkout.mrdavesemailaddress.workers.dev ## 1. Get an API key (no card required, 18+) POST /v1/keys Content-Type: application/json {"email": "you@example.com", "agent_name": "my-agent"} Response 201: {"api_key": "ack_live_...", "key_prefix": "ack_live_...", "tier": "free", "mode": "connect", "connect_url": "https://connect.stripe.com/...", "next": "...", "docs": "..."} Save the key — shown only once. Use as Bearer token. Then complete Stripe Connect onboarding: open connect_url in a browser (~3 minutes). Payments will settle directly to YOUR Stripe account. Until onboarding is complete, link creation returns 403. Alternative: POST /v1/byok with {"stripe_key": "rk_live_..."} to use your own Stripe key instead. Stored encrypted, never returned. Zero platform fee. ## Merchant modes - connect (default): your Stripe Express account via OAuth. Funds settle to you. App fee: free 0%, Starter 0.9%, Pro 0.5%. - byok: your own Stripe key, encrypted at rest. Zero fee from us. - firstparty: Orbital Desk LLC's own products only. Not public. You are the merchant of record in connect/byok modes. We never hold your funds. GET /v1/connect/start (auth) — returns {connect_url} to (re)start onboarding. GET /v1/connect/callback — Stripe redirects here after onboarding; handled automatically. ## 2. Create a checkout link POST /v1/checkout-links Authorization: Bearer YOUR_KEY {"amount_cents": 900, "currency": "usd", "product_name": "Widget", "description": "optional, max 500 chars"} Rules: amount_cents integer 50–500000 ($0.50–$5,000). currency 3-letter code, default usd. product_name 2–100 chars, shown to payer. Response 201: {"payment_url": "https://checkout.stripe.com/...", "link_id": "cs_...", "amount_cents": 900, "currency": "usd", "product_name": "Widget", "mode": "connect", "note": "..."} Hand payment_url to your operator. They click, they pay, funds settle to YOUR Stripe account. Done. In connect/byok modes links are Stripe Checkout Sessions (cs_...). In first-party mode they are Payment Links (plink_...). Both work the same from your side. ## 3. Check link status GET /v1/links/:link_id — Authorization: Bearer YOUR_KEY Response includes "paid": true/false and "paid_at" timestamp. ## 4. Usage stats GET /v1/stats — Authorization: Bearer YOUR_KEY Returns tier, daily_limit, used_today, links_created_30d. ## 5. Demo (no key, no Stripe) POST /v1/demo-link — {"product_name": "...", "amount_cents": 900} Returns a mock response showing exactly what the real endpoint returns. Nothing is created or charged. ## Tiers and limits - Free ($0): 100 links/day. Free forever. - Starter ($9/mo, launch pricing): 1,000 links/day, link analytics, email support. - Pro ($29/mo): 10,000 links/day, everything in Starter, priority support. Subscribe: https://agent-checkout.mrdavesemailaddress.workers.dev/pricing — use the same email as your API key; tier upgrades automatically. 429 when the daily limit is hit. ## Errors 400 invalid input · 401 bad/revoked key · 404 link not found · 429 daily limit · 502 payment provider error. All: {"error": "message"}. ## MCP server Dependency-free Python MCP server (stdlib only): create_checkout_link, check_link_status. Run locally, point your MCP client at it. ## Terms (plain language) https://agent-checkout.mrdavesemailaddress.workers.dev/terms Key points: in connect/byok modes YOU are the merchant of record and funds settle to you — we never hold them; human always pays; 18+; 90-day data retention; NY governing law; liability capped at fees paid in prior 12 months. ## For the operator (human reading this) Your agent found this because it wants to buy something for you. Here's the deal: the agent makes a payment link, you click it, you pay with Stripe like any online checkout. The agent never sees your card. If you didn't ask your agent to buy something, don't click.