{"$schema":"https://schemas.cdp.coinbase.com/x402/2/service-manifest.json","name":"ScanPay","version":"1.1.0","description":"Deterministic pre-execution security scan for AI-agent-generated Python/JS/TS code. 45+ rules, no code execution, no AI inference.","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.svg","docs":"https://scanpay-edge.alextaghiashvili.workers.dev/guide","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/scan","method":"POST","price_usd":0.05,"description":"Deterministic security scan (fast JSON findings)"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/deep-scan","method":"POST","price_usd":10.0,"description":"Deep report: every finding, severity counts, risk score, remediation"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/quick","method":"POST","price_usd":0.01,"description":"Quick verdict — PASS/WARN/BLOCK for a snippet"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/credits","method":"POST","price_usd":5.0,"description":"Prepaid pack: 200 scans, returns X-API-Key"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/scan/manual","method":"POST","price_usd":0.05,"description":"Pay directly on-chain (Base tx_hash / Solana tx_signature), no x402 client needed"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/agent-deep","method":"POST","price_usd":0.1,"description":"Deep report sized for agent budgets (input <= 20 KB)"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/credits-micro","method":"POST","price_usd":0.1,"description":"Micro credit pack: 5 prepaid scans"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/x402-check","method":"POST","price_usd":0.01,"description":"Audit a public x402 endpoint's 402 challenge and score its compliance"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/token-balance","method":"POST","price_usd":0.002,"description":"ERC-20 token balance for any EVM wallet via eth_call"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/readclean","method":"POST","price_usd":0.001,"description":"Read a web page/article and return clean readable markdown (readability extraction, url-to-markdown, article extract, boilerplate removal)"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/urlwatch","method":"POST","price_usd":0.005,"description":"Page change detection / website change monitoring: detect whether a URL's readable content changed since the last check, with hashes"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/readclean","method":"GET","price_usd":0.001,"description":"Read a web page/article and return clean readable markdown (query: url; readability, url-to-markdown, article extract)"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/urlwatch","method":"GET","price_usd":0.005,"description":"URL change detection / webpage diff (query: url, state_key)"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/token-balance","method":"GET","price_usd":0.002,"description":"ERC-20 balanceOf (query: address, token, network)"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/x402-check","method":"GET","price_usd":0.01,"description":"Audit a public x402 endpoint (query: target)"},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/page-extract","method":"GET","price_usd":0.001,"description":"Extract main article text from a web page (url-to-markdown, readability; aliases url|target|uri)","tags":["extract","page-extract"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/page-extract","method":"POST","price_usd":0.001,"description":"Extract main article text from a web page (url-to-markdown, readability; aliases url|target|uri)","tags":["extract","page-extract"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/change-detect","method":"GET","price_usd":0.005,"description":"Page change detection / website change monitoring (aliases: url, target, uri)","tags":["monitoring","change-detect"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/change-detect","method":"POST","price_usd":0.005,"description":"Page change detection / website change monitoring (aliases: url, target, uri)","tags":["monitoring","change-detect"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/page-extract-batch","method":"POST","price_usd":0.005,"description":"Batch page extract: clean readable text for up to 10 URLs in one call","tags":["extract","batch"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/page-extract-batch","method":"GET","price_usd":0.005,"description":"Batch page extract: clean readable text for up to 10 URLs in one call","tags":["extract","batch"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/urlwatch-batch","method":"POST","price_usd":0.01,"description":"Batch page change detection: check up to 10 URLs in one call","tags":["monitoring","batch"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/urlwatch-batch","method":"GET","price_usd":0.01,"description":"Batch page change detection: check up to 10 URLs in one call","tags":["monitoring","batch"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/token-balance-batch","method":"POST","price_usd":0.005,"description":"Batch ERC-20 token balance: check up to 10 items in one call","tags":["crypto","batch"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/token-balance-batch","method":"GET","price_usd":0.005,"description":"Batch ERC-20 token balance: check up to 10 items in one call","tags":["crypto","batch"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/crypto-price","method":"GET","price_usd":0.001,"description":"Spot USD price for up to 20 crypto symbols","tags":["crypto","price"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/crypto-price","method":"POST","price_usd":0.001,"description":"Spot USD price for up to 20 crypto symbols","tags":["crypto","price"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/gas-estimate","method":"GET","price_usd":0.001,"description":"Gas price + slow/normal/fast estimate for Base or Ethereum","tags":["crypto","gas"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/gas-estimate","method":"POST","price_usd":0.001,"description":"Gas price + slow/normal/fast estimate for Base or Ethereum","tags":["crypto","gas"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/block-height","method":"GET","price_usd":0.001,"description":"Latest block number, hash and timestamp on Base or Ethereum","tags":["blockchain","rpc"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/block-height","method":"POST","price_usd":0.001,"description":"Latest block number, hash and timestamp on Base or Ethereum","tags":["blockchain","rpc"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/tx","method":"GET","price_usd":0.005,"description":"Transaction lookup by hash: from, to, value, nonce, gas","tags":["blockchain","transaction"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/tx","method":"POST","price_usd":0.005,"description":"Transaction lookup by hash: from, to, value, nonce, gas","tags":["blockchain","transaction"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/tx-receipt","method":"GET","price_usd":0.005,"description":"Receipt by hash: success, gas used, logs count, contract address","tags":["blockchain","transaction"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/tx-receipt","method":"POST","price_usd":0.005,"description":"Receipt by hash: success, gas used, logs count, contract address","tags":["blockchain","transaction"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/nonce","method":"GET","price_usd":0.002,"description":"Next transaction nonce for an EVM address","tags":["blockchain","wallet"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/nonce","method":"POST","price_usd":0.002,"description":"Next transaction nonce for an EVM address","tags":["blockchain","wallet"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/contract-info","method":"GET","price_usd":0.003,"description":"Contract bytecode size, EIP-1967 proxy and ERC-20 metadata","tags":["blockchain","contract"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/contract-info","method":"POST","price_usd":0.003,"description":"Contract bytecode size, EIP-1967 proxy and ERC-20 metadata","tags":["blockchain","contract"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/token-supply","method":"GET","price_usd":0.002,"description":"ERC-20/721 total supply and decimals","tags":["blockchain","token"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/token-supply","method":"POST","price_usd":0.002,"description":"ERC-20/721 total supply and decimals","tags":["blockchain","token"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/token-preflight","method":"GET","price_usd":0.005,"description":"Token preflight: contract/proxy/owner/supply/liquidity + deterministic risk score","tags":["blockchain","token","risk"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/token-preflight","method":"POST","price_usd":0.005,"description":"Token preflight: contract/proxy/owner/supply/liquidity + deterministic risk score","tags":["blockchain","token","risk"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/ens","method":"GET","price_usd":0.005,"description":"ENS resolve: .eth name to address, or address to primary name","tags":["ethereum","ens"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/ens","method":"POST","price_usd":0.005,"description":"ENS resolve: .eth name to address, or address to primary name","tags":["ethereum","ens"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/wallet-balance","method":"GET","price_usd":0.003,"description":"Native balance + up to 20 ERC-20 balances for a wallet","tags":["blockchain","wallet"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/wallet-balance","method":"POST","price_usd":0.003,"description":"Native balance + up to 20 ERC-20 balances for a wallet","tags":["blockchain","wallet"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/tx-logs","method":"GET","price_usd":0.005,"description":"Event logs via eth_getLogs for a contract (count + entries)","tags":["blockchain","logs"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/tx-logs","method":"POST","price_usd":0.005,"description":"Event logs via eth_getLogs for a contract (count + entries)","tags":["blockchain","logs"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/nft-metadata","method":"GET","price_usd":0.008,"description":"NFT metadata: tokenURI/uri, collection name and symbol","tags":["blockchain","nft"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/nft-metadata","method":"POST","price_usd":0.008,"description":"NFT metadata: tokenURI/uri, collection name and symbol","tags":["blockchain","nft"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/fx-rate","method":"GET","price_usd":0.002,"description":"ECB reference FX rate between two currencies","tags":["finance","fx"]},{"url":"https://scanpay-edge.alextaghiashvili.workers.dev/api/v1/fx-rate","method":"POST","price_usd":0.002,"description":"ECB reference FX rate between two currencies","tags":["finance","fx"]}],"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}}