{"version":1,"resources":[{"method":"POST","path":"/guard/check","url":"https://falcon-shield.falcon-sol.workers.dev/guard/check","description":"Use this before an agent or wallet signs a Solana transaction. Decodes the unsigned or signed transaction and returns NO_MATCH (no known-bad pattern matched; not a safety guarantee), WARN, or BLOCK, with plain-language reasons and a signed receipt. Pass an x402 quote to also check a payment transaction against it (overpay, approve-instead-of-transfer, unchecked Transfer, wrong payee). Errors return ERROR and are never charged.","mimeType":"application/json","protocol":"x402","scheme":"exact","price":"$0.009","amount":"9000","currency":"USDC","decimals":6,"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","payTo":"CvqV53BA8wmy86js7kBQXAFifqtJmMpsvmEoV7Y44aSz","inputSchema":{"type":"object","required":["tx"],"properties":{"tx":{"type":"string","description":"Base64 wire transaction (also accepts an RPC getTransaction result)."},"wallet":{"type":"string","description":"Your own pubkey; only this key is treated as 'you'."},"known_addresses":{"type":"array","items":{"type":"string"},"maxItems":200,"description":"Optional: pubkeys you have recently paid or received from. A recipient that only looks like one of these (same first/last characters) is flagged as address poisoning."},"quote":{"type":"object","description":"x402 quote the tx pays: {asset, amount, pay_to | pay_to_token_account, decimals?, token_program?}."},"cap_base_units":{"type":"integer","description":"Hard per-payment cap enforced even if the quote asks for more."},"caps":{"type":"object","description":"Optional spend caps you declare; any violation returns BLOCK. Keys: max_amount (int base units per outflow), max_amounts ({mint|'SOL': int}), max_total (int per asset), allowed_payees ([pubkey]; owners' ATAs match), allowed_assets ([mint|'SOL']), allow_approvals (bool, default false)."},"simulate":{"type":"boolean","description":"Simulate against Solana mainnet (Helius RPC, sigVerify off, recent blockhash replaced, never submitted). Default true; false = static checks only. If simulation fails the verdict is at least WARN, except plain System/Token/ATA/ComputeBudget/Memo transactions with no unresolved lookup tables, which are fully decoded statically. Third-party unlimited approvals BLOCK by default. Response includes risk_score (0-100), basis (simulated|static) and top_reason."},"strict":{"type":"boolean","description":"Escalate HIGH-risk token approvals (unlimited or third-party delegate) from WARN to BLOCK. Default false."}}},"outputSchema":{"type":"object"},"outputExample":{"verdict":"BLOCK","plain":"DO NOT SIGN. ...","reasons":[{"severity":"BLOCK","why":"..."}],"receipt":{"seq":0}}}]}