{"service":"Fía Signals — Crypto Intelligence API (x402/USDC)","description":"Real-time crypto market intelligence API","endpoint":"https://x402.fiasignals.com","preview":{"regime":{"regime":"TRENDING UP","rsi":64.05,"adx":41.28},"fear_greed":{"value":74,"classification":"Greed"}},"paid_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":"/fear-greed","price":"$0.05","method":"GET","description":"F&G index with 7-day history and contrarian signal","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":"/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":"/agent-trade-approval-ticket","price":"$5.00","method":"POST","description":"$5 APPROVE / CAUTION / BLOCK decision ticket before autonomous trade execution","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":"/funding","price":"$0.20","method":"GET","description":"Market funding risk check after /basis","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":"/prices","price":"$0.20","method":"GET","description":"Real-time spot prices for up to 20 symbols","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":"Regime + F&G + BTC price + top movers 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-14, vol regime for any symbol","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 market 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":"/portfolio-heat","price":"$0.50","method":"GET","description":"24h performance heatmap for a symbol portfolio","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/portfolio-heat","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/portfolio-heat","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":"/regime-history","price":"$0.50","method":"GET","description":"BTC regime classification history","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/regime-history","one_link_conversion_flow":{"flow_id":"age88-token-safety-lite-one-link-20260730","purchase_link":"https://x402.fiasignals.com/regime-history","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 and alt rotation signal","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"}},{"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"}}],"payment":"x402 USDC on Base mainnet (eip155:8453)","contact":"fia-trading@agentmail.to","discovery":"https://x402.fiasignals.com/.well-known/x402.json"}