{"openapi":"3.1.0","info":{"title":"SignCheck","version":"0.2.0","contact":{"name":"SignCheck","email":"hello@youraitools.co","url":"https://agentgate-source.pages.dev/x402-signcheck/"},"license":{"name":"MIT"},"x-service-name":"SignCheck by AgentGate","x-category":"security","x-categories":["security","wallets","developer-tools","payments"],"x-tags":["security","wallet-security","transaction-simulation","eip-712","check_signature"],"x-logo":{"url":"https://agentgate-source.pages.dev/icons/signcheck.png"},"description":"Pre-sign safety check for AI agent wallets. Decodes a transaction, an EIP-712 signature request (EIP-2612 Permit, Permit2 allowance and transfer, EIP-3009 TransferWithAuthorization as used by x402, Seaport orders), an EIP-7702 delegation, or an x402 payment (402 terms + the payload about to be sent) into plain English, and returns SAFE / CAUTION / DANGER with risk flags: unlimited or EOA approvals, setApprovalForAll, fake USDC / Permit2 domains, x402 overpay / wrong payTo / wrong asset, ownership and proxy changes, OFAC SDN counterparties. The paid tier adds on-chain facts (EOA vs contract, token metadata) and an eth_call simulation on Base, Ethereum or Base Sepolia. Read-only, informational.","x-guidance":"POST /v1/check with {\"tx\": {\"to\",\"data\",\"value\",\"from\"}} or {\"typed_data\": {...}} or {\"payment_required\": \"<PAYMENT-REQUIRED header>\", \"payment_payload\": \"<PAYMENT-SIGNATURE>\"} ($0.015 USDC on Base via x402, charged only on HTTP 200). GET /v1/check?to=&data=&from= for plain transactions. Offline lite tier (reasons + x402 match, no RPC): /v1/lite ($0.005). Free offline preview: /v1/preview (same inputs)."},"servers":[{"url":"https://api.youraitools.co/signcheck"}],"externalDocs":{"description":"Source and docs","url":"https://agentgate-source.pages.dev/x402-signcheck/"},"paths":{"/v1/check":{"post":{"operationId":"check_signature","summary":"Is it safe to sign or send this? Verdict, reasons, on-chain facts and simulation","tags":["paid"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.015"},"protocols":[{"x402":{}}]},"x-x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F","amount":"15000","assetSymbol":"USDC","x402Versions":[2,1],"networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string","description":"base (default), ethereum, base-sepolia or a numeric chain id"},"tx":{"type":"object","properties":{"to":{"type":"string"},"data":{"type":"string"},"value":{"type":"string"},"from":{"type":"string"}},"required":["to"]},"typed_data":{"type":"object","description":"EIP-712 {domain, types, primaryType, message}"},"authorization":{"type":"object","description":"EIP-7702 {address, chainId, nonce}"},"payment_required":{"oneOf":[{"type":"object"},{"type":"string"}],"description":"x402 PAYMENT-REQUIRED header (base64) or {accepts:[…]}"},"payment_payload":{"oneOf":[{"type":"object"},{"type":"string"}],"description":"x402 PAYMENT-SIGNATURE / X-PAYMENT (base64) or JSON"}}}}}},"responses":{"200":{"description":"Check result (payment settled)","content":{"application/json":{"schema":{"type":"object","properties":{"tier":{"type":"string"},"verdict":{"type":"string","enum":["SAFE","CAUTION","DANGER"]},"risk_score":{"type":"integer","minimum":0,"maximum":100},"kind":{"type":"string","enum":["transaction","typed_data","eip7702_authorization","x402_payment"]},"action":{"type":"string"},"summary":{"type":"string"},"chain":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}},"flags":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"severity":{"type":"string","enum":["critical","high","medium","low","info"]},"message":{"type":"string"}}}},"counterparties":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"roles":{"type":"array","items":{"type":"string"}},"label":{"type":["string","null"]},"type":{"type":"string","enum":["eoa","contract","eip7702_delegated_eoa"]},"sanctioned":{"type":"object"}}}},"decoded":{"type":"array"},"x402":{"type":"object"},"onchain":{"type":"object","properties":{"available":{"type":"boolean"},"block":{"type":["integer","null"]},"tokens":{"type":"array"},"simulation":{"type":["object","null"]},"selector_names":{"type":["object","null"]}}},"sanctions":{"type":"object"},"engine":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"disclaimer":{"type":"string"}}}}}},"400":{"description":"Invalid input (never charged)"},"402":{"description":"Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)"},"413":{"description":"Body too large (never charged)"},"503":{"description":"Chain RPC unavailable (never charged)"},"504":{"description":"Timed out (never charged)"}}},"get":{"operationId":"check_signature_get","summary":"Same as POST, inputs as query parameters","tags":["paid"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.015"},"protocols":[{"x402":{}}]},"x-x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F","amount":"15000","assetSymbol":"USDC","x402Versions":[2,1],"networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]},"parameters":[{"name":"to","in":"query","required":false,"schema":{"type":"string"},"description":"tx.to (or use POST for typed data / x402)"},{"name":"data","in":"query","required":false,"schema":{"type":"string"},"description":"tx.data, 0x hex"},{"name":"value","in":"query","required":false,"schema":{"type":"string"},"description":"tx.value in wei"},{"name":"from","in":"query","required":false,"schema":{"type":"string"},"description":"tx.from (enables simulation)"},{"name":"chain","in":"query","required":false,"schema":{"type":"string"},"description":"base | ethereum | base-sepolia | chain id"},{"name":"typed_data","in":"query","required":false,"schema":{"type":"string"},"description":"EIP-712 JSON (URL-encoded)"},{"name":"payment_required","in":"query","required":false,"schema":{"type":"string"},"description":"x402 PAYMENT-REQUIRED header value"},{"name":"payment_payload","in":"query","required":false,"schema":{"type":"string"},"description":"x402 PAYMENT-SIGNATURE header value"}],"responses":{"200":{"description":"Check result (payment settled)","content":{"application/json":{"schema":{"type":"object","properties":{"tier":{"type":"string"},"verdict":{"type":"string","enum":["SAFE","CAUTION","DANGER"]},"risk_score":{"type":"integer","minimum":0,"maximum":100},"kind":{"type":"string","enum":["transaction","typed_data","eip7702_authorization","x402_payment"]},"action":{"type":"string"},"summary":{"type":"string"},"chain":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}},"flags":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"severity":{"type":"string","enum":["critical","high","medium","low","info"]},"message":{"type":"string"}}}},"counterparties":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"roles":{"type":"array","items":{"type":"string"}},"label":{"type":["string","null"]},"type":{"type":"string","enum":["eoa","contract","eip7702_delegated_eoa"]},"sanctioned":{"type":"object"}}}},"decoded":{"type":"array"},"x402":{"type":"object"},"onchain":{"type":"object","properties":{"available":{"type":"boolean"},"block":{"type":["integer","null"]},"tokens":{"type":"array"},"simulation":{"type":["object","null"]},"selector_names":{"type":["object","null"]}}},"sanctions":{"type":"object"},"engine":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"disclaimer":{"type":"string"}}}}}},"400":{"description":"Invalid input (never charged)"},"402":{"description":"Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)"},"413":{"description":"Body too large (never charged)"},"503":{"description":"Chain RPC unavailable (never charged)"},"504":{"description":"Timed out (never charged)"}}}},"/v1/lite":{"post":{"operationId":"check_signature_lite","summary":"Offline check ($0.005): verdict, every flag with its reason, decoded args, counterparties, x402 payment-vs-402 match, OFAC SDN; no RPC","tags":["paid"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]},"x-x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F","amount":"5000","assetSymbol":"USDC","x402Versions":[2,1],"networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string","description":"base (default), ethereum, base-sepolia or a numeric chain id"},"tx":{"type":"object","properties":{"to":{"type":"string"},"data":{"type":"string"},"value":{"type":"string"},"from":{"type":"string"}},"required":["to"]},"typed_data":{"type":"object","description":"EIP-712 {domain, types, primaryType, message}"},"authorization":{"type":"object","description":"EIP-7702 {address, chainId, nonce}"},"payment_required":{"oneOf":[{"type":"object"},{"type":"string"}],"description":"x402 PAYMENT-REQUIRED header (base64) or {accepts:[…]}"},"payment_payload":{"oneOf":[{"type":"object"},{"type":"string"}],"description":"x402 PAYMENT-SIGNATURE / X-PAYMENT (base64) or JSON"}}}}}},"responses":{"200":{"description":"Check result (payment settled)","content":{"application/json":{"schema":{"type":"object","properties":{"tier":{"type":"string"},"verdict":{"type":"string","enum":["SAFE","CAUTION","DANGER"]},"risk_score":{"type":"integer","minimum":0,"maximum":100},"kind":{"type":"string","enum":["transaction","typed_data","eip7702_authorization","x402_payment"]},"action":{"type":"string"},"summary":{"type":"string"},"chain":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}},"flags":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"severity":{"type":"string","enum":["critical","high","medium","low","info"]},"message":{"type":"string"}}}},"counterparties":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"roles":{"type":"array","items":{"type":"string"}},"label":{"type":["string","null"]},"type":{"type":"string","enum":["eoa","contract","eip7702_delegated_eoa"]},"sanctioned":{"type":"object"}}}},"decoded":{"type":"array"},"x402":{"type":"object"},"onchain":{"type":"object","properties":{"available":{"type":"boolean"},"block":{"type":["integer","null"]},"tokens":{"type":"array"},"simulation":{"type":["object","null"]},"selector_names":{"type":["object","null"]}}},"sanctions":{"type":"object"},"engine":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"disclaimer":{"type":"string"}}}}}},"400":{"description":"Invalid input (never charged)"},"402":{"description":"Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)"},"413":{"description":"Body too large (never charged)"},"503":{"description":"Chain RPC unavailable (never charged)"},"504":{"description":"Timed out (never charged)"}}},"get":{"operationId":"check_signature_lite_get","summary":"Same as POST /v1/lite, inputs as query parameters","tags":["paid"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]},"x-x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F","amount":"5000","assetSymbol":"USDC","x402Versions":[2,1],"networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]},"parameters":[{"name":"to","in":"query","required":false,"schema":{"type":"string"},"description":"tx.to (or use POST for typed data / x402)"},{"name":"data","in":"query","required":false,"schema":{"type":"string"},"description":"tx.data, 0x hex"},{"name":"value","in":"query","required":false,"schema":{"type":"string"},"description":"tx.value in wei"},{"name":"from","in":"query","required":false,"schema":{"type":"string"},"description":"tx.from (enables simulation)"},{"name":"chain","in":"query","required":false,"schema":{"type":"string"},"description":"base | ethereum | base-sepolia | chain id"},{"name":"typed_data","in":"query","required":false,"schema":{"type":"string"},"description":"EIP-712 JSON (URL-encoded)"},{"name":"payment_required","in":"query","required":false,"schema":{"type":"string"},"description":"x402 PAYMENT-REQUIRED header value"},{"name":"payment_payload","in":"query","required":false,"schema":{"type":"string"},"description":"x402 PAYMENT-SIGNATURE header value"}],"responses":{"200":{"description":"Check result (payment settled)","content":{"application/json":{"schema":{"type":"object","properties":{"tier":{"type":"string"},"verdict":{"type":"string","enum":["SAFE","CAUTION","DANGER"]},"risk_score":{"type":"integer","minimum":0,"maximum":100},"kind":{"type":"string","enum":["transaction","typed_data","eip7702_authorization","x402_payment"]},"action":{"type":"string"},"summary":{"type":"string"},"chain":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}},"flags":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"severity":{"type":"string","enum":["critical","high","medium","low","info"]},"message":{"type":"string"}}}},"counterparties":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"roles":{"type":"array","items":{"type":"string"}},"label":{"type":["string","null"]},"type":{"type":"string","enum":["eoa","contract","eip7702_delegated_eoa"]},"sanctioned":{"type":"object"}}}},"decoded":{"type":"array"},"x402":{"type":"object"},"onchain":{"type":"object","properties":{"available":{"type":"boolean"},"block":{"type":["integer","null"]},"tokens":{"type":"array"},"simulation":{"type":["object","null"]},"selector_names":{"type":["object","null"]}}},"sanctions":{"type":"object"},"engine":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"disclaimer":{"type":"string"}}}}}},"400":{"description":"Invalid input (never charged)"},"402":{"description":"Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)"},"413":{"description":"Body too large (never charged)"},"503":{"description":"Chain RPC unavailable (never charged)"},"504":{"description":"Timed out (never charged)"}}}},"/v1/preview":{"post":{"operationId":"preview_signature","summary":"Free: offline verdict, summary and flag codes (10/min/IP)","security":[],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid input"},"429":{"description":"Free tier rate limit"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string","description":"base (default), ethereum, base-sepolia or a numeric chain id"},"tx":{"type":"object","properties":{"to":{"type":"string"},"data":{"type":"string"},"value":{"type":"string"},"from":{"type":"string"}},"required":["to"]},"typed_data":{"type":"object","description":"EIP-712 {domain, types, primaryType, message}"},"authorization":{"type":"object","description":"EIP-7702 {address, chainId, nonce}"},"payment_required":{"oneOf":[{"type":"object"},{"type":"string"}],"description":"x402 PAYMENT-REQUIRED header (base64) or {accepts:[…]}"},"payment_payload":{"oneOf":[{"type":"object"},{"type":"string"}],"description":"x402 PAYMENT-SIGNATURE / X-PAYMENT (base64) or JSON"}}}}}}},"get":{"operationId":"preview_signature_get","summary":"Free: same as POST, query parameters","security":[],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid input"},"429":{"description":"Free tier rate limit"}},"parameters":[{"name":"to","in":"query","required":false,"schema":{"type":"string"},"description":"tx.to (or use POST for typed data / x402)"},{"name":"data","in":"query","required":false,"schema":{"type":"string"},"description":"tx.data, 0x hex"},{"name":"value","in":"query","required":false,"schema":{"type":"string"},"description":"tx.value in wei"},{"name":"from","in":"query","required":false,"schema":{"type":"string"},"description":"tx.from (enables simulation)"},{"name":"chain","in":"query","required":false,"schema":{"type":"string"},"description":"base | ethereum | base-sepolia | chain id"},{"name":"typed_data","in":"query","required":false,"schema":{"type":"string"},"description":"EIP-712 JSON (URL-encoded)"},{"name":"payment_required","in":"query","required":false,"schema":{"type":"string"},"description":"x402 PAYMENT-REQUIRED header value"},{"name":"payment_payload","in":"query","required":false,"schema":{"type":"string"},"description":"x402 PAYMENT-SIGNATURE header value"}]}}},"x-x402-networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]}