mirrored listing x402 eip155:8453

Explain and preflight an unsigned Base transaction, EIP-712 typed data, or an EIP-3009 x40

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.

Do you run txguard.schemasure.com? This listing was mirrored from Coinbase's public Bazaar. Claim it in 30 seconds — no account required — and it becomes verified, permanently overriding the mirrored copy.

Claim this listing
10000 (raw units)
price
32
calls / 30d
3
unique payers
2026-09-18
updated

Provider

txguard.schemasure.com · discovered, not yet claimed by its owner

Payment (x402 accepts[])

[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "payTo": "0x9876af0F6D8Ed5155Cd02d1ca56D128601612690",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "10000",
    "maxTimeoutSeconds": 60
  }
]

Output schema

{
  "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"
    }
  }
}

Use it

curl

curl "https://txguard.schemasure.com/v1/tx/preflight"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid

JavaScript

const res = await fetch("https://txguard.schemasure.com/v1/tx/preflight");
if (res.status === 402) {
  const { accepts } = await res.json();
  // pay one of accepts[] via an x402 client, then retry with the payment header
}

Python

import httpx
res = httpx.get("https://txguard.schemasure.com/v1/tx/preflight")
if res.status_code == 402:
    accepts = res.json()["accepts"]
    # pay one of accepts[] via an x402 client, then retry with the payment header

Machine-readable

Everything on this page is also available as clean JSON at /resources/3143.json, and this resource appears in /discovery/resources and /discovery/search.