{"name":"CryptoAd Network Agent API","version":"1","description":"Agent-native crypto advertising: buy human crypto traffic without an account. Get a quote, pay with USDC through x402 (the networks are listed under `payments`), and the order is placed in the same exchange.","documentation":{"openapi":"https://cryptoadvertising.net/api/v1/openapi.json","formats":"https://cryptoadvertising.net/api/v1/formats","llms_txt":"https://cryptoadvertising.net/llms.txt"},"mcp":{"transport":"streamable-http","url":"https://cryptoadvertising.net/mcp","manifest":"https://cryptoadvertising.net/.well-known/mcp.json"},"authentication":{"scheme":"bearer","header":"Authorization: Bearer can_live_…","obtain":"Buy ad credit (POST /api/v1/credits/{amount_usd}) or place a first order without a key and pay for it: the answer carries the key. Or POST /api/v1/keys for an empty account."},"payments":{"status":"available","protocol":"x402","x402_version":2,"scheme":"exact","network":"eip155:8453","chain_id":8453,"asset":{"symbol":"USDC","address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","decimals":6},"networks":[{"network":"eip155:8453","name":"Base","chain_id":8453,"asset":{"symbol":"USDC","address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","decimals":6}},{"network":"eip155:137","name":"Polygon","chain_id":137,"asset":{"symbol":"USDC","address":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","decimals":6}},{"network":"eip155:42161","name":"Arbitrum","chain_id":42161,"asset":{"symbol":"USDC","address":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","decimals":6}},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":{"symbol":"USDC","address":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","decimals":6},"pay_to":"8bFkgLbQFFF3m5q1bC2m2T4nQTHWz6nKQ2gUFJu8NKHh"}],"pay_to":"0x1313c840F693EB2d8FD4Bb3B8Ed9e55B134B47D8","min_topup_usd":"1.00","max_payment_usd":"10000.00","max_timeout_seconds":600},"endpoints":[{"method":"GET","path":"/api/v1","auth":"none","idempotency_key":false,"summary":"Index: name, version, links to every document, and whether payments are available."},{"method":"GET","path":"/api/v1/openapi.json","auth":"none","idempotency_key":false,"summary":"This API as an OpenAPI 3.1 document, with examples."},{"method":"GET","path":"/api/v1/formats","auth":"none","idempotency_key":false,"summary":"The catalog: every ad format with its fields, limits, pricing models and prices."},{"method":"POST","path":"/api/v1/quote","auth":"none","idempotency_key":false,"summary":"Validate an order and return its exact price and breakdown. Creates nothing."},{"method":"POST","path":"/api/v1/keys","auth":"none","idempotency_key":true,"summary":"Create an anonymous account with a zero balance and return its API key."},{"method":"POST","path":"/api/v1/ads","auth":"key_or_payment","idempotency_key":true,"summary":"Place an order. Paid from the key's balance, or with an x402 payment in the same exchange."},{"method":"GET","path":"/api/v1/ads","auth":"key","idempotency_key":false,"summary":"The key's ads, newest first."},{"method":"GET","path":"/api/v1/ads/{id}","auth":"key","idempotency_key":false,"summary":"One ad: status, spend, what remains, and the reason if it was rejected."},{"method":"GET","path":"/api/v1/ads/{id}/stats","auth":"key","idempotency_key":false,"summary":"Delivery of one ad: totals and a daily series."},{"method":"POST","path":"/api/v1/ads/{id}/pause","auth":"key","idempotency_key":false,"summary":"Pause an active ad (Banner, Native, Paid Visits)."},{"method":"POST","path":"/api/v1/ads/{id}/resume","auth":"key","idempotency_key":false,"summary":"Resume a paused ad."},{"method":"POST","path":"/api/v1/ads/{id}/archive","auth":"key","idempotency_key":false,"summary":"End an ad. What it has not spent returns to the balance."},{"method":"POST","path":"/api/v1/images","auth":"key","idempotency_key":true,"summary":"Upload an image for a Paid Visits or a Banner ad."},{"method":"GET","path":"/api/v1/balance","auth":"key","idempotency_key":false,"summary":"The key's balance: available, reserved, total."},{"method":"POST","path":"/api/v1/balance/topup","auth":"key_and_payment","idempotency_key":true,"summary":"Add funds to the key's balance with an x402 payment."},{"method":"GET","path":"/api/v1/credits/{amount_usd}","auth":"none","idempotency_key":false,"summary":"The price of that much ad credit: always 402 with the x402 payment requirement. Creates nothing."},{"method":"POST","path":"/api/v1/credits/{amount_usd}","auth":"payment","idempotency_key":true,"summary":"Buy ad credit at a fixed price with an x402 payment. Without a key the answer carries a new account's API key; with a key the credit goes to its balance."},{"method":"DELETE","path":"/api/v1/keys/current","auth":"key","idempotency_key":false,"summary":"Revoke the key that makes this request."}],"request_id":"req_d6de25c85ea199440d48a192"}