$0.01
per call · USD Coin on Base
Explain and preflight an unsigned Base transaction, EIP-712 typed data, or an EIP-3009 x402 payment authorization before you sign it. Decodes intent against verified ABIs, resolves proxies, classifies approvals, and checks a payment authorization against the quote it claims to pay: recipient, amount, asset, chain, freshness, and nonce replay. Returns unknown rather than guessing when a selector is ambiguous. Not a guarantee that a transaction is safe or profitable.
Endpoint
POST https://txguard.schemasure.com/v1/tx/preflight31
Calls / 30d
2
Unique payers / 30d
Sep 10
Last called
exact
Payment scheme
Call this service
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";
const account = privateKeyToAccount(process.env.PRIVATE_KEY);
const fetchWithPay = wrapFetchWithPayment(fetch, account);
const res = await fetchWithPay("https://txguard.schemasure.com/v1/tx/preflight", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"expected_quote": {
"amount": "10000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 60,
"network": "eip155:8453",
"payTo": "0x1a2B3c4D5E6F7a8B9c0D1e2F3A4b5C6d7E8F9a0b",
"scheme": "exact"
},
"unsigned_tx": {
"data": "0xa9059cbb0000000000000000000000005d3e1a9b7c2f4e8a0b6d3c5f9e1a7b4d2c8f0a6e0000000000000000000000000000000000000000000000000000000000002710",
"from": "0x9F2C5E4A8db1C3a7E6B0d4f8C1E2a5b7D9C0e3F4",
"to": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"value": "0"
}
}),
});
const data = await res.json();curl -X POST \
"https://txguard.schemasure.com/v1/tx/preflight" \
-H "Content-Type: application/json" \
-d '{"expected_quote":{"amount":"10000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"maxTimeoutSeconds":60,"network":"eip155:8453","payTo":"0x1a2B3c4D5E6F7a8B9c0D1e2F3A4b5C6d7E8F9a0b","scheme":"exact"},"unsigned_tx":{"data":"0xa9059cbb0000000000000000000000005d3e1a9b7c2f4e8a0b6d3c5f9e1a7b4d2c8f0a6e0000000000000000000000000000000000000000000000000000000000002710","from":"0x9F2C5E4A8db1C3a7E6B0d4f8C1E2a5b7D9C0e3F4","to":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","value":"0"}}' \
-H "X-PAYMENT: <signed x402 payment>"Example response
{
"confidence": 1,
"data_versions": {
"abi_packs": "2026-08-03.1",
"chain": "eip155:8453",
"denylist": "2026-08-03.1",
"policy": "2026-08-03",
"signature_index": "2026-08-03.1"
},
"evidence": [
{
"code": "RECIPIENT_MISMATCH",
"data": {
"actual": "0x5D3e1a9b7c2f4E8A0b6d3c5F9E1A7b4D2C8f0a6E",
"expected": "0x1a2B3c4D5E6F7a8B9c0D1e2F3A4b5C6d7E8F9a0b",
"field": "payTo"
},
"detail": "Pays 0x5D3e1a9b7c2f4E8A0b6d3c5F9E1A7b4D2C8f0a6E, but the quote names 0x1a2B3c4D5E6F7a8B9c0D1e2F3A4b5C6d7E8F9a0b. Signing this pays someone other than the party you are buying from.",
"severity": "critical",
"source": "quote-comparison"
},
{
"code": "RPC_UNAVAILABLE",
"detail": "No Base RPC endpoint is configured, so chain-dependent fields are unknown rather than assumed. See result.unresolved.",
"severity": "medium",
"source": "rpc"
}
],
"ok": true,
"policy_version": "2026-08-03",
"request_hash": "sha256:6d5c717eb5eede165dada2645ad0944430ff492739cf58d0c2dad2b812f0ddb4",
"result": {
"approvals": [],
"authorization_checks": [],
"candidate_signatures": [],
"chain": "eip155:8453",
"denylist_hits": [],
"expected_transfers": [
{
"amount": "10000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"asset_kind": "erc20",
"from": "0x9f2C5E4a8DB1C3A7e6b0d4f8C1e2A5b7d9c0E3f4",
"source": "decode",
"to": "0x5D3e1a9b7c2f4E8A0b6d3c5F9E1A7b4D2C8f0a6E",
"token_id": null
}
],
"input_shape": "unsigned_tx",
"intent": {
"args": [
{
"name": "to",
"type": "address",
"value": "0x5D3e1a9b7c2f4E8A0b6d3c5F9E1A7b4D2C8f0a6E"
},
{
"name": "amount",
"type": "uint256",
"value": "10000"
}
],
"calls": [],
"decode_source": "bundled-abi",
"depth": 0,
"function_name": "transfer",
"kind": "erc20_transfer",
"selector": "0xa9059cbb",
"signature": "transfer(address,uint256)",
"standard": "erc20",
"summary": "Transfer 10000 base units of token 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 to 0x5D3e1a9b7c2f4E8A0b6d3c5F9E1A7b4D2C8f0a6E.",
"target": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"truncated": false,
"value_wei": "0"
},
"permit_scope": null,
"proxy": {
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"admin": null,
"beacon": null,
"detail": "no RPC endpoint is configured, so no slot could be read",
"implementation": null,
"kind": "unknown",
"slots_probed": [],
"upgradeable": null
},
"quote_comparison": {
"detail": "2 of 3 comparable fields match",
"fields": [
{
"actual": "0x5D3e1a9b7c2f4E8A0b6d3c5F9E1A7b4D2C8f0a6E",
"expected": "0x1a2B3c4D5E6F7a8B9c0D1e2F3A4b5C6d7E8F9a0b",
"field": "payTo",
"matches": false
},
{
"actual": "10000",
"expected": "10000",
"field": "amount",
"matches": true
},
{
"actual": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"expected": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"field": "asset",
"matches": true
},
{
"actual": null,
"expected": "8453",
"field": "chainId",
"matches": null
},
{
"actual": null,
"expected": "USD Coin",
"field": "extra.name",
"matches": null
},
{
"actual": null,
"expected": "2",
"field": "extra.version",
"matches": null
}
],
"matches": false,
"present": true
},
"rpc": {
"configured": false,
"endpoints": [],
"reachable": null
},
"simulation": {
"asset_changes": [],
"block_number": null,
"detail": "simulation was not requested; send simulate: true to run one",
"gas_used": null,
"requested": false,
"status": "not_requested"
},
"spender": {
"address": null,
"detail": "this transaction grants no allowance, so it has no spender",
"is_contract": null
},
"unresolved": [
"proxy status of 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 is unknown: no RPC endpoint is configured, so no slot could be read"
]
},
"risk_codes": [
"RECIPIENT_MISMATCH",
"RPC_UNAVAILABLE"
],
"verdict": "block",
"warnings": []
}Payment details
0x9876af0f6d8ed5155cd02d1ca56d128601612690USD Coin · 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913Is this your API?
Pin it to the top of Onchain Data and the homepage with a featured placement.
More from TxGuard & similar services
Chain · Operations
agents.chain.link
Chainlink For Agents: execute a catalog workflow by workflow name.
Chain · Operations Submit
agents.chain.link
Chainlink For Agents: submit a signed operation payload.
Sniperx · Activities Smarttraders Smartmoney
x402.sniperx.fun
Get SmartMoney trading activities on token (sorted by time descending)