{"openapi":"3.1.0","info":{"title":"x402scan","description":"Query indexed x402 payment data and send USDC on Base and Solana.","version":"1.0.0","x-guidance":"x402scan is a payment data explorer and registry for the x402 protocol.\n\n## Authentication\n- Most data endpoints require a $0.01–$0.02 x402 micropayment (use fetch with X-Payment header).\n- Registry write endpoints (register, register-origin) require SIWX wallet authentication (use fetch_with_auth).\n\n## Data endpoints ($0.01–$0.02 each)\n- GET /api/x402/wallets/{address}/transactions — paginated transfers where wallet is sender\n- GET /api/x402/wallets/{address}/stats — aggregate stats for a wallet\n- GET /api/x402/buyers — top senders by volume\n- GET /api/x402/merchants — top recipients by volume\n- GET /api/x402/merchants/{address}/transactions — paginated transfers where merchant is recipient\n- GET /api/x402/merchants/{address}/stats — aggregate stats for a merchant\n- GET /api/x402/facilitators — list of facilitators with stats\n- GET /api/x402/facilitators/stats — overall facilitator stats\n- GET /api/x402/resources — all indexed x402 resources\n- GET /api/x402/resources/search?q= — full-text search across resources ($0.02)\n- GET /api/x402/origins/{id}/resources — resources for a specific origin\n- GET /api/x402/registry/origin?url= — all registered resources for an origin\n\n## Registry endpoints (SIWX, free)\n- POST /api/x402/registry/register — register a single x402 resource by URL\n- POST /api/x402/registry/register-origin — discover and register all resources from an origin via OpenAPI or .well-known/x402\n\n## Send endpoint (x402, dynamic price)\n- POST /api/x402/send — send USDC to an address on Base or Solana","guidance":"x402scan is a payment data explorer and registry for the x402 protocol.\n\n## Authentication\n- Most data endpoints require a $0.01–$0.02 x402 micropayment (use fetch with X-Payment header).\n- Registry write endpoints (register, register-origin) require SIWX wallet authentication (use fetch_with_auth).\n\n## Data endpoints ($0.01–$0.02 each)\n- GET /api/x402/wallets/{address}/transactions — paginated transfers where wallet is sender\n- GET /api/x402/wallets/{address}/stats — aggregate stats for a wallet\n- GET /api/x402/buyers — top senders by volume\n- GET /api/x402/merchants — top recipients by volume\n- GET /api/x402/merchants/{address}/transactions — paginated transfers where merchant is recipient\n- GET /api/x402/merchants/{address}/stats — aggregate stats for a merchant\n- GET /api/x402/facilitators — list of facilitators with stats\n- GET /api/x402/facilitators/stats — overall facilitator stats\n- GET /api/x402/resources — all indexed x402 resources\n- GET /api/x402/resources/search?q= — full-text search across resources ($0.02)\n- GET /api/x402/origins/{id}/resources — resources for a specific origin\n- GET /api/x402/registry/origin?url= — all registered resources for an origin\n\n## Registry endpoints (SIWX, free)\n- POST /api/x402/registry/register — register a single x402 resource by URL\n- POST /api/x402/registry/register-origin — discover and register all resources from an origin via OpenAPI or .well-known/x402\n\n## Send endpoint (x402, dynamic price)\n- POST /api/x402/send — send USDC to an address on Base or Solana","contact":{"name":"Merit Systems","url":"https://merit.systems"}},"servers":[{"url":"https://www.x402scan.com"}],"tags":[{"name":"X402"}],"paths":{"/api/x402/facilitators":{"get":{"operationId":"x402_facilitators","summary":"Paginated list of facilitators with stats","tags":["X402"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"page","schema":{"default":0,"description":"Page index (0-based)","type":"integer","minimum":0,"maximum":9007199254740991},"description":"Page index (0-based)"},{"in":"query","name":"page_size","schema":{"default":10,"description":"Items per page (1-100, default 10)","type":"integer","minimum":1,"maximum":100},"description":"Items per page (1-100, default 10)"},{"in":"query","name":"chain","schema":{"description":"Filter by chain","type":"string","enum":["base","solana"]},"description":"Filter by chain"},{"in":"query","name":"timeframe","schema":{"description":"Days lookback (1, 7, 14, or 30)","type":"number"},"description":"Days lookback (1, 7, 14, or 30)"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/api/x402/merchants":{"get":{"operationId":"x402_merchants","summary":"Paginated list of merchants (top recipients by volume)","tags":["X402"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"page","schema":{"default":0,"description":"Page index (0-based)","type":"integer","minimum":0,"maximum":9007199254740991},"description":"Page index (0-based)"},{"in":"query","name":"page_size","schema":{"default":10,"description":"Items per page (1-100, default 10)","type":"integer","minimum":1,"maximum":100},"description":"Items per page (1-100, default 10)"},{"in":"query","name":"chain","schema":{"description":"Filter by chain","type":"string","enum":["base","solana"]},"description":"Filter by chain"},{"in":"query","name":"timeframe","schema":{"description":"Days lookback (1, 7, 14, or 30)","type":"number"},"description":"Days lookback (1, 7, 14, or 30)"},{"in":"query","name":"sort_by","schema":{"default":"volume","description":"Sort field","type":"string","enum":["volume","tx_count","unique_buyers"]},"description":"Sort field"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/api/x402/merchants/{address}/stats":{"get":{"operationId":"x402_merchants_stats","summary":"Aggregate stats for a merchant","tags":["X402"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"chain","schema":{"description":"Filter by chain","type":"string","enum":["base","solana"]},"description":"Filter by chain"},{"in":"query","name":"timeframe","schema":{"description":"Days lookback (1, 7, 14, or 30)","type":"number"},"description":"Days lookback (1, 7, 14, or 30)"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/api/x402/merchants/{address}/transactions":{"get":{"operationId":"x402_merchants_transactions","summary":"Paginated transfers where merchant is recipient","tags":["X402"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"page","schema":{"default":0,"description":"Page index (0-based)","type":"integer","minimum":0,"maximum":9007199254740991},"description":"Page index (0-based)"},{"in":"query","name":"page_size","schema":{"default":10,"description":"Items per page (1-100, default 10)","type":"integer","minimum":1,"maximum":100},"description":"Items per page (1-100, default 10)"},{"in":"query","name":"chain","schema":{"description":"Filter by chain","type":"string","enum":["base","solana"]},"description":"Filter by chain"},{"in":"query","name":"timeframe","schema":{"description":"Days lookback (1, 7, 14, or 30)","type":"number"},"description":"Days lookback (1, 7, 14, or 30)"},{"in":"query","name":"sort_by","schema":{"default":"time","description":"Sort field","type":"string","enum":["time","amount"]},"description":"Sort field"},{"in":"query","name":"sort_order","schema":{"default":"desc","description":"Sort direction","type":"string","enum":["asc","desc"]},"description":"Sort direction"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/api/x402/origins/{id}/resources":{"get":{"operationId":"x402_origins_resources","summary":"Resources for a specific origin/domain","tags":["X402"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"page","schema":{"default":0,"description":"Page index (0-based)","type":"integer","minimum":0,"maximum":9007199254740991},"description":"Page index (0-based)"},{"in":"query","name":"page_size","schema":{"default":10,"description":"Items per page (1-100, default 10)","type":"integer","minimum":1,"maximum":100},"description":"Items per page (1-100, default 10)"},{"in":"query","name":"chain","schema":{"description":"Filter by chain","type":"string","enum":["base","solana"]},"description":"Filter by chain"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/api/x402/registry/origin":{"get":{"operationId":"x402_registry_origin","summary":"List all registered x402 resources for an origin","tags":["X402"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"page","schema":{"default":0,"description":"Page index (0-based)","type":"integer","minimum":0,"maximum":9007199254740991},"description":"Page index (0-based)"},{"in":"query","name":"page_size","schema":{"default":10,"description":"Items per page (1-100, default 10)","type":"integer","minimum":1,"maximum":100},"description":"Items per page (1-100, default 10)"},{"in":"query","name":"url","schema":{"type":"string","format":"uri","description":"Origin URL to list registered resources for"},"required":true,"description":"Origin URL to list registered resources for"},{"in":"query","name":"chain","schema":{"description":"Filter by chain","type":"string","enum":["base","solana"]},"description":"Filter by chain"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/api/x402/resources":{"get":{"operationId":"x402_resources","summary":"Paginated list of all indexed x402 resources","tags":["X402"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"page","schema":{"default":0,"description":"Page index (0-based)","type":"integer","minimum":0,"maximum":9007199254740991},"description":"Page index (0-based)"},{"in":"query","name":"page_size","schema":{"default":10,"description":"Items per page (1-100, default 10)","type":"integer","minimum":1,"maximum":100},"description":"Items per page (1-100, default 10)"},{"in":"query","name":"chain","schema":{"description":"Filter by chain","type":"string","enum":["base","solana"]},"description":"Filter by chain"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/api/x402/resources/search":{"get":{"operationId":"x402_resources_search","summary":"Full-text search across x402 resources","tags":["X402"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"page","schema":{"default":0,"description":"Page index (0-based)","type":"integer","minimum":0,"maximum":9007199254740991},"description":"Page index (0-based)"},{"in":"query","name":"page_size","schema":{"default":10,"description":"Items per page (1-100, default 10)","type":"integer","minimum":1,"maximum":100},"description":"Items per page (1-100, default 10)"},{"in":"query","name":"q","schema":{"type":"string","minLength":1,"description":"Search query"},"required":true,"description":"Search query"},{"in":"query","name":"tags","schema":{"description":"Comma-separated tag IDs to filter by","type":"string"},"description":"Comma-separated tag IDs to filter by"},{"in":"query","name":"chains","schema":{"description":"Comma-separated chains to filter by (base, solana)","type":"string"},"description":"Comma-separated chains to filter by (base, solana)"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/api/x402/send":{"post":{"operationId":"x402_send","summary":"Send USDC to an address on Base or Solana","tags":["X402"],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0","max":"1000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"number"},"address":{"anyOf":[{"type":"string"},{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"}]},"chain":{"type":"string","enum":["base","solana"]}},"required":["amount","address","chain"]}}}},"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/api/x402/wallets/{address}/stats":{"get":{"operationId":"x402_wallets_stats","summary":"Aggregate stats for a wallet (tx count, total amount, unique recipients)","tags":["X402"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"chain","schema":{"description":"Filter by chain","type":"string","enum":["base","solana"]},"description":"Filter by chain"},{"in":"query","name":"timeframe","schema":{"description":"Days lookback (1, 7, 14, or 30)","type":"number"},"description":"Days lookback (1, 7, 14, or 30)"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/api/x402/wallets/{address}/transactions":{"get":{"operationId":"x402_wallets_transactions","summary":"Paginated transfers where wallet is sender","tags":["X402"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"page","schema":{"default":0,"description":"Page index (0-based)","type":"integer","minimum":0,"maximum":9007199254740991},"description":"Page index (0-based)"},{"in":"query","name":"page_size","schema":{"default":10,"description":"Items per page (1-100, default 10)","type":"integer","minimum":1,"maximum":100},"description":"Items per page (1-100, default 10)"},{"in":"query","name":"chain","schema":{"description":"Filter by chain","type":"string","enum":["base","solana"]},"description":"Filter by chain"},{"in":"query","name":"timeframe","schema":{"description":"Days lookback (1, 7, 14, or 30)","type":"number"},"description":"Days lookback (1, 7, 14, or 30)"},{"in":"query","name":"sort_by","schema":{"default":"time","description":"Sort field","type":"string","enum":["time","amount"]},"description":"Sort field"},{"in":"query","name":"sort_order","schema":{"default":"desc","description":"Sort direction","type":"string","enum":["asc","desc"]},"description":"Sort direction"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/api/x402/facilitators/stats":{"get":{"operationId":"x402_facilitators_stats","summary":"Overall high-level facilitator stats","tags":["X402"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"parameters":[{"in":"query","name":"chain","schema":{"description":"Filter by chain","type":"string","enum":["base","solana"]},"description":"Filter by chain"},{"in":"query","name":"timeframe","schema":{"description":"Days lookback (1, 7, 14, or 30)","type":"number"},"description":"Days lookback (1, 7, 14, or 30)"}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/api/x402/registry/register":{"post":{"operationId":"x402_registry_register","summary":"Register an x402-protected resource","tags":["X402"],"security":[{"siwx":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"URL of the x402-protected resource to register"}},"required":["url"]}}}},"responses":{"200":{"description":"Successful response"},"402":{"description":"Authentication Required"}}}},"/api/x402/registry/register-origin":{"post":{"operationId":"x402_registry_register-origin","summary":"Discover and register all x402 resources from an origin","tags":["X402"],"security":[{"siwx":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"origin":{"type":"string","format":"uri","description":"Origin URL to discover and register all x402 resources from"}},"required":["origin"]}}}},"responses":{"200":{"description":"Successful response"},"402":{"description":"Authentication Required"}}}}},"components":{"securitySchemes":{"siwx":{"type":"apiKey","in":"header","name":"SIGN-IN-WITH-X"}}}}