{"protocolVersion":"0.2.6","name":"GeoCites","description":"AI citation visibility oracle. Queries multiple LLMs and scores how a domain gets cited.","url":"https://staging.geo-cites.com/api/a2a/jsonrpc","documentationUrl":"https://staging.geo-cites.com/agent-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-sepolia","asset":"0x036cbd53842c5426634e7929541ec2318f3dcf7e","amount":"150000"},"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-sepolia","asset":"0x036cbd53842c5426634e7929541ec2318f3dcf7e","amount":"20000"},"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-sepolia","asset":"0x036cbd53842c5426634e7929541ec2318f3dcf7e","amount":"500000"},"examples":["{\"domain\":\"example.com\",\"keyword\":\"example service\",\"location\":\"Madrid, Spain\",\"rings\":[1,2]}"]},{"id":"full","name":"Full bundle (scan + radius + audit)","description":"Citation scan and radius bundle with a best-effort page audit. An unreachable page is reported as auditError; scan or radius failure prevents settlement.","tags":["scan","radius","audit","bundle"],"pricing":{"scheme":"exact","network":"base-sepolia","asset":"0x036cbd53842c5426634e7929541ec2318f3dcf7e","amount":"600000"},"examples":["{\"domain\":\"example.com\",\"keyword\":\"example service\",\"location\":\"Madrid, Spain\"}"]},{"id":"watch","name":"Streaming citation scan","description":"Same as `scan` with model_started, model_done, scan_complete and a terminal payment_settled or payment_failed event. Native A2A clients receive task events on message/stream.","tags":["scan","streaming"],"pricing":{"scheme":"exact","network":"base-sepolia","asset":"0x036cbd53842c5426634e7929541ec2318f3dcf7e","amount":"150000"}},{"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 configured facilitator (https://facilitator.xpay.sh) verifies and settles both versions."}},"defaultSecurity":[{"x402":[]}]}