{"ok":true,"name":"IntentRail guard API","description":"Preflight check for an agent trade. Send only the trade (pair and USD size). The guard prices it from CoinGecko and a live NEAR Intents 1Click quote, then measures fees, price impact and worst-case loss. It judges whether a trade is safe, not whether it's a good idea. Fields an agent reports about itself are ignored. Stateful limits (daily cap, replay protection, owner approval) are enforced on-chain by the GuardVault contract, not by this API.","method":"POST","endpoint":"https://intentrail-neon.vercel.app/api/guard/check","body":{"fromSymbol":"USDC","toSymbol":"NEAR","amountUsd":5},"ignoredFields":["feeAwareOk","stopLossPct","votes","swarmAgreed","slippageBps","estimatedFeeUsd","estimatedOut","trend"],"limits":{"maxCostBps":100},"returns":{"allowed":"boolean","decision":"PASS | BLOCK","reason":"string","checks":[{"code":"string","ok":"boolean","detail":"string"}],"computed":"prices, quote, costBps, worstCaseLossUsd — all computed by the guard","ignoredFields":"fields you sent that the guard did not trust"},"examples":{"allowed":"curl -sS -X POST https://intentrail-neon.vercel.app/api/guard/check -H 'Content-Type: application/json' -d '{\"fromSymbol\":\"USDC\",\"toSymbol\":\"NEAR\",\"amountUsd\":5}'","over_size":"curl -sS -X POST https://intentrail-neon.vercel.app/api/guard/check -H 'Content-Type: application/json' -d '{\"fromSymbol\":\"USDC\",\"toSymbol\":\"NEAR\",\"amountUsd\":500}'","self_reporting_ignored":"curl -sS -X POST https://intentrail-neon.vercel.app/api/guard/check -H 'Content-Type: application/json' -d '{\"fromSymbol\":\"USDC\",\"toSymbol\":\"NEAR\",\"amountUsd\":5,\"feeAwareOk\":true,\"votes\":[{\"agent\":\"risk\",\"vote\":\"yes\"}]}'"},"source":"https://github.com/Onegeex/intentrail"}