# CDK Bot — Digital Products API for AI Agents > Agent-native REST API for buying digital products — game keys, gift cards, and more. USDC payments. Instant delivery. No registration. ## MCP (Model Context Protocol) - MCP Server: https://mcp.cdk.bot/mcp - Transport: Streamable HTTP - Tools: search_games, get_game_details, browse_filters, get_price_quote, confirm_purchase, check_order, request_refund, submit_review - Connect from Claude Desktop, ChatGPT, Cursor, Windsurf — zero config, just add the URL. ## REST API Documentation - OpenAPI 3.1 Spec: https://api.cdk.bot/openapi.json - Markdown Docs: https://api.cdk.bot/docs/markdown - Interactive Docs (Swagger UI): https://api.cdk.bot/docs - Agent Discovery Manifest: https://api.cdk.bot/.well-known/agent.json - Health & Trust Stats: https://api.cdk.bot/health ## Quick Start (REST) One-shot (wallet-native agents) — one gasless call: 1. GET /games/match?title=... — find the product 2. POST /purchase {"game_id":"..."} with an X-PAYMENT header (signed EIP-3009 "exact" for the 402 accepts[]) — facilitator settles, returns the key (no tx_hash/quote_id) Two-step (any agent) — send USDC yourself: 1. GET /games?q=battlefield&platform=Steam — browse catalog 2. POST /purchase {"game_id": "..."} — get payment details + accepts[] (HTTP 402) 3. Send USDC on Base chain 4. POST /purchase {"game_id": "...", "tx_hash": "0x...", "quote_id": "..."} — receive product key instantly ## Live Price Comparison Every product in /games and /games/{id} carries marketplace_offers[] — the cheapest current offer per marketplace (G2A / ENEBA / KINGUIN, in USD). Agents can rank options by total cost without an extra fetch. Prices refresh on access (~60 s freshness for what gets viewed). ## Quick Start (MCP) 1. Add MCP URL to your AI agent: https://mcp.cdk.bot/mcp 2. search_games({ query: "Battlefield" }) — find products 3. get_price_quote({ game_id: "..." }) — lock price; returns accepts[] for one-shot 4. confirm_purchase({ game_id: "...", x_payment: "" }) — one-shot, gasless; OR confirm_purchase({ game_id, tx_hash, quote_id }) — two-step ## Payment Methods - USDC on Base chain (x402). One-shot: POST /purchase with a signed EIP-3009 X-PAYMENT header — facilitator settles gaslessly, key in one call. Two-step: send USDC yourself, then POST tx_hash + quote_id (onchain-verified via ERC-20 Transfer logs). ## Human checkout (no code — for the people operating the agents) - https://api.cdk.bot/pay — a clickable page to buy with USDC. Connect a wallet on desktop, or scan the QR with a mobile wallet; the key is delivered in the page. Self-custodial, no account. - Add ?game_id= for a specific product (omit for the cheapest). Sandbox dry-run: append &chain=base-sepolia. ## Security - quote_id (from 402 response) required with tx_hash — acts as purchase session token, prevents front-running - Sender wallet extracted from onchain Transfer event and permanently bound to order - Only the originating wallet can retrieve the key (GET /orders) or request a refund (POST /refund) - tx_hash unique constraint in database prevents double-spend ## Refund Policy - not_delivered: instant auto-refund - key_invalid, key_already_redeemed, wrong_product: verified within 24 hours - 30-day dispute window on every purchase - Endpoint: POST /refund ## Operator Botsignals LLC 1007 N Orange St. 4th Floor , 2476, Wilmington, DE 19801, USA info@cdk.bot