{"version":"1.0","x402Version":2,"name":"Fia Signals","title":"Fia Signals Funding Risk, Market Intelligence, and Contract Risk x402 API","description":"Fia Signals x402 API for buyer agents. Pay-per-call endpoints include market_funding_risk_check for enter/hold/avoid funding decisions, smart contract risk, pre-swap token safety, rugpull and honeypot screening, and market intelligence.","keywords":["Fia Signals","Fia Signals contract risk","Fia Signals smart contract risk","Fia Signals token safety","Fia Signals base swap risk lite","x402 contract risk","x402 smart contract risk","x402 token safety","base-swap-risk-lite","cheap token safety primitive","atomic swap risk verdict","pre-swap risk","pre swap risk","token risk pack","bundled risk pack","bundled-risk-pack","token-risk-pack-pro","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","owner admin risk","owner/admin risk","admin risk","refund-on-fail","holder concentration","liquidity risk","rugpull screening","honeypot screening","Base USDC buyer agent","agent trade approval ticket","pre-trade approval ticket","autonomous trade approval","swap approval decision","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base rug check","Base honeypot check","pre-swap token risk","safe token check","token scam check"],"search_terms":["Fia Signals","Fia Signals contract risk","Fia Signals smart contract risk","Fia Signals token safety","Fia Signals base swap risk lite","x402 contract risk","x402 smart contract risk","x402 token safety","base-swap-risk-lite","cheap token safety primitive","atomic swap risk verdict","pre-swap risk","pre swap risk","token risk pack","bundled risk pack","bundled-risk-pack","token-risk-pack-pro","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","owner admin risk","owner/admin risk","admin risk","refund-on-fail","holder concentration","liquidity risk","rugpull screening","honeypot screening","Base USDC buyer agent","agent trade approval ticket","pre-trade approval ticket","autonomous trade approval","swap approval decision","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base rug check","Base honeypot check","pre-swap token risk","safe token check","token scam check"],"primary_product":{"name":"Fia Signals Base Swap Risk Lite","endpoint":"https://x402.fiasignals.com/token-safety/lite","purchase_link":"https://x402.fiasignals.com/token-safety/lite?chain=base&token_address=0x4200000000000000000000000000000000000006","free_preview":"https://x402.fiasignals.com/token-safety/free","description":"Cheap atomic Base swap-risk verdict for one token before a buyer agent signs or routes a swap.","price_usdc":"0.005","amount_raw_usdc":"5000","selection_experiment":"base-swap-risk-lite-20260709","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/token-safety/lite?chain=base&token_address=0x4200000000000000000000000000000000000006","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"}},"featured_high_ticket_product":{"product":"agent_trade_approval_ticket","endpoint":"https://x402.fiasignals.com/agent-trade-approval-ticket","method":"POST","price_usdc":"5.00","buyer_question":"Should this autonomous trade be approved, limited, or blocked before execution?","deliverable":["APPROVE | CAUTION | BLOCK","reasons","caps","source_status","proof_flags"],"proof_flags":["no_execution","no_signer","no_wallet_action"],"truth_status":"first_class_buyer_visible_offer_not_revenue_until_payment_or_delivery_proof"},"featured_market_signal_product":{"product":"market_funding_risk_check","endpoint":"https://x402.fiasignals.com/funding","price_usdc":"0.20","buyer_question":"Should this agent enter, hold, or avoid a perp/carry setup after seeing basis?","deliverable":["decision","action","confidence","evidence","top_rates","next_funding_window","route_family_context"],"route_family_context":["/prices","/fear-greed","/basis","/funding"],"acp_offering":{"name":"funding_risk_check","listed":true,"price_usdc":"0.25","direct_buy_manifest":"https://x402.fiasignals.com/virtuals-direct-buy.json?offering=funding_risk_check","acceptance_contract":{"accept":"optional symbol; omit for a broad top-10 crypto funding scan","reject":["malformed symbol","unsupported non-crypto request","request asking for execution or trade placement"]}},"x402_payment_header_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","truth_status":"first_class_buyer_visible_offer_not_revenue_until_payment_or_delivery_proof"},"url":"https://x402.fiasignals.com","baseUrl":"https://x402.fiasignals.com","base_url":"https://x402.fiasignals.com","wallet":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","network":"eip155:8453","currency":"USDC","contact":"fia-trading@agentmail.to","discovery":"https://x402.fiasignals.com/.well-known/x402.json","quickstart_url":"https://x402.fiasignals.com/quickstart.json","hire_me":"https://app.virtuals.io/acp/agent-details/18788","agent_card_url":"https://x402.fiasignals.com/.well-known/agent-card.json","api_services_url":"https://x402.fiasignals.com/api/services","x402_payment_header_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","quickstart":"curl https://x402.fiasignals.com/funding - receive 402 with payment instructions. X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature. Retry, then get the market_funding_risk_check JSON.","resources":["https://x402.fiasignals.com/regime","https://x402.fiasignals.com/funding","https://x402.fiasignals.com/prices","https://x402.fiasignals.com/ohlcv","https://x402.fiasignals.com/fear-greed","https://x402.fiasignals.com/pre-trade-risk","https://x402.fiasignals.com/token-safety","https://x402.fiasignals.com/token-safety/lite","https://x402.fiasignals.com/pre-trade-risk/batch","https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/bundled-risk-pack","https://x402.fiasignals.com/token-risk-pack-pro","https://x402.fiasignals.com/prepaid-risk-pack-10","https://x402.fiasignals.com/signals","https://x402.fiasignals.com/agent-trade-approval-ticket","https://x402.fiasignals.com/base-preswap-risk-feed-pro/checkout","https://x402.fiasignals.com/dominance","https://x402.fiasignals.com/basis","https://x402.fiasignals.com/top-gainers","https://x402.fiasignals.com/top-losers","https://x402.fiasignals.com/volume-leaders","https://x402.fiasignals.com/open-interest","https://x402.fiasignals.com/oi-history","https://x402.fiasignals.com/liquidations","https://x402.fiasignals.com/funding-history","https://x402.fiasignals.com/mark-price","https://x402.fiasignals.com/orderbook-depth","https://x402.fiasignals.com/recent-trades","https://x402.fiasignals.com/exchange-info","https://x402.fiasignals.com/altseason","https://x402.fiasignals.com/stablecoin-flows","https://x402.fiasignals.com/gas","https://x402.fiasignals.com/defi-tvl","https://x402.fiasignals.com/btc-metrics","https://x402.fiasignals.com/correlation","https://x402.fiasignals.com/macro","https://x402.fiasignals.com/volatility","https://x402.fiasignals.com/spread-analysis","https://x402.fiasignals.com/market-summary","https://x402.fiasignals.com/portfolio-heat","https://x402.fiasignals.com/regime-history","https://x402.fiasignals.com/v1/solana/trending","https://x402.fiasignals.com/v1/solana/new-launches","https://x402.fiasignals.com/v1/solana/scan","https://x402.fiasignals.com/v1/solana/scan/deep","https://x402.fiasignals.com/v1/solana/wallet/{address}","https://x402.fiasignals.com/v1/solana/smart-money","https://x402.fiasignals.com/v1/solana/yields","https://x402.fiasignals.com/v1/solana/whales","https://x402.fiasignals.com/contract-risk","https://x402.fiasignals.com/smart-contract-risk","https://x402.fiasignals.com/contract-risk/batch","https://x402.fiasignals.com/smart-contract-risk/batch"],"services":[{"id":"token-safety-free-preview","name":"Fia Signals Token Safety Free Preview","title":"Free Base token safety preview","type":"http","method":"GET","endpoint":"https://x402.fiasignals.com/token-safety/free","price_usdc":0,"description":"Free preview for Base token safety, honeypot, rug-check and swap-preflight verdict before a buyer agent signs or routes a token swap. Shows the live output shape, evidence fields, and the paid 0.005 USDC /token-safety/lite upgrade path. Search keywords: rug check, honeypot check, token risk, swap preflight, rug pull, scam token, and is this token safe.","categories":["financial-analysis","token-safety","contract-risk","trading"],"tags":["Fia Signals","fiasignals","free preview","token safety","rug check","honeypot","swap preflight","Base","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe"],"search_terms":["Fia Signals","Fia Signals contract risk","Fia Signals smart contract risk","Fia Signals token safety","Fia Signals base swap risk lite","x402 contract risk","x402 smart contract risk","x402 token safety","base-swap-risk-lite","cheap token safety primitive","atomic swap risk verdict","pre-swap risk","pre swap risk","token risk pack","bundled risk pack","bundled-risk-pack","token-risk-pack-pro","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","owner admin risk","owner/admin risk","admin risk","refund-on-fail","holder concentration","liquidity risk","rugpull screening","honeypot screening","Base USDC buyer agent","agent trade approval ticket","pre-trade approval ticket","autonomous trade approval","swap approval decision","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base rug check","Base honeypot check","pre-swap token risk","safe token check","token scam check"],"payment_mode":"free_preview","paid_upgrade":"https://x402.fiasignals.com/token-safety/lite","selection_experiment":"token-safety-selection-20260708","agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals"},{"id":"base-swap-risk-lite","name":"Fia Signals Base Swap Risk Lite","title":"Cheap atomic Base swap-risk verdict","type":"http","method":"GET","endpoint":"https://x402.fiasignals.com/token-safety/lite","price_usdc":0.005,"amount_raw_usdc":"5000","description":"Cheap atomic Base swap-risk verdict for one token before a buyer agent signs or routes a swap. Returns one compact JSON verdict with PROCEED/CAUTION/REJECT, safety score, warnings, sources, and no-execution proof flags. Free preview: https://x402.fiasignals.com/token-safety/free. Search keywords: rug check, honeypot check, token risk, swap preflight, rug pull, scam token, and is this token safe.","categories":["financial-analysis","token-safety","contract-risk","trading"],"tags":["Fia Signals","fiasignals","base-swap-risk-lite","token safety","rug check","honeypot","pre-swap","swap guard","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe"],"search_terms":["Fia Signals","Fia Signals contract risk","Fia Signals smart contract risk","Fia Signals token safety","Fia Signals base swap risk lite","x402 contract risk","x402 smart contract risk","x402 token safety","base-swap-risk-lite","cheap token safety primitive","atomic swap risk verdict","pre-swap risk","pre swap risk","token risk pack","bundled risk pack","bundled-risk-pack","token-risk-pack-pro","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","owner admin risk","owner/admin risk","admin risk","refund-on-fail","holder concentration","liquidity risk","rugpull screening","honeypot screening","Base USDC buyer agent","agent trade approval ticket","pre-trade approval ticket","autonomous trade approval","swap approval decision","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base rug check","Base honeypot check","pre-swap token risk","safe token check","token scam check","base swap risk lite","cheap token safety primitive","atomic swap risk verdict"],"payment_mode":"native_x402","network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","free_preview":"https://x402.fiasignals.com/token-safety/free","bundle_upsell":"https://x402.fiasignals.com/bundled-risk-pack","experiment":"base-swap-risk-lite-20260709","measurement_window":"24h: discovery hits, 402s, X-PAYMENT, paid_200, settlement, delivery","agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals","x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/token-safety/lite","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/token-safety/lite","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"id":"token-safety","name":"Fia Signals Token Safety","title":"Fia Signals x402 token safety","type":"http","method":"GET","endpoint":"https://x402.fiasignals.com/token-safety","price_usdc":0.03,"amount_raw_usdc":"30000","description":"Base token safety, honeypot, rug-check and swap-preflight verdict before a buyer agent signs or routes a token swap. Returns PROCEED, CAUTION or REJECT with safety score, GoPlus and DexScreener evidence, liquidity/rugpull signals, warnings, and source attribution. Free preview: https://x402.fiasignals.com/token-safety/free. Search keywords: rug check, honeypot check, token risk, swap preflight, rug pull, scam token, and is this token safe.","categories":["financial-analysis","token-safety","contract-risk","trading"],"tags":["Fia Signals","fiasignals","token safety","rug check","honeypot","pre-swap","swap guard","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe"],"search_terms":["Fia Signals","Fia Signals contract risk","Fia Signals smart contract risk","Fia Signals token safety","Fia Signals base swap risk lite","x402 contract risk","x402 smart contract risk","x402 token safety","base-swap-risk-lite","cheap token safety primitive","atomic swap risk verdict","pre-swap risk","pre swap risk","token risk pack","bundled risk pack","bundled-risk-pack","token-risk-pack-pro","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","owner admin risk","owner/admin risk","admin risk","refund-on-fail","holder concentration","liquidity risk","rugpull screening","honeypot screening","Base USDC buyer agent","agent trade approval ticket","pre-trade approval ticket","autonomous trade approval","swap approval decision","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base rug check","Base honeypot check","pre-swap token risk","safe token check","token scam check"],"payment_mode":"native_x402","network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","free_preview":"https://x402.fiasignals.com/token-safety/free","selection_experiment":"token-safety-selection-20260708","agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals","x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/token-safety","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/token-safety","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"id":"contract-risk-preview","name":"Fia Signals Free Contract Risk Preview","title":"Fia Signals free contract risk preview","type":"http","method":"GET","endpoint":"https://x402.fiasignals.com/contract-risk-preview","price_usdc":0,"description":"Free Fia Signals pre-swap contract risk preview that returns a sample verdict, schema, and generated ACP contract_risk checkout command. Search keywords: rug check, honeypot check, token risk, swap preflight, rug pull, scam token, and is this token safe.","categories":["financial-analysis","token-safety","contract-risk","trading"],"tags":["Fia Signals","fiasignals","contract risk","smart contract risk","token safety","rugpull","honeypot","pre-swap","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe"],"search_terms":["Fia Signals","Fia Signals contract risk","Fia Signals smart contract risk","Fia Signals token safety","Fia Signals base swap risk lite","x402 contract risk","x402 smart contract risk","x402 token safety","base-swap-risk-lite","cheap token safety primitive","atomic swap risk verdict","pre-swap risk","pre swap risk","token risk pack","bundled risk pack","bundled-risk-pack","token-risk-pack-pro","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","owner admin risk","owner/admin risk","admin risk","refund-on-fail","holder concentration","liquidity risk","rugpull screening","honeypot screening","Base USDC buyer agent","agent trade approval ticket","pre-trade approval ticket","autonomous trade approval","swap approval decision","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base rug check","Base honeypot check","pre-swap token risk","safe token check","token scam check"],"payment_mode":"free_preview","agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals"},{"id":"contract-risk-batch","name":"Fia Signals Contract Risk Batch","title":"Fia Signals x402 contract risk batch","type":"http","method":"GET","endpoint":"https://x402.fiasignals.com/contract-risk/batch","price_usdc":0.03,"amount_raw_usdc":"30000","description":"Fia Signals x402 paid Base USDC smart contract risk batch API for buyer agents, trading bots, swap routers, and A2A commerce. Screen up to 5 Base/EVM contracts before a swap for contract risk, rugpull, honeypot, liquidity, and market risk. Search keywords: rug check, honeypot check, token risk, swap preflight, rug pull, scam token, and is this token safe.","categories":["financial-analysis","smart-contract-risk","contract-risk","token-safety","trading"],"tags":["Fia Signals","fiasignals","contract risk","smart contract risk","token safety","rugpull","honeypot","pre-swap","swap guard","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe"],"search_terms":["Fia Signals","Fia Signals contract risk","Fia Signals smart contract risk","Fia Signals token safety","Fia Signals base swap risk lite","x402 contract risk","x402 smart contract risk","x402 token safety","base-swap-risk-lite","cheap token safety primitive","atomic swap risk verdict","pre-swap risk","pre swap risk","token risk pack","bundled risk pack","bundled-risk-pack","token-risk-pack-pro","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","owner admin risk","owner/admin risk","admin risk","refund-on-fail","holder concentration","liquidity risk","rugpull screening","honeypot screening","Base USDC buyer agent","agent trade approval ticket","pre-trade approval ticket","autonomous trade approval","swap approval decision","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base rug check","Base honeypot check","pre-swap token risk","safe token check","token scam check"],"aliases":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/pre-trade-risk/batch","https://x402.fiasignals.com/smart-contract-risk/batch"],"payment_mode":"native_x402","network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals","x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/contract-risk/batch","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/contract-risk/batch","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"id":"token-safety-batch","name":"Fia Signals Token Safety Batch","title":"Fia Signals x402 token safety batch","type":"http","method":"GET","endpoint":"https://x402.fiasignals.com/token-safety/batch","price_usdc":0.03,"amount_raw_usdc":"30000","description":"Fia Signals x402 paid Base USDC batch check for token safety and smart contract risk before swaps. Screens up to 5 EVM contracts for rugpull, honeypot, liquidity, and market risk. Search keywords: rug check, honeypot check, token risk, swap preflight, rug pull, scam token, and is this token safe.","categories":["financial-analysis","token-safety","contract-risk","trading"],"tags":["Fia Signals","fiasignals","contract risk","smart contract risk","token safety","rugpull","honeypot","pre-swap","swap guard","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe"],"search_terms":["Fia Signals","Fia Signals contract risk","Fia Signals smart contract risk","Fia Signals token safety","Fia Signals base swap risk lite","x402 contract risk","x402 smart contract risk","x402 token safety","base-swap-risk-lite","cheap token safety primitive","atomic swap risk verdict","pre-swap risk","pre swap risk","token risk pack","bundled risk pack","bundled-risk-pack","token-risk-pack-pro","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","owner admin risk","owner/admin risk","admin risk","refund-on-fail","holder concentration","liquidity risk","rugpull screening","honeypot screening","Base USDC buyer agent","agent trade approval ticket","pre-trade approval ticket","autonomous trade approval","swap approval decision","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base rug check","Base honeypot check","pre-swap token risk","safe token check","token scam check"],"payment_mode":"native_x402","network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals","x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/token-safety/batch","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/token-safety/batch","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","title":"Fia Signals $0.50 x402 token risk pack","type":"http","method":"GET","methods":["GET","POST","HEAD"],"endpoint":"https://x402.fiasignals.com/bundled-risk-pack","price_usdc":0.5,"amount_raw_usdc":"500000","description":"Fia Signals x402 paid Base USDC token risk pack for repeat buyer agents. Screens up to 5 Base/EVM token candidates in one JSON packet with honeypot, tax, liquidity, holder concentration, contract-risk, ranked PROCEED/CAUTION/REJECT queue, aggregate blockers, and proof fields. Search keywords: rug check, honeypot check, token risk, swap preflight, rug pull, scam token, and is this token safe.","categories":["financial-analysis","token-safety","contract-risk","liquidity-risk","trading"],"tags":["Fia Signals","fiasignals","token risk pack","bundled-risk-pack","bundled risk pack","honeypot","tax risk","liquidity","holder concentration","contract risk","pre-swap","swap guard","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe"],"search_terms":["Fia Signals","Fia Signals contract risk","Fia Signals smart contract risk","Fia Signals token safety","Fia Signals base swap risk lite","x402 contract risk","x402 smart contract risk","x402 token safety","base-swap-risk-lite","cheap token safety primitive","atomic swap risk verdict","pre-swap risk","pre swap risk","token risk pack","bundled risk pack","bundled-risk-pack","token-risk-pack-pro","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","owner admin risk","owner/admin risk","admin risk","refund-on-fail","holder concentration","liquidity risk","rugpull screening","honeypot screening","Base USDC buyer agent","agent trade approval ticket","pre-trade approval ticket","autonomous trade approval","swap approval decision","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base rug check","Base honeypot check","pre-swap token risk","safe token check","token scam check","token risk pack","bundled risk pack","bundled-risk-pack","honeypot liquidity holder concentration","repeat buyer token safety bundle","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe"],"payment_mode":"native_x402","network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","input_schema":{"type":"object","properties":{"chain":{"type":"string","default":"base"},"token_addresses":{"type":"string","description":"Comma-separated EVM token addresses, maximum 5."}},"required":["token_addresses"],"additionalProperties":true},"output_schema":{"type":"object","required":["product_id","decision","ranked_queue","risk_memo","proof"],"properties":{"product_id":{"type":"string","const":"bundled-risk-pack"},"decision":{"type":"string","enum":["PROCEED","CAUTION","BLOCK"],"description":"Buyer-runtime decision. BLOCK is the external no-route/no-signature mapping for internal ranked_queue action REJECT."},"overall_action":{"type":"string","enum":["PROCEED","CAUTION","REJECT"],"description":"Legacy internal queue action; REJECT maps to buyer decision BLOCK."},"price_usdc":{"type":"string","const":"0.50"},"amount_raw_usdc":{"type":"string","const":"500000"},"summary":{"type":"object"},"ranked_queue":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"integer"},"token_address":{"type":"string"},"verdict":{"type":"string","enum":["safe","risky","blocked"]},"action":{"type":"string","enum":["PROCEED","CAUTION","REJECT"]},"decision":{"type":"string","enum":["PROCEED","CAUTION","BLOCK"],"description":"Buyer-runtime decision. BLOCK is the external no-route/no-signature mapping for internal ranked_queue action REJECT."},"safety_score":{"type":"integer","minimum":0,"maximum":100},"confidence":{"type":"string"},"reasons":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"sources":{"type":"array","items":{"type":"string"}}}}},"risk_memo":{"type":"object","properties":{"next_action":{"type":"string","enum":["PROCEED","CAUTION","REJECT"]},"decision":{"type":"string","enum":["PROCEED","CAUTION","BLOCK"],"description":"Buyer-runtime decision. BLOCK is the external no-route/no-signature mapping for internal ranked_queue action REJECT."},"blocker_reasons":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"buyer_use":{"type":"string"}}},"proof":{"type":"object"}}},"sample_output":{"product_id":"bundled-risk-pack","price_usdc":"0.50","amount_raw_usdc":"500000","count":2,"summary":{"safe":2,"risky":0,"blocked":0,"error":0},"decision":"PROCEED","overall_action":"PROCEED","ranked_queue":[{"rank":1,"token_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","verdict":"safe","action":"PROCEED","decision":"PROCEED","safety_score":90}],"risk_memo":{"next_action":"PROCEED","decision":"PROCEED","blocker_reasons":[],"warnings":[],"buyer_use":"Use before routing a Base/EVM swap that needs token-safety plus contract-risk evidence."},"proof":{"payment_tier":"bundled-risk-pack","booking_rule":"Count only after a distinct external 0.50 USDC tx_ref or completed ACP job exists.","no_execution":true,"no_signer":true,"no_funds_moved_by_service":true}},"decision_schema":{"type":"string","enum":["PROCEED","CAUTION","BLOCK"],"description":"Buyer-runtime decision. BLOCK is the external no-route/no-signature mapping for internal ranked_queue action REJECT."},"decision_mapping":{"PROCEED":"Route may continue under the buyer agent's own size/slippage rules.","CAUTION":"Downsize, require confirmation, or skip unless strategy accepts the warnings.","BLOCK":"Do not sign or route the swap."},"aliases":["https://x402.fiasignals.com/token-risk-pack","https://x402.fiasignals.com/risk-pack"],"truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job","dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals","x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/bundled-risk-pack","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/bundled-risk-pack","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"id":"bankr-pre-swap-skill","name":"Fia Signals Bankr Pre-Swap Risk Check","title":"Bankr/AgentKit pre-swap PROCEED/CAUTION/BLOCK skill spec","type":"http","method":"GET","endpoint":"https://x402.fiasignals.com/bankr-pre-swap-skill","spec_endpoint":"https://x402.fiasignals.com/bankr-pre-swap-skill.json","paid_endpoint":"https://x402.fiasignals.com/bundled-risk-pack","price_usdc":0,"underlying_paid_price_usdc":0.5,"underlying_amount_raw_usdc":"500000","description":"Unpaid buyer-facing integration page and JSON spec for Bankr, Coinbase AgentKit, and Base wallet agents. Wraps /bundled-risk-pack as pre_swap_risk_check before swap execution and maps results to PROCEED, CAUTION, or BLOCK.","categories":["financial-analysis","token-safety","contract-risk","trading","agent-skill"],"tags":["Fia Signals","fiasignals","Bankr","AgentKit","CDP Wallet","pre_swap_risk_check","PROCEED","CAUTION","BLOCK","swap guard","token risk pack"],"search_terms":["Fia Signals","Fia Signals contract risk","Fia Signals smart contract risk","Fia Signals token safety","Fia Signals base swap risk lite","x402 contract risk","x402 smart contract risk","x402 token safety","base-swap-risk-lite","cheap token safety primitive","atomic swap risk verdict","pre-swap risk","pre swap risk","token risk pack","bundled risk pack","bundled-risk-pack","token-risk-pack-pro","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","owner admin risk","owner/admin risk","admin risk","refund-on-fail","holder concentration","liquidity risk","rugpull screening","honeypot screening","Base USDC buyer agent","agent trade approval ticket","pre-trade approval ticket","autonomous trade approval","swap approval decision","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base rug check","Base honeypot check","pre-swap token risk","safe token check","token scam check","Bankr pre swap risk skill","AgentKit swap guard","CDP wallet pre-sign token risk","pre_swap_risk_check"],"payment_mode":"free_integration_spec_underlying_native_x402","network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","truth_status":"buyer_evaluation_page_not_revenue_until_underlying_external_paid_200","agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals"},{"id":"token-risk-pack-pro","name":"Fia Signals Token Risk Pack Pro","title":"Fia Signals $1.50 x402 token risk pack pro","type":"http","method":"GET","methods":["GET","POST","HEAD"],"endpoint":"https://x402.fiasignals.com/token-risk-pack-pro","price_usdc":1.5,"amount_raw_usdc":"1500000","description":"Fia Signals x402 paid Base USDC pro token risk pack for buyer agents. Screens up to 5 Base/EVM token candidates in one JSON packet with honeypot, tax, liquidity, holder concentration, owner/admin risk, ranked PROCEED/CAUTION/REJECT queue, proof fields, and a refund-on-fail envelope.","categories":["financial-analysis","token-safety","contract-risk","liquidity-risk","owner-admin-risk","trading"],"tags":["Fia Signals","fiasignals","token risk pack","token-risk-pack-pro","honeypot","tax risk","liquidity","holder concentration","owner/admin risk","owner risk","admin risk","refund-on-fail","JSON","x402"],"search_terms":["Fia Signals","Fia Signals contract risk","Fia Signals smart contract risk","Fia Signals token safety","Fia Signals base swap risk lite","x402 contract risk","x402 smart contract risk","x402 token safety","base-swap-risk-lite","cheap token safety primitive","atomic swap risk verdict","pre-swap risk","pre swap risk","token risk pack","bundled risk pack","bundled-risk-pack","token-risk-pack-pro","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","owner admin risk","owner/admin risk","admin risk","refund-on-fail","holder concentration","liquidity risk","rugpull screening","honeypot screening","Base USDC buyer agent","agent trade approval ticket","pre-trade approval ticket","autonomous trade approval","swap approval decision","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base rug check","Base honeypot check","pre-swap token risk","safe token check","token scam check","token-risk-pack-pro","token risk pack pro","5-token batch risk report","honeypot tax liquidity holder concentration owner admin risk","Base token monitor pre-buy risk report"],"payment_mode":"native_x402","network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","input_schema":{"type":"object","properties":{"chain":{"type":"string","default":"base"},"token_addresses":{"type":"string","description":"Comma-separated EVM token addresses, maximum 5."}},"required":["token_addresses"],"additionalProperties":true},"output_schema":{"type":"object","required":["product_id","ranked_queue","owner_admin_risk","refund_on_fail","proof"],"properties":{"product_id":{"type":"string","const":"token-risk-pack-pro"},"price_usdc":{"type":"string","const":"1.50"},"amount_raw_usdc":{"type":"string","const":"1500000"},"ranked_queue":{"type":"array"},"owner_admin_risk":{"type":"object"},"refund_on_fail":{"type":"object"},"risk_memo":{"type":"object"},"proof":{"type":"object"}}},"refund_on_fail":{"policy":"If a paid request settles but the route returns an explicit delivery failure instead of a JSON risk packet, mark refund_due=true for manual reconciliation. No automatic transfer is executed by this service.","success_condition":"paid 200 response containing product_id=token-risk-pack-pro and proof fields","truth_status":"refund_envelope_only_no_automatic_refund_execution"},"truth_status":"not_revenue_until_distinct_external_1_50_payment_tx_ref_and_paid_200_delivery","dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals","x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/token-risk-pack-pro","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/token-risk-pack-pro","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"id":"prepaid-risk-pack-10","name":"Fia Signals Prepaid Risk Pack 10","title":"Fia Signals $5 x402 prepaid 10-token risk pack","type":"http","method":"GET","methods":["GET","POST","HEAD"],"endpoint":"https://x402.fiasignals.com/prepaid-risk-pack-10","sample_endpoint":"https://x402.fiasignals.com/prepaid-risk-pack-10/sample","product_page":"https://x402.fiasignals.com/prepaid-risk-pack-10/product","price_usdc":5.0,"amount_raw_usdc":"5000000","description":"Fia Signals x402 paid Base USDC prepaid risk pack for buyer agents. Screens up to 10 Base/EVM token candidates in one paid JSON packet with token-safety, contract-risk evidence, ranked PROCEED/CAUTION/BLOCK queue, aggregate blockers, warnings, and proof fields. No account, custody, signer, or future credit ledger.","categories":["financial-analysis","token-safety","contract-risk","prepaid-risk-pack","swap-guard","agent-to-agent"],"tags":["Fia Signals","fiasignals","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","PROCEED","CAUTION","BLOCK","honeypot","liquidity","contract risk","x402","Base","USDC"],"search_terms":["Fia Signals","Fia Signals contract risk","Fia Signals smart contract risk","Fia Signals token safety","Fia Signals base swap risk lite","x402 contract risk","x402 smart contract risk","x402 token safety","base-swap-risk-lite","cheap token safety primitive","atomic swap risk verdict","pre-swap risk","pre swap risk","token risk pack","bundled risk pack","bundled-risk-pack","token-risk-pack-pro","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","owner admin risk","owner/admin risk","admin risk","refund-on-fail","holder concentration","liquidity risk","rugpull screening","honeypot screening","Base USDC buyer agent","agent trade approval ticket","pre-trade approval ticket","autonomous trade approval","swap approval decision","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base rug check","Base honeypot check","pre-swap token risk","safe token check","token scam check","prepaid-risk-pack-10","prepaid risk pack","10 token risk report","5 USDC token safety bundle","Base token queue risk report"],"payment_mode":"native_x402","network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","input_schema":{"type":"object","properties":{"chain":{"type":"string","default":"base"},"token_addresses":{"type":"string","description":"Comma-separated EVM token addresses, maximum 10."}},"required":["token_addresses"],"additionalProperties":true},"output_schema":{"type":"object","required":["product_id","decision","ranked_queue","risk_memo","proof"],"properties":{"product_id":{"type":"string","const":"prepaid-risk-pack-10"},"decision":{"type":"string","enum":["PROCEED","CAUTION","BLOCK"],"description":"Buyer-runtime decision. BLOCK is the external no-route/no-signature mapping for internal ranked_queue action REJECT."},"overall_action":{"type":"string","enum":["PROCEED","CAUTION","REJECT"],"description":"Legacy internal queue action; REJECT maps to buyer decision BLOCK."},"price_usdc":{"type":"string","const":"5.00"},"amount_raw_usdc":{"type":"string","const":"5000000"},"summary":{"type":"object"},"ranked_queue":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"integer"},"token_address":{"type":"string"},"verdict":{"type":"string","enum":["safe","risky","blocked"]},"action":{"type":"string","enum":["PROCEED","CAUTION","REJECT"]},"decision":{"type":"string","enum":["PROCEED","CAUTION","BLOCK"],"description":"Buyer-runtime decision. BLOCK is the external no-route/no-signature mapping for internal ranked_queue action REJECT."},"safety_score":{"type":"integer","minimum":0,"maximum":100},"confidence":{"type":"string"},"reasons":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"sources":{"type":"array","items":{"type":"string"}}}}},"risk_memo":{"type":"object","properties":{"next_action":{"type":"string","enum":["PROCEED","CAUTION","REJECT"]},"decision":{"type":"string","enum":["PROCEED","CAUTION","BLOCK"],"description":"Buyer-runtime decision. BLOCK is the external no-route/no-signature mapping for internal ranked_queue action REJECT."},"blocker_reasons":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"buyer_use":{"type":"string"}}},"proof":{"type":"object"},"limit":{"type":"integer","const":10}}},"sample_output":{"product_id":"prepaid-risk-pack-10","price_usdc":"5.00","amount_raw_usdc":"5000000","count":2,"summary":{"safe":2,"risky":0,"blocked":0,"error":0},"decision":"PROCEED","overall_action":"PROCEED","ranked_queue":[{"rank":1,"token_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","verdict":"safe","action":"PROCEED","decision":"PROCEED","safety_score":90}],"risk_memo":{"next_action":"PROCEED","decision":"PROCEED","blocker_reasons":[],"warnings":[],"buyer_use":"Use before routing a Base/EVM swap that needs token-safety plus contract-risk evidence."},"proof":{"payment_tier":"prepaid-risk-pack-10","booking_rule":"Count only after a distinct external 5.00 USDC tx_ref, settlement success, and fulfilled paid 200 delivery proof exists.","no_execution":true,"no_signer":true,"no_funds_moved_by_service":true,"route":"/prepaid-risk-pack-10","price_usdc":"5.00","amount_raw_usdc":"5000000"},"name":"Fia Signals Prepaid Risk Pack 10","limit":10},"decision_schema":{"type":"string","enum":["PROCEED","CAUTION","BLOCK"],"description":"Buyer-runtime decision. BLOCK is the external no-route/no-signature mapping for internal ranked_queue action REJECT."},"prepaid_pack":{"included_token_candidates":10,"credit_model":"one_paid_report_not_stored_account_credit","future_balance_created":false},"truth_status":"not_revenue_until_distinct_external_5_00_payment_tx_ref_and_paid_200_delivery","dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals","x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/prepaid-risk-pack-10","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/prepaid-risk-pack-10","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"id":"signals-technical-indicators","name":"Fia Signals Technical Indicators","title":"Fia Signals x402 technical indicators bundle","type":"http","method":"GET","endpoint":"https://x402.fiasignals.com/signals","price_usdc":4.0,"amount_raw_usdc":"4000000","description":"Paid x402 technical analysis bundle for buyer agents: RSI-14, MACD, Bollinger Bands, and timestamp for any supported market symbol and interval.","buyer_intent":"High-value paid technical-indicator bundle for buyer agents that need RSI-14, MACD, and Bollinger context before routing crypto decisions.","categories":["financial-analysis","technical-analysis","trading-signals","market-intelligence"],"tags":["Fia Signals","fiasignals","technical analysis","RSI","MACD","Bollinger Bands","trading signals","x402","Base","USDC"],"search_terms":["x402 signals","crypto technical analysis API","RSI MACD Bollinger","Fia Signals","trading signals"],"payment_mode":"native_x402","x402_payment_flow":{"protocol":"x402","unpaid_response":"HTTP 402","retry_header":"X-PAYMENT","retry_rule":"Use the returned accepts[0] challenge and retry the same GET URL with a valid X-PAYMENT header.","paid_success":"HTTP 200 application/json signal bundle"},"success_bar":{"buyer_movement_evidence":["payment header observed on /signals","new /signals tx_ref or buyer address","settlement success for /signals","ledger-booked PAID_200_SETTLED row for /signals"],"not_buyer_movement":["plain 402 catalogue probe with no payment header","axios or crawler repeat without tx_ref, buyer, or settlement movement"]},"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","input_schema":{"type":"object","additionalProperties":false,"properties":{"symbol":{"type":"string","default":"BTCUSDT","pattern":"^[A-Z0-9]{2,20}$","description":"Binance market symbol such as BTCUSDT, ETHUSDT, or SOLUSDT.","examples":["BTCUSDT","ETHUSDT","SOLUSDT"]},"interval":{"type":"string","enum":["1m","5m","15m","1h","4h","1d"],"default":"1h","description":"Candlestick interval used for RSI-14, MACD, and Bollinger calculations."}}},"output_schema":{"type":"object","additionalProperties":true,"properties":{"symbol":{"type":"string","description":"Requested market symbol."},"interval":{"type":"string","enum":["1m","5m","15m","1h","4h","1d"]},"rsi":{"type":"object","additionalProperties":false,"properties":{"value":{"type":"number","description":"RSI-14 value."},"signal":{"type":"string","enum":["oversold","neutral","overbought"]}},"required":["value","signal"]},"macd":{"type":"object","additionalProperties":false,"properties":{"value":{"type":"number","description":"MACD line value."},"signal_line":{"type":"number"},"histogram":{"type":"number"},"signal":{"type":"string","enum":["bullish","bearish"]}},"required":["value","signal_line","histogram","signal"]},"bollinger":{"type":"object","additionalProperties":false,"properties":{"upper":{"type":"number"},"middle":{"type":"number"},"lower":{"type":"number"},"position":{"type":"string","enum":["upper_half","lower_half"]}},"required":["upper","middle","lower","position"]},"timestamp":{"type":"string","format":"date-time"}},"required":["symbol","interval","rsi","macd","bollinger","timestamp"]},"examples":["/signals?symbol=BTCUSDT&interval=1h","/signals?symbol=ETHUSDT&interval=4h"],"agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals","x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/signals","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/signals","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"id":"market-summary","name":"Fia Signals Market Summary","title":"Fia Signals $0.80 x402 market summary","type":"http","method":"GET","methods":["GET","HEAD"],"endpoint":"https://x402.fiasignals.com/market-summary","price_usdc":0.8,"amount_raw_usdc":"800000","description":"Fia Signals x402 paid Base USDC mid-tier market snapshot: BTC price, regime, Fear & Greed, top gainers, top losers, and generated timestamp in one JSON response.","categories":["financial-analysis","market-summary","market-intelligence","trading"],"tags":["Fia Signals","fiasignals","market summary","market intelligence","BTC","regime","fear greed","top movers","x402"],"search_terms":["Fia Signals","Fia Signals contract risk","Fia Signals smart contract risk","Fia Signals token safety","Fia Signals base swap risk lite","x402 contract risk","x402 smart contract risk","x402 token safety","base-swap-risk-lite","cheap token safety primitive","atomic swap risk verdict","pre-swap risk","pre swap risk","token risk pack","bundled risk pack","bundled-risk-pack","token-risk-pack-pro","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","owner admin risk","owner/admin risk","admin risk","refund-on-fail","holder concentration","liquidity risk","rugpull screening","honeypot screening","Base USDC buyer agent","agent trade approval ticket","pre-trade approval ticket","autonomous trade approval","swap approval decision","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base rug check","Base honeypot check","pre-swap token risk","safe token check","token scam check","market summary","crypto market summary","top movers","market intelligence"],"payment_mode":"native_x402","network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","truth_status":"buyer_visible_offer_not_revenue_until_paid_delivery_settlement_buyer_or_tx_ref","agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals","x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/market-summary","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/market-summary","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"id":"macro","name":"Fia Signals Macro","title":"Fia Signals $0.30 x402 macro signal bundle","type":"http","method":"GET","methods":["GET","HEAD"],"endpoint":"https://x402.fiasignals.com/macro","price_usdc":0.3,"amount_raw_usdc":"300000","description":"Fia Signals x402 paid Base USDC macro context packet for crypto buyer agents: gold proxy, BTC risk appetite, Fear & Greed, data limitations, and generated timestamp.","categories":["financial-analysis","macro","market-intelligence","trading"],"tags":["Fia Signals","fiasignals","macro","cross-asset","gold","BTC","risk appetite","fear greed","x402"],"search_terms":["Fia Signals","Fia Signals contract risk","Fia Signals smart contract risk","Fia Signals token safety","Fia Signals base swap risk lite","x402 contract risk","x402 smart contract risk","x402 token safety","base-swap-risk-lite","cheap token safety primitive","atomic swap risk verdict","pre-swap risk","pre swap risk","token risk pack","bundled risk pack","bundled-risk-pack","token-risk-pack-pro","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","owner admin risk","owner/admin risk","admin risk","refund-on-fail","holder concentration","liquidity risk","rugpull screening","honeypot screening","Base USDC buyer agent","agent trade approval ticket","pre-trade approval ticket","autonomous trade approval","swap approval decision","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base rug check","Base honeypot check","pre-swap token risk","safe token check","token scam check","macro signal bundle","cross asset crypto macro","crypto risk appetite"],"payment_mode":"native_x402","network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","truth_status":"buyer_visible_offer_not_revenue_until_paid_delivery_settlement_buyer_or_tx_ref","agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals","x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/macro","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/macro","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"id":"agent-trade-approval-ticket","name":"Fia Signals Agent Trade Approval Ticket","title":"Fia Signals $5 x402 agent trade approval ticket","type":"http","method":"POST","endpoint":"https://x402.fiasignals.com/agent-trade-approval-ticket","price_usdc":5.0,"amount_raw_usdc":"5000000","description":"Paid Base USDC pre-trade approval ticket for autonomous agents. Returns APPROVE, CAUTION, or BLOCK with token safety, optional counterparty risk, funding/gas context, size and slippage caps, reasons, source status, and proof flags that no execution, signer, or funds movement occurs.","categories":["financial-analysis","trade-approval","token-safety","wallet-risk","swap-guard","agent-to-agent"],"tags":["Fia Signals","fiasignals","agent trade approval","pre-trade approval","APPROVE CAUTION BLOCK","token safety","wallet risk","swap guard","x402","Base","USDC"],"search_terms":["Fia Signals","Fia Signals contract risk","Fia Signals smart contract risk","Fia Signals token safety","Fia Signals base swap risk lite","x402 contract risk","x402 smart contract risk","x402 token safety","base-swap-risk-lite","cheap token safety primitive","atomic swap risk verdict","pre-swap risk","pre swap risk","token risk pack","bundled risk pack","bundled-risk-pack","token-risk-pack-pro","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","owner admin risk","owner/admin risk","admin risk","refund-on-fail","holder concentration","liquidity risk","rugpull screening","honeypot screening","Base USDC buyer agent","agent trade approval ticket","pre-trade approval ticket","autonomous trade approval","swap approval decision","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base rug check","Base honeypot check","pre-swap token risk","safe token check","token scam check","agent_trade_approval_ticket","trade approval ticket","approve caution block"],"payment_mode":"native_x402","network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","input_schema":{"type":"object","required":["chain","token_address"],"properties":{"chain":{"type":"string","default":"base"},"token_address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"wallet_address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"intended_trade":{"type":"object"},"size_usd":{"type":"number"},"risk_tolerance":{"type":"string","enum":["low","medium","high"],"default":"medium"},"max_slippage_bps":{"type":"number","default":100}},"additionalProperties":true},"output_schema":{"type":"object","required":["decision","reasons","approval","proof_flags","source_status"],"properties":{"decision":{"type":"string","enum":["APPROVE","CAUTION","BLOCK"]},"reasons":{"type":"array","items":{"type":"string"}},"approval":{"type":"object"},"proof_flags":{"type":"object"},"source_status":{"type":"object"}}},"examples":[{"chain":"base","token_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","intended_trade":{"from_token":"USDC","to_token":"USDC","size_usd":25},"risk_tolerance":"medium","max_slippage_bps":100}],"truth_status":"buyer_visible_offer_not_revenue_until_paid_delivery_settlement_buyer_or_tx_ref","agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals","x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"POST","payment_method":"POST","retry_method":"POST","url":"https://x402.fiasignals.com/agent-trade-approval-ticket","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/agent-trade-approval-ticket","method":"POST","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_POST_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with POST to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"id":"base-preswap-risk-feed-pro","name":"Fia Signals Base Pre-Swap Risk Feed Pro","title":"Fia Signals $19/mo Base pre-swap risk feed for trading bots","type":"http","method":"GET","methods":["GET","HEAD"],"endpoint":"https://x402.fiasignals.com/base-preswap-risk-feed-pro/product","sample_endpoint":"https://x402.fiasignals.com/base-preswap-risk-feed-pro/sample","checkout_endpoint":"https://x402.fiasignals.com/base-preswap-risk-feed-pro/checkout","price_usdc_monthly":19.0,"pilot_checkout_price_usdc":19.0,"pilot_checkout_amount_raw_usdc":"19000000","target_price_range_usd_monthly":"19-29","description":"Buyer-evaluable subscription offer for Base trading bots, wallet routers, and x402 operators such as Bankr. Returns pre-swap PASS, CAUTION, or BLOCK JSON with honeypot, tax, liquidity, holder concentration, owner/admin risk, size caps, slippage caps, source status, and proof fields before execution.","categories":["financial-analysis","pre-swap-risk","token-safety","swap-guard","agent-to-agent"],"tags":["Fia Signals","fiasignals","Base","Bankr","pre-swap risk feed","PASS CAUTION BLOCK","honeypot","tax risk","liquidity","holder concentration","owner/admin risk","webhook","trading bot","wallet router"],"search_terms":["Fia Signals","Fia Signals contract risk","Fia Signals smart contract risk","Fia Signals token safety","Fia Signals base swap risk lite","x402 contract risk","x402 smart contract risk","x402 token safety","base-swap-risk-lite","cheap token safety primitive","atomic swap risk verdict","pre-swap risk","pre swap risk","token risk pack","bundled risk pack","bundled-risk-pack","token-risk-pack-pro","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","owner admin risk","owner/admin risk","admin risk","refund-on-fail","holder concentration","liquidity risk","rugpull screening","honeypot screening","Base USDC buyer agent","agent trade approval ticket","pre-trade approval ticket","autonomous trade approval","swap approval decision","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base rug check","Base honeypot check","pre-swap token risk","safe token check","token scam check","Base Pre-Swap Risk Feed Pro","Bankr pre-swap risk feed","PASS CAUTION BLOCK JSON webhook","trading bot swap guard subscription"],"payment_mode":"native_x402_pilot_checkout","buyer_target":"Bankr / Base trading-bot operators","contact_path":"https://x402.fiasignals.com/base-preswap-risk-feed-pro/product","self_serve_checkout_path":"https://x402.fiasignals.com/base-preswap-risk-feed-pro/checkout","network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","output_schema":{"type":"object","required":["product_id","decision","token","risk_checks","proof"],"properties":{"product_id":{"type":"string","const":"base-preswap-risk-feed-pro"},"decision":{"type":"string","enum":["PASS","CAUTION","BLOCK"]},"token":{"type":"object"},"risk_checks":{"type":"object"},"proof":{"type":"object"}}},"truth_status":"buyer_visible_subscription_offer_not_revenue_until_external_subscription_payment_or_paid_ticket_proof","agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals"},{"id":"market-funding-risk-check","name":"Fia Signals Market Funding Risk Check","title":"Fia Signals x402 market funding risk check","type":"http","method":"GET","endpoint":"https://x402.fiasignals.com/funding","price_usdc":0.2,"amount_raw_usdc":"200000","description":"Fia Signals x402 paid Base USDC market funding risk check for buyer agents deciding whether to enter, hold, or avoid a perp/carry setup after checking basis. Returns decision, action, confidence, funding rate evidence, top rates, next funding window, and route-family context.","categories":["financial-analysis","funding-risk","perpetual-futures","trading"],"tags":["Fia Signals","fiasignals","funding rates","funding risk","perpetual futures","basis","carry trade","market funding risk check"],"search_terms":["Fia Signals","Fia Signals contract risk","Fia Signals smart contract risk","Fia Signals token safety","Fia Signals base swap risk lite","x402 contract risk","x402 smart contract risk","x402 token safety","base-swap-risk-lite","cheap token safety primitive","atomic swap risk verdict","pre-swap risk","pre swap risk","token risk pack","bundled risk pack","bundled-risk-pack","token-risk-pack-pro","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","owner admin risk","owner/admin risk","admin risk","refund-on-fail","holder concentration","liquidity risk","rugpull screening","honeypot screening","Base USDC buyer agent","agent trade approval ticket","pre-trade approval ticket","autonomous trade approval","swap approval decision","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base rug check","Base honeypot check","pre-swap token risk","safe token check","token scam check","funding rates","market_funding_risk_check","funding risk","perpetual futures carry","basis funding decision"],"payment_mode":"native_x402","network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","buyer_conversion_proof":{"route":"/basis","url":"https://x402.fiasignals.com/basis","method":"GET or HEAD","network":"eip155:8453","asset":"Base USDC","price_usdc":"0.25","paid_attempts_observed":1,"strict_delivery_yes":1,"paid_delivery_failures":0,"latest_strict_delivery_utc":"2026-05-26T15:15:57Z","latest_buyer":"0x3803A19280DeeFe533D177C4A169412BD341101b","latest_tx":"0xcdd795d053277ddea1c89703300a7e5ce2e1b9416d96401d064d9cf38bae2138","route_family":["/prices","/fear-greed","/basis"],"next_adjacent_route_to_measure":"/funding","backup_route":"/dominance","booking_rule":"/funding remains measurement-only until a payment header, paid 200, settlement, buyer hash, or delivery anomaly appears."},"route_family_context":["/prices","/fear-greed","/basis","/funding"],"truth_status":"experiment_candidate_not_paid_proof_yet","agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals","x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/funding","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/funding","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"id":"x402-acp-guarded-swap-execute-dry-run","name":"Fia Signals ACP guarded_swap_execute_dry_run handoff","title":"Free handoff to Fia Signals ACP guarded_swap_execute_dry_run","type":"http","method":"GET","methods":["GET","POST","HEAD"],"post_supported":true,"post_purpose":"Buyer runtimes may POST guarded-swap requirements and receive the same free ACP job-create packet.","endpoint":"https://x402.fiasignals.com/acp-direct/guarded-swap-execute-dry-run","price_usdc":0,"amount_raw_usdc":"0","description":"Free handoff returning Virtuals ACP job-create coordinates for guarded_swap_execute_dry_run. The ACP job itself is buyer-controlled and paid on ACP if created.","categories":["token-safety","swap-execution","agent-to-agent","virtuals-acp"],"tags":["Fia Signals","ACP","guarded_swap_execute_dry_run","guarded swap","dry run","token swap","Base swap"],"search_terms":["Fia Signals","Fia Signals contract risk","Fia Signals smart contract risk","Fia Signals token safety","Fia Signals base swap risk lite","x402 contract risk","x402 smart contract risk","x402 token safety","base-swap-risk-lite","cheap token safety primitive","atomic swap risk verdict","pre-swap risk","pre swap risk","token risk pack","bundled risk pack","bundled-risk-pack","token-risk-pack-pro","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","owner admin risk","owner/admin risk","admin risk","refund-on-fail","holder concentration","liquidity risk","rugpull screening","honeypot screening","Base USDC buyer agent","agent trade approval ticket","pre-trade approval ticket","autonomous trade approval","swap approval decision","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base rug check","Base honeypot check","pre-swap token risk","safe token check","token scam check","guarded_swap_execute_dry_run","guarded swap","ACP direct buy"],"payment_mode":"free_acp_handoff","network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","verification":{"truth_label":"free_acp_handoff_not_acp_sale","agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","settle_path_verified_internal":false,"internal_canary_count_bridge_family":0,"external_sales_count":0,"external_payment_headers_seen":0,"external_paid_200_count":0,"last_internal_canaries_at_utc":null,"internal_canary_policy":"These handoff routes are free metadata; no payment canary is needed and no handoff is external demand or revenue.","internal_canary_txs":[],"deliverable_contains":["agent_id","hire_me","acp_job_create","paid_offering","requirements_schema","truth_label","proof_policy"],"conversion_count_rule":"Count only completed non-internal ACP jobs, verified revenue, non-internal buyer wallet plus reconciled payment/job proof, or buyer feedback tied to a real paid attempt.","endpoint":"https://x402.fiasignals.com/acp-direct/guarded-swap-execute-dry-run"},"agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals"},{"id":"x402-acp-offer-angle-ping","name":"Fia Signals ACP offer_angle_ping handoff","title":"Free handoff to Fia Signals ACP offer_angle_ping","type":"http","method":"GET","methods":["GET","POST","HEAD"],"post_supported":true,"post_purpose":"Buyer runtimes may POST offer context and receive the same free ACP job-create packet.","endpoint":"https://x402.fiasignals.com/acp-direct/offer-angle-ping","price_usdc":0,"amount_raw_usdc":"0","description":"Free handoff returning Virtuals ACP job-create coordinates for offer_angle_ping. The ACP job itself is buyer-controlled and paid on ACP if created.","categories":["agent-to-agent","sales-diagnostics","virtuals-acp"],"tags":["Fia Signals","ACP","offer_angle_ping","offer angle","sales blocker","buyer intent"],"search_terms":["offer_angle_ping","ACP offer angle","agent sales blocker","improve ACP listing"],"payment_mode":"free_acp_handoff","network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","verification":{"truth_label":"free_acp_handoff_not_acp_sale","agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","settle_path_verified_internal":false,"internal_canary_count_bridge_family":0,"external_sales_count":0,"external_payment_headers_seen":0,"external_paid_200_count":0,"last_internal_canaries_at_utc":null,"internal_canary_policy":"These handoff routes are free metadata; no payment canary is needed and no handoff is external demand or revenue.","internal_canary_txs":[],"deliverable_contains":["agent_id","hire_me","acp_job_create","paid_offering","requirements_schema","truth_label","proof_policy"],"conversion_count_rule":"Count only completed non-internal ACP jobs, verified revenue, non-internal buyer wallet plus reconciled payment/job proof, or buyer feedback tied to a real paid attempt.","endpoint":"https://x402.fiasignals.com/acp-direct/offer-angle-ping"},"agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals"},{"id":"x402-acp-token-safety-check","name":"Fia Signals ACP token_safety_check handoff","title":"Free handoff to Fia Signals ACP token_safety_check","type":"http","method":"GET","methods":["GET","POST","HEAD"],"post_supported":true,"post_purpose":"Buyer runtimes may POST token-safety requirements and receive the same free ACP job-create packet.","endpoint":"https://x402.fiasignals.com/acp-direct/token-safety-check","price_usdc":0,"amount_raw_usdc":"0","description":"Free handoff returning Virtuals ACP job-create coordinates for token_safety_check. The ACP job itself is buyer-controlled and paid on ACP if created.","categories":["financial-analysis","token-safety","contract-risk","agent-to-agent","virtuals-acp"],"tags":["Fia Signals","ACP","token_safety_check","token safety","pre-swap","rugpull","honeypot","Base swap"],"search_terms":["Fia Signals","Fia Signals contract risk","Fia Signals smart contract risk","Fia Signals token safety","Fia Signals base swap risk lite","x402 contract risk","x402 smart contract risk","x402 token safety","base-swap-risk-lite","cheap token safety primitive","atomic swap risk verdict","pre-swap risk","pre swap risk","token risk pack","bundled risk pack","bundled-risk-pack","token-risk-pack-pro","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","owner admin risk","owner/admin risk","admin risk","refund-on-fail","holder concentration","liquidity risk","rugpull screening","honeypot screening","Base USDC buyer agent","agent trade approval ticket","pre-trade approval ticket","autonomous trade approval","swap approval decision","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base rug check","Base honeypot check","pre-swap token risk","safe token check","token scam check","token_safety_check","ACP token safety","pre-swap safety"],"payment_mode":"free_acp_handoff","network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","verification":{"truth_label":"free_acp_handoff_not_acp_sale","agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","settle_path_verified_internal":false,"internal_canary_count_bridge_family":0,"external_sales_count":0,"external_payment_headers_seen":0,"external_paid_200_count":0,"last_internal_canaries_at_utc":null,"internal_canary_policy":"These handoff routes are free metadata; no payment canary is needed and no handoff is external demand or revenue.","internal_canary_txs":[],"deliverable_contains":["agent_id","hire_me","acp_job_create","paid_offering","requirements_schema","truth_label","proof_policy"],"conversion_count_rule":"Count only completed non-internal ACP jobs, verified revenue, non-internal buyer wallet plus reconciled payment/job proof, or buyer feedback tied to a real paid attempt.","endpoint":"https://x402.fiasignals.com/acp-direct/token-safety-check"},"agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals"},{"id":"acp-contract-risk","name":"Fia Signals ACP contract_risk","title":"Fia Signals ACP contract_risk checkout","type":"virtuals-acp","method":"job.create","endpoint":"npm run acp -- job create","seller_wallet":"0xA23f0e343293d0D4BfF50cF32A55F1c037a60Ba6","offering":"contract_risk","price_usdc":0.01,"description":"Virtuals ACP checkout path for a single Fia Signals Base/EVM token contract risk verdict.","categories":["financial-analysis","token-safety","contract-risk","agent-to-agent"],"tags":["Fia Signals","fiasignals","ACP","contract_risk","smart contract risk","token safety","buyer agent"],"search_terms":["Fia Signals","Fia Signals contract risk","Fia Signals smart contract risk","Fia Signals token safety","Fia Signals base swap risk lite","x402 contract risk","x402 smart contract risk","x402 token safety","base-swap-risk-lite","cheap token safety primitive","atomic swap risk verdict","pre-swap risk","pre swap risk","token risk pack","bundled risk pack","bundled-risk-pack","token-risk-pack-pro","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","owner admin risk","owner/admin risk","admin risk","refund-on-fail","holder concentration","liquidity risk","rugpull screening","honeypot screening","Base USDC buyer agent","agent trade approval ticket","pre-trade approval ticket","autonomous trade approval","swap approval decision","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base rug check","Base honeypot check","pre-swap token risk","safe token check","token scam check"],"agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals"},{"id":"acp-guarded-swap-execute-dry-run","name":"Fia Signals ACP guarded_swap_execute_dry_run","title":"Fia Signals ACP guarded_swap_execute_dry_run checkout","type":"virtuals-acp","method":"job.create","endpoint":"npm run acp -- job create","seller_wallet":"0xA23f0e343293d0D4BfF50cF32A55F1c037a60Ba6","offering":"guarded_swap_execute_dry_run","price_usdc":0.03,"description":"Virtuals ACP checkout path for a no-funds Base swap execution dry-run gate. Returns GO/CAUTION/BLOCK, execution readiness, recommended executor, and proof flags before buyer funds move.","categories":["token-safety","swap-execution","agent-to-agent","virtuals-acp"],"tags":["Fia Signals","ACP","guarded_swap_execute_dry_run","guarded swap","dry run","token swap","Base swap","bonding buyer"],"search_terms":["Fia Signals","Fia Signals contract risk","Fia Signals smart contract risk","Fia Signals token safety","Fia Signals base swap risk lite","x402 contract risk","x402 smart contract risk","x402 token safety","base-swap-risk-lite","cheap token safety primitive","atomic swap risk verdict","pre-swap risk","pre swap risk","token risk pack","bundled risk pack","bundled-risk-pack","token-risk-pack-pro","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","owner admin risk","owner/admin risk","admin risk","refund-on-fail","holder concentration","liquidity risk","rugpull screening","honeypot screening","Base USDC buyer agent","agent trade approval ticket","pre-trade approval ticket","autonomous trade approval","swap approval decision","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base rug check","Base honeypot check","pre-swap token risk","safe token check","token scam check","guarded swap","guarded_swap_execute_dry_run","safe swap dry run","Base swap execution"],"agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals"},{"id":"acp-offer-angle-ping","name":"Fia Signals ACP offer_angle_ping","title":"Fia Signals ACP offer_angle_ping checkout","type":"virtuals-acp","method":"job.create","endpoint":"npm run acp -- job create","seller_wallet":"0xA23f0e343293d0D4BfF50cF32A55F1c037a60Ba6","offering":"offer_angle_ping","price_usdc":0.01,"description":"Virtuals ACP checkout path for a strict offer positioning diagnostic for seller agents with low conversions.","categories":["agent-to-agent","sales-diagnostics","virtuals-acp"],"tags":["Fia Signals","ACP","offer_angle_ping","offer angle","sales blocker","buyer intent","ACP listing"],"search_terms":["offer_angle_ping","ACP offer angle","agent sales blocker","improve ACP listing","buyer intent angle"],"agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals"},{"id":"acp-token-safety-check","name":"Fia Signals ACP token_safety_check","title":"Fia Signals ACP token_safety_check checkout","type":"virtuals-acp","method":"job.create","endpoint":"npm run acp -- job create","seller_wallet":"0xA23f0e343293d0D4BfF50cF32A55F1c037a60Ba6","offering":"token_safety_check","price_usdc":0.03,"description":"Virtuals ACP checkout path for pre-swap token safety before token_swap, guarded swap, bonding buy, or memecoin entry.","categories":["financial-analysis","token-safety","contract-risk","agent-to-agent","virtuals-acp"],"tags":["Fia Signals","ACP","token_safety_check","token safety","pre-swap","rugpull","honeypot","Base swap"],"search_terms":["Fia Signals","Fia Signals contract risk","Fia Signals smart contract risk","Fia Signals token safety","Fia Signals base swap risk lite","x402 contract risk","x402 smart contract risk","x402 token safety","base-swap-risk-lite","cheap token safety primitive","atomic swap risk verdict","pre-swap risk","pre swap risk","token risk pack","bundled risk pack","bundled-risk-pack","token-risk-pack-pro","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","owner admin risk","owner/admin risk","admin risk","refund-on-fail","holder concentration","liquidity risk","rugpull screening","honeypot screening","Base USDC buyer agent","agent trade approval ticket","pre-trade approval ticket","autonomous trade approval","swap approval decision","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base rug check","Base honeypot check","pre-swap token risk","safe token check","token scam check","token_safety_check","ACP token safety","pre-swap safety","bonding buy safety"],"agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals"}],"featured_service":{"id":"base-swap-risk-lite","name":"Fia Signals Base Swap Risk Lite","title":"Cheap atomic Base swap-risk verdict","type":"http","method":"GET","endpoint":"https://x402.fiasignals.com/token-safety/lite","price_usdc":0.005,"amount_raw_usdc":"5000","description":"Cheap atomic Base swap-risk verdict for one token before a buyer agent signs or routes a swap. Returns one compact JSON verdict with PROCEED/CAUTION/REJECT, safety score, warnings, sources, and no-execution proof flags. Free preview: https://x402.fiasignals.com/token-safety/free. Search keywords: rug check, honeypot check, token risk, swap preflight, rug pull, scam token, and is this token safe.","categories":["financial-analysis","token-safety","contract-risk","trading"],"tags":["Fia Signals","fiasignals","base-swap-risk-lite","token safety","rug check","honeypot","pre-swap","swap guard","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe"],"search_terms":["Fia Signals","Fia Signals contract risk","Fia Signals smart contract risk","Fia Signals token safety","Fia Signals base swap risk lite","x402 contract risk","x402 smart contract risk","x402 token safety","base-swap-risk-lite","cheap token safety primitive","atomic swap risk verdict","pre-swap risk","pre swap risk","token risk pack","bundled risk pack","bundled-risk-pack","token-risk-pack-pro","prepaid risk pack","prepaid-risk-pack-10","10 token risk pack","owner admin risk","owner/admin risk","admin risk","refund-on-fail","holder concentration","liquidity risk","rugpull screening","honeypot screening","Base USDC buyer agent","agent trade approval ticket","pre-trade approval ticket","autonomous trade approval","swap approval decision","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base rug check","Base honeypot check","pre-swap token risk","safe token check","token scam check","base swap risk lite","cheap token safety primitive","atomic swap risk verdict"],"payment_mode":"native_x402","network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","free_preview":"https://x402.fiasignals.com/token-safety/free","bundle_upsell":"https://x402.fiasignals.com/bundled-risk-pack","experiment":"base-swap-risk-lite-20260709","measurement_window":"24h: discovery hits, 402s, X-PAYMENT, paid_200, settlement, delivery","agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","virtuals_agent":"Fia Signals","x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/token-safety/lite","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/token-safety/lite","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},"quickstart_manifest":{"name":"Fia Signals Buyer-Agent Quickstart","version":"0.2.5","truth_label":"acquisition_plumbing","purpose":"Help buyer agents complete paid Fia Signals calls, including market_funding_risk_check and token-safety/pre-trade-risk, instead of stopping after the first HTTP 402.","buyer_agent_fast_path":{"goal":"One paid machine-readable risk verdict before a Base swap; if the buyer is repeating, screening multiple candidates, or needs an actionable swap memo, upgrade directly to the bundled risk pack.","use_first":"https://x402.fiasignals.com/token-safety/batch?chain=base&token_addresses=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913,0x4200000000000000000000000000000000000006","alternate_same_price":"https://x402.fiasignals.com/pre-trade-risk/batch?chain=base&token_addresses=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913,0x4200000000000000000000000000000000000006","price_usdc":"0.03","network":"eip155:8453","asset":"Base USDC","payment_rule":"The first unpaid request is expected to return HTTP 402. That is not a failure. X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature. Retry the exact same URL.","do_not_stop_at":["HTTP 402","payment-required header","x-payment-required header","x-payment-requirements header"]},"axios_non_x402_retry":{"purpose":"Let generic axios/bot clients turn a 402 challenge into a paid retry without relying on discovery-page reading.","client_next_step":"Treat HTTP 402 as the x402 quote. Read accepts[0] from the JSON body or payment-required header, create a full x402 payment payload with a wallet-capable client, then retry the exact same method and URL with X-PAYMENT or PAYMENT-SIGNATURE. Do not send a bare wallet signature.","challenge_correlation":{"body_fields":["x402_challenge_id","x402_challenge_source_hash"],"response_headers":["X402-Challenge-Id","X402-Challenge-Source-Hash"],"buyer_echo_header":"X402-Challenge-Id","why":"Echoing the challenge ID lets watchtower join 402 challenge rows to later paid retries without storing raw payment headers.","fallback_join":"If the client cannot echo the ID, join by x402_challenge_source_hash plus endpoint and short time window."},"snippet":"import axios from \"axios\";\nconst targetUrl = \"https://x402.fiasignals.com/token-safety/batch?chain=base&token_addresses=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913,0x4200000000000000000000000000000000000006\";\nconst quote = await axios.get(targetUrl, { validateStatus: s => s === 402 });\nconst challengeId = quote.data?.x402_challenge_id || quote.headers['x402-challenge-id'];\nconst accepts = quote.data?.accepts || JSON.parse(quote.headers['payment-required']).accepts;\nconst paymentPayload = await createX402PaymentPayload({ accepts, walletClient });\nconst paid = await axios.get(targetUrl, {\n  headers: { 'X-PAYMENT': paymentPayload, 'X402-Challenge-Id': challengeId },\n});\nconst result = paid.data;","truth_status":"buyer_retry_guidance_only_no_payment_or_revenue_claim"},"underfunded_buyer_fallback":{"why":"Returning buyer agents are probing mid-tier market routes such as /market-summary, /macro, /volatility, and /liquidations with underfunded Base USDC wallets. Do not loop on a route the payer cannot clear.","shortfall_formula":"required_amount_raw_usdc - buyer_base_usdc_balance_raw","mid_tier_routes":[{"path":"/market-summary","price_usdc":"0.80","amount_raw_usdc":"800000","secondary_accept_amount_raw_usdc":"300000"},{"path":"/macro","price_usdc":"1.00","amount_raw_usdc":"1000000","secondary_accept_amount_raw_usdc":"300000"},{"path":"/volatility","price_usdc":"0.75","amount_raw_usdc":"750000","secondary_accept_amount_raw_usdc":"30000"},{"path":"/liquidations","price_usdc":"0.30","amount_raw_usdc":"300000","secondary_accept_amount_raw_usdc":"30000"}],"cheapest_fallback":{"method":"GET","url":"https://x402.fiasignals.com/token-safety?chain=base&token_address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","price_usdc":"0.03","amount_raw_usdc":"30000","required_query":{"chain":"base","token_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}},"cheapest_batch_fallback":{"method":"GET or POST","url":"https://x402.fiasignals.com/token-safety/batch?chain=base&token_addresses=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913,0x4200000000000000000000000000000000000006","alternate_url":"https://x402.fiasignals.com/pre-trade-risk/batch?chain=base&token_addresses=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913,0x4200000000000000000000000000000000000006","price_usdc":"0.03","amount_raw_usdc":"30000","limit":5},"decision_rule":["If buyer_base_usdc_balance_raw is at least 30000 but below the requested mid-tier route, buy the 0.03 USDC fallback route instead.","If buyer_base_usdc_balance_raw is below 30000, top up first; no current x402 route can settle below the 0.03 USDC floor.","If the buyer has at least 500000 raw USDC and needs a repeat-buyer packet, use /bundled-risk-pack."],"truth_status":"buyer_guidance_only_no_payment_or_revenue_claim"},"same_day_conversion_path":{"why_now":"Recent buyer-agent traffic is concentrated on batch pre-trade/token-safety endpoints, while strict paid checkout is live and freshly settled. The sales move is to convert repeat starter traffic into the 0.50 USDC bundle.","starter":{"label":"screen up to 5 token candidates before swap","method":"GET or POST","url":"https://x402.fiasignals.com/token-safety/batch?chain=base&token_addresses=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913,0x4200000000000000000000000000000000000006","alternate_url":"https://x402.fiasignals.com/pre-trade-risk/batch?chain=base&token_addresses=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913,0x4200000000000000000000000000000000000006","price_usdc":"0.03","amount_raw_usdc":"30000"},"repeat_buyer_next_step":{"label":"upgrade from isolated checks to the bundled risk-pack","method":"GET or POST","url":"https://x402.fiasignals.com/bundled-risk-pack","price_usdc":"0.50","amount_raw_usdc":"500000","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"watcher":{"script":"tools/x402_bundle_watch.py","interrupt_on":"distinct external /bundled-risk-pack paid 200 with settlement success and tx_ref","ignore":"duplicate tx_ref or payment_proof_fingerprint repeats across x402_events and x402_sales"},"fresh_checkout_proof":{"route":"/fear-greed","url":"https://x402.fiasignals.com/fear-greed","method":"GET","head_payment_policy":"HEAD is discovery-only; use GET for the unpaid challenge and paid retry.","network":"eip155:8453","asset":"Base USDC","price_usdc":"0.05","paid_attempts_observed":3,"strict_delivery_yes":3,"paid_delivery_failures":0,"latest_strict_delivery_utc":"2026-06-14T00:15:47Z","latest_buyer":"0x3803A19280DeeFe533D177C4A169412BD341101b","latest_tx":"0x0ca44cc649fdc9c5c785014be1f549a64fe9523638c824d7e59ad47639516c27","booking_rule":"Payment without delivery blocks revenue booking; payment plus delivery is eligible for strict ledger review."},"booking_rule":"Count revenue only after external paid 200, settlement success, tx_ref, and fulfilled delivery proof."},"risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"high_ticket_trade_approval":{"product":"agent_trade_approval_ticket","method":"POST","url":"https://x402.fiasignals.com/agent-trade-approval-ticket","price_usdc":"5.00","amount_raw_usdc":"5000000","buyer_question":"Should my autonomous agent approve, limit, or block this intended trade before execution?","delivers":["APPROVE | CAUTION | BLOCK","token safety","optional counterparty risk","funding and gas context","max_notional_usd","max_slippage_bps","exact reasons and source status"],"proof_flags":["no_execution","no_signer","no_wallet_action"],"example_json":{"chain":"base","token_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","intended_trade":{"from_token":"USDC","to_token":"USDC","size_usd":25},"risk_tolerance":"medium","max_slippage_bps":100},"truth_status":"buyer_visible_offer_not_revenue_until_paid_delivery_settlement_buyer_or_tx_ref"},"recommended_virtuals_acp_buy":{"seller":"Fia Signals","agent_id":18788,"hire_me":"https://app.virtuals.io/acp/agent-details/18788","seller_wallet":"0xA23f0e343293d0D4BfF50cF32A55F1c037a60Ba6","offering":"contract_risk","price_usd":0.01,"why":"Use this first when an autonomous buyer needs a cheap pre-swap smart contract risk verdict before executing or routing a trade.","create_job":"npm run acp -- job create 0xA23f0e343293d0D4BfF50cF32A55F1c037a60Ba6 contract_risk --requirements '{\"chain\":\"base\",\"token_address\":\"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\"}' --isAutomated true --json","direct_buy_manifest":"https://x402.fiasignals.com/virtuals-direct-buy.json"},"fastest_verified_x402_checkout":{"method":"GET","url":"https://x402.fiasignals.com/fear-greed","price_usdc":"0.05","amount_raw_usdc":"50000","network":"eip155:8453","asset":"Base USDC","purpose":"Smallest paid route with observed payment plus delivery success; use this when the buyer first needs to prove x402 settlement and JSON delivery.","head_payment_policy":"HEAD discovery only; do not attach x402 payment to HEAD.","delivery_track_record":"3 paid attempts, 3 delivery YES, 0 paid delivery failures.","latest_strict_delivery":{"timestamp_utc":"2026-06-14T00:15:47Z","method":"HEAD","status":200,"settlement_success":true,"buyer":"0x3803A19280DeeFe533D177C4A169412BD341101b","tx":"0x0ca44cc649fdc9c5c785014be1f549a64fe9523638c824d7e59ad47639516c27"},"booking_rule":"Payment without delivery blocks revenue booking; payment plus delivery is eligible for strict ledger review."},"latest_strict_x402_delivery":{"route":"/basis","url":"https://x402.fiasignals.com/basis","method":"GET or HEAD","network":"eip155:8453","asset":"Base USDC","price_usdc":"0.25","paid_attempts_observed":1,"strict_delivery_yes":1,"paid_delivery_failures":0,"latest_strict_delivery_utc":"2026-05-26T15:15:57Z","latest_buyer":"0x3803A19280DeeFe533D177C4A169412BD341101b","latest_tx":"0xcdd795d053277ddea1c89703300a7e5ce2e1b9416d96401d064d9cf38bae2138","route_family":["/prices","/fear-greed","/basis"],"next_adjacent_route_to_measure":"/funding","backup_route":"/dominance","booking_rule":"/funding remains measurement-only until a payment header, paid 200, settlement, buyer hash, or delivery anomaly appears."},"market_signal_ladder_experiment":{"proven_sequence":[{"route":"/prices","price_usdc":"0.20","strict_delivery_utc":"2026-05-23T03:15:53Z"},{"route":"/fear-greed","price_usdc":"0.05","strict_delivery_utc":"2026-05-25T13:15:18Z"},{"route":"/basis","price_usdc":"0.25","strict_delivery_utc":"2026-05-26T15:15:57Z"}],"next_route":"/funding","next_route_url":"https://x402.fiasignals.com/funding","next_route_price_usdc":"0.20","product":"market_funding_risk_check","buyer_question":"Should this agent enter, hold, or avoid a perp/carry setup after seeing basis?","buyer_visible_deliverable":["decision","action","confidence","evidence","top_rates","next_funding_window","route_family_context"],"acp_offering":{"name":"funding_risk_check","listed":true,"price_usdc":"0.25","direct_buy_manifest":"https://x402.fiasignals.com/virtuals-direct-buy.json?offering=funding_risk_check","acceptance_contract":{"accept":"optional symbol; omit for a broad top-10 crypto funding scan","reject":["malformed symbol","unsupported non-crypto request","request asking for execution or trade placement"]}},"why":"Funding plus basis is the next buyer-actionable perp/spot decision packet.","truth_status":"experiment_candidate_not_paid_proof_yet","success_gate":"payment header, paid 200, settlement, buyer, tx_ref, or delivery anomaly"},"recommended_market_funding_risk_check":{"product":"market_funding_risk_check","x402_route":"https://x402.fiasignals.com/funding","x402_price_usdc":"0.20","virtuals_acp_offering":"funding_risk_check","virtuals_acp_price_usdc":"0.25","direct_buy_manifest":"https://x402.fiasignals.com/virtuals-direct-buy.json?offering=funding_risk_check","x402_payment_header_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","x402_retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"buyer_question":"Should I enter, hold, or avoid this market after checking basis and funding carry?","accepts":"Optional symbol such as BTCUSDT; omit for a broad top-10 funding scan.","delivers":["decision","action","confidence","evidence","top_rates","next_funding_window","route_family_context"],"truth_status":"buyer_visible_offer_not_revenue_until_payment_evidence_paid_delivery_settlement_buyer_or_tx_ref"},"free_preview":{"method":"GET","url":"https://x402.fiasignals.com/contract-risk-preview?chain=base&token_address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","purpose":"Free live sample plus generated ACP contract_risk checkout command."},"free_onboarding_route":"https://x402.fiasignals.com/token-safety/free","token_safety_free_preview_url":"https://x402.fiasignals.com/token-safety/free","token_safety_free_preview":{"method":"GET","url":"https://x402.fiasignals.com/token-safety/free?chain=base&token_address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","purpose":"Rate-limited no-spend preview for buyer agents before paid /token-safety.","rate_limit":{"limit":30,"window_seconds":3600},"truth_status":"free preview only; not revenue or demand proof"},"primary_endpoint":{"method":"GET","url":"https://x402.fiasignals.com/token-safety/batch?chain=base&token_addresses=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913,0x4200000000000000000000000000000000000006","price_usdc":"0.03","amount_raw_usdc":"30000","limit":5},"alternate_batch_endpoint":{"method":"GET","url":"https://x402.fiasignals.com/pre-trade-risk/batch?chain=base&token_addresses=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913,0x4200000000000000000000000000000000000006","price_usdc":"0.03","amount_raw_usdc":"30000","limit":5},"fallback_endpoint":{"method":"GET","url":"https://x402.fiasignals.com/token-safety?chain=base&token_address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","required_query":{"chain":"base","token_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"do_not_call_without":["chain","token_address"],"price_usdc":"0.03","amount_raw_usdc":"30000"},"payment":{"protocol":"x402","network":"eip155:8453","asset":"Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","challenge_headers":["payment-required","X-Payment-Required","X-Payment-Requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"challenge_correlation_headers":["X402-Challenge-Id","X402-Challenge-Source-Hash"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature."},"flow":["Send the GET request with all required query parameters and without a payment header.","Read the HTTP 402 payment-required challenge from the JSON body or one of the payment-required headers.","Store x402_challenge_id from the 402 body/header and echo it as X402-Challenge-Id on the paid retry for conversion correlation.","Use your x402 wallet/client to create a full x402 payment payload, then retry with X-PAYMENT or PAYMENT-SIGNATURE. Do not send a bare wallet signature.","Retry the same method and exact URL with the signed payment header.","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\"","reference_buyer":{"name":"fia-risk-aware-swapper","repo":"https://github.com/Odds7/fia-risk-aware-swapper","release":"https://github.com/Odds7/fia-risk-aware-swapper/releases/tag/v0.1.0","status":"public GitHub reference implementation only; no npm or PyPI package is published","purpose":"Runnable buyer-side example for probing Fia Signals x402 endpoints, receiving a 402 challenge, and retrying with a funded wallet.","typescript_paid_path":"recommended integration path, but not production-validated until a separately approved paid canary is run","python_paid_path":"dry-run/reference only; paid mode is not validated","truth_status":"reference buyer integration, not proof of demand or external sales","clone_and_run":["git clone https://github.com/Odds7/fia-risk-aware-swapper.git","cd fia-risk-aware-swapper","npm install","npm run dry-run"]},"typescript_package":{"package":null,"status":"no npm package published; use the GitHub reference buyer instead","snippet":"git clone https://github.com/Odds7/fia-risk-aware-swapper.git\ncd fia-risk-aware-swapper\nnpm install\nnpm run dry-run"},"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":null,"status":"no PyPI package published; Python path is dry-run/reference only","snippet":"git clone https://github.com/Odds7/fia-risk-aware-swapper.git\ncd fia-risk-aware-swapper\npython3 -m py_compile py/risk_aware_swap.py"},"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\" -H \"X402-Challenge-Id: $X402_CHALLENGE_ID\" \"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":{"integrate":"https://x402.fiasignals.com/integrate","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-risk-aware-swapper"},"truth_status":{"external_sales_claim":"verified x402 /fear-greed plus latest /basis strict paid delivery; ACP direct-buy still requires separate completed-job proof","known_paid_proof":"Repeat-buyer market-data ladder: buyer 0x3803...101b paid /prices, /fear-greed, then /basis. /funding is the next adjacent paid route to watch; it is not demand proof until payment evidence or delivered paid response appears.","use":"buyer-agent integration aid plus verified x402 checkout proof"}},"buyer_agent_metadata":{"primary_audience":["autonomous trading agents","swap bots","portfolio rebalancers","market-making agents","risk monitors"],"decision_points":["pre-trade sentiment check","market regime filter","technical signal confirmation","funding-rate arbitrage screen","execution cost sanity check"],"keywords":["x402","USDC","Base","AI agent","trading bot","market sentiment","risk signal","pre-trade","technical analysis","funding rates","gas","token safety"],"high_ticket_entrypoint":{"path":"/agent-trade-approval-ticket","price":"$5.00","method":"POST","why":"One paid APPROVE / CAUTION / BLOCK decision ticket before an autonomous trade; no execution, signer, or funds movement.","required_json":{"chain":"base","token_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","intended_trade":{"from_token":"USDC","to_token":"USDC","size_usd":25}}},"best_entrypoint":{"path":"/pre-trade-risk/batch","alias":"/token-safety/batch","price":"$0.03","limit":5,"why":"Best value: screen up to 5 Base tokens before swap for 0.03 USDC."},"aliases":[{"path":"/token-safety","canonical":"/pre-trade-risk","why":"Keyword alias for agents searching token safety, rugpull, honeypot, or pre-swap risk."},{"path":"/contract-risk","canonical":"/pre-trade-risk","why":"Buyer-intent alias for agents searching contract risk or smart contract risk before a swap."},{"path":"/smart-contract-risk","canonical":"/pre-trade-risk","why":"Buyer-intent alias for agents searching smart contract risk before executing trades."},{"path":"/token-safety/batch","canonical":"/pre-trade-risk/batch","why":"Keyword alias for agents checking multiple token candidates before routing swaps."},{"path":"/contract-risk/batch","canonical":"/pre-trade-risk/batch","why":"Batch buyer-intent alias for contract-risk marketplaces and trading agents."},{"path":"/smart-contract-risk/batch","canonical":"/pre-trade-risk/batch","why":"Batch buyer-intent alias for smart-contract-risk marketplaces and trading agents."}],"batch_entrypoint":{"path":"/pre-trade-risk/batch","price":"$0.03","limit":5,"why":"Cheaper repeat-buyer path for agents screening multiple token candidates in one paid call."},"risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"single_entrypoint":{"path":"/pre-trade-risk","alias":"/token-safety","price":"$0.03","required_query":{"chain":"base","token_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"query_example":"/pre-trade-risk?chain=base&token_address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","why":"Fallback for one-off checks: screen one token before swap for 0.03 USDC."},"checkout_demo":{"path":"/fear-greed","price":"$0.05","method":"GET","head_payment_policy":"HEAD discovery only; do not attach x402 payment to HEAD.","url":"https://x402.fiasignals.com/fear-greed","proof_line":"GET paid-compatible /fear-greed route on Base USDC; HEAD is discovery-only and must not carry x402 payment; delivery-gated; last strict paid delivery YES at 2026-06-14T00:15:47Z; 3 paid attempts, 3 delivery YES, 0 paid delivery failures.","why":"Lowest-cost externally paid-proven endpoint; use it to verify x402 checkout before buying higher-value signals.","delivery_proof":{"route":"/fear-greed","url":"https://x402.fiasignals.com/fear-greed","method":"GET","head_payment_policy":"HEAD is discovery-only; use GET for the unpaid challenge and paid retry.","network":"eip155:8453","asset":"Base USDC","price_usdc":"0.05","paid_attempts_observed":3,"strict_delivery_yes":3,"paid_delivery_failures":0,"latest_strict_delivery_utc":"2026-06-14T00:15:47Z","latest_buyer":"0x3803A19280DeeFe533D177C4A169412BD341101b","latest_tx":"0x0ca44cc649fdc9c5c785014be1f549a64fe9523638c824d7e59ad47639516c27","booking_rule":"Payment without delivery blocks revenue booking; payment plus delivery is eligible for strict ledger review."}},"example_use_cases":[{"label":"known blue-chip token before swap","request":"/pre-trade-risk?chain=base&token_address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","expected_shape":{"verdict":"safe","action":"PROCEED","safety_score":"high","confidence":"medium_or_high"}},{"label":"unknown meme token before swap","request":"/pre-trade-risk?chain=base&token_address=0xTOKEN","expected_shape":{"verdict":"risky","action":"CAUTION","reasons":["high taxes, missing market data, unverified source, or concentration risk"]}},{"label":"blocked token before swap","request":"/pre-trade-risk?chain=base&token_address=0xTOKEN","expected_shape":{"verdict":"blocked","action":"REJECT","reasons":["honeypot, cannot sell, mint risk, or critical scam pattern"]}}]},"endpoints":[{"path":"/regime","price":"$1.00","method":"GET","description":"Full regime analysis with RSI, ADX, confidence, recommendation","tags":["x402","USDC","Base","AI agent","trading bot","crypto API","market regime","risk signal","volatility","pre-trade"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/regime","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/regime","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/funding","price":"$0.20","method":"GET","description":"Market funding risk check: decision summary, trade-cost evidence, and next funding window","tags":["x402","USDC","Base","AI agent","trading bot","crypto API","funding rates","perpetual futures","arbitrage"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/funding","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/funding","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/fear-greed","price":"$0.05","method":"GET","description":"Fear and Greed index with 7-day history","tags":["x402","USDC","Base","AI agent","trading bot","crypto API","market sentiment","fear greed","contrarian signal","Bitcoin"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/fear-greed","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/fear-greed","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/pre-trade-risk","price":"$0.03","method":"GET","description":"Pre-swap token risk gate returning safe/risky/blocked verdict","tags":["x402","USDC","Base","AI agent","trading bot","crypto API","token safety","contract risk","smart contract risk","pre-trade","swap risk","rugpull risk","honeypot","Base chain","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base swap","pre-swap"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/pre-trade-risk","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/pre-trade-risk","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/token-safety","price":"$0.03","method":"GET","description":"Alias for pre-swap token safety / rugpull / honeypot risk gate","tags":["x402","USDC","Base","AI agent","trading bot","crypto API","token safety","contract risk","smart contract risk","pre-trade","swap risk","rugpull risk","honeypot","Base chain","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base swap","pre-swap"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/token-safety","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/token-safety","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/token-safety/lite","price":"$0.005","method":"GET","description":"0.005 USDC atomic Base swap-risk verdict for one token before an agent signs or routes a swap","tags":["x402","USDC","Base","AI agent","trading bot","crypto API"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/token-safety/lite","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/token-safety/lite","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/contract-risk","price":"$0.03","method":"GET","description":"Alias for smart contract risk checks before swaps","tags":["x402","USDC","Base","AI agent","trading bot","crypto API","contract risk","smart contract risk","token safety","pre-trade","swap risk","rugpull risk","honeypot","Base chain","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base swap","pre-swap"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/contract-risk","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/contract-risk","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/smart-contract-risk","price":"$0.03","method":"GET","description":"Alias for smart contract risk checks before swaps","tags":["x402","USDC","Base","AI agent","trading bot","crypto API","smart contract risk","contract risk","token safety","pre-trade","swap risk","rugpull risk","honeypot","Base chain","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base swap","pre-swap"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/smart-contract-risk","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/smart-contract-risk","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/pre-trade-risk/batch","price":"$0.03","method":"GET","description":"Batch pre-swap risk gate for up to 5 EVM token addresses","tags":["x402","USDC","Base","AI agent","trading bot","crypto API","token safety","contract risk","smart contract risk","batch","pre-trade","swap risk","rugpull risk","portfolio","risk pack","bundle","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base swap","pre-swap"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/pre-trade-risk/batch","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/pre-trade-risk/batch","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/token-safety/batch","price":"$0.03","method":"GET","description":"Alias for batch token safety checks before swaps","tags":["x402","USDC","Base","AI agent","trading bot","crypto API","token safety","contract risk","smart contract risk","batch","pre-trade","swap risk","rugpull risk","portfolio","risk pack","bundle","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base swap","pre-swap"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/token-safety/batch","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/token-safety/batch","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/contract-risk/batch","price":"$0.03","method":"GET","description":"Batch smart contract risk checks for up to 5 EVM token addresses","tags":["x402","USDC","Base","AI agent","trading bot","crypto API","contract risk","smart contract risk","token safety","batch","pre-trade","swap risk","rugpull risk","portfolio","risk pack","bundle","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base swap","pre-swap"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/contract-risk/batch","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/contract-risk/batch","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/smart-contract-risk/batch","price":"$0.03","method":"GET","description":"Batch smart contract risk checks for up to 5 EVM token addresses","tags":["x402","USDC","Base","AI agent","trading bot","crypto API","smart contract risk","contract risk","token safety","batch","pre-trade","swap risk","rugpull risk","portfolio","risk pack","bundle","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base swap","pre-swap"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/smart-contract-risk/batch","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/smart-contract-risk/batch","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/bundled-risk-pack","price":"$0.50","method":"GET","description":"$0.50 token risk pack: honeypot, liquidity, holder concentration, contract risk, and ranked PROCEED/CAUTION/REJECT queue","tags":["x402","USDC","Base","AI agent","trading bot","crypto API","token safety","contract risk","smart contract risk","batch","pre-trade","swap risk","rugpull risk","portfolio","risk pack","bundle","rug check","honeypot check","honeypot","token risk","swap preflight","rug pull","scam token","is this token safe","Base swap","pre-swap"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/bundled-risk-pack","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/bundled-risk-pack","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/token-risk-pack-pro","price":"$1.50","method":"GET","description":"$1.50 5-token risk pack pro: honeypot, tax, liquidity, holder concentration, owner/admin risk, refund-on-fail JSON","tags":["x402","USDC","Base","AI agent","trading bot","crypto API"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/token-risk-pack-pro","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/token-risk-pack-pro","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/prepaid-risk-pack-10","price":"$5.00","method":"GET","description":"$5 prepaid 10-token risk pack: one paid PROCEED/CAUTION/BLOCK report for up to 10 Base/EVM candidates","tags":["x402","USDC","Base","AI agent","trading bot","crypto API"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/prepaid-risk-pack-10","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/prepaid-risk-pack-10","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/agent-trade-approval-ticket","price":"$5.00","method":"POST","description":"$5 APPROVE / CAUTION / BLOCK decision ticket before an autonomous trade","tags":["x402","USDC","Base","AI agent","trading bot","crypto API","trade approval","pre-trade approval","token safety","wallet risk","swap guard","approval ticket","high-ticket"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"POST","payment_method":"POST","retry_method":"POST","url":"https://x402.fiasignals.com/agent-trade-approval-ticket","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/agent-trade-approval-ticket","method":"POST","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_POST_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with POST to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/acp-direct/guarded-swap-execute-dry-run","price":"unknown","method":"GET","description":"x402 bridge returning ACP job-create packet for guarded_swap_execute_dry_run","tags":["x402","USDC","Base","AI agent","trading bot","crypto API","ACP","Virtuals","guarded_swap_execute_dry_run","guarded swap","dry run","Base swap","swap execution"],"methods":["GET","POST","HEAD"],"post_supported":true,"post_purpose":"Buyer runtimes may POST requirements and receive the same free ACP job-create handoff packet."},{"path":"/acp-direct/offer-angle-ping","price":"unknown","method":"GET","description":"x402 bridge returning ACP job-create packet for offer_angle_ping","tags":["x402","USDC","Base","AI agent","trading bot","crypto API","ACP","Virtuals","offer_angle_ping","offer angle","buyer intent","sales diagnostics"],"methods":["GET","POST","HEAD"],"post_supported":true,"post_purpose":"Buyer runtimes may POST requirements and receive the same free ACP job-create handoff packet."},{"path":"/acp-direct/token-safety-check","price":"unknown","method":"GET","description":"x402 bridge returning ACP job-create packet for token_safety_check","tags":["x402","USDC","Base","AI agent","trading bot","crypto API","ACP","Virtuals","token_safety_check","token safety","pre-swap","rugpull risk","honeypot","Base swap"],"methods":["GET","POST","HEAD"],"post_supported":true,"post_purpose":"Buyer runtimes may POST requirements and receive the same free ACP job-create handoff packet."},{"path":"/signals","price":"$4.00","method":"GET","description":"RSI-14, MACD, Bollinger Bands for any symbol","tags":["x402","USDC","Base","AI agent","trading bot","crypto API","technical analysis","RSI","MACD","Bollinger Bands","pre-trade"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/signals","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/signals","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/prices","price":"$0.20","method":"GET","description":"Real-time spot prices","tags":["x402","USDC","Base","AI agent","trading bot","crypto API","spot price","price oracle","market data"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/prices","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/prices","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/macro","price":"$0.30","method":"GET","description":"Cross-asset macro signal bundle","tags":["x402","USDC","Base","AI agent","trading bot","crypto API"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/macro","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/macro","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/liquidations","price":"$0.30","method":"GET","description":"Recent liquidation events","tags":["x402","USDC","Base","AI agent","trading bot","crypto API"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/liquidations","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/liquidations","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/market-summary","price":"$0.80","method":"GET","description":"Full market summary in one call","tags":["x402","USDC","Base","AI agent","trading bot","crypto API"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/market-summary","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/market-summary","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/volatility","price":"$0.75","method":"GET","description":"Realised vol, ATR, vol regime","tags":["x402","USDC","Base","AI agent","trading bot","crypto API"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/volatility","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/volatility","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/spread-analysis","price":"$0.50","method":"GET","description":"Bid-ask spread and microstructure","tags":["x402","USDC","Base","AI agent","trading bot","crypto API"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/spread-analysis","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/spread-analysis","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/correlation","price":"$1.20","method":"GET","description":"Cross-asset correlation matrix","tags":["x402","USDC","Base","AI agent","trading bot","crypto API"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/correlation","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/correlation","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/dominance","price":"$0.20","method":"GET","description":"BTC/ETH market dominance","tags":["x402","USDC","Base","AI agent","trading bot","crypto API"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/dominance","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/dominance","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/basis","price":"$0.25","method":"GET","description":"Spot vs futures basis","tags":["x402","USDC","Base","AI agent","trading bot","crypto API"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/basis","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/basis","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}},{"path":"/altseason","price":"$0.25","method":"GET","description":"Altseason index","tags":["x402","USDC","Base","AI agent","trading bot","crypto API"],"x402_payment_retry_contract":{"protocol":"x402","x402Version":2,"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","method":"GET","payment_method":"GET","retry_method":"GET","url":"https://x402.fiasignals.com/altseason","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/altseason","method":"GET","price_usdc":"0.005","amount_raw_usdc":"5000","network":"eip155:8453","asset":"native Base USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8D32c6a3EE3fB8a8b4c5378F7C5a26CC320a853F","stage_order":["free_preview_seen","http_402_challenge_seen","payment_header_retry_seen","paid_200_decision_delivery_seen","settlement_tx_and_buyer_attributed"],"drop_off_stage_map":{"PAYMENT_HEADER_MISSING":"buyer reached the paid URL but did not retry with X-PAYMENT or PAYMENT-SIGNATURE","PAYMENT_HEADER_UNPARSEABLE":"buyer retried with a header the gateway could not parse as a full x402 payload","VERIFY_FAILED":"facilitator rejected the payment payload before route execution","SETTLEMENT_MISSING":"route returned paid 200 without settlement proof headers","TX_REF_MISSING":"settled delivery lacks a transaction hash for revenue reconciliation","ATTRIBUTION_MISSING":"settled delivery lacks buyer/payer attribution","STRICT_TUPLE_READY":"paid 200 plus payment header, settlement success, tx_ref, buyer and delivery row are present"},"proof_fields":["ts","endpoint","method","status","x_request_id","payment_header_present","payment_header_parseable","settlement_success","tx_ref","buyer","amount_usd","conversion_stage","dropoff_class","strict_x402_delivery_tuple_ready"],"telemetry_sources":["data/x402_events.jsonl","data/x402_sales.jsonl"],"strict_success_condition":"External non-team buyer plus paid HTTP 200, payment header present, settlement_success=true, tx_ref, buyer attribution and delivery row.","truth_status":"proof_contract_not_revenue_until_external_tuple_lands"},"flow":["call_unpaid_endpoint","read_http_402_json.accepts_or_response_headers","create_full_x402_payment_payload_for_accepts[0]","retry_GET_and_exact_url_with_payment_header"],"challenge_headers":["payment-required","x-payment-required","x-payment-requirements"],"retry_headers":["X-PAYMENT","PAYMENT-SIGNATURE"],"header_value_rule":"X-PAYMENT and PAYMENT-SIGNATURE must carry the full x402 payment payload created from the HTTP 402 challenge. Do not send a bare wallet signature.","risk_pack_upsell":{"id":"bundled-risk-pack","name":"Fia Signals Bundled Risk Pack","price_usdc":"0.50","amount_raw_usdc":"500000","status":"payable_x402_route_live","payable_route":"https://x402.fiasignals.com/bundled-risk-pack","payable_methods":["GET","POST"],"accepts_ordering":"starter_first_bundle_second","starter_accepts_index":0,"starter_amount_raw_usdc":"30000","preferred_accepts_index":1,"preferred_amount_raw_usdc":"500000","recommended_for_repeat_buyers":true,"preferred_selection_hint":"Starter buyers can use accepts[0] at 30000 raw USDC. Repeat buyers, multi-token buyers, and agents that already know they need a combined risk memo should select accepts[1] at 500000 raw USDC or pay the distinct bundled-risk-pack route; accepts[0] remains the 30000 raw USDC starter.","buyer_action":"Use this as the next paid step after any /token-safety, /token-safety/batch, /pre-trade-risk, or /pre-trade-risk/batch hit. Do not buy another isolated starter check when the agent needs a ranked swap decision packet.","starter_routes":["https://x402.fiasignals.com/token-safety/batch","https://x402.fiasignals.com/contract-risk/batch"],"target_buyer_signal":"Repeat buyers using token-safety and contract-risk batch checks who need a larger pre-swap risk packet instead of another isolated 0.03 USDC call.","delivers":["combined token safety and smart contract risk summary","up to 5 Base/EVM contracts from the existing batch payload","ranked proceed/caution/reject queue","aggregate blocker reasons and warnings","buyer-facing next-action memo for swap routers","strict proof fields for revenue reconciliation"],"non_breaking_policy":"Keep existing 0.03 USDC batch endpoints unchanged. Buyers who want the 0.50 USDC bundle should pay the distinct bundled-risk-pack route.","truth_status":"not_revenue_until_distinct_external_0_50_payment_tx_ref_or_completed_acp_job"},"dedup_alert_discipline":{"rule":"one reconcile per unique x402 tx_ref across x402_events and x402_sales","dedupe_priority":["tx_ref","payment_proof_fingerprint","endpoint+buyer+amount+timestamp_bucket"],"fallback_key":"payment_proof_fingerprint, then endpoint+buyer+amount+timestamp_bucket when tx_ref is missing","suppress":"duplicate alerts for the same tx_ref are operating noise, not new revenue","watcher":"tools/x402_bundle_watch.py"},"client_next_step":"Read the HTTP 402 challenge, create a full x402 payment payload for accepts[0], then retry with GET to the exact URL using X-PAYMENT or PAYMENT-SIGNATURE.","blocker_return":{"required":true,"fields":["runtime","buyer_wallet","http_status","raw_error","signer_stop_reason","non_internal_wallet"]},"truth_status":"payment_instructions_only_no_payment_attempted"}}]}