{"name":"onyx_tx_preflight","tier":"metered","price_usdc":"0.10","endpoint":"https://onyx-actions.onrender.com/v1/onyx_tx_preflight","method":"POST","input_schema":{"type":"object","properties":{"to":{"type":"string","description":"The transaction's `to` address (target contract or recipient). Required."},"data":{"type":"string","description":"The transaction calldata (0x-hex). Omit/empty for a plain ETH transfer."},"value_wei":{"type":"string","description":"Optional. ETH value being sent, in wei (base-10 string)."}},"required":["to"]},"description":"Universal pre-sign firewall — the check before your agent signs ANY transaction. Give the tx (to, data, value); Onyx decodes the 4-byte selector + args, tells you in plain terms what it does, and flags the wallet-drain patterns: unlimited approve(), setApprovalForAll (blanket NFT approval), transfers to fresh/EOA recipients, raw ETH sends to unknown addresses, and calls to unverified targets. Returns a SIGNED ALLOW/REVIEW/BLOCK + human explanation. The single highest-frequency safety gate an on-chain agent has — every signed tx should pass through it.","when_to_use":"Call this before your agent signs ANY transaction — it's the universal pre-sign gate. Pass the exact (to, data, value) you're about to sign; gate on the verdict: BLOCK = abort, REVIEW = human approval, ALLOW = proceed. Catches unlimited approvals, blanket NFT approvals, and calls to unverified/EOA targets that a human would catch in a wallet popup but an autonomous agent would just sign.","vs_alternatives":"A raw transaction simulator tells you state changes but not whether you SHOULD sign; a block explorer makes you decode selectors yourself. This decodes the intent, screens the counterparty on-chain, flags the known drain patterns, and returns one signed go/no-go an agent can gate on automatically.","example_request":{"to":"0xToken...","data":"0x095ea7b3000000000000000000000000<spender>ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"example_response":{"ok":true,"operation":"approve","verdict":"BLOCK","risk_score":80,"decoded":{"spender":"0x...","unlimited":true},"summary":"BLOCK (risk 80/100): ERC-20 approve(spender, amount). UNLIMITED token approval; approving a PLAIN WALLET (EOA) as spender."},"settle_to":"0x3fD9ee1373562f894D322B37DFFAd7a5D2b2d78f","network":"base","facilitator":"https://facilitator.xpay.sh","payment_required":true,"free_introspection":true,"note":"GET this URL = free introspection card. POST with x402 payment header to call."}