{
  "x402Version": 2,
  "id": 3143,
  "slug": "3143",
  "resource": "https://txguard.schemasure.com/v1/tx/preflight",
  "description": "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.",
  "type": "http",
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0x9876af0F6D8Ed5155Cd02d1ca56D128601612690",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amount": "10000",
      "maxTimeoutSeconds": 60
    }
  ],
  "outputSchema": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "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"
            }
          },
          "bodyType": "json",
          "method": "POST",
          "type": "http"
        },
        "output": {
          "example": {
            "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": []
          },
          "type": "json"
        }
      },
      "schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "input": {
            "additionalProperties": false,
            "properties": {
              "body": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "additionalProperties": false,
                "description": "Send exactly one of unsigned_tx, tx_hash, typed_data, or authorization.",
                "oneOf": [
                  {
                    "required": [
                      "unsigned_tx"
                    ]
                  },
                  {
                    "required": [
                      "tx_hash"
                    ]
                  },
                  {
                    "required": [
                      "typed_data"
                    ]
                  },
                  {
                    "required": [
                      "authorization"
                    ]
                  }
                ],
                "properties": {
                  "authorization": {
                    "additionalProperties": false,
                    "description": "An EIP-3009 authorization, which is what an x402 `exact` payment is. value in base units, validAfter/validBefore in unix seconds, nonce 32 random bytes not a counter.",
                    "properties": {
                      "asset": {
                        "pattern": "^0x[0-9a-fA-F]{40}$",
                        "type": "string"
                      },
                      "from": {
                        "pattern": "^0x[0-9a-fA-F]{40}$",
                        "type": "string"
                      },
                      "kind": {
                        "enum": [
                          "transfer",
                          "receive"
                        ],
                        "type": "string"
                      },
                      "nonce": {
                        "pattern": "^0x[0-9a-fA-F]*$",
                        "type": "string"
                      },
                      "signature": {
                        "pattern": "^0x[0-9a-fA-F]*$",
                        "type": "string"
                      },
                      "to": {
                        "pattern": "^0x[0-9a-fA-F]{40}$",
                        "type": "string"
                      },
                      "validAfter": {
                        "type": "string"
                      },
                      "validBefore": {
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "from",
                      "to",
                      "value",
                      "validAfter",
                      "validBefore",
                      "nonce"
                    ],
                    "type": "object"
                  },
                  "expected_quote": {
                    "additionalProperties": false,
                    "description": "The x402 quote this payment claims to satisfy. Enables the comparison checks.",
                    "properties": {
                      "amount": {
                        "type": "string"
                      },
                      "asset": {
                        "type": "string"
                      },
                      "extra": {
                        "type": "object"
                      },
                      "maxTimeoutSeconds": {
                        "type": "number"
                      },
                      "network": {
                        "type": "string"
                      },
                      "payTo": {
                        "type": "string"
                      },
                      "scheme": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "simulate": {
                    "default": false,
                    "description": "Run eth_simulateV1 with asset tracing. Priced at $0.015 instead of $0.01, and targets P50 2s / P95 5s rather than the static path's 500ms / 2s.",
                    "type": "boolean"
                  },
                  "tx_hash": {
                    "description": "An existing Base transaction to explain.",
                    "pattern": "^0x[0-9a-fA-F]{64}$",
                    "type": "string"
                  },
                  "typed_data": {
                    "description": "EIP-712 payload. TransferWithAuthorization and ReceiveWithAuthorization get the x402 check table; any other primaryType is reported unrecognised, not analysed.",
                    "properties": {
                      "domain": {
                        "type": "object"
                      },
                      "message": {
                        "type": "object"
                      },
                      "primaryType": {
                        "type": "string"
                      },
                      "types": {
                        "type": "object"
                      }
                    },
                    "required": [
                      "domain",
                      "primaryType",
                      "message"
                    ],
                    "type": "object"
                  },
                  "unsigned_tx": {
                    "additionalProperties": false,
                    "description": "A transaction you are about to sign. `to: null` is a deployment.",
                    "properties": {
                      "data": {
                        "pattern": "^0x[0-9a-fA-F]*$",
                        "type": "string"
                      },
                      "from": {
                        "pattern": "^0x[0-9a-fA-F]{40}$",
                        "type": "string"
                      },
                      "to": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "value": {
                        "description": "Wei.",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                },
                "title": "TxPreflightRequest",
                "type": "object"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              },
              "method": {
                "enum": [
                  "POST"
                ],
                "type": "string"
              },
              "type": {
                "const": "http",
                "type": "string"
              }
            },
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "type": "object"
          },
          "output": {
            "properties": {
              "example": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "confidence": {
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "data_versions": {
                    "required": [
                      "denylist",
                      "abi_packs",
                      "signature_index",
                      "policy",
                      "chain"
                    ],
                    "type": "object"
                  },
                  "evidence": {
                    "items": {
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "ok": {
                    "type": "boolean"
                  },
                  "policy_version": {
                    "type": "string"
                  },
                  "request_hash": {
                    "pattern": "^sha256:[0-9a-f]{64}$",
                    "type": "string"
                  },
                  "result": {
                    "properties": {
                      "approvals": {
                        "items": {
                          "properties": {
                            "scope": {
                              "enum": [
                                "infinite",
                                "effectively_infinite",
                                "bounded"
                              ],
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "intent": {
                        "properties": {
                          "decode_source": {
                            "enum": [
                              "verified-abi",
                              "bundled-abi",
                              "offline-index",
                              "live-lookup",
                              "unresolved"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "kind",
                          "summary",
                          "decode_source",
                          "calls",
                          "truncated"
                        ],
                        "type": "object"
                      },
                      "proxy": {
                        "properties": {
                          "kind": {
                            "enum": [
                              "none",
                              "eip1167",
                              "eip1967",
                              "eip1967-beacon",
                              "eip1822",
                              "zeppelinos",
                              "diamond",
                              "unknown"
                            ],
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "required": [
                      "input_shape",
                      "chain",
                      "intent",
                      "expected_transfers",
                      "approvals",
                      "permit_scope",
                      "spender",
                      "proxy",
                      "authorization_checks",
                      "quote_comparison",
                      "simulation",
                      "candidate_signatures",
                      "denylist_hits",
                      "unresolved",
                      "rpc"
                    ],
                    "type": "object"
                  },
                  "risk_codes": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "verdict": {
                    "description": "Precedence: block, then unknown, then warn, then allow.",
                    "enum": [
                      "allow",
                      "warn",
                      "block",
                      "unknown"
                    ],
                    "type": "string"
                  },
                  "warnings": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "ok",
                  "verdict",
                  "confidence",
                  "risk_codes",
                  "evidence",
                  "result",
                  "policy_version",
                  "request_hash",
                  "data_versions",
                  "warnings"
                ],
                "title": "TxPreflightEnvelope",
                "type": "object"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "type": "object"
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      }
    }
  },
  "tags": [
    "bazaar"
  ],
  "sourceHost": "txguard.schemasure.com",
  "lastUpdated": "2026-09-18T07:40:55.884Z",
  "quality": {
    "calls30d": 32,
    "uniquePayers30d": 3,
    "lastCalledAt": "2026-09-18T07:40:55.618Z"
  },
  "liveness": {},
  "verified": false,
  "featured": false,
  "provider": {
    "host": "txguard.schemasure.com",
    "manifest_name": "txguard.schemasure.com",
    "source": "cdp-mirror",
    "source_manifest_url": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources",
    "submitted_at": "2026-09-18T22:00:31.484Z"
  }
}