{"protocolVersion":"0.2.6","name":"GeoCites","description":"AI citation visibility oracle. Queries multiple LLMs and scores how a domain gets cited.","url":"https://geo-cites.com/api/a2a/jsonrpc","documentationUrl":"https://geo-cites.com/api-docs","version":"1.x","provider":{"organization":"GeoCites","url":"https://geo-cites.com"},"capabilities":{"streaming":true,"pushNotifications":false,"extensions":[{"uri":"https://github.com/google-a2a/a2a-x402/v0.1","description":"Per-operation USDC settlement via x402 (dual-mode). Accepts v1 (X-Payment) and v2 (PAYMENT-SIGNATURE) on input; emits both X-Payment-Response and PAYMENT-RESPONSE on settle so clients of either dialect see the receipt.","required":true}]},"defaultInputModes":["application/json","text/plain"],"defaultOutputModes":["application/json"],"skills":[{"id":"scan","name":"AI citation scan","description":"Run an AI citation scan for a domain + keyword. Returns per-model citation scores, prominence, and competitor hits.","tags":["scan","citation","seo"],"pricing":{"scheme":"exact","network":"base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"20000"},"examples":["{\"domain\":\"example.com\",\"keyword\":\"example service\"}"]},{"id":"audit","name":"On-page citability audit","description":"HTML / robots / llms.txt audit scoring how easily an AI can cite the page. No LLM calls.","tags":["audit","seo"],"pricing":{"scheme":"exact","network":"base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"10000"},"examples":["{\"url\":\"https://example.com\"}"]},{"id":"radius","name":"Geographic citation radius","description":"Ring-based citation radius across competitor markets — N rings × M queries per ring.","tags":["radius","geo"],"pricing":{"scheme":"exact","network":"base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"50000"},"examples":["{\"domain\":\"example.com\",\"keyword\":\"example service\",\"location\":\"Madrid, Spain\",\"rings\":[1,2]}"]},{"id":"full","name":"Full bundle (scan + radius + audit)","description":"All-or-nothing scan + radius + audit bundle. Any component failure throws and the agent is not charged for partial output.","tags":["scan","radius","audit","bundle"],"pricing":{"scheme":"exact","network":"base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"100000"},"examples":["{\"domain\":\"example.com\",\"keyword\":\"example service\",\"location\":\"Madrid, Spain\"}"]},{"id":"watch","name":"Streaming citation scan","description":"Same as `scan` but emits server-sent progress events (model_started, model_completed, scan_completed). Native A2A clients receive these as TaskStatusUpdateEvents on `message/stream`.","tags":["scan","streaming"],"pricing":{"scheme":"exact","network":"base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"20000"}},{"id":"my-receipts","name":"Wallet receipt retrieval","description":"Verify wallet ownership with a 1 micro-USDC EIP-3009 authorization (never settled), then return paid receipts scoped to that wallet.","tags":["receipts","verify-only"]}],"securitySchemes":{"x402":{"type":"x402","in":"header","name":"X-Payment","description":"x402 dual-mode (v1 + v2). Sign an EIP-3009 USDC TransferWithAuthorization and send the base64-encoded payload as either X-Payment (v1) or PAYMENT-SIGNATURE (v2). On settle the server emits BOTH X-Payment-Response (v1) and PAYMENT-RESPONSE (v2) headers carrying the receipt — clients pick whichever their dialect expects. The Coinbase facilitator at api.cdp.coinbase.com/platform/v2/x402 handles both versions."}},"defaultSecurity":[{"x402":[]}]}