{"name":"ScanPay","version":"1.1.0","generated_at":"2026-11-05T17:57:44.766308+00:00","rails":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"pay_to":{"evm":"0x1E04f5046500e5369E17AF993Dc60aC29D83efc9","svm":"N6ZJxx4DAGbDYv3HbVYXso3yFyqprrxPPzdKsZpHHX9"},"quickstart":"https://scanpay-edge.alextaghiashvili.workers.dev/x402-quickstart","buyers":"https://scanpay-edge.alextaghiashvili.workers.dev/buyers.json","reseller":"https://scanpay-edge.alextaghiashvili.workers.dev/partners.json","llms":"https://scanpay-edge.alextaghiashvili.workers.dev/llms.txt","openapi":"https://scanpay-edge.alextaghiashvili.workers.dev/openapi.json","count":58,"resource_count":110,"examples_are_illustrative":true,"endpoints":[{"path":"/api/v1/canary","name":"Canary x402 settlement test (Base, Solana)","tags":["x402","testing","canary","solana","base","agents"],"methods":["GET","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.","input_schema":{"type":"object","additionalProperties":true,"description":"Any JSON object, at most 8192 encoded bytes"},"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."},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/canary"},{"path":"/api/v1/reseller-kit","name":"ScanPay white-label reseller kit","tags":["reseller","partners","x402","agents"],"methods":["GET","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","input_schema":{"type":"object","properties":{}},"input_example":{},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/reseller-kit"},{"path":"/api/v1/white-label-kit","name":"ScanPay white-label x402 reseller kit","tags":["white-label","reseller","x402","agents"],"methods":["GET","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","input_schema":{"type":"object","properties":{}},"input_example":{},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/white-label-kit"},{"path":"/api/v1/x402-check","name":"x402 endpoint check","tags":["x402","endpoint-audit","pre-payment","payment-endpoint-test","compliance","agents"],"methods":["GET","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.","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"]},"input_example":{"target":"https://example.com/api/paid"},"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."},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/x402-check"},{"path":"/api/v1/base-block-explorer-search","name":"Base block explorer search","tags":["base","blockchain","explorer","blocks","agents"],"methods":["GET","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","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"}}},"input_example":{"block":20000000},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/base-block-explorer-search"},{"path":"/api/v1/bin-lookup","name":"Credit card BIN lookup","tags":["payments","bin","cards","fraud","agents"],"methods":["GET","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)","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."}}},"input_example":{"bin":"457173"},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/bin-lookup"},{"path":"/api/v1/block-height","name":"Block height - Base & Ethereum","tags":["blockchain","rpc","base","ethereum"],"methods":["GET","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.","input_schema":{"type":"object","properties":{"network":{"type":"string","enum":["base","ethereum"]}}},"input_example":{"network":"base"},"output_example":{"product":"scanpay.block_height","network":"base","chain_id":"eip155:8453","block_number":53336036,"block_hash":"0x32df9c2c6e6e87f7b2a95f9c5d18d4d8c6b1a2e3f4a5b6c7d8e9f0a1b2c3d4e5","timestamp":1793462400,"price_usd":0.001},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/block-height"},{"path":"/api/v1/crypto-news","name":"Crypto news summary","tags":["crypto","news","summary","agents"],"methods":["GET","POST"],"price_usd":0.001,"description":"Crypto news summary: latest headlines from Cointelegraph and Decrypt with links and summaries, filterable by keyword","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"]}}},"input_example":{"limit":10,"query":"bitcoin","sources":["cointelegraph","decrypt"]},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/crypto-news"},{"path":"/api/v1/crypto-price","name":"Crypto spot price API: current BTC price in USD","tags":["crypto","price","spot-price","btc-usd","ticker","market-data","agents"],"methods":["GET","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.","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"}}},"input_example":{"symbols":["BTC","ETH"]},"output_example":{"prices":{"BTC":{"price_usd":77466.68,"source":"coinbase-spot"}},"errors":{},"ts":1793462400},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/crypto-price"},{"path":"/api/v1/ens","name":"ENS reverse lookup (and forward resolve)","tags":["ethereum","ens","identity"],"methods":["GET","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.","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"}}},"input_example":{"address":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045"},"output_example":{"product":"scanpay.ens","address":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045","reverse_name":"vitalik.eth","found":true,"verified":true,"network":"ethereum","resolver":"0x231b0ee14048e9dccd1d247744d114a4eb5e8e63","price_usd":0.001},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/ens"},{"path":"/api/v1/fx-rate","name":"FX rate","tags":["finance","fx","rates","agents"],"methods":["GET","POST"],"price_usd":0.001,"description":"Get an FX rate: currency exchange rate between two currencies (ECB).","input_schema":{"type":"object","properties":{"base":{"type":"string"},"quote":{"type":"string"}},"required":["base","quote"]},"input_example":{"base":"USD","quote":"EUR"},"output_example":{"base":"USD","quote":"EUR","rate":0.89509,"date":"2026-10-30","source":"frankfurter-ecb"},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/fx-rate"},{"path":"/api/v1/gas","name":"Gas estimate","tags":["crypto","gas","fees","agents"],"methods":["GET","POST"],"price_usd":0.001,"description":"Estimate gas fees: live gas price and slow/normal/fast estimates for Base or Ethereum.","input_schema":{"type":"object","properties":{"network":{"type":"string","enum":["base","ethereum"]}}},"input_example":{"network":"base"},"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}}},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/gas"},{"path":"/api/v1/gas-estimate","name":"Gas price and fee estimates: Base and Ethereum","tags":["crypto","gas","fees","agents"],"methods":["GET","POST"],"price_usd":0.001,"description":"Estimate gas fees: live gas price and slow/normal/fast estimates for Base or Ethereum.","input_schema":{"type":"object","properties":{"network":{"type":"string","enum":["base","ethereum"]}}},"input_example":{"network":"base"},"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}}},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/gas-estimate"},{"path":"/api/v1/hash","name":"Hash (sha256, keccak256)","tags":["crypto","hash","utility","agents"],"methods":["GET","POST"],"price_usd":0.001,"description":"Compute hashes: sha256 and keccak256 of text or hex.","input_schema":{"type":"object","properties":{"text":{"type":"string","description":"Text string to hash"},"hex":{"type":"string","description":"Hex string (0x-prefixed or raw)"}}},"input_example":{"text":"hello"},"output_example":{"product":"scanpay.hash","sha256":"2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824","keccak256":"1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","bytes":5},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/hash"},{"path":"/api/v1/nonce","name":"Wallet nonce - Base & Ethereum","tags":["blockchain","rpc","wallet"],"methods":["GET","POST"],"price_usd":0.001,"description":"Get the next transaction nonce for any EVM address via eth_getTransactionCount on Base or Ethereum.","input_schema":{"type":"object","properties":{"address":{"type":"string"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address"]},"input_example":{"address":"0x0000000000000000000000000000000000000000","network":"base"},"output_example":{"product":"scanpay.nonce","network":"base","chain_id":"eip155:8453","address":"0x1E04f5046500e5369E17AF993Dc60aC29D83efc9","nonce":7,"next_nonce":7,"price_usd":0.002},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/nonce"},{"path":"/api/v1/perp-funding","name":"Perpetual funding rates: Binance, Bybit, Hyperliquid","tags":["crypto","funding","funding-rates","perpetuals","derivatives","market-data","agents"],"methods":["GET","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.","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"}}},"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":{}},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/perp-funding"},{"path":"/api/v1/price","name":"Single crypto price","tags":["crypto","price","ticker","agents"],"methods":["GET","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","input_schema":{"type":"object","properties":{"symbol":{"type":"string","minLength":2,"maxLength":20,"pattern":"^\\S(?:.*\\S)?$"}},"required":["symbol"]},"input_example":{"symbol":"BTC"},"output_example":{"product":"scanpay.price","symbol":"BTC","price_usd":68000.0},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/price"},{"path":"/api/v1/receipt-verify","name":"x402 receipt verification","tags":["x402","receipts","verification","agents"],"methods":["GET","POST"],"price_usd":0.001,"description":"Verify a ScanPay x402 delivery receipt: EIP-191 signer, canonical hash and output sha256","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"}}},"input_example":{"receipt":"eyJyZWNlaXB0Ijp7fSwiYXR0ZXN0YXRpb24iOnt9fQ=="},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/receipt-verify"},{"path":"/api/v1/sec-filings-search","name":"SEC filings search","tags":["sec","edgar","filings","finance","agents"],"methods":["GET","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","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"}}},"input_example":{"query":"Apple 10-K","forms":"10-K","limit":10},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/sec-filings-search"},{"path":"/api/v1/solana-token-metadata","name":"Solana token metadata","tags":["solana","spl","token","metadata","agents"],"methods":["GET","POST"],"price_usd":0.001,"description":"Solana SPL token metadata: name, symbol, uri, update authority, mutability, decimals and supply for a mint","input_schema":{"type":"object","required":["mint"],"properties":{"mint":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"}}},"input_example":{"mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/solana-token-metadata"},{"path":"/api/v1/spl-mint-audit","name":"Solana SPL mint audit","tags":["solana","spl","token","security","agents"],"methods":["GET","POST"],"price_usd":0.001,"description":"Audit a Solana SPL token mint: mint/freeze authorities, supply, decimals, risk flags","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"}}},"input_example":{"mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","network":"solana"},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/spl-mint-audit"},{"path":"/api/v1/stablecoin-peg-monitor","name":"Stablecoin peg monitor","tags":["stablecoins","peg","prices","risk","agents"],"methods":["GET","POST"],"price_usd":0.001,"description":"Stablecoin peg monitor: live USDC/USDT/DAI USD prices, deviation from $1 in basis points and depeg flags","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}}},"input_example":{"symbols":["usdc","usdt","dai"],"threshold_bps":10},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/stablecoin-peg-monitor"},{"path":"/api/v1/token-balance","name":"Token balance","tags":["crypto","blockchain-data","balance","agents"],"methods":["GET","POST"],"price_usd":0.001,"description":"Get a token balance: ERC-20 balance for any EVM wallet via eth_call.","input_schema":{"type":"object","properties":{"address":{"type":"string"},"token":{"type":"string"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address","token"]},"input_example":{"address":"0x0000000000000000000000000000000000000000","token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base"},"output_example":{"network":"base","token":"0x8335…2913","address":"0x1E04…efc9","balance_raw":"1000000","decimals":6,"balance":1.0,"balance_str":"1.000000"},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/token-balance"},{"path":"/api/v1/token-price-by-contract","name":"Token price (Base, Ethereum, Solana)","tags":["crypto","price","token","solana","base","ethereum","dexscreener","agents"],"methods":["GET","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","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"}}},"input_example":{"chain":"base","address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","vs":"usd"},"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"},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/token-price-by-contract"},{"path":"/api/v1/wallet-balance","name":"Wallet balance - native + ERC-20","tags":["blockchain","wallet","balance"],"methods":["GET","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. ","input_schema":{"type":"object","properties":{"address":{"type":"string"},"tokens":{"type":"array","items":{"type":"string"}},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address"]},"input_example":{"address":"0x1E04f5046500e5369E17AF993Dc60aC29D83efc9","tokens":[]},"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}]},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/wallet-balance"},{"path":"/api/v1/x402-debug","name":"x402 payment debugging","tags":["x402","debugging","payments","agents","seller-tools"],"methods":["GET","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.","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."}}},"input_example":{"target":"https://api.example.com/paid","error":"invalid_exact_evm_payload_signature"},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/x402-debug"},{"path":"/api/v1/agent-sanitize","name":"agent-sanitize","tags":["text","security","agents"],"methods":["GET","POST"],"price_usd":0.002,"description":"Deterministic invisible-character and HTML-comment sanitizer with injection flags","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"},"input_example":{"text":"Hello​ <!-- hidden -->world","max_chars":1000},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/agent-sanitize"},{"path":"/api/v1/base-gas-history","name":"Base gas price history","tags":["base","gas","fees","history","agents"],"methods":["GET","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","input_schema":{"type":"object","properties":{"blocks":{"type":"integer","minimum":5,"maximum":50,"default":20}}},"input_example":{"blocks":5},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/base-gas-history"},{"path":"/api/v1/chat","name":"LLM chat completion","tags":["llm","chat","deepseek","ai","agents"],"methods":["GET","POST"],"price_usd":0.002,"description":"Generate an LLM chat completion: send a prompt or messages and get an answer from DeepSeek chat.","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)"}}},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/chat"},{"path":"/api/v1/chat-prompt","name":"Single-prompt LLM chat","tags":["chat","llm","prompt","agents"],"methods":["GET","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","input_schema":{"type":"object","required":["prompt"],"properties":{"prompt":{"type":"string","minLength":1,"maxLength":4000},"max_tokens":{"type":"integer","minimum":16,"maximum":512,"default":256}}},"input_example":{"prompt":"Say OK"},"output_example":{"product":"scanpay.chat_prompt","reply":"OK"},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/chat-prompt"},{"path":"/api/v1/market-snapshot","name":"Crypto market snapshot: spot price and perp funding","tags":["market-data","price","spot-price","funding","funding-rates","gas","trading-bot","agents"],"methods":["GET","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.","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"}}},"input_example":{"symbol":"BTC"},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/market-snapshot"},{"path":"/api/v1/page-extract","name":"Extract clean readable text from a URL","tags":["extract","page-extract","readability","agents"],"methods":["GET","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).","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"]},"input_example":{"url":"https://example.com/article","format":"markdown"},"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…"},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/page-extract"},{"path":"/api/v1/readclean","name":"webpage to markdown","tags":["extract","web-extraction","page-extraction","url-to-markdown","markdown","readability","agents"],"methods":["GET","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.","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"]},"input_example":{"url":"https://example.com/article","format":"markdown"},"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…"},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/readclean"},{"path":"/v1/chat/completions","name":"OpenAI-compatible chat completions","tags":["llm","chat","agents"],"methods":["GET","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.","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"]}}}}},"input_example":{"model":"deepseek-chat","messages":[{"role":"user","content":"Hello"}],"max_tokens":512},"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}},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/v1/chat/completions"},{"path":"/v1/chat/nano","name":"OpenAI-compatible chat nano","tags":["llm","chat","agents"],"methods":["GET","POST"],"price_usd":0.002,"description":"OpenAI-compatible nano LLM chat completion and llm inference via DeepSeek (up to 500 tokens).","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"]}}}}},"input_example":{"model":"deepseek-chat","messages":[{"role":"user","content":"Hello"}],"max_tokens":256},"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}},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/v1/chat/nano"},{"path":"/api/v1/x402-seller-reputation","name":"x402 seller reputation","tags":["x402","reputation","security","agents"],"methods":["GET","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","input_schema":{"type":"object","required":["origin"],"properties":{"origin":{"type":"string","format":"uri","pattern":"^https://"},"max_probe":{"type":"boolean","default":true}}},"input_example":{"origin":"https://scanpay-edge.alextaghiashvili.workers.dev","max_probe":true},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/x402-seller-reputation"},{"path":"/api/v1/demand-radar","name":"Demand radar","tags":["telemetry","analytics","market-demand","agents"],"methods":["GET","POST"],"price_usd":0.005,"description":"Analyze demand signals: aggregated x402 demand signals from live traffic (which endpoints agents probe and pay).","input_schema":{"type":"object","properties":{"window_hours":{"type":"integer","default":24,"description":"Lookback window in hours (default 24)"}}},"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"},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/demand-radar"},{"path":"/api/v1/payment-reconcile","name":"payment-reconcile","tags":["payments","base","usdc"],"methods":["GET","POST"],"price_usd":0.005,"description":"Verify a Base USDC transaction against an invoice","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"},"input_example":{"tx_hash":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","expected_recipient":"0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","expected_amount_usd":1.0},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/payment-reconcile"},{"path":"/api/v1/quick","name":"ScanPay Quick","tags":["security","code-scan","agents","quick"],"methods":["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.","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"]},"input_example":{"source_code":"pass\n","language":"python"},"output_example":{"product":"scanpay.quick","language":"python","source_sha256":"9f56e761d79bfdb34304a012586cb04d16b435ef6130091a97702e559260a2f2","findings_count":0,"max_severity":null,"verdict":"PASS","findings":[],"price_usd":0.005},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/quick"},{"path":"/api/v1/token-supply","name":"Token supply - Base & Ethereum","tags":["blockchain","rpc","token"],"methods":["GET","POST"],"price_usd":0.005,"description":"Get ERC-20/721 total supply and decimals via eth_call on Base or Ethereum.","input_schema":{"type":"object","properties":{"address":{"type":"string"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address"]},"input_example":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base"},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/token-supply"},{"path":"/api/v1/tx-receipt","name":"Transaction receipt and execution status: Base and Ethereum","tags":["blockchain","rpc","transaction"],"methods":["GET","POST"],"price_usd":0.005,"description":"Get a transaction receipt by hash: success, gas used, logs count, contract address.","input_schema":{"type":"object","properties":{"hash":{"type":"string"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["hash"]},"input_example":{"hash":"0x0000000000000000000000000000000000000000000000000000000000000000","network":"base"},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/tx-receipt"},{"path":"/api/v1/change-detect","name":"Page change detection - website change monitoring","tags":["monitoring","change-detect","agents"],"methods":["GET","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).","input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"previous_hash":{"type":"string"},"state_key":{"type":"string"}},"required":["url"]},"input_example":{"url":"https://example.com/pricing"},"output_example":{"url":"https://example.com/pricing","ok":true,"first_seen":false,"changed":true,"previous_hash":"aa11…","current_hash":"bb22…","checks":4},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/change-detect"},{"path":"/api/v1/contract-info","name":"Contract introspection - Base & Ethereum","tags":["blockchain","rpc","contract"],"methods":["GET","POST"],"price_usd":0.01,"description":"Inspect a contract: bytecode size, EIP-1967 proxy implementation, ERC-20 name/symbol/decimals.","input_schema":{"type":"object","properties":{"address":{"type":"string"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address"]},"input_example":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base"},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/contract-info"},{"path":"/api/v1/nft-metadata","name":"NFT metadata - tokenURI","tags":["blockchain","nft","metadata"],"methods":["GET","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.","input_schema":{"type":"object","properties":{"address":{"type":"string"},"token_id":{"type":"integer"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address","token_id"]},"input_example":{"address":"0x0000000000000000000000000000000000000001","token_id":1},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/nft-metadata"},{"path":"/api/v1/search","name":"Web Search","tags":["search","web","research","agents"],"methods":["GET","POST"],"price_usd":0.01,"description":"Search the web: return result pages for a query (title, url, snippet). Search the web for agents.","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"]},"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."}]},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/search"},{"path":"/api/v1/token-preflight","name":"Token risk preflight / token safety check","tags":["blockchain","token","risk","preflight"],"methods":["GET","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. ","input_schema":{"type":"object","properties":{"address":{"type":"string"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["address"]},"input_example":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base"},"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."},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/token-preflight"},{"path":"/api/v1/tx","name":"Transaction by hash - Base & Ethereum","tags":["blockchain","rpc","transaction"],"methods":["GET","POST"],"price_usd":0.01,"description":"Look up a transaction by hash on Base or Ethereum: from, to, value, nonce, gas, input size.","input_schema":{"type":"object","properties":{"hash":{"type":"string"},"network":{"type":"string","enum":["base","ethereum"]}},"required":["hash"]},"input_example":{"hash":"0x0000000000000000000000000000000000000000000000000000000000000000","network":"base"},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/tx"},{"path":"/api/v1/tx-logs","name":"Event logs - eth_getLogs","tags":["blockchain","logs","events"],"methods":["GET","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.","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"]},"input_example":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","blocks":2000,"limit":50},"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"}]},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/tx-logs"},{"path":"/api/v1/urlwatch","name":"Web page diff monitoring","tags":["monitoring","change-detection","diff","agents"],"methods":["GET","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.","input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"previous_hash":{"type":"string"},"state_key":{"type":"string"}},"required":["url"]},"input_example":{"url":"https://example.com/pricing"},"output_example":{"url":"https://example.com/pricing","ok":true,"first_seen":false,"changed":true,"previous_hash":"aa11…","current_hash":"bb22…","checks":4},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/urlwatch"},{"path":"/api/v1/web-search","name":"Web Search","tags":["search","web","research","agents"],"methods":["GET","POST"],"price_usd":0.01,"description":"Search the web: return result pages for a query (title, url, snippet). Search the web for agents.","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"]},"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."}]},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/web-search"},{"path":"/api/v1/page-extract-batch","name":"Batch page extract","tags":["extract","batch","url-to-markdown","agents"],"methods":["GET","POST"],"price_usd":0.02,"description":"Extract pages in a batch: clean readable text for up to 10 URLs in one call.","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"]},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/page-extract-batch"},{"path":"/api/v1/token-balance-batch","name":"Batch token balances","tags":["crypto","batch","blockchain-data","balance","agents"],"methods":["GET","POST"],"price_usd":0.02,"description":"Get token balances in a batch: ERC-20 balances for up to 10 wallet/token pairs.","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"]},"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}]},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/token-balance-batch"},{"path":"/api/v1/urlwatch-batch","name":"Batch urlwatch","tags":["monitoring","batch","change-detection","agents"],"methods":["GET","POST"],"price_usd":0.03,"description":"Monitor URL changes in a batch: did each URL change since last check.","input_schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string","format":"uri"}},"state_key":{"type":"string"}},"required":["urls"]},"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…"}]},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/urlwatch-batch"},{"path":"/api/v1/scan","name":"ScanPay","tags":["security","code-scan","static-analysis","agents"],"methods":["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.","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"]},"input_example":{"source_code":"pass\n","language":"python"},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/scan"},{"path":"/api/v1/agent-deep","name":"ScanPay Agent Deep","tags":["security","code-audit","risk-score","agents"],"methods":["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.","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"]},"input_example":{"source_code":"pass\n","language":"python"},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/agent-deep"},{"path":"/api/v1/credits-micro","name":"ScanPay Micro Credits","tags":["security","credits","agents"],"methods":["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.","input_schema":{"type":"object","properties":{}},"input_example":{},"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"}},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/credits-micro"},{"path":"/api/v1/credits","name":"ScanPay Credits","tags":["security","credits","agents"],"methods":["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).","input_schema":{"type":"object","properties":{}},"input_example":{},"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"}},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/credits"},{"path":"/api/v1/deep-scan","name":"ScanPay Deep","tags":["security","code-audit","risk-score","agents"],"methods":["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.","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"]},"input_example":{"source_code":"pass\n","language":"python"},"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},"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/deep-scan"}]}