# Machine Preflight API > Caller-specific, read-only safety analysis before a Base transaction is signed. ## When to use it Call Machine Preflight after constructing the final unsigned Base transaction and before asking a user, wallet or autonomous agent to sign it. Use it for transfers, token approvals, NFT permissions, contract calls and automated onchain actions. ## Service - Human guide: https://preflight.natio.re/docs - OpenAPI 3.1: https://preflight.natio.re/openapi.json - Reusable agent skill: https://preflight.natio.re/skill.md - Endpoint: POST https://preflight.natio.re/v1/preflight/transaction - Protocol: x402 v2 exact payment - Price: 0.02 USDC per successful report - Payment rails: Base Mainnet (eip155:8453) or Solana Mainnet (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp) - Contact: nora@natio.re ## Required JSON request { "chainId": 8453, "from": "0x2222222222222222222222222222222222222222", "to": "0x4200000000000000000000000000000000000006", "data": "0x", "valueWei": "0" } Use the real address that would send the transaction in from. Never substitute a placeholder in production: contract authorization, balances, execution and gas can depend on the caller. ## Payment flow 1. POST the JSON body without a payment header. 2. Read the HTTP 402 x402 v2 payment requirements. 3. Select Base or Solana USDC, validate the exact amount and recipient, then pay and retry the identical request. 4. Require HTTP 200 and parse the report. Do not treat a 400, 429 or 502 response as a safety report. ## Decision policy - Stop and require review when risk.level is critical or high. - Stop when execution.call is reverted or unavailable. - Surface every finding and its evidence to the calling agent or user. - A low result is supporting evidence, not a guarantee or a full audit. ## Trust boundary Machine Preflight performs read-only RPC calls. It never requests private keys, signs, broadcasts or takes custody of the submitted transaction.