{"$schema":"https://schemas.cdp.coinbase.com/x402/2/service-manifest.json","name":"ScanPay","version":"1.1.0","description":"Pay-per-call x402 APIs for AI agents: OpenAI-compatible LLM chat, market/chain data (crypto prices, perp funding, gas history, block explorer, token price), Solana SPL mint audits and token metadata, SEC filings, stablecoin peg monitor, crypto news, BIN lookup, x402 receipt verification and seller reputation, ENS, web search, page extraction and deterministic code-security scanning. USDC on Base or Solana; no signup or API key; signed delivery receipts; legacy v1 X-PAYMENT accepted on Base.","ownershipProofs":["0x1E04f5046500e5369E17AF993Dc60aC29D83efc9","N6ZJxx4DAGbDYv3HbVYXso3yFyqprrxPPzdKsZpHHX9"],"provider":{"name":"ScanPay","url":"https://scanpay-edge.alextaghiashvili.workers.dev","contact":"scanpay-ops@fldubai.com"},"openapi":"https://scanpay-edge.alextaghiashvili.workers.dev/openapi.json","icon":"https://scanpay-edge.alextaghiashvili.workers.dev/favicon.png","docs":"https://scanpay-edge.alextaghiashvili.workers.dev/llms.txt","catalogue":"https://scanpay-edge.alextaghiashvili.workers.dev/catalogue.json","buyers":"https://scanpay-edge.alextaghiashvili.workers.dev/buyers.json","quickstart":"https://scanpay-edge.alextaghiashvili.workers.dev/x402-quickstart","reseller":"https://scanpay-edge.alextaghiashvili.workers.dev/partners.json","status":"https://scanpay-edge.alextaghiashvili.workers.dev/status","legacy":{"x402Version":1,"header":"X-PAYMENT","networks":["base"],"note":"converted server-side to a v2 PAYMENT-SIGNATURE and settled on Base"},"x402":{"version":2,"scheme":"exact","accepts":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x1E04f5046500e5369E17AF993Dc60aC29D83efc9"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","payTo":"N6ZJxx4DAGbDYv3HbVYXso3yFyqprrxPPzdKsZpHHX9"}],"input":{"type":"object","properties":{"source_code":{"type":"string","description":"UTF-8 source code (max 100 KB)"},"language":{"type":"string","enum":["python","javascript","typescript","tsx"],"default":"python"}},"required":["source_code"]}},"resources":[{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/readclean","method":"POST","price_usd":0.002,"description":"Extract main webpage content as clean markdown or structured JSON from a URL: return a JSON object with title, content (markdown or text), word count and SHA-256. Deterministic article/readability extraction strips boilerplate; no LLM, JavaScript rendering or arbitrary field extraction.","output_example":{"url":"https://example.com/article","http_status":200,"title":"Example","format":"markdown","content":"# Example\n\nClean main text...","chars":312,"words":51,"sha256":"9f86d0…"},"input_example":{"url":"https://example.com/article","format":"markdown"},"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","minLength":8,"maxLength":2048,"pattern":"^https://","description":"Public HTTPS webpage or article URL to extract; no JavaScript rendering"},"format":{"type":"string","enum":["markdown","text"],"default":"markdown","description":"Format of the content field inside the JSON response"}},"required":["url"]},"tags":["extract","web-extraction","page-extraction","url-to-markdown","markdown","readability","agents"],"name":"webpage to markdown"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/readclean","method":"GET","price_usd":0.002,"description":"Extract main webpage content as clean markdown or structured JSON from a URL: return a JSON object with title, content (markdown or text), word count and SHA-256. Deterministic article/readability extraction strips boilerplate; no LLM, JavaScript rendering or arbitrary field extraction.","output_example":{"url":"https://example.com/article","http_status":200,"title":"Example","format":"markdown","content":"# Example\n\nClean main text...","chars":312,"words":51,"sha256":"9f86d0…"},"input_example":{"url":"https://example.com/article","format":"markdown"},"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","minLength":8,"maxLength":2048,"pattern":"^https://","description":"Public HTTPS webpage or article URL to extract; no JavaScript rendering"},"format":{"type":"string","enum":["markdown","text"],"default":"markdown","description":"Format of the content field inside the JSON response"}},"required":["url"]},"tags":["extract","web-extraction","page-extraction","url-to-markdown","markdown","readability","agents"],"name":"webpage to markdown"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/tx-receipt","method":"GET","price_usd":0.005,"description":"Get a transaction receipt by hash: success, gas used, logs count, contract address.","tags":["blockchain","rpc","transaction"],"output_example":{"product":"scanpay.tx_receipt","network":"base","chain_id":"eip155:8453","found":true,"hash":"0x834f01e6c76729c794c675897b02457c9ede43101dd93749f07b78001378d8a3","success":true,"status":1,"block_number":53336036,"gas_used":21000,"cumulative_gas_used":21000,"effective_gas_price_wei":6000000,"logs_count":0,"contract_address":null,"price_usd":0.005},"input_example":{"hash":"0x0000000000000000000000000000000000000000000000000000000000000000","network":"base"},"input_schema":{"type":"object","properties":{"hash":{"type":"string"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["hash"]},"name":"Transaction receipt and execution status: Base and Ethereum"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/tx-receipt","method":"POST","price_usd":0.005,"description":"Get a transaction receipt by hash: success, gas used, logs count, contract address.","tags":["blockchain","rpc","transaction"],"output_example":{"product":"scanpay.tx_receipt","network":"base","chain_id":"eip155:8453","found":true,"hash":"0x834f01e6c76729c794c675897b02457c9ede43101dd93749f07b78001378d8a3","success":true,"status":1,"block_number":53336036,"gas_used":21000,"cumulative_gas_used":21000,"effective_gas_price_wei":6000000,"logs_count":0,"contract_address":null,"price_usd":0.005},"input_example":{"hash":"0x0000000000000000000000000000000000000000000000000000000000000000","network":"base"},"input_schema":{"type":"object","properties":{"hash":{"type":"string"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["hash"]},"name":"Transaction receipt and execution status: Base and Ethereum"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/agent-sanitize","method":"GET","price_usd":0.002,"description":"Deterministic invisible-character and HTML-comment sanitizer with injection flags","output_example":{"product":"scanpay.agent_sanitize","clean_text":"Hello world","original_len":27,"clean_len":11,"removed":{"zero_width":1,"bidi":0,"controls":0,"html_comments":1},"flags":[],"tokens_saved_est":4},"input_example":{"text":"Hello​ <!-- hidden -->world","max_chars":1000},"input_schema":{"properties":{"text":{"maxLength":200000,"minLength":1,"title":"Text","type":"string"},"max_chars":{"anyOf":[{"maximum":200000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"title":"Max Chars"}},"required":["text"],"title":"AgentSanitizeRequest","type":"object"},"tags":["text","security","agents"],"name":"agent-sanitize"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/agent-sanitize","method":"POST","price_usd":0.002,"description":"Deterministic invisible-character and HTML-comment sanitizer with injection flags","output_example":{"product":"scanpay.agent_sanitize","clean_text":"Hello world","original_len":27,"clean_len":11,"removed":{"zero_width":1,"bidi":0,"controls":0,"html_comments":1},"flags":[],"tokens_saved_est":4},"input_example":{"text":"Hello​ <!-- hidden -->world","max_chars":1000},"input_schema":{"properties":{"text":{"maxLength":200000,"minLength":1,"title":"Text","type":"string"},"max_chars":{"anyOf":[{"maximum":200000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"title":"Max Chars"}},"required":["text"],"title":"AgentSanitizeRequest","type":"object"},"tags":["text","security","agents"],"name":"agent-sanitize"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/payment-reconcile","method":"GET","price_usd":0.005,"description":"Verify a Base USDC transaction against an invoice","output_example":{"product":"scanpay.payment_reconcile","matches":false,"chain":"base","tx_hash":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","tx":{"from":"0xcccccccccccccccccccccccccccccccccccccccc","to":"0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","value_usd":0.0,"asset":null,"status":null,"block_number":null,"confirmations":0},"expected":{"recipient":"0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","amount_usd":1.0,"asset":"usdc"},"discrepancies":["amount_mismatch","asset_mismatch","insufficient_confirmations"],"confirmation_state":"pending","observed_at_unix":1793491200},"input_example":{"tx_hash":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","expected_recipient":"0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","expected_amount_usd":1.0},"input_schema":{"properties":{"tx_hash":{"pattern":"^0x[0-9a-fA-F]{64}$","title":"Tx Hash","type":"string"},"expected_recipient":{"pattern":"^0x[0-9a-fA-F]{40}$","title":"Expected Recipient","type":"string"},"expected_amount_usd":{"exclusiveMinimum":0,"maximum":100000,"title":"Expected Amount Usd","type":"number"},"asset":{"const":"usdc","default":"usdc","title":"Asset","type":"string"},"confirmations_required":{"default":1,"minimum":1,"title":"Confirmations Required","type":"integer"}},"required":["tx_hash","expected_recipient","expected_amount_usd"],"title":"PaymentReconcileRequest","type":"object"},"tags":["payments","base","usdc"],"name":"payment-reconcile"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/payment-reconcile","method":"POST","price_usd":0.005,"description":"Verify a Base USDC transaction against an invoice","output_example":{"product":"scanpay.payment_reconcile","matches":false,"chain":"base","tx_hash":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","tx":{"from":"0xcccccccccccccccccccccccccccccccccccccccc","to":"0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","value_usd":0.0,"asset":null,"status":null,"block_number":null,"confirmations":0},"expected":{"recipient":"0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","amount_usd":1.0,"asset":"usdc"},"discrepancies":["amount_mismatch","asset_mismatch","insufficient_confirmations"],"confirmation_state":"pending","observed_at_unix":1793491200},"input_example":{"tx_hash":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","expected_recipient":"0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","expected_amount_usd":1.0},"input_schema":{"properties":{"tx_hash":{"pattern":"^0x[0-9a-fA-F]{64}$","title":"Tx Hash","type":"string"},"expected_recipient":{"pattern":"^0x[0-9a-fA-F]{40}$","title":"Expected Recipient","type":"string"},"expected_amount_usd":{"exclusiveMinimum":0,"maximum":100000,"title":"Expected Amount Usd","type":"number"},"asset":{"const":"usdc","default":"usdc","title":"Asset","type":"string"},"confirmations_required":{"default":1,"minimum":1,"title":"Confirmations Required","type":"integer"}},"required":["tx_hash","expected_recipient","expected_amount_usd"],"title":"PaymentReconcileRequest","type":"object"},"tags":["payments","base","usdc"],"name":"payment-reconcile"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/canary","method":"GET","price_usd":0.0001,"description":"Cheapest deterministic x402 settlement test endpoint for Base and Solana wallets: proves wallet signing, facilitator settlement and delivery receipts end to end. POST any JSON object up to 8 KB or GET arbitrary query parameters; echo truncated to 2000 chars; optional status=200-599 and delay_ms=0-3000 to test error paths and timeouts; no upstream calls.","tags":["x402","testing","canary","solana","base","agents"],"input_example":{"ping":"canary"},"output_example":{"product":"scanpay.canary","ok":true,"ts":1793491200,"method":"GET","echo":{"ping":"canary"},"price_usd":0.0001,"note":"Cheapest deterministic x402 settlement test endpoint: one call proves wallet signing, facilitator settlement and delivery receipts end to end."},"input_schema":{"type":"object","additionalProperties":true,"description":"Any JSON object, at most 8192 encoded bytes"},"name":"Canary x402 settlement test (Base, Solana)"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/canary","method":"POST","price_usd":0.0001,"description":"Cheapest deterministic x402 settlement test endpoint for Base and Solana wallets: proves wallet signing, facilitator settlement and delivery receipts end to end. POST any JSON object up to 8 KB or GET arbitrary query parameters; echo truncated to 2000 chars; optional status=200-599 and delay_ms=0-3000 to test error paths and timeouts; no upstream calls.","tags":["x402","testing","canary","solana","base","agents"],"input_example":{"ping":"canary"},"output_example":{"product":"scanpay.canary","ok":true,"ts":1793491200,"method":"POST","echo":{"ping":"canary"},"price_usd":0.0001,"note":"Cheapest deterministic x402 settlement test endpoint: one call proves wallet signing, facilitator settlement and delivery receipts end to end."},"input_schema":{"type":"object","additionalProperties":true,"description":"Any JSON object, at most 8192 encoded bytes"},"name":"Canary x402 settlement test (Base, Solana)"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/scan","method":"POST","price_usd":0.05,"description":"Scan code for security issues in AI-agent-generated Python, JavaScript and TypeScript: 45 deterministic AST rules return structured findings (rule_id, severity, line ranges, remediation) in ~100 ms with no code execution, no LLM and no data retention. Use it in agent loops that generate and execute code.","output_example":{"language":"python","source_sha256":"9f56e761d79bfdb34304a012586cb04d16b435ef6130091a97702e559260a2f2","syntax_ok":true,"findings":[],"findings_count":0,"max_severity":null,"scan_duration_ms":0.5,"engine_version":"1.1.0","payment_mode":"x402-dual-rail","charged":true},"input_example":{"source_code":"pass\n","language":"python"},"input_schema":{"type":"object","properties":{"source_code":{"type":"string","description":"UTF-8 source code to scan (max 100 KB)"},"language":{"type":"string","enum":["python","javascript","typescript","tsx"],"default":"python"}},"required":["source_code"]},"tags":["security","code-scan","static-analysis","agents"],"name":"ScanPay"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/deep-scan","method":"POST","price_usd":10.0,"description":"Audit code security and return a full pre-deploy report for AI-generated source code. Every finding with rule_id, evidence, severity breakdown, deterministic risk score and remediation guidance. No code execution; source is hashed and discarded.","output_example":{"language":"python","source_sha256":"9f56e761d79bfdb34304a012586cb04d16b435ef6130091a97702e559260a2f2","syntax_ok":true,"findings":[],"findings_count":0,"scan_duration_ms":0.5,"engine_version":"1.1.0","payment_mode":"x402-dual-rail","charged":true,"product":"scanpay.deep","price_usd":10.0,"severity_counts":{"critical":0,"high":0,"medium":0,"low":0},"risk_score":100,"risk_band":"clean","remediation":[],"no_code_retention":true,"generated_at":1793462400.0},"input_example":{"source_code":"pass\n","language":"python"},"input_schema":{"type":"object","properties":{"source_code":{"type":"string","description":"UTF-8 source code to scan (max 100 KB)"},"language":{"type":"string","enum":["python","javascript","typescript","tsx"],"default":"python"},"include_remediation":{"type":"boolean","default":true}},"required":["source_code"]},"tags":["security","code-audit","risk-score","agents"],"name":"ScanPay Deep"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/quick","method":"POST","price_usd":0.005,"description":"Check code and return a fast PASS/WARN/BLOCK verdict for AI-generated code before execution: deterministic AST rules, no code execution, no LLM, no retention. Ideal pre-execution gate. Max 100 KB.","output_example":{"product":"scanpay.quick","language":"python","source_sha256":"9f56e761d79bfdb34304a012586cb04d16b435ef6130091a97702e559260a2f2","findings_count":0,"max_severity":null,"verdict":"PASS","findings":[],"price_usd":0.005},"input_example":{"source_code":"pass\n","language":"python"},"input_schema":{"type":"object","properties":{"source_code":{"type":"string","description":"UTF-8 source code to scan (max 100 KB)"},"language":{"type":"string","enum":["python","javascript","typescript","tsx"],"default":"python"}},"required":["source_code"]},"tags":["security","code-scan","agents","quick"],"name":"ScanPay Quick"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/credits","method":"POST","price_usd":5.0,"description":"Buy a prepaid ScanPay credit pack: 200 scans for one x402 payment, returns an X-API-Key for POST /api/v1/key/scan (no per-call x402 overhead).","output_example":{"product":"scanpay.credits","api_key":"<issued-api-key>","scans":200,"price_usd":5.0,"usage":{"endpoint":"POST /api/v1/key/scan","header":"X-API-Key"}},"input_example":{},"input_schema":{"type":"object","properties":{}},"tags":["security","credits","agents"],"name":"ScanPay Credits"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/agent-deep","method":"POST","price_usd":0.1,"description":"Generate an agent deep report - deterministic deep security report for a code snippet (input <=20 KB): findings, severity counts, risk score and remediation.","output_example":{"language":"python","source_sha256":"9f56e761d79bfdb34304a012586cb04d16b435ef6130091a97702e559260a2f2","syntax_ok":true,"findings":[],"findings_count":0,"scan_duration_ms":0.5,"engine_version":"1.1.0","charged":true,"product":"scanpay.agent_deep","price_usd":0.1,"severity_counts":{"critical":0,"high":0,"medium":0,"low":0},"risk_score":100,"risk_band":"clean","no_code_retention":true},"input_example":{"source_code":"pass\n","language":"python"},"input_schema":{"type":"object","properties":{"source_code":{"type":"string","description":"UTF-8 source code to scan (max 100 KB)"},"language":{"type":"string","enum":["python","javascript","typescript","tsx"],"default":"python"},"include_remediation":{"type":"boolean","default":true}},"required":["source_code"]},"tags":["security","code-audit","risk-score","agents"],"name":"ScanPay Agent Deep"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/credits-micro","method":"POST","price_usd":0.1,"description":"Buy a ScanPay micro credit pack - 5 prepaid scans for one small x402 payment (X-API-Key), sized for autonomous client spending caps; returns an API key and scan allowance.","output_example":{"product":"scanpay.credits_micro","api_key":"<issued-api-key>","scans":5,"price_usd":0.1,"usage":{"endpoint":"POST /api/v1/key/scan","header":"X-API-Key"}},"input_example":{},"input_schema":{"type":"object","properties":{}},"tags":["security","credits","agents"],"name":"ScanPay Micro Credits"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/x402-check","method":"POST","price_usd":0.0001,"description":"Check an x402 endpoint before paying it: inspect its unpaid GET 402 challenge, version, accepts fields, resource URL, discovery extension, CORS exposure and response latency. Returns a scored compliance checklist for payment endpoint testing and integration debugging. No payment is sent to the target; this is not proof of paid delivery, settlement, safety or historical uptime.","output_example":{"product":"scanpay.x402check","price_usd":0.0001,"target":"https://example.com/api/paid","http_status":null,"latency_ms":125,"score":0,"verdict":"broken","checks":[{"check":"reachability","ok":false,"detail":"request failed: timed out"},{"check":"cors_exposes_payment_headers","ok":false,"detail":"access-control-expose-headers=missing (JS clients cannot read the challenge in browsers)"}],"findings":[],"accepts":null,"note":"Unpaid GET challenge inspection only; does not prove paid delivery, settlement, safety or historical uptime."},"input_example":{"target":"https://example.com/api/paid"},"input_schema":{"type":"object","properties":{"target":{"type":"string","format":"uri","minLength":8,"maxLength":2048,"pattern":"^https://","description":"Public HTTPS paid endpoint to check before paying it; probes its unpaid GET challenge, never sends payment"}},"required":["target"]},"tags":["x402","endpoint-audit","pre-payment","payment-endpoint-test","compliance","agents"],"name":"x402 endpoint check"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/token-balance","method":"POST","price_usd":0.001,"description":"Get a token balance: ERC-20 balance for any EVM wallet via eth_call.","output_example":{"network":"base","token":"0x8335…2913","address":"0x1E04…efc9","balance_raw":"1000000","decimals":6,"balance":1.0,"balance_str":"1.000000"},"input_example":{"address":"0x0000000000000000000000000000000000000000","token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base"},"input_schema":{"type":"object","properties":{"address":{"type":"string"},"token":{"type":"string"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address","token"]},"tags":["crypto","blockchain-data","balance","agents"],"name":"Token balance"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/urlwatch","method":"POST","price_usd":0.01,"description":"Detect page changes with urlwatch - page change detection / website change monitoring / webpage diff: check whether a public URL's readable content changed since the last check; returns changed/first_seen plus content hashes. Use it to monitor a page for changes.","output_example":{"url":"https://example.com/pricing","ok":true,"first_seen":false,"changed":true,"previous_hash":"aa11…","current_hash":"bb22…","checks":4},"input_example":{"url":"https://example.com/pricing"},"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"previous_hash":{"type":"string"},"state_key":{"type":"string"}},"required":["url"]},"tags":["monitoring","change-detection","diff","agents"],"name":"Web page diff monitoring"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/urlwatch","method":"GET","price_usd":0.01,"description":"Detect page changes with urlwatch - page change detection / website change monitoring / webpage diff: check whether a public URL's readable content changed since the last check; returns changed/first_seen plus content hashes. Use it to monitor a page for changes.","output_example":{"url":"https://example.com/pricing","ok":true,"first_seen":false,"changed":true,"previous_hash":"aa11…","current_hash":"bb22…","checks":4},"input_example":{"url":"https://example.com/pricing"},"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"previous_hash":{"type":"string"},"state_key":{"type":"string"}},"required":["url"]},"tags":["monitoring","change-detection","diff","agents"],"name":"Web page diff monitoring"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/token-balance","method":"GET","price_usd":0.001,"description":"Get a token balance: ERC-20 balance for any EVM wallet via eth_call.","output_example":{"network":"base","token":"0x8335…2913","address":"0x1E04…efc9","balance_raw":"1000000","decimals":6,"balance":1.0,"balance_str":"1.000000"},"input_example":{"address":"0x0000000000000000000000000000000000000000","token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base"},"input_schema":{"type":"object","properties":{"address":{"type":"string"},"token":{"type":"string"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address","token"]},"tags":["crypto","blockchain-data","balance","agents"],"name":"Token balance"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/x402-check","method":"GET","price_usd":0.0001,"description":"Check an x402 endpoint before paying it: inspect its unpaid GET 402 challenge, version, accepts fields, resource URL, discovery extension, CORS exposure and response latency. Returns a scored compliance checklist for payment endpoint testing and integration debugging. No payment is sent to the target; this is not proof of paid delivery, settlement, safety or historical uptime.","output_example":{"product":"scanpay.x402check","price_usd":0.0001,"target":"https://example.com/api/paid","http_status":null,"latency_ms":125,"score":0,"verdict":"broken","checks":[{"check":"reachability","ok":false,"detail":"request failed: timed out"},{"check":"cors_exposes_payment_headers","ok":false,"detail":"access-control-expose-headers=missing (JS clients cannot read the challenge in browsers)"}],"findings":[],"accepts":null,"note":"Unpaid GET challenge inspection only; does not prove paid delivery, settlement, safety or historical uptime."},"input_example":{"target":"https://example.com/api/paid"},"input_schema":{"type":"object","properties":{"target":{"type":"string","format":"uri","minLength":8,"maxLength":2048,"pattern":"^https://","description":"Public HTTPS paid endpoint to check before paying it; probes its unpaid GET challenge, never sends payment"}},"required":["target"]},"tags":["x402","endpoint-audit","pre-payment","payment-endpoint-test","compliance","agents"],"name":"x402 endpoint check"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/page-extract","method":"GET","price_usd":0.002,"description":"Extract clean readable text from a URL: fetch a webpage and return clean title + markdown/text (article extract, readability, strip boilerplate).","tags":["extract","page-extract","readability","agents"],"output_example":{"url":"https://example.com/article","http_status":200,"title":"Example","format":"markdown","content":"# Example\n\nClean main text...","chars":312,"words":51,"sha256":"9f86d0…"},"input_example":{"url":"https://example.com/article","format":"markdown"},"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","minLength":8,"maxLength":2048,"pattern":"^https://","description":"Public HTTPS webpage or article URL to extract; no JavaScript rendering"},"format":{"type":"string","enum":["markdown","text"],"default":"markdown","description":"Format of the content field inside the JSON response"}},"required":["url"]},"name":"Extract clean readable text from a URL"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/page-extract","method":"POST","price_usd":0.002,"description":"Extract clean readable text from a URL: fetch a webpage and return clean title + markdown/text (article extract, readability, strip boilerplate).","tags":["extract","page-extract","readability","agents"],"output_example":{"url":"https://example.com/article","http_status":200,"title":"Example","format":"markdown","content":"# Example\n\nClean main text...","chars":312,"words":51,"sha256":"9f86d0…"},"input_example":{"url":"https://example.com/article","format":"markdown"},"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","minLength":8,"maxLength":2048,"pattern":"^https://","description":"Public HTTPS webpage or article URL to extract; no JavaScript rendering"},"format":{"type":"string","enum":["markdown","text"],"default":"markdown","description":"Format of the content field inside the JSON response"}},"required":["url"]},"name":"Extract clean readable text from a URL"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/change-detect","method":"GET","price_usd":0.01,"description":"Detect page changes - page change detection / website change monitoring / webpage diff: check whether a web page changed since the last check (alias of urlwatch; accepts url|target|uri, returns changed/first_seen + hashes).","tags":["monitoring","change-detect","agents"],"output_example":{"url":"https://example.com/pricing","ok":true,"first_seen":false,"changed":true,"previous_hash":"aa11…","current_hash":"bb22…","checks":4},"input_example":{"url":"https://example.com/pricing"},"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"previous_hash":{"type":"string"},"state_key":{"type":"string"}},"required":["url"]},"name":"Page change detection - website change monitoring"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/change-detect","method":"POST","price_usd":0.01,"description":"Detect page changes - page change detection / website change monitoring / webpage diff: check whether a web page changed since the last check (alias of urlwatch; accepts url|target|uri, returns changed/first_seen + hashes).","tags":["monitoring","change-detect","agents"],"output_example":{"url":"https://example.com/pricing","ok":true,"first_seen":false,"changed":true,"previous_hash":"aa11…","current_hash":"bb22…","checks":4},"input_example":{"url":"https://example.com/pricing"},"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"previous_hash":{"type":"string"},"state_key":{"type":"string"}},"required":["url"]},"name":"Page change detection - website change monitoring"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/page-extract-batch","method":"POST","price_usd":0.02,"description":"Extract pages in a batch: clean readable text for up to 10 URLs in one call.","tags":["extract","batch","url-to-markdown","agents"],"input_example":{"urls":["https://example.com/article1","https://example.com/article2"],"format":"markdown"},"output_example":{"product":"scanpay.page_extract_batch","price_usd":0.005,"count":2,"results":[{"url":"https://example.com/article1","ok":true,"title":"Example","format":"markdown","content":"# Example...","chars":150,"sha256":"9f86d0..."}],"no_code_retention":true},"input_schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string","format":"uri"},"description":"1 to 10 public https URLs to extract"},"format":{"type":"string","enum":["markdown","text"],"default":"markdown"}},"required":["urls"]},"name":"Batch page extract"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/page-extract-batch","method":"GET","price_usd":0.02,"description":"Extract pages in a batch: clean readable text for up to 10 URLs in one call.","tags":["extract","batch","url-to-markdown","agents"],"output_example":{"product":"scanpay.page_extract_batch","price_usd":0.005,"count":2,"results":[{"url":"https://example.com/article1","ok":true,"title":"Example","format":"markdown","content":"# Example...","chars":150,"sha256":"9f86d0..."}],"no_code_retention":true},"input_example":{"urls":["https://example.com/article1","https://example.com/article2"],"format":"markdown"},"input_schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string","format":"uri"},"description":"1 to 10 public https URLs to extract"},"format":{"type":"string","enum":["markdown","text"],"default":"markdown"}},"required":["urls"]},"name":"Batch page extract"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/urlwatch-batch","method":"POST","price_usd":0.03,"description":"Monitor URL changes in a batch: did each URL change since last check.","tags":["monitoring","batch","change-detection","agents"],"input_example":{"urls":["https://example.com/pricing","https://example.com/about"],"state_key":"monitor-1"},"output_example":{"product":"scanpay.urlwatch_batch","price_usd":0.01,"count":2,"results":[{"url":"https://example.com/pricing","ok":true,"changed":false,"first_seen":false,"current_hash":"bb22…","previous_hash":"aa11…"}]},"input_schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string","format":"uri"}},"state_key":{"type":"string"}},"required":["urls"]},"name":"Batch urlwatch"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/urlwatch-batch","method":"GET","price_usd":0.03,"description":"Monitor URL changes in a batch: did each URL change since last check.","tags":["monitoring","batch","change-detection","agents"],"output_example":{"product":"scanpay.urlwatch_batch","price_usd":0.01,"count":2,"results":[{"url":"https://example.com/pricing","ok":true,"changed":false,"first_seen":false,"current_hash":"bb22…","previous_hash":"aa11…"}]},"input_example":{"urls":["https://example.com/pricing","https://example.com/about"],"state_key":"monitor-1"},"input_schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string","format":"uri"}},"state_key":{"type":"string"}},"required":["urls"]},"name":"Batch urlwatch"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/token-balance-batch","method":"POST","price_usd":0.02,"description":"Get token balances in a batch: ERC-20 balances for up to 10 wallet/token pairs.","tags":["crypto","batch","blockchain-data","balance","agents"],"input_example":{"items":[{"address":"0x0000000000000000000000000000000000000000","token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base"}]},"output_example":{"product":"scanpay.token_balance_batch","price_usd":0.005,"count":1,"results":[{"address":"0x0000…","token":"0x8335…","network":"base","ok":true,"balance":1.0,"balance_str":"1.000000","decimals":6}]},"input_schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"token":{"type":"string"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address","token"]}}},"required":["items"]},"name":"Batch token balances"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/token-balance-batch","method":"GET","price_usd":0.02,"description":"Get token balances in a batch: ERC-20 balances for up to 10 wallet/token pairs.","tags":["crypto","batch","blockchain-data","balance","agents"],"output_example":{"product":"scanpay.token_balance_batch","price_usd":0.005,"count":1,"results":[{"address":"0x0000…","token":"0x8335…","network":"base","ok":true,"balance":1.0,"balance_str":"1.000000","decimals":6}]},"input_example":{"items":[{"address":"0x0000000000000000000000000000000000000000","token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base"}]},"input_schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"token":{"type":"string"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address","token"]}}},"required":["items"]},"name":"Batch token balances"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/crypto-price","method":"GET","price_usd":0.001,"description":"Crypto spot prices: current Bitcoin BTC/USD, ETH and SOL prices for a price-check script or agent. Query up to 20 tickers; JSON includes per-symbol USD price, source, errors and fetch timestamp (ts). Uses Coinbase spot with a CoinGecko fallback and a 5-second cache; no streaming or sub-second freshness guarantee.","tags":["crypto","price","spot-price","btc-usd","ticker","market-data","agents"],"output_example":{"prices":{"BTC":{"price_usd":77466.68,"source":"coinbase-spot"}},"errors":{},"ts":1793462400},"input_example":{"symbols":["BTC","ETH"]},"input_schema":{"type":"object","properties":{"symbols":{"type":"array","maxItems":20,"items":{"type":"string"},"default":["BTC"],"description":"Crypto spot price tickers, e.g. BTC, ETH or SOL; prices are quoted in USD"}}},"name":"Crypto spot price API: current BTC price in USD"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/crypto-price","method":"POST","price_usd":0.001,"description":"Crypto spot prices: current Bitcoin BTC/USD, ETH and SOL prices for a price-check script or agent. Query up to 20 tickers; JSON includes per-symbol USD price, source, errors and fetch timestamp (ts). Uses Coinbase spot with a CoinGecko fallback and a 5-second cache; no streaming or sub-second freshness guarantee.","tags":["crypto","price","spot-price","btc-usd","ticker","market-data","agents"],"output_example":{"prices":{"BTC":{"price_usd":77466.68,"source":"coinbase-spot"}},"errors":{},"ts":1793462400},"input_example":{"symbols":["BTC","ETH"]},"input_schema":{"type":"object","properties":{"symbols":{"type":"array","maxItems":20,"items":{"type":"string"},"default":["BTC"],"description":"Crypto spot price tickers, e.g. BTC, ETH or SOL; prices are quoted in USD"}}},"name":"Crypto spot price API: current BTC price in USD"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/gas-estimate","method":"GET","price_usd":0.001,"description":"Estimate gas fees: live gas price and slow/normal/fast estimates for Base or Ethereum.","tags":["crypto","gas","fees","agents"],"output_example":{"network":"base","gas_price_gwei":0.006,"base_fee_gwei":0.005,"estimates":{"slow":{"max_fee_gwei":0.055},"normal":{"max_fee_gwei":0.155}}},"input_example":{"network":"base"},"input_schema":{"type":"object","properties":{"network":{"type":"string","enum":["base","ethereum"]}}},"name":"Gas price and fee estimates: Base and Ethereum"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/gas-estimate","method":"POST","price_usd":0.001,"description":"Estimate gas fees: live gas price and slow/normal/fast estimates for Base or Ethereum.","tags":["crypto","gas","fees","agents"],"output_example":{"network":"base","gas_price_gwei":0.006,"base_fee_gwei":0.005,"estimates":{"slow":{"max_fee_gwei":0.055},"normal":{"max_fee_gwei":0.155}}},"input_example":{"network":"base"},"input_schema":{"type":"object","properties":{"network":{"type":"string","enum":["base","ethereum"]}}},"name":"Gas price and fee estimates: Base and Ethereum"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/block-height","method":"GET","price_usd":0.001,"description":"Get the latest block number (block height), block hash and timestamp on Base or Ethereum via public JSON-RPC.","tags":["blockchain","rpc","base","ethereum"],"output_example":{"product":"scanpay.block_height","network":"base","chain_id":"eip155:8453","block_number":53336036,"block_hash":"0x32df9c2c6e6e87f7b2a95f9c5d18d4d8c6b1a2e3f4a5b6c7d8e9f0a1b2c3d4e5","timestamp":1793462400,"price_usd":0.001},"input_example":{"network":"base"},"input_schema":{"type":"object","properties":{"network":{"type":"string","enum":["base","ethereum"]}}},"name":"Block height - Base & Ethereum"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/block-height","method":"POST","price_usd":0.001,"description":"Get the latest block number (block height), block hash and timestamp on Base or Ethereum via public JSON-RPC.","tags":["blockchain","rpc","base","ethereum"],"output_example":{"product":"scanpay.block_height","network":"base","chain_id":"eip155:8453","block_number":53336036,"block_hash":"0x32df9c2c6e6e87f7b2a95f9c5d18d4d8c6b1a2e3f4a5b6c7d8e9f0a1b2c3d4e5","timestamp":1793462400,"price_usd":0.001},"input_example":{"network":"base"},"input_schema":{"type":"object","properties":{"network":{"type":"string","enum":["base","ethereum"]}}},"name":"Block height - Base & Ethereum"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/tx","method":"GET","price_usd":0.01,"description":"Look up a transaction by hash on Base or Ethereum: from, to, value, nonce, gas, input size.","tags":["blockchain","rpc","transaction"],"output_example":{"product":"scanpay.tx","network":"base","chain_id":"eip155:8453","found":true,"hash":"0x834f01e6c76729c794c675897b02457c9ede43101dd93749f07b78001378d8a3","block_number":53336036,"from":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045","to":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","value_wei":0,"value_eth":0.0,"nonce":7,"gas":21000,"gas_price_wei":6000000,"input_size":0,"is_contract_creation":false,"price_usd":0.005},"input_example":{"hash":"0x0000000000000000000000000000000000000000000000000000000000000000","network":"base"},"input_schema":{"type":"object","properties":{"hash":{"type":"string"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["hash"]},"name":"Transaction by hash - Base & Ethereum"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/tx","method":"POST","price_usd":0.01,"description":"Look up a transaction by hash on Base or Ethereum: from, to, value, nonce, gas, input size.","tags":["blockchain","rpc","transaction"],"output_example":{"product":"scanpay.tx","network":"base","chain_id":"eip155:8453","found":true,"hash":"0x834f01e6c76729c794c675897b02457c9ede43101dd93749f07b78001378d8a3","block_number":53336036,"from":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045","to":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","value_wei":0,"value_eth":0.0,"nonce":7,"gas":21000,"gas_price_wei":6000000,"input_size":0,"is_contract_creation":false,"price_usd":0.005},"input_example":{"hash":"0x0000000000000000000000000000000000000000000000000000000000000000","network":"base"},"input_schema":{"type":"object","properties":{"hash":{"type":"string"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["hash"]},"name":"Transaction by hash - Base & Ethereum"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/nonce","method":"GET","price_usd":0.001,"description":"Get the next transaction nonce for any EVM address via eth_getTransactionCount on Base or Ethereum.","tags":["blockchain","rpc","wallet"],"output_example":{"product":"scanpay.nonce","network":"base","chain_id":"eip155:8453","address":"0x1E04f5046500e5369E17AF993Dc60aC29D83efc9","nonce":7,"next_nonce":7,"price_usd":0.002},"input_example":{"address":"0x0000000000000000000000000000000000000000","network":"base"},"input_schema":{"type":"object","properties":{"address":{"type":"string"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address"]},"name":"Wallet nonce - Base & Ethereum"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/nonce","method":"POST","price_usd":0.001,"description":"Get the next transaction nonce for any EVM address via eth_getTransactionCount on Base or Ethereum.","tags":["blockchain","rpc","wallet"],"output_example":{"product":"scanpay.nonce","network":"base","chain_id":"eip155:8453","address":"0x1E04f5046500e5369E17AF993Dc60aC29D83efc9","nonce":7,"next_nonce":7,"price_usd":0.002},"input_example":{"address":"0x0000000000000000000000000000000000000000","network":"base"},"input_schema":{"type":"object","properties":{"address":{"type":"string"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address"]},"name":"Wallet nonce - Base & Ethereum"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/contract-info","method":"GET","price_usd":0.01,"description":"Inspect a contract: bytecode size, EIP-1967 proxy implementation, ERC-20 name/symbol/decimals.","tags":["blockchain","rpc","contract"],"output_example":{"product":"scanpay.contract_info","network":"base","chain_id":"eip155:8453","address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","is_contract":true,"bytecode_size":1852,"price_usd":0.003,"is_proxy":false,"implementation":null,"name":"USD Coin","symbol":"USDC","decimals":6},"input_example":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base"},"input_schema":{"type":"object","properties":{"address":{"type":"string"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address"]},"name":"Contract introspection - Base & Ethereum"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/contract-info","method":"POST","price_usd":0.01,"description":"Inspect a contract: bytecode size, EIP-1967 proxy implementation, ERC-20 name/symbol/decimals.","tags":["blockchain","rpc","contract"],"output_example":{"product":"scanpay.contract_info","network":"base","chain_id":"eip155:8453","address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","is_contract":true,"bytecode_size":1852,"price_usd":0.003,"is_proxy":false,"implementation":null,"name":"USD Coin","symbol":"USDC","decimals":6},"input_example":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base"},"input_schema":{"type":"object","properties":{"address":{"type":"string"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address"]},"name":"Contract introspection - Base & Ethereum"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/token-supply","method":"GET","price_usd":0.005,"description":"Get ERC-20/721 total supply and decimals via eth_call on Base or Ethereum.","tags":["blockchain","rpc","token"],"output_example":{"product":"scanpay.token_supply","network":"base","chain_id":"eip155:8453","address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","total_supply_raw":1000000000000,"total_supply":1000000.0,"decimals":6,"price_usd":0.002},"input_example":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base"},"input_schema":{"type":"object","properties":{"address":{"type":"string"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address"]},"name":"Token supply - Base & Ethereum"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/token-supply","method":"POST","price_usd":0.005,"description":"Get ERC-20/721 total supply and decimals via eth_call on Base or Ethereum.","tags":["blockchain","rpc","token"],"output_example":{"product":"scanpay.token_supply","network":"base","chain_id":"eip155:8453","address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","total_supply_raw":1000000000000,"total_supply":1000000.0,"decimals":6,"price_usd":0.002},"input_example":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base"},"input_schema":{"type":"object","properties":{"address":{"type":"string"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address"]},"name":"Token supply - Base & Ethereum"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/token-preflight","method":"GET","price_usd":0.01,"description":"Check token risk and safety for Base or Ethereum tokens: contract shape, EIP-1967 proxy, owner/renounce, ERC-20 metadata and supply, mint/blacklist selector heuristics, Uniswap V2+V3 liquidity and a deterministic risk score. On-chain observations only - not an audit or safety guarantee. ","tags":["blockchain","token","risk","preflight"],"output_example":{"product":"scanpay.token_preflight","network":"base","chain_id":"eip155:8453","address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","price_usd":0.005,"disclaimer":"On-chain observations only: not an audit, not a safety guarantee, no off-chain holder or trade analysis. Re-check before acting.","bytecode_size":1852,"is_proxy":false,"implementation":null,"token":{"name":"USD Coin","symbol":"USDC","decimals":6,"total_supply_raw":1000000000000,"total_supply":1000000.0},"owner":"0x0000000000000000000000000000000000000000","checks":[{"check":"is_contract","ok":true,"detail":"1852 bytes of bytecode"},{"check":"proxy","ok":true,"detail":"no EIP-1967 implementation slot"}],"flags":[],"risk_score":85,"risk_band":"high","note":"This is a heuristic preflight. Missing data is reported as missing, not as safe."},"input_example":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base"},"input_schema":{"type":"object","properties":{"address":{"type":"string"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address"]},"name":"Token risk preflight / token safety check"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/token-preflight","method":"POST","price_usd":0.01,"description":"Check token risk and safety for Base or Ethereum tokens: contract shape, EIP-1967 proxy, owner/renounce, ERC-20 metadata and supply, mint/blacklist selector heuristics, Uniswap V2+V3 liquidity and a deterministic risk score. On-chain observations only - not an audit or safety guarantee. ","tags":["blockchain","token","risk","preflight"],"output_example":{"product":"scanpay.token_preflight","network":"base","chain_id":"eip155:8453","address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","price_usd":0.005,"disclaimer":"On-chain observations only: not an audit, not a safety guarantee, no off-chain holder or trade analysis. Re-check before acting.","bytecode_size":1852,"is_proxy":false,"implementation":null,"token":{"name":"USD Coin","symbol":"USDC","decimals":6,"total_supply_raw":1000000000000,"total_supply":1000000.0},"owner":"0x0000000000000000000000000000000000000000","checks":[{"check":"is_contract","ok":true,"detail":"1852 bytes of bytecode"},{"check":"proxy","ok":true,"detail":"no EIP-1967 implementation slot"}],"flags":[],"risk_score":85,"risk_band":"high","note":"This is a heuristic preflight. Missing data is reported as missing, not as safe."},"input_example":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base"},"input_schema":{"type":"object","properties":{"address":{"type":"string"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address"]},"name":"Token risk preflight / token safety check"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/ens","method":"GET","price_usd":0.001,"description":"ENS lookup: resolve an ENS name to an address, or reverse-resolve a 0x address to its primary ENS name via the Ethereum registry and resolver, with forward verification. Supply name OR address; address takes precedence.","tags":["ethereum","ens","identity"],"input_examples":[{"name":"vitalik.eth"},{"address":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045"}],"output_examples":[{"product":"scanpay.ens","name":"vitalik.eth","address":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045","resolved":true},{"product":"scanpay.ens","address":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045","reverse_name":"vitalik.eth","found":true,"verified":true,"network":"ethereum","price_usd":0.001}],"output_example":{"product":"scanpay.ens","address":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045","reverse_name":"vitalik.eth","found":true,"verified":true,"network":"ethereum","resolver":"0x231b0ee14048e9dccd1d247744d114a4eb5e8e63","price_usd":0.001},"input_example":{"address":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045"},"input_schema":{"type":"object","examples":[{"name":"vitalik.eth"},{"address":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045"},{"name":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045"}],"properties":{"name":{"type":"string","description":"ENS name or 0x address"},"address":{"type":"string","description":"Reverse lookup; takes precedence over name"}}},"name":"ENS reverse lookup (and forward resolve)"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/ens","method":"POST","price_usd":0.001,"description":"ENS lookup: resolve an ENS name to an address, or reverse-resolve a 0x address to its primary ENS name via the Ethereum registry and resolver, with forward verification. Supply name OR address; address takes precedence.","tags":["ethereum","ens","identity"],"input_examples":[{"name":"vitalik.eth"},{"address":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045"}],"output_examples":[{"product":"scanpay.ens","name":"vitalik.eth","address":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045","resolved":true},{"product":"scanpay.ens","address":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045","reverse_name":"vitalik.eth","found":true,"verified":true,"network":"ethereum","price_usd":0.001}],"output_example":{"product":"scanpay.ens","address":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045","reverse_name":"vitalik.eth","found":true,"verified":true,"network":"ethereum","resolver":"0x231b0ee14048e9dccd1d247744d114a4eb5e8e63","price_usd":0.001},"input_example":{"address":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045"},"input_schema":{"type":"object","examples":[{"name":"vitalik.eth"},{"address":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045"},{"name":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045"}],"properties":{"name":{"type":"string","description":"ENS name or 0x address"},"address":{"type":"string","description":"Reverse lookup; takes precedence over name"}}},"name":"ENS reverse lookup (and forward resolve)"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/wallet-balance","method":"GET","price_usd":0.001,"description":"Get a wallet balance: native ETH/Base balance plus up to 20 caller-supplied ERC-20 balances via eth_call. ","tags":["blockchain","wallet","balance"],"output_example":{"product":"scanpay.wallet_balance","network":"base","chain_id":"eip155:8453","address":"0x1E04f5046500e5369E17AF993Dc60aC29D83efc9","native_wei":1000000000000000,"native":0.001,"price_usd":0.003,"tokens":[{"token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","raw":1000000}]},"input_example":{"address":"0x1E04f5046500e5369E17AF993Dc60aC29D83efc9","tokens":[]},"input_schema":{"type":"object","properties":{"address":{"type":"string"},"tokens":{"type":"array","items":{"type":"string"}},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address"]},"name":"Wallet balance - native + ERC-20"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/wallet-balance","method":"POST","price_usd":0.001,"description":"Get a wallet balance: native ETH/Base balance plus up to 20 caller-supplied ERC-20 balances via eth_call. ","tags":["blockchain","wallet","balance"],"output_example":{"product":"scanpay.wallet_balance","network":"base","chain_id":"eip155:8453","address":"0x1E04f5046500e5369E17AF993Dc60aC29D83efc9","native_wei":1000000000000000,"native":0.001,"price_usd":0.003,"tokens":[{"token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","raw":1000000}]},"input_example":{"address":"0x1E04f5046500e5369E17AF993Dc60aC29D83efc9","tokens":[]},"input_schema":{"type":"object","properties":{"address":{"type":"string"},"tokens":{"type":"array","items":{"type":"string"}},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address"]},"name":"Wallet balance - native + ERC-20"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/tx-logs","method":"GET","price_usd":0.01,"description":"Get event logs via eth_getLogs for a contract address on Base or Ethereum: count plus block, tx hash, topics and data preview, with optional topic0 filter.","tags":["blockchain","logs","events"],"output_example":{"product":"scanpay.tx_logs","network":"base","chain_id":"eip155:8453","address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","from_block":53334036,"to_block":53336036,"count":1,"price_usd":0.005,"logs":[{"block_number":53336036,"tx_hash":"0x834f01e6c76729c794c675897b02457c9ede43101dd93749f07b78001378d8a3","log_index":0,"topics":["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"],"data":"0x0000000000000000000000000000000000000000000000000000000000000001"}]},"input_example":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","blocks":2000,"limit":50},"input_schema":{"type":"object","properties":{"address":{"type":"string"},"topic0":{"type":"string"},"blocks":{"type":"integer"},"limit":{"type":"integer"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address"]},"name":"Event logs - eth_getLogs"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/tx-logs","method":"POST","price_usd":0.01,"description":"Get event logs via eth_getLogs for a contract address on Base or Ethereum: count plus block, tx hash, topics and data preview, with optional topic0 filter.","tags":["blockchain","logs","events"],"output_example":{"product":"scanpay.tx_logs","network":"base","chain_id":"eip155:8453","address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","from_block":53334036,"to_block":53336036,"count":1,"price_usd":0.005,"logs":[{"block_number":53336036,"tx_hash":"0x834f01e6c76729c794c675897b02457c9ede43101dd93749f07b78001378d8a3","log_index":0,"topics":["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"],"data":"0x0000000000000000000000000000000000000000000000000000000000000001"}]},"input_example":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","blocks":2000,"limit":50},"input_schema":{"type":"object","properties":{"address":{"type":"string"},"topic0":{"type":"string"},"blocks":{"type":"integer"},"limit":{"type":"integer"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address"]},"name":"Event logs - eth_getLogs"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/nft-metadata","method":"GET","price_usd":0.01,"description":"Get NFT metadata for an ERC-721 or ERC-1155 token id: tokenURI/uri (returned as-is), collection name and symbol via eth_call on Base or Ethereum.","tags":["blockchain","nft","metadata"],"output_example":{"product":"scanpay.nft_metadata","network":"base","chain_id":"eip155:8453","address":"0x0000000000000000000000000000000000000001","token_id":1,"is_contract":true,"standard":"erc721","token_uri":"ipfs://QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco/1","collection_name":"Example NFT","collection_symbol":"EXMPL","uri_scheme":"ipfs","note":"token_uri is returned as-is; external URIs are not fetched.","price_usd":0.008},"input_example":{"address":"0x0000000000000000000000000000000000000001","token_id":1},"input_schema":{"type":"object","properties":{"address":{"type":"string"},"token_id":{"type":"integer"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address","token_id"]},"name":"NFT metadata - tokenURI"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/nft-metadata","method":"POST","price_usd":0.01,"description":"Get NFT metadata for an ERC-721 or ERC-1155 token id: tokenURI/uri (returned as-is), collection name and symbol via eth_call on Base or Ethereum.","tags":["blockchain","nft","metadata"],"output_example":{"product":"scanpay.nft_metadata","network":"base","chain_id":"eip155:8453","address":"0x0000000000000000000000000000000000000001","token_id":1,"is_contract":true,"standard":"erc721","token_uri":"ipfs://QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco/1","collection_name":"Example NFT","collection_symbol":"EXMPL","uri_scheme":"ipfs","note":"token_uri is returned as-is; external URIs are not fetched.","price_usd":0.008},"input_example":{"address":"0x0000000000000000000000000000000000000001","token_id":1},"input_schema":{"type":"object","properties":{"address":{"type":"string"},"token_id":{"type":"integer"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address","token_id"]},"name":"NFT metadata - tokenURI"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/fx-rate","method":"GET","price_usd":0.001,"description":"Get an FX rate: currency exchange rate between two currencies (ECB).","tags":["finance","fx","rates","agents"],"output_example":{"base":"USD","quote":"EUR","rate":0.89509,"date":"2026-10-30","source":"frankfurter-ecb"},"input_example":{"base":"USD","quote":"EUR"},"input_schema":{"type":"object","properties":{"base":{"type":"string"},"quote":{"type":"string"}},"required":["base","quote"]},"name":"FX rate"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/fx-rate","method":"POST","price_usd":0.001,"description":"Get an FX rate: currency exchange rate between two currencies (ECB).","tags":["finance","fx","rates","agents"],"output_example":{"base":"USD","quote":"EUR","rate":0.89509,"date":"2026-10-30","source":"frankfurter-ecb"},"input_example":{"base":"USD","quote":"EUR"},"input_schema":{"type":"object","properties":{"base":{"type":"string"},"quote":{"type":"string"}},"required":["base","quote"]},"name":"FX rate"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/hash","method":"GET","price_usd":0.001,"description":"Compute hashes: sha256 and keccak256 of text or hex.","tags":["crypto","hash","utility","agents"],"output_example":{"product":"scanpay.hash","sha256":"2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824","keccak256":"1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","bytes":5},"input_example":{"text":"hello"},"input_schema":{"type":"object","properties":{"text":{"type":"string","description":"Text string to hash"},"hex":{"type":"string","description":"Hex string (0x-prefixed or raw)"}}},"name":"Hash (sha256, keccak256)"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/hash","method":"POST","price_usd":0.001,"description":"Compute hashes: sha256 and keccak256 of text or hex.","tags":["crypto","hash","utility","agents"],"input_example":{"text":"hello"},"output_example":{"product":"scanpay.hash","sha256":"2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824","keccak256":"1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","bytes":5},"input_schema":{"type":"object","properties":{"text":{"type":"string","description":"Text string to hash"},"hex":{"type":"string","description":"Hex string (0x-prefixed or raw)"}}},"name":"Hash (sha256, keccak256)"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/perp-funding","method":"GET","price_usd":0.001,"description":"Funding rates data feed for crypto perpetuals and derivatives trading: compare multi-venue perpetual funding rates from Binance, Bybit and Hyperliquid for BTC, ETH or SOL. JSON includes 8h-normalized rates, annualized APR, mark prices, next funding times and indicative long/short spreads before fees. Pollable snapshot with a 5-second cache, not a historical or streaming feed. Hyperliquid next funding time is null; OKX is not supported. Spreads and APR are not realized returns.","tags":["crypto","funding","funding-rates","perpetuals","derivatives","market-data","agents"],"input_example":{"symbol":"BTC","venues":"binance,bybit,hyperliquid"},"output_example":{"product":"scanpay.perp_funding","symbol":"BTC","as_of_ms":1793491200000,"venues":{"binance":{"funding_8h_rate":0.0001,"apr_pct":10.95,"mark_price":77538.0,"next_funding_ms":1793520000000},"bybit":{"funding_8h_rate":0.0002,"apr_pct":21.9,"mark_price":77540.0,"next_funding_ms":1793520000000},"hyperliquid":{"funding_8h_rate":8e-05,"apr_pct":8.76,"mark_price":77539.0,"next_funding_ms":null}},"max_arb_spread":{"long_venue":"hyperliquid","short_venue":"bybit","net_8h_spread_bps":1.2,"annualized_spread_pct":13.14},"price_usd":0.001,"results":[{"symbol":"BTCUSDT","mark_price":77538.0,"last_funding_rate":0.0001,"next_funding_time":1793520000000}],"errors":{}},"input_schema":{"type":"object","properties":{"symbol":{"type":"string","default":"BTC","description":"Perpetual funding rates for a base asset or USDT symbol (BTC, ETH, SOL); takes precedence over symbols"},"symbols":{"type":"array","maxItems":20,"items":{"type":"string"},"description":"Legacy symbols; first symbol supplies top-level venues and spread"},"venues":{"type":"array","minItems":1,"maxItems":3,"items":{"type":"string","enum":["binance","bybit","hyperliquid"]},"default":["binance","bybit","hyperliquid"],"description":"Funding rate sources to compare: Binance, Bybit and Hyperliquid; OKX is not supported"}}},"name":"Perpetual funding rates: Binance, Bybit, Hyperliquid"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/perp-funding","method":"POST","price_usd":0.001,"description":"Funding rates data feed for crypto perpetuals and derivatives trading: compare multi-venue perpetual funding rates from Binance, Bybit and Hyperliquid for BTC, ETH or SOL. JSON includes 8h-normalized rates, annualized APR, mark prices, next funding times and indicative long/short spreads before fees. Pollable snapshot with a 5-second cache, not a historical or streaming feed. Hyperliquid next funding time is null; OKX is not supported. Spreads and APR are not realized returns.","tags":["crypto","funding","funding-rates","perpetuals","derivatives","market-data","agents"],"input_example":{"symbol":"BTC","venues":["binance","bybit","hyperliquid"]},"output_example":{"product":"scanpay.perp_funding","symbol":"BTC","as_of_ms":1793491200000,"venues":{"binance":{"funding_8h_rate":0.0001,"apr_pct":10.95,"mark_price":77538.0,"next_funding_ms":1793520000000},"bybit":{"funding_8h_rate":0.0002,"apr_pct":21.9,"mark_price":77540.0,"next_funding_ms":1793520000000},"hyperliquid":{"funding_8h_rate":8e-05,"apr_pct":8.76,"mark_price":77539.0,"next_funding_ms":null}},"max_arb_spread":{"long_venue":"hyperliquid","short_venue":"bybit","net_8h_spread_bps":1.2,"annualized_spread_pct":13.14},"price_usd":0.001,"results":[{"symbol":"BTCUSDT","mark_price":77538.0,"last_funding_rate":0.0001,"next_funding_time":1793520000000}],"errors":{}},"input_schema":{"type":"object","properties":{"symbol":{"type":"string","default":"BTC","description":"Perpetual funding rates for a base asset or USDT symbol (BTC, ETH, SOL); takes precedence over symbols"},"symbols":{"type":"array","maxItems":20,"items":{"type":"string"},"description":"Legacy symbols; first symbol supplies top-level venues and spread"},"venues":{"type":"array","minItems":1,"maxItems":3,"items":{"type":"string","enum":["binance","bybit","hyperliquid"]},"default":["binance","bybit","hyperliquid"],"description":"Funding rate sources to compare: Binance, Bybit and Hyperliquid; OKX is not supported"}}},"name":"Perpetual funding rates: Binance, Bybit, Hyperliquid"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/web-search","method":"GET","price_usd":0.01,"description":"Search the web: return result pages for a query (title, url, snippet). Search the web for agents.","tags":["search","web","research","agents"],"output_example":{"product":"scanpay.web_search","query":"fastapi python","results":[{"title":"FastAPI - FastAPI","url":"https://fastapi.tiangolo.com/","snippet":"FastAPI is a modern, fast (high-performance), web framework for building APIs with Python."}]},"input_example":{"query":"fastapi python","limit":5},"input_schema":{"type":"object","properties":{"query":{"type":"string","description":"Search query"},"limit":{"type":"integer","default":5,"maximum":10,"description":"Max results (1-10)"}},"required":["query"]},"name":"Web Search"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/web-search","method":"POST","price_usd":0.01,"description":"Search the web: return result pages for a query (title, url, snippet). Search the web for agents.","tags":["search","web","research","agents"],"input_example":{"query":"fastapi python","limit":5},"output_example":{"product":"scanpay.web_search","query":"fastapi python","results":[{"title":"FastAPI - FastAPI","url":"https://fastapi.tiangolo.com/","snippet":"FastAPI is a modern, fast (high-performance), web framework for building APIs with Python."}]},"input_schema":{"type":"object","properties":{"query":{"type":"string","description":"Search query"},"limit":{"type":"integer","default":5,"maximum":10,"description":"Max results (1-10)"}},"required":["query"]},"name":"Web Search"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/chat","method":"GET","price_usd":0.002,"description":"Generate an LLM chat completion: send a prompt or messages and get an answer from DeepSeek chat.","tags":["llm","chat","deepseek","ai","agents"],"output_example":{"product":"scanpay.chat","reply":"Hello! How can I assist you today?","model":"deepseek-chat","usage":{"prompt_tokens":10,"completion_tokens":20},"price_usd":0.02},"input_example":{"prompt":"Hello","max_tokens":300},"input_schema":{"type":"object","properties":{"prompt":{"type":"string","description":"User prompt (max 8000 chars)"},"messages":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant","system"]},"content":{"type":"string"}},"required":["role","content"]},"description":"Conversation messages"},"max_tokens":{"type":"integer","default":300,"maximum":400,"description":"Max tokens (1-400)"}}},"name":"LLM chat completion"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/chat","method":"POST","price_usd":0.002,"description":"Generate an LLM chat completion: send a prompt or messages and get an answer from DeepSeek chat.","tags":["llm","chat","deepseek","ai","agents"],"input_example":{"prompt":"Hello","max_tokens":300},"output_example":{"product":"scanpay.chat","reply":"Hello! How can I assist you today?","model":"deepseek-chat","usage":{"prompt_tokens":10,"completion_tokens":20},"price_usd":0.02},"input_schema":{"type":"object","properties":{"prompt":{"type":"string","description":"User prompt (max 8000 chars)"},"messages":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant","system"]},"content":{"type":"string"}},"required":["role","content"]},"description":"Conversation messages"},"max_tokens":{"type":"integer","default":300,"maximum":400,"description":"Max tokens (1-400)"}}},"name":"LLM chat completion"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/demand-radar","method":"GET","price_usd":0.005,"description":"Analyze demand signals: aggregated x402 demand signals from live traffic (which endpoints agents probe and pay).","tags":["telemetry","analytics","market-demand","agents"],"output_example":{"product":"scanpay.demand_radar","window_hours":24,"total_challenges":100,"by_path":[{"path":"/api/v1/quick","challenges":50,"payment_attempts":2}],"by_user_agent":[{"ua":"Agent402/1.0","challenges":30}],"paid_products":[{"product":"scanpay.quick","deliveries":2}],"notes":"aggregated from our own traffic logs; no buyer identity"},"input_example":{"window_hours":24},"input_schema":{"type":"object","properties":{"window_hours":{"type":"integer","default":24,"description":"Lookback window in hours (default 24)"}}},"name":"Demand radar"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/demand-radar","method":"POST","price_usd":0.005,"description":"Analyze demand signals: aggregated x402 demand signals from live traffic (which endpoints agents probe and pay).","tags":["telemetry","analytics","market-demand","agents"],"input_example":{"window_hours":24},"output_example":{"product":"scanpay.demand_radar","window_hours":24,"total_challenges":100,"by_path":[{"path":"/api/v1/quick","challenges":50,"payment_attempts":2}],"by_user_agent":[{"ua":"Agent402/1.0","challenges":30}],"paid_products":[{"product":"scanpay.quick","deliveries":2}],"notes":"aggregated from our own traffic logs; no buyer identity"},"input_schema":{"type":"object","properties":{"window_hours":{"type":"integer","default":24,"description":"Lookback window in hours (default 24)"}}},"name":"Demand radar"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/search","method":"GET","price_usd":0.01,"description":"Search the web: return result pages for a query (title, url, snippet). Search the web for agents.","tags":["search","web","research","agents"],"output_example":{"product":"scanpay.web_search","query":"fastapi python","results":[{"title":"FastAPI - FastAPI","url":"https://fastapi.tiangolo.com/","snippet":"FastAPI is a modern, fast (high-performance), web framework for building APIs with Python."}]},"input_example":{"query":"fastapi python","limit":5},"input_schema":{"type":"object","properties":{"query":{"type":"string","description":"Search query"},"limit":{"type":"integer","default":5,"maximum":10,"description":"Max results (1-10)"}},"required":["query"]},"name":"Web Search"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/search","method":"POST","price_usd":0.01,"description":"Search the web: return result pages for a query (title, url, snippet). Search the web for agents.","tags":["search","web","research","agents"],"input_example":{"query":"fastapi python","limit":5},"output_example":{"product":"scanpay.web_search","query":"fastapi python","results":[{"title":"FastAPI - FastAPI","url":"https://fastapi.tiangolo.com/","snippet":"FastAPI is a modern, fast (high-performance), web framework for building APIs with Python."}]},"input_schema":{"type":"object","properties":{"query":{"type":"string","description":"Search query"},"limit":{"type":"integer","default":5,"maximum":10,"description":"Max results (1-10)"}},"required":["query"]},"name":"Web Search"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/gas","method":"GET","price_usd":0.001,"description":"Estimate gas fees: live gas price and slow/normal/fast estimates for Base or Ethereum.","tags":["crypto","gas","fees","agents"],"output_example":{"network":"base","gas_price_gwei":0.006,"base_fee_gwei":0.005,"estimates":{"slow":{"max_fee_gwei":0.055},"normal":{"max_fee_gwei":0.155}}},"input_example":{"network":"base"},"input_schema":{"type":"object","properties":{"network":{"type":"string","enum":["base","ethereum"]}}},"name":"Gas estimate"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/gas","method":"POST","price_usd":0.001,"description":"Estimate gas fees: live gas price and slow/normal/fast estimates for Base or Ethereum.","tags":["crypto","gas","fees","agents"],"output_example":{"network":"base","gas_price_gwei":0.006,"base_fee_gwei":0.005,"estimates":{"slow":{"max_fee_gwei":0.055},"normal":{"max_fee_gwei":0.155}}},"input_example":{"network":"base"},"input_schema":{"type":"object","properties":{"network":{"type":"string","enum":["base","ethereum"]}}},"name":"Gas estimate"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/chat-prompt","method":"GET","price_usd":0.002,"description":"Single-prompt LLM chat: send one prompt string and get one assistant reply (OpenAI-compatible backend), simple JSON in/out","output_example":{"product":"scanpay.chat_prompt","reply":"OK"},"input_example":{"prompt":"Say OK"},"input_schema":{"type":"object","required":["prompt"],"properties":{"prompt":{"type":"string","minLength":1,"maxLength":4000},"max_tokens":{"type":"integer","minimum":16,"maximum":512,"default":256}}},"tags":["chat","llm","prompt","agents"],"name":"Single-prompt LLM chat"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/chat-prompt","method":"POST","price_usd":0.002,"description":"Single-prompt LLM chat: send one prompt string and get one assistant reply (OpenAI-compatible backend), simple JSON in/out","output_example":{"product":"scanpay.chat_prompt","reply":"OK"},"input_example":{"prompt":"Say OK"},"input_schema":{"type":"object","required":["prompt"],"properties":{"prompt":{"type":"string","minLength":1,"maxLength":4000},"max_tokens":{"type":"integer","minimum":16,"maximum":512,"default":256}}},"tags":["chat","llm","prompt","agents"],"name":"Single-prompt LLM chat"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/v1/chat/completions","method":"GET","price_usd":0.002,"description":"OpenAI-compatible LLM chat completions and llm inference via DeepSeek (up to 2048 tokens); drop-in OpenAI base_url.","output_example":{"id":"chatcmpl-sp-0123456789abcdef","object":"chat.completion","created":1793462400,"model":"deepseek-chat","choices":[{"index":0,"message":{"role":"assistant","content":"Hello!"},"finish_reason":"stop"}],"usage":{"prompt_tokens":5,"completion_tokens":2,"total_tokens":7},"_receipt":{"price_usd":0.002}},"input_example":{"model":"deepseek-chat","messages":[{"role":"user","content":"Hello"}],"max_tokens":512},"input_schema":{"type":"object","required":["messages"],"properties":{"model":{"type":"string"},"messages":{"type":"array","minItems":1,"maxItems":20,"items":{"type":"object","required":["role","content"],"properties":{"role":{"type":"string","enum":["user","assistant","system"]},"content":{"type":"string","maxLength":8000}}}},"max_tokens":{"type":"integer","minimum":1,"default":512,"description":"Capped at 2048 tokens"},"temperature":{"type":"number","minimum":0,"maximum":2},"response_format":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["text","json_object"]}}}}},"tags":["llm","chat","agents"],"name":"OpenAI-compatible chat completions"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/v1/chat/completions","method":"POST","price_usd":0.002,"description":"OpenAI-compatible LLM chat completions and llm inference via DeepSeek (up to 2048 tokens); drop-in OpenAI base_url.","output_example":{"id":"chatcmpl-sp-0123456789abcdef","object":"chat.completion","created":1793462400,"model":"deepseek-chat","choices":[{"index":0,"message":{"role":"assistant","content":"Hello!"},"finish_reason":"stop"}],"usage":{"prompt_tokens":5,"completion_tokens":2,"total_tokens":7},"_receipt":{"price_usd":0.002}},"input_example":{"model":"deepseek-chat","messages":[{"role":"user","content":"Hello"}],"max_tokens":512},"input_schema":{"type":"object","required":["messages"],"properties":{"model":{"type":"string"},"messages":{"type":"array","minItems":1,"maxItems":20,"items":{"type":"object","required":["role","content"],"properties":{"role":{"type":"string","enum":["user","assistant","system"]},"content":{"type":"string","maxLength":8000}}}},"max_tokens":{"type":"integer","minimum":1,"default":512,"description":"Capped at 2048 tokens"},"temperature":{"type":"number","minimum":0,"maximum":2},"response_format":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["text","json_object"]}}}}},"tags":["llm","chat","agents"],"name":"OpenAI-compatible chat completions"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/v1/chat/nano","method":"GET","price_usd":0.002,"description":"OpenAI-compatible nano LLM chat completion and llm inference via DeepSeek (up to 500 tokens).","output_example":{"id":"chatcmpl-sp-0123456789abcdef","object":"chat.completion","created":1793462400,"model":"deepseek-chat","choices":[{"index":0,"message":{"role":"assistant","content":"Hello!"},"finish_reason":"stop"}],"usage":{"prompt_tokens":5,"completion_tokens":2,"total_tokens":7},"_receipt":{"price_usd":0.002}},"input_example":{"model":"deepseek-chat","messages":[{"role":"user","content":"Hello"}],"max_tokens":256},"input_schema":{"type":"object","required":["messages"],"properties":{"model":{"type":"string"},"messages":{"type":"array","minItems":1,"maxItems":20,"items":{"type":"object","required":["role","content"],"properties":{"role":{"type":"string","enum":["user","assistant","system"]},"content":{"type":"string","maxLength":4000}}}},"max_tokens":{"type":"integer","minimum":1,"default":256,"description":"Capped at 500 tokens"},"temperature":{"type":"number","minimum":0,"maximum":2},"response_format":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["text","json_object"]}}}}},"tags":["llm","chat","agents"],"name":"OpenAI-compatible chat nano"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/v1/chat/nano","method":"POST","price_usd":0.002,"description":"OpenAI-compatible nano LLM chat completion and llm inference via DeepSeek (up to 500 tokens).","output_example":{"id":"chatcmpl-sp-0123456789abcdef","object":"chat.completion","created":1793462400,"model":"deepseek-chat","choices":[{"index":0,"message":{"role":"assistant","content":"Hello!"},"finish_reason":"stop"}],"usage":{"prompt_tokens":5,"completion_tokens":2,"total_tokens":7},"_receipt":{"price_usd":0.002}},"input_example":{"model":"deepseek-chat","messages":[{"role":"user","content":"Hello"}],"max_tokens":256},"input_schema":{"type":"object","required":["messages"],"properties":{"model":{"type":"string"},"messages":{"type":"array","minItems":1,"maxItems":20,"items":{"type":"object","required":["role","content"],"properties":{"role":{"type":"string","enum":["user","assistant","system"]},"content":{"type":"string","maxLength":4000}}}},"max_tokens":{"type":"integer","minimum":1,"default":256,"description":"Capped at 500 tokens"},"temperature":{"type":"number","minimum":0,"maximum":2},"response_format":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["text","json_object"]}}}}},"tags":["llm","chat","agents"],"name":"OpenAI-compatible chat nano"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/spl-mint-audit","method":"GET","price_usd":0.001,"description":"Audit a Solana SPL token mint: mint/freeze authorities, supply, decimals, risk flags","output_example":{"product":"scanpay.spl_mint_audit","network":"solana","mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","owner_program":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA","is_initialized":true,"decimals":6,"supply_raw":"1000000","supply_ui":1.0,"mint_authority":null,"freeze_authority":null,"mint_authority_revoked":true,"freeze_authority_revoked":true,"risk_score":10,"verdict":"LOW_RISK","reasons":["Mint authority is revoked","Freeze authority is revoked"],"source":"solana-mainnet-rpc","timestamp_ms":1793491200000,"flags":{"mint_authority_active":false,"freeze_authority_present":false,"uninitialized":false},"risk_level":"low","findings":["Mint authority is revoked.","No freeze authority is present."],"price_usd":0.001,"as_of_ms":1793491200000},"input_example":{"mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","network":"solana"},"input_schema":{"type":"object","required":["mint"],"properties":{"mint":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"network":{"type":"string","enum":["solana"],"default":"solana"}}},"tags":["solana","spl","token","security","agents"],"name":"Solana SPL mint audit"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/spl-mint-audit","method":"POST","price_usd":0.001,"description":"Audit a Solana SPL token mint: mint/freeze authorities, supply, decimals, risk flags","output_example":{"product":"scanpay.spl_mint_audit","network":"solana","mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","owner_program":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA","is_initialized":true,"decimals":6,"supply_raw":"1000000","supply_ui":1.0,"mint_authority":null,"freeze_authority":null,"mint_authority_revoked":true,"freeze_authority_revoked":true,"risk_score":10,"verdict":"LOW_RISK","reasons":["Mint authority is revoked","Freeze authority is revoked"],"source":"solana-mainnet-rpc","timestamp_ms":1793491200000,"flags":{"mint_authority_active":false,"freeze_authority_present":false,"uninitialized":false},"risk_level":"low","findings":["Mint authority is revoked.","No freeze authority is present."],"price_usd":0.001,"as_of_ms":1793491200000},"input_example":{"mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","network":"solana"},"input_schema":{"type":"object","required":["mint"],"properties":{"mint":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"network":{"type":"string","enum":["solana"],"default":"solana"}}},"tags":["solana","spl","token","security","agents"],"name":"Solana SPL mint audit"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/receipt-verify","method":"GET","price_usd":0.001,"description":"Verify a ScanPay x402 delivery receipt: EIP-191 signer, canonical hash and output sha256","output_example":{"product":"scanpay.receipt_verify","valid":false,"scheme":null,"signer":"0x1E04f5046500e5369E17AF993Dc60aC29D83efc9","expected_signer":"0x1E04f5046500e5369E17AF993Dc60aC29D83efc9","report_hash":"0x44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a","tx":null,"path":null,"method":null,"network":null,"payer":null,"output_sha256":null,"body_matches":null,"checks":{"signature":false,"report_hash":false,"scheme":false,"body":null},"error":"malformed receipt","price_usd":0.001},"input_example":{"receipt":"eyJyZWNlaXB0Ijp7fSwiYXR0ZXN0YXRpb24iOnt9fQ=="},"input_schema":{"type":"object","required":["receipt"],"properties":{"receipt":{"oneOf":[{"type":"string","description":"Base64 encoded delivery receipt JSON"},{"type":"object","required":["receipt","attestation"],"properties":{"receipt":{"type":"object"},"attestation":{"type":"object"}}}]},"expected_sha256":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"},"body_base64":{"type":"string"}}},"tags":["x402","receipts","verification","agents"],"name":"x402 receipt verification"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/receipt-verify","method":"POST","price_usd":0.001,"description":"Verify a ScanPay x402 delivery receipt: EIP-191 signer, canonical hash and output sha256","output_example":{"product":"scanpay.receipt_verify","valid":false,"scheme":null,"signer":"0x1E04f5046500e5369E17AF993Dc60aC29D83efc9","expected_signer":"0x1E04f5046500e5369E17AF993Dc60aC29D83efc9","report_hash":"0x44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a","tx":null,"path":null,"method":null,"network":null,"payer":null,"output_sha256":null,"body_matches":null,"checks":{"signature":false,"report_hash":false,"scheme":false,"body":null},"error":"malformed receipt","price_usd":0.001},"input_example":{"receipt":"eyJyZWNlaXB0Ijp7fSwiYXR0ZXN0YXRpb24iOnt9fQ=="},"input_schema":{"type":"object","required":["receipt"],"properties":{"receipt":{"oneOf":[{"type":"string","description":"Base64 encoded delivery receipt JSON"},{"type":"object","required":["receipt","attestation"],"properties":{"receipt":{"type":"object"},"attestation":{"type":"object"}}}]},"expected_sha256":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"},"body_base64":{"type":"string"}}},"tags":["x402","receipts","verification","agents"],"name":"x402 receipt verification"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/token-price-by-contract","method":"GET","price_usd":0.001,"description":"Get a token price by contract address or mint on Base, Ethereum or Solana: DexScreener price, liquidity, volume and pair info","output_example":{"product":"scanpay.token_price","chain":"base","address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","found":true,"price_usd":1.0,"price_native":0.0004,"symbol":"USDC","name":"USD Coin","pair_address":"0x1111111111111111111111111111111111111111","dex_id":"uniswap","liquidity_usd":1000000.0,"fdv_usd":1000000.0,"market_cap_usd":null,"volume_24h_usd":100000.0,"price_change_24h_pct":0.01,"quote_token":{"symbol":"WETH","address":"0x2222222222222222222222222222222222222222","name":"Wrapped Ether"},"as_of_ms":1793491200000,"price_source":"dexscreener"},"input_example":{"chain":"base","address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","vs":"usd"},"input_schema":{"type":"object","required":["address"],"properties":{"chain":{"type":"string","enum":["base","ethereum","solana"],"default":"base"},"address":{"type":"string","pattern":"^(0x[0-9a-fA-F]{40}|[1-9A-HJ-NP-Za-km-z]{32,44})$"},"vs":{"type":"string","enum":["usd"],"default":"usd"}}},"tags":["crypto","price","token","solana","base","ethereum","dexscreener","agents"],"name":"Token price (Base, Ethereum, Solana)"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/token-price-by-contract","method":"POST","price_usd":0.001,"description":"Get a token price by contract address or mint on Base, Ethereum or Solana: DexScreener price, liquidity, volume and pair info","output_example":{"product":"scanpay.token_price","chain":"base","address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","found":true,"price_usd":1.0,"price_native":0.0004,"symbol":"USDC","name":"USD Coin","pair_address":"0x1111111111111111111111111111111111111111","dex_id":"uniswap","liquidity_usd":1000000.0,"fdv_usd":1000000.0,"market_cap_usd":null,"volume_24h_usd":100000.0,"price_change_24h_pct":0.01,"quote_token":{"symbol":"WETH","address":"0x2222222222222222222222222222222222222222","name":"Wrapped Ether"},"as_of_ms":1793491200000,"price_source":"dexscreener"},"input_example":{"chain":"base","address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","vs":"usd"},"input_schema":{"type":"object","required":["address"],"properties":{"chain":{"type":"string","enum":["base","ethereum","solana"],"default":"base"},"address":{"type":"string","pattern":"^(0x[0-9a-fA-F]{40}|[1-9A-HJ-NP-Za-km-z]{32,44})$"},"vs":{"type":"string","enum":["usd"],"default":"usd"}}},"tags":["crypto","price","token","solana","base","ethereum","dexscreener","agents"],"name":"Token price (Base, Ethereum, Solana)"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/solana-token-metadata","method":"GET","price_usd":0.001,"description":"Solana SPL token metadata: name, symbol, uri, update authority, mutability, decimals and supply for a mint","output_example":{"product":"scanpay.solana_token_metadata","mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","supply_raw":"1000000","price_usd":0.001,"as_of_ms":1793491200000,"decimals":6,"supply_ui":1.0,"mint_authority":null,"freeze_authority":null,"program":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA","is_initialized":true,"found_metadata":false,"name":null,"symbol":null,"uri":null,"seller_fee_basis_points":null,"update_authority":null,"is_mutable":null},"input_example":{"mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"},"input_schema":{"type":"object","required":["mint"],"properties":{"mint":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"}}},"tags":["solana","spl","token","metadata","agents"],"name":"Solana token metadata"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/solana-token-metadata","method":"POST","price_usd":0.001,"description":"Solana SPL token metadata: name, symbol, uri, update authority, mutability, decimals and supply for a mint","output_example":{"product":"scanpay.solana_token_metadata","mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","supply_raw":"1000000","price_usd":0.001,"as_of_ms":1793491200000,"decimals":6,"supply_ui":1.0,"mint_authority":null,"freeze_authority":null,"program":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA","is_initialized":true,"found_metadata":false,"name":null,"symbol":null,"uri":null,"seller_fee_basis_points":null,"update_authority":null,"is_mutable":null},"input_example":{"mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"},"input_schema":{"type":"object","required":["mint"],"properties":{"mint":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"}}},"tags":["solana","spl","token","metadata","agents"],"name":"Solana token metadata"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/crypto-news","method":"GET","price_usd":0.001,"description":"Crypto news summary: latest headlines from Cointelegraph and Decrypt with links and summaries, filterable by keyword","output_example":{"product":"scanpay.crypto_news","count":1,"limit":10,"sources":["cointelegraph","decrypt"],"items":[{"title":"Bitcoin headline","url":"https://decrypt.co/example","source":"decrypt","published_at":"2026-11-01T00:00:00+00:00","summary":"Example news summary."}],"as_of_ms":1793491200000,"price_usd":0.001,"cached":false},"input_example":{"limit":10,"query":"bitcoin","sources":["cointelegraph","decrypt"]},"input_schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":25,"default":10},"query":{"type":"string","description":"Case-insensitive substring in title or summary"},"sources":{"type":"array","items":{"type":"string","enum":["cointelegraph","decrypt"]},"default":["cointelegraph","decrypt"]}}},"tags":["crypto","news","summary","agents"],"name":"Crypto news summary"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/crypto-news","method":"POST","price_usd":0.001,"description":"Crypto news summary: latest headlines from Cointelegraph and Decrypt with links and summaries, filterable by keyword","output_example":{"product":"scanpay.crypto_news","count":1,"limit":10,"sources":["cointelegraph","decrypt"],"items":[{"title":"Bitcoin headline","url":"https://decrypt.co/example","source":"decrypt","published_at":"2026-11-01T00:00:00+00:00","summary":"Example news summary."}],"as_of_ms":1793491200000,"price_usd":0.001,"cached":false},"input_example":{"limit":10,"query":"bitcoin","sources":["cointelegraph","decrypt"]},"input_schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":25,"default":10},"query":{"type":"string","description":"Case-insensitive substring in title or summary"},"sources":{"type":"array","items":{"type":"string","enum":["cointelegraph","decrypt"]},"default":["cointelegraph","decrypt"]}}},"tags":["crypto","news","summary","agents"],"name":"Crypto news summary"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/base-gas-history","method":"GET","price_usd":0.002,"description":"Base gas price history: base fee, gas used/limit, utilization and transaction counts for the last N Base blocks, plus average/min/max, trend and suggested max fee","output_example":{"product":"scanpay.base_gas_history","network":"eip155:8453","blocks_requested":5,"blocks_returned":5,"from_block":20000000,"to_block":20000004,"history":[{"number":20000000,"timestamp":1720000000,"base_fee_gwei":0.001,"gas_used":10000000,"gas_limit":30000000,"utilization_pct":33.33,"tx_count":100},{"number":20000001,"timestamp":1720000002,"base_fee_gwei":0.001,"gas_used":10000000,"gas_limit":30000000,"utilization_pct":33.33,"tx_count":100},{"number":20000002,"timestamp":1720000004,"base_fee_gwei":0.001,"gas_used":10000000,"gas_limit":30000000,"utilization_pct":33.33,"tx_count":100},{"number":20000003,"timestamp":1720000006,"base_fee_gwei":0.001,"gas_used":10000000,"gas_limit":30000000,"utilization_pct":33.33,"tx_count":100},{"number":20000004,"timestamp":1720000008,"base_fee_gwei":0.001,"gas_used":10000000,"gas_limit":30000000,"utilization_pct":33.33,"tx_count":100}],"summary":{"avg_base_fee_gwei":0.001,"min_base_fee_gwei":0.001,"max_base_fee_gwei":0.001,"trend_pct":0.0,"avg_utilization_pct":33.33,"suggested_max_fee_gwei":0.00125,"suggested_priority_fee_gwei":0.001},"as_of_ms":1720000000000,"cached":false,"price_usd":0.002},"input_example":{"blocks":5},"input_schema":{"type":"object","properties":{"blocks":{"type":"integer","minimum":5,"maximum":50,"default":20}}},"tags":["base","gas","fees","history","agents"],"name":"Base gas price history"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/base-gas-history","method":"POST","price_usd":0.002,"description":"Base gas price history: base fee, gas used/limit, utilization and transaction counts for the last N Base blocks, plus average/min/max, trend and suggested max fee","output_example":{"product":"scanpay.base_gas_history","network":"eip155:8453","blocks_requested":5,"blocks_returned":5,"from_block":20000000,"to_block":20000004,"history":[{"number":20000000,"timestamp":1720000000,"base_fee_gwei":0.001,"gas_used":10000000,"gas_limit":30000000,"utilization_pct":33.33,"tx_count":100},{"number":20000001,"timestamp":1720000002,"base_fee_gwei":0.001,"gas_used":10000000,"gas_limit":30000000,"utilization_pct":33.33,"tx_count":100},{"number":20000002,"timestamp":1720000004,"base_fee_gwei":0.001,"gas_used":10000000,"gas_limit":30000000,"utilization_pct":33.33,"tx_count":100},{"number":20000003,"timestamp":1720000006,"base_fee_gwei":0.001,"gas_used":10000000,"gas_limit":30000000,"utilization_pct":33.33,"tx_count":100},{"number":20000004,"timestamp":1720000008,"base_fee_gwei":0.001,"gas_used":10000000,"gas_limit":30000000,"utilization_pct":33.33,"tx_count":100}],"summary":{"avg_base_fee_gwei":0.001,"min_base_fee_gwei":0.001,"max_base_fee_gwei":0.001,"trend_pct":0.0,"avg_utilization_pct":33.33,"suggested_max_fee_gwei":0.00125,"suggested_priority_fee_gwei":0.001},"as_of_ms":1720000000000,"cached":false,"price_usd":0.002},"input_example":{"blocks":5},"input_schema":{"type":"object","properties":{"blocks":{"type":"integer","minimum":5,"maximum":50,"default":20}}},"tags":["base","gas","fees","history","agents"],"name":"Base gas price history"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/base-block-explorer-search","method":"GET","price_usd":0.001,"description":"Base block explorer search: look up a Base block by number or hash and get timestamp, tx count, gas used/limit, base fee and explorer link; no input gets the latest block","output_example":{"product":"scanpay.base_block","found":true,"number":20000000,"hash":"0xabababababababababababababababababababababababababababababababab","parent_hash":"0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd","timestamp":1720000000,"timestamp_iso":"2024-07-03T09:46:40+00:00","transactions_count":100,"gas_used":10000000,"gas_limit":30000000,"base_fee_gwei":0.001,"miner":"0x0000000000000000000000000000000000000000","size":15000,"network":"eip155:8453","explorer_url":"https://basescan.org/block/20000000","price_usd":0.001,"as_of_ms":1720000000000,"cached":false},"input_example":{"block":20000000},"input_schema":{"type":"object","properties":{"block":{"anyOf":[{"type":"integer","minimum":0,"maximum":999999999},{"type":"string","pattern":"^[0-9]{1,10}$"}],"description":"Decimal block number >= 0 and < 1e9; omit both selectors for latest"},"block_hash":{"type":"string","pattern":"^0x[0-9a-fA-F]{64}$","description":"Block hash; takes precedence over block"}}},"tags":["base","blockchain","explorer","blocks","agents"],"name":"Base block explorer search"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/base-block-explorer-search","method":"POST","price_usd":0.001,"description":"Base block explorer search: look up a Base block by number or hash and get timestamp, tx count, gas used/limit, base fee and explorer link; no input gets the latest block","output_example":{"product":"scanpay.base_block","found":true,"number":20000000,"hash":"0xabababababababababababababababababababababababababababababababab","parent_hash":"0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd","timestamp":1720000000,"timestamp_iso":"2024-07-03T09:46:40+00:00","transactions_count":100,"gas_used":10000000,"gas_limit":30000000,"base_fee_gwei":0.001,"miner":"0x0000000000000000000000000000000000000000","size":15000,"network":"eip155:8453","explorer_url":"https://basescan.org/block/20000000","price_usd":0.001,"as_of_ms":1720000000000,"cached":false},"input_example":{"block":20000000},"input_schema":{"type":"object","properties":{"block":{"anyOf":[{"type":"integer","minimum":0,"maximum":999999999},{"type":"string","pattern":"^[0-9]{1,10}$"}],"description":"Decimal block number >= 0 and < 1e9; omit both selectors for latest"},"block_hash":{"type":"string","pattern":"^0x[0-9a-fA-F]{64}$","description":"Block hash; takes precedence over block"}}},"tags":["base","blockchain","explorer","blocks","agents"],"name":"Base block explorer search"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/stablecoin-peg-monitor","method":"GET","price_usd":0.001,"description":"Stablecoin peg monitor: live USDC/USDT/DAI USD prices, deviation from $1 in basis points and depeg flags","output_example":{"product":"scanpay.stablecoin_peg","threshold_bps":10,"as_of_ms":1793491200000,"coins":[{"symbol":"usdc","price_usd":1.0,"deviation_bps":0.0,"depegged":false,"source":"coinbase-spot"}],"cross_checks":{"usdc_usdt":{"price":1.0,"deviation_bps":0.0}},"flags":[],"price_usd":0.001,"cached":false},"input_example":{"symbols":["usdc","usdt","dai"],"threshold_bps":10},"input_schema":{"type":"object","properties":{"symbols":{"type":"array","minItems":1,"maxItems":3,"items":{"type":"string","enum":["usdc","usdt","dai"]},"default":["usdc","usdt","dai"]},"threshold_bps":{"type":"number","minimum":0,"default":10}}},"tags":["stablecoins","peg","prices","risk","agents"],"name":"Stablecoin peg monitor"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/stablecoin-peg-monitor","method":"POST","price_usd":0.001,"description":"Stablecoin peg monitor: live USDC/USDT/DAI USD prices, deviation from $1 in basis points and depeg flags","output_example":{"product":"scanpay.stablecoin_peg","threshold_bps":10,"as_of_ms":1793491200000,"coins":[{"symbol":"usdc","price_usd":1.0,"deviation_bps":0.0,"depegged":false,"source":"coinbase-spot"}],"cross_checks":{"usdc_usdt":{"price":1.0,"deviation_bps":0.0}},"flags":[],"price_usd":0.001,"cached":false},"input_example":{"symbols":["usdc","usdt","dai"],"threshold_bps":10},"input_schema":{"type":"object","properties":{"symbols":{"type":"array","minItems":1,"maxItems":3,"items":{"type":"string","enum":["usdc","usdt","dai"]},"default":["usdc","usdt","dai"]},"threshold_bps":{"type":"number","minimum":0,"default":10}}},"tags":["stablecoins","peg","prices","risk","agents"],"name":"Stablecoin peg monitor"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/sec-filings-search","method":"GET","price_usd":0.001,"description":"SEC filings search: full-text search of EDGAR filings by keyword/company, with form type, filing date, accession number and filing URL","output_example":{"product":"scanpay.sec_filings","query":"Apple 10-K","forms":"10-K","total":1,"returned":1,"filings":[{"company":"Apple Inc.","form_type":"10-K","filing_date":"2024-11-01","accession_no":"0000320193-24-000123","cik":"320193","url":"https://www.sec.gov/Archives/edgar/data/320193/000032019324000123/aapl-20240928.htm"}],"as_of_ms":1730419200000,"price_usd":0.001,"cached":false},"input_example":{"query":"Apple 10-K","forms":"10-K","limit":10},"input_schema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","minLength":1,"maxLength":200},"forms":{"type":"string","description":"Comma-separated SEC forms, e.g. 10-K,10-Q"},"limit":{"type":"integer","minimum":1,"maximum":20,"default":10},"date_from":{"type":"string","format":"date"},"date_to":{"type":"string","format":"date"}}},"tags":["sec","edgar","filings","finance","agents"],"name":"SEC filings search"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/sec-filings-search","method":"POST","price_usd":0.001,"description":"SEC filings search: full-text search of EDGAR filings by keyword/company, with form type, filing date, accession number and filing URL","output_example":{"product":"scanpay.sec_filings","query":"Apple 10-K","forms":"10-K","total":1,"returned":1,"filings":[{"company":"Apple Inc.","form_type":"10-K","filing_date":"2024-11-01","accession_no":"0000320193-24-000123","cik":"320193","url":"https://www.sec.gov/Archives/edgar/data/320193/000032019324000123/aapl-20240928.htm"}],"as_of_ms":1730419200000,"price_usd":0.001,"cached":false},"input_example":{"query":"Apple 10-K","forms":"10-K","limit":10},"input_schema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","minLength":1,"maxLength":200},"forms":{"type":"string","description":"Comma-separated SEC forms, e.g. 10-K,10-Q"},"limit":{"type":"integer","minimum":1,"maximum":20,"default":10},"date_from":{"type":"string","format":"date"},"date_to":{"type":"string","format":"date"}}},"tags":["sec","edgar","filings","finance","agents"],"name":"SEC filings search"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/bin-lookup","method":"GET","price_usd":0.001,"description":"Credit card BIN lookup: identify card scheme, type, brand, country and issuing bank from the first 6-8 digits (no full card, no PAN storage)","output_example":{"product":"scanpay.bin_lookup","bin":"457173","found":true,"scheme":"visa","type":"debit","brand":"Visa/Dankort","prepaid":false,"country":{"alpha2":"DK","name":"Denmark","emoji":"🇩🇰","currency":"DKK"},"bank":null,"as_of_ms":1730419200000,"price_usd":0.001,"cached":false},"input_example":{"bin":"457173"},"input_schema":{"type":"object","required":["bin"],"properties":{"bin":{"type":"string","pattern":"^[ -]*[0-9](?:[ -]*[0-9]){5,7}[ -]*$","description":"First 6-8 digits only; spaces and dashes allowed. Never send a full card number."}}},"tags":["payments","bin","cards","fraud","agents"],"name":"Credit card BIN lookup"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/bin-lookup","method":"POST","price_usd":0.001,"description":"Credit card BIN lookup: identify card scheme, type, brand, country and issuing bank from the first 6-8 digits (no full card, no PAN storage)","output_example":{"product":"scanpay.bin_lookup","bin":"457173","found":true,"scheme":"visa","type":"debit","brand":"Visa/Dankort","prepaid":false,"country":{"alpha2":"DK","name":"Denmark","emoji":"🇩🇰","currency":"DKK"},"bank":null,"as_of_ms":1730419200000,"price_usd":0.001,"cached":false},"input_example":{"bin":"457173"},"input_schema":{"type":"object","required":["bin"],"properties":{"bin":{"type":"string","pattern":"^[ -]*[0-9](?:[ -]*[0-9]){5,7}[ -]*$","description":"First 6-8 digits only; spaces and dashes allowed. Never send a full card number."}}},"tags":["payments","bin","cards","fraud","agents"],"name":"Credit card BIN lookup"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/x402-seller-reputation","method":"GET","price_usd":0.003,"description":"x402 seller reputation: check another x402 seller manifest, OpenAPI, 402 challenge, EIP-712 domain, networks, price range and catalogue size, with a 0-100 score and flags","output_example":{"product":"scanpay.x402_seller_reputation","origin":"https://scanpay-edge.alextaghiashvili.workers.dev","reachable":true,"manifest_ok":true,"openapi_ok":true,"has_llms":true,"endpoints_manifest":6,"endpoints_openapi":3,"price_min_usd":0.001,"price_max_usd":0.003,"pay_to_count":2,"networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"challenge":{"checked":true,"http_status":402,"accepts_count":2,"networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"has_eip712_domain":true,"price_usd":0.003},"score":100,"flags":[],"summary":"Discovery completeness score: 100/100; not a safety guarantee.","as_of_ms":1730419200000,"price_usd":0.003,"cached":false},"input_example":{"origin":"https://scanpay-edge.alextaghiashvili.workers.dev","max_probe":true},"input_schema":{"type":"object","required":["origin"],"properties":{"origin":{"type":"string","format":"uri","pattern":"^https://"},"max_probe":{"type":"boolean","default":true}}},"tags":["x402","reputation","security","agents"],"name":"x402 seller reputation"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/x402-seller-reputation","method":"POST","price_usd":0.003,"description":"x402 seller reputation: check another x402 seller manifest, OpenAPI, 402 challenge, EIP-712 domain, networks, price range and catalogue size, with a 0-100 score and flags","output_example":{"product":"scanpay.x402_seller_reputation","origin":"https://scanpay-edge.alextaghiashvili.workers.dev","reachable":true,"manifest_ok":true,"openapi_ok":true,"has_llms":true,"endpoints_manifest":6,"endpoints_openapi":3,"price_min_usd":0.001,"price_max_usd":0.003,"pay_to_count":2,"networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"challenge":{"checked":true,"http_status":402,"accepts_count":2,"networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"has_eip712_domain":true,"price_usd":0.003},"score":100,"flags":[],"summary":"Discovery completeness score: 100/100; not a safety guarantee.","as_of_ms":1730419200000,"price_usd":0.003,"cached":false},"input_example":{"origin":"https://scanpay-edge.alextaghiashvili.workers.dev","max_probe":true},"input_schema":{"type":"object","required":["origin"],"properties":{"origin":{"type":"string","format":"uri","pattern":"^https://"},"max_probe":{"type":"boolean","default":true}}},"tags":["x402","reputation","security","agents"],"name":"x402 seller reputation"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/reseller-kit","method":"GET","price_usd":0.0001,"description":"White-label reseller kit: terms, margin examples and x402 endpoints to resell or rebrand ScanPay APIs; pay list price and keep all markup","output_example":{"product":"scanpay.reseller_kit","program":"reseller","version":1,"list_price_model":"pay list price per call, reseller keeps all markup","rails":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"catalogue":"https://scanpay-edge.alextaghiashvili.workers.dev/catalogue.json","quickstart":"https://scanpay-edge.alextaghiashvili.workers.dev/x402-quickstart","partners":"https://scanpay-edge.alextaghiashvili.workers.dev/partners.json","transparency":"https://scanpay-edge.alextaghiashvili.workers.dev/transparency","examples":[{"path":"/api/v1/spl-mint-audit","list_price_usd":0.001,"suggested_resale_usd":0.01},{"path":"/v1/chat/completions","list_price_usd":0.002,"suggested_resale_usd":0.01}],"terms":["No signup, no API key, no contract","Reseller pays the x402 list price and keeps 100% of the markup","Contact via Nostr npub1pjfc2avypg0cdn8sdl2nhjcnlgjvydlfwyd5gd3uwxlk68j6vq8s80qevl for wholesale/prepaid deals"],"as_of_ms":1793491200000,"price_usd":0.0001},"input_example":{},"input_schema":{"type":"object","properties":{}},"tags":["reseller","partners","x402","agents"],"name":"ScanPay white-label reseller kit"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/reseller-kit","method":"POST","price_usd":0.0001,"description":"White-label reseller kit: terms, margin examples and x402 endpoints to resell or rebrand ScanPay APIs; pay list price and keep all markup","output_example":{"product":"scanpay.reseller_kit","program":"reseller","version":1,"list_price_model":"pay list price per call, reseller keeps all markup","rails":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"catalogue":"https://scanpay-edge.alextaghiashvili.workers.dev/catalogue.json","quickstart":"https://scanpay-edge.alextaghiashvili.workers.dev/x402-quickstart","partners":"https://scanpay-edge.alextaghiashvili.workers.dev/partners.json","transparency":"https://scanpay-edge.alextaghiashvili.workers.dev/transparency","examples":[{"path":"/api/v1/spl-mint-audit","list_price_usd":0.001,"suggested_resale_usd":0.01},{"path":"/v1/chat/completions","list_price_usd":0.002,"suggested_resale_usd":0.01}],"terms":["No signup, no API key, no contract","Reseller pays the x402 list price and keeps 100% of the markup","Contact via Nostr npub1pjfc2avypg0cdn8sdl2nhjcnlgjvydlfwyd5gd3uwxlk68j6vq8s80qevl for wholesale/prepaid deals"],"as_of_ms":1793491200000,"price_usd":0.0001},"input_example":{},"input_schema":{"type":"object","properties":{}},"tags":["reseller","partners","x402","agents"],"name":"ScanPay white-label reseller kit"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/white-label-kit","method":"GET","price_usd":0.0001,"description":"White-label x402 reseller kit: resell or rebrand 58 ScanPay APIs, pay list price and keep 100% margin, no contract/API key","output_example":{"product":"scanpay.white_label_kit","program":"white-label-reseller","version":1,"endpoints":58,"list_price_range_usd":"0.0001-0.003","model":"Pay ScanPay list price per call; resell or rebrand at any markup; keep 100% of the margin; no contract, no API key, no revenue share.","rails":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"catalogue":"https://scanpay-edge.alextaghiashvili.workers.dev/catalogue.json","quickstart":"https://scanpay-edge.alextaghiashvili.workers.dev/x402-quickstart","partners":"https://scanpay-edge.alextaghiashvili.workers.dev/partners.json","stateful_registration":"POST /api/v1/reseller-kit with {partner_url,nostr,markup} after payment auto-lists you in partners.json and returns a proxy manifest","white_label_endpoint":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/reseller-kit?wl=1","examples":[{"path":"/api/v1/spl-mint-audit","list_price_usd":0.001,"suggested_resale_usd":0.01},{"path":"/v1/chat/completions","list_price_usd":0.002,"suggested_resale_usd":0.01}],"terms":["No signup, no API key, no contract","Reseller pays x402 list price and keeps the markup","Contact via Nostr npub1pjfc2avypg0cdn8sdl2nhjcnlgjvydlfwyd5gd3uwxlk68j6vq8s80qevl"],"as_of_ms":1793491200000,"price_usd":0.0001},"input_example":{},"input_schema":{"type":"object","properties":{}},"tags":["white-label","reseller","x402","agents"],"name":"ScanPay white-label x402 reseller kit"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/white-label-kit","method":"POST","price_usd":0.0001,"description":"White-label x402 reseller kit: resell or rebrand 58 ScanPay APIs, pay list price and keep 100% margin, no contract/API key","output_example":{"product":"scanpay.white_label_kit","program":"white-label-reseller","version":1,"endpoints":58,"list_price_range_usd":"0.0001-0.003","model":"Pay ScanPay list price per call; resell or rebrand at any markup; keep 100% of the margin; no contract, no API key, no revenue share.","rails":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"catalogue":"https://scanpay-edge.alextaghiashvili.workers.dev/catalogue.json","quickstart":"https://scanpay-edge.alextaghiashvili.workers.dev/x402-quickstart","partners":"https://scanpay-edge.alextaghiashvili.workers.dev/partners.json","stateful_registration":"POST /api/v1/reseller-kit with {partner_url,nostr,markup} after payment auto-lists you in partners.json and returns a proxy manifest","white_label_endpoint":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/reseller-kit?wl=1","examples":[{"path":"/api/v1/spl-mint-audit","list_price_usd":0.001,"suggested_resale_usd":0.01},{"path":"/v1/chat/completions","list_price_usd":0.002,"suggested_resale_usd":0.01}],"terms":["No signup, no API key, no contract","Reseller pays x402 list price and keeps the markup","Contact via Nostr npub1pjfc2avypg0cdn8sdl2nhjcnlgjvydlfwyd5gd3uwxlk68j6vq8s80qevl"],"as_of_ms":1793491200000,"price_usd":0.0001},"input_example":{},"input_schema":{"type":"object","properties":{}},"tags":["white-label","reseller","x402","agents"],"name":"ScanPay white-label x402 reseller kit"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/price","method":"GET","price_usd":0.001,"description":"Single crypto price: send one ticker symbol (BTC, ETH, SOL) and get the current USD price from the existing market data pipeline","output_example":{"product":"scanpay.price","symbol":"BTC","price_usd":68000.0},"input_example":{"symbol":"BTC"},"input_schema":{"type":"object","properties":{"symbol":{"type":"string","minLength":2,"maxLength":20,"pattern":"^\\S(?:.*\\S)?$"}},"required":["symbol"]},"tags":["crypto","price","ticker","agents"],"name":"Single crypto price"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/price","method":"POST","price_usd":0.001,"description":"Single crypto price: send one ticker symbol (BTC, ETH, SOL) and get the current USD price from the existing market data pipeline","output_example":{"product":"scanpay.price","symbol":"BTC","price_usd":68000.0},"input_example":{"symbol":"BTC"},"input_schema":{"type":"object","properties":{"symbol":{"type":"string","minLength":2,"maxLength":20,"pattern":"^\\S(?:.*\\S)?$"}},"required":["symbol"]},"tags":["crypto","price","ticker","agents"],"name":"Single crypto price"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/market-snapshot","method":"GET","price_usd":0.002,"description":"Crypto market snapshot for a trading bot: current BTC/USD (or another ticker) spot price, multi-venue perpetual funding rates (Binance, Bybit, Hyperliquid) and Base gas in one JSON request. Returns as_of_ms; funding or gas may be unavailable and partial=true. Underlying price and funding snapshots use a 5-second cache; no streaming or execution.","output_example":{"product":"scanpay.market_snapshot","symbol":"BTC","price_usd":77538.0,"gas_gwei":0.006,"funding":{"venues":{"binance":{"funding_8h_rate":0.0001,"apr_pct":10.95,"mark_price":77538.0,"next_funding_ms":1793520000000},"bybit":{"funding_8h_rate":0.0002,"apr_pct":21.9,"mark_price":77540.0,"next_funding_ms":1793520000000},"hyperliquid":{"funding_8h_rate":8e-05,"apr_pct":8.76,"mark_price":77539.0,"next_funding_ms":null}},"max_arb_spread":{"long_venue":"hyperliquid","short_venue":"bybit","net_8h_spread_bps":1.2,"annualized_spread_pct":13.14}},"as_of_ms":1793491200000,"price_usd_charged":0.002},"input_example":{"symbol":"BTC"},"input_schema":{"type":"object","required":["symbol"],"properties":{"symbol":{"type":"string","minLength":2,"maxLength":20,"pattern":"^\\S(?:.*\\S)?$","description":"Crypto ticker for spot price and perpetual funding, e.g. BTC, ETH or SOL"}}},"tags":["market-data","price","spot-price","funding","funding-rates","gas","trading-bot","agents"],"name":"Crypto market snapshot: spot price and perp funding"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/market-snapshot","method":"POST","price_usd":0.002,"description":"Crypto market snapshot for a trading bot: current BTC/USD (or another ticker) spot price, multi-venue perpetual funding rates (Binance, Bybit, Hyperliquid) and Base gas in one JSON request. Returns as_of_ms; funding or gas may be unavailable and partial=true. Underlying price and funding snapshots use a 5-second cache; no streaming or execution.","output_example":{"product":"scanpay.market_snapshot","symbol":"BTC","price_usd":77538.0,"gas_gwei":0.006,"funding":{"venues":{"binance":{"funding_8h_rate":0.0001,"apr_pct":10.95,"mark_price":77538.0,"next_funding_ms":1793520000000},"bybit":{"funding_8h_rate":0.0002,"apr_pct":21.9,"mark_price":77540.0,"next_funding_ms":1793520000000},"hyperliquid":{"funding_8h_rate":8e-05,"apr_pct":8.76,"mark_price":77539.0,"next_funding_ms":null}},"max_arb_spread":{"long_venue":"hyperliquid","short_venue":"bybit","net_8h_spread_bps":1.2,"annualized_spread_pct":13.14}},"as_of_ms":1793491200000,"price_usd_charged":0.002},"input_example":{"symbol":"BTC"},"input_schema":{"type":"object","required":["symbol"],"properties":{"symbol":{"type":"string","minLength":2,"maxLength":20,"pattern":"^\\S(?:.*\\S)?$","description":"Crypto ticker for spot price and perpetual funding, e.g. BTC, ETH or SOL"}}},"tags":["market-data","price","spot-price","funding","funding-rates","gas","trading-bot","agents"],"name":"Crypto market snapshot: spot price and perp funding"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/x402-debug","method":"GET","price_usd":0.001,"description":"Debug an x402 payment integration: target challenge + optional payment header structure, exact fixes. Unpaid HTTPS GET only; never replay, verify or settle the supplied header.","output_example":{"product":"scanpay.x402_debug","target":"https://api.example.com/paid","challenge":{"http_status":402,"x402_version":2,"source":"payment-required","accepts":[{"scheme":"exact","network":"eip155:84532","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","amount":"1000","payTo":"0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","resource_matches_target":true,"eip712_domain":{"name_present":true,"version_present":true,"chain_id":"84532","verifying_contract":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","onchain_verified":false}}],"resource_matches_target":true,"networks":["eip155:84532"],"assets":["0x036CbD53842c5426634e7929541eC2318f3dCF7e"],"cors":{"exposes_challenge":false,"exposes_response":true}},"header_analysis":null,"issues":[{"code":"cors_challenge_hidden","severity":"warning","detail":"Browser clients cannot read the challenge header.","fix":"Add PAYMENT-REQUIRED to Access-Control-Expose-Headers."}],"verdict":"needs_fix","price_usd":0.001,"as_of_ms":1793664000000},"input_example":{"target":"https://api.example.com/paid","error":"invalid_exact_evm_payload_signature"},"input_schema":{"type":"object","required":["target"],"properties":{"target":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048},"payment_header":{"type":"string","maxLength":16384,"description":"Optional base64 PAYMENT-SIGNATURE/X-PAYMENT value to inspect locally. Prefer POST; never send keys or recovery phrases."},"error":{"type":"string","maxLength":1000,"description":"Optional payment integration error; classified without echoing its contents."}}},"tags":["x402","debugging","payments","agents","seller-tools"],"name":"x402 payment debugging"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/x402-debug","method":"POST","price_usd":0.001,"description":"Debug an x402 payment integration: target challenge + optional payment header structure, exact fixes. Unpaid HTTPS GET only; never replay, verify or settle the supplied header.","output_example":{"product":"scanpay.x402_debug","target":"https://api.example.com/paid","challenge":{"http_status":402,"x402_version":2,"source":"payment-required","accepts":[{"scheme":"exact","network":"eip155:84532","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","amount":"1000","payTo":"0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","resource_matches_target":true,"eip712_domain":{"name_present":true,"version_present":true,"chain_id":"84532","verifying_contract":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","onchain_verified":false}}],"resource_matches_target":true,"networks":["eip155:84532"],"assets":["0x036CbD53842c5426634e7929541eC2318f3dCF7e"],"cors":{"exposes_challenge":false,"exposes_response":true}},"header_analysis":null,"issues":[{"code":"cors_challenge_hidden","severity":"warning","detail":"Browser clients cannot read the challenge header.","fix":"Add PAYMENT-REQUIRED to Access-Control-Expose-Headers."}],"verdict":"needs_fix","price_usd":0.001,"as_of_ms":1793664000000},"input_example":{"target":"https://api.example.com/paid","error":"invalid_exact_evm_payload_signature"},"input_schema":{"type":"object","required":["target"],"properties":{"target":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048},"payment_header":{"type":"string","maxLength":16384,"description":"Optional base64 PAYMENT-SIGNATURE/X-PAYMENT value to inspect locally. Prefer POST; never send keys or recovery phrases."},"error":{"type":"string","maxLength":1000,"description":"Optional payment integration error; classified without echoing its contents."}}},"tags":["x402","debugging","payments","agents","seller-tools"],"name":"x402 payment debugging"}],"methods":{"note":"Utility endpoints accept GET with query params and POST with JSON; code-scan endpoints are POST."},"payment":{"x402":true,"direct_onchain":true,"free_tier":false,"credits":true},"product_count":58,"resource_count":110,"examples_are_illustrative":true}