{"name":"Fia Signals x402 Token Safety Batch","version":"0.1.0","status":"live","primary_use_case":"Screen up to 5 Base/EVM tokens before swap for rugpull, honeypot, liquidity, and market risk.","buyer_audience":["autonomous trading agents","swap routers","rebalancers","market-making bots","A2A agent commerce buyers"],"live_endpoint":{"method":"GET","url":"https://x402.fiasignals.com/token-safety/batch","query_example":"https://x402.fiasignals.com/token-safety/batch?chain=base&token_addresses=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913,0x4200000000000000000000000000000000000006","price_usdc":"0.10","amount_raw_usdc":"100000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","limit":5},"fallback_endpoint":{"method":"GET","url":"https://x402.fiasignals.com/token-safety","query_example":"https://x402.fiasignals.com/token-safety?chain=base&token_address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","price_usdc":"0.03","amount_raw_usdc":"30000"},"discovery":{"github":"https://github.com/Odds7/fia-signals-x402-token-safety","github_release":"https://github.com/Odds7/fia-signals-x402-token-safety/releases/tag/v0.1.0","github_raw_manifest":"https://raw.githubusercontent.com/Odds7/fia-signals-x402-token-safety/main/agent-launch.json","virtuals_direct_buy":"https://x402.fiasignals.com/virtuals-direct-buy.json","x402_manifest":"https://x402.fiasignals.com/.well-known/x402.json","cdp_bazaar_merchant_lookup":"https://api.cdp.coinbase.com/platform/v2/x402/discovery/merchant?payTo=0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","cdp_bazaar_status":"merchant-indexed; broad semantic ranking is empirical and not guaranteed"},"client_packages":{"github_source":"live","npm":"pending registry auth","pypi":"pending registry auth"},"quickstart":{"name":"Fia Signals x402 Buyer-Agent Quickstart","version":"0.1.0","truth_label":"acquisition_plumbing","purpose":"Help buyer agents convert a 402 challenge into a paid retry for token safety checks.","primary_endpoint":{"method":"GET","url":"https://x402.fiasignals.com/token-safety/batch?chain=base&token_addresses=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913,0x4200000000000000000000000000000000000006","price_usdc":"0.10","amount_raw_usdc":"100000","limit":5},"fallback_endpoint":{"method":"GET","url":"https://x402.fiasignals.com/token-safety?chain=base&token_address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","price_usdc":"0.03","amount_raw_usdc":"30000"},"payment":{"protocol":"x402","network":"eip155:8453","asset":"Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","challenge_header":"payment-required","retry_header":"X-PAYMENT"},"flow":["Send the GET request without X-PAYMENT.","Read the HTTP 402 payment-required challenge.","Use your x402 wallet/client to create the X-PAYMENT header.","Retry the same URL with X-PAYMENT.","Read the JSON verdict before executing a swap."],"curl_probe":"curl -i \"https://x402.fiasignals.com/token-safety/batch?chain=base&token_addresses=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913,0x4200000000000000000000000000000000000006\"","typescript_package":{"package":"@fia-signals/x402-token-safety","status":"source live on GitHub; npm pending registry auth","snippet":"import { screenTokenBatch } from \"@fia-signals/x402-token-safety\";\nconst result = await screenTokenBatch({\n  chain: \"base\",\n  tokenAddresses: [\"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\"],\n  createPaymentHeader: async (challenge) => signX402Challenge(challenge),\n});"},"typescript_fetch":{"package":"@x402/fetch","snippet":"import { wrapFetchWithPayment } from \"@x402/fetch\";\nconst fetchWithPayment = wrapFetchWithPayment(fetch, walletClient);\nconst res = await fetchWithPayment(\"https://x402.fiasignals.com/token-safety/batch?chain=base&token_addresses=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913,0x4200000000000000000000000000000000000006\");\nconst result = await res.json();"},"python_package":{"package":"fia-x402-token-safety","status":"source live on GitHub; PyPI pending registry auth","snippet":"from fia_x402_token_safety import screen_token_batch\nresult = screen_token_batch(\n    token_addresses=[\"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\"],\n    create_payment_header=lambda challenge: sign_x402_challenge(challenge),\n)"},"manual_header_flow":{"probe":"curl -i \"https://x402.fiasignals.com/token-safety/batch?chain=base&token_addresses=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913,0x4200000000000000000000000000000000000006\"","paid_retry":"curl -H \"X-PAYMENT: $X402_PAYMENT_HEADER\" \"https://x402.fiasignals.com/token-safety/batch?chain=base&token_addresses=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913,0x4200000000000000000000000000000000000006\""},"expected_response":{"count":"number","summary":{"safe":0,"risky":0,"blocked":0,"error":0},"results":[{"verdict":"safe|risky|blocked","action":"PROCEED|CAUTION|REJECT","safety_score":"0-100","confidence":"low|medium|high","reasons":[],"warnings":[],"sources":[],"raw_checks":{}}]},"discovery":{"agent_launch":"https://x402.fiasignals.com/agent-launch.json","x402_manifest":"https://x402.fiasignals.com/.well-known/x402.json","github":"https://github.com/Odds7/fia-signals-x402-token-safety"},"truth_status":{"external_sales_claim":"none","known_paid_proof":"internal canaries only as of 2026-04-25 Cycle 3","use":"buyer-agent integration aid, not revenue proof"}},"data_sources":{"live":["GoPlus","DexScreener"],"planned_stub_only":["De.Fi","Bubblemaps"]},"response_shape":{"count":"number of checked tokens","limit":5,"chain":"base","summary":{"safe":0,"risky":0,"blocked":0,"error":0},"results":"array of verdict, action, safety_score, confidence, reasons, warnings, sources, raw_checks"},"payment_and_failure_behavior":{"pre_payment_validation":["missing token_addresses returns HTTP 400 before payment challenge","more than 5 token addresses returns HTTP 400 before payment challenge","single-token missing token_address returns HTTP 400 before payment challenge"],"payment_challenge":"valid paid requests return HTTP 402 with exact x402 challenge until X-PAYMENT is supplied","paid_success":"successful paid calls return HTTP 200 JSON matching response_shape","batch_partial_failure":"per-token tool failures are returned as explicit blocked/error entries inside results with summary.error incremented","single_call_failure":"single-token upstream/tool failure returns explicit HTTP 502/504 JSON error; no silent null output","refund_policy":"no automatic refund path is advertised for completed x402 exact-payment requests"},"proof":{"contract_regression":"green","paid_settlement":"proven","latest_metadata_refresh_tx":"0xa43cb13eb26ef34a8e6453a1c49847b22741e9990f7fde04336e27e9b590743c","latest_metadata_refresh_block":45151515},"keywords":["x402","Base USDC","token safety","rugpull detection","honeypot detection","pre-swap risk","trading bot","buyer agent","A2A commerce","swap router"]}