Check an unsigned Base mainnet transaction before signing or broadcasting
Check an unsigned Base mainnet transaction before signing or broadcasting. Simulates with eth_call, estimates gas, checks sender balance and target bytecode, decodes supported token transfers and approvals, flags unlimited approvals and suspicious transaction shapes, and returns PASS, REVIEW, or FAIL. Never signs or broadcasts.
10000 (raw units)
price
4
calls / 30d
4
unique payers
2026-09-14
updated
Provider
machinemint-native-x402-production.up.railway.app · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0xe43e47Dd6b779fE9e591586A3e1cBA00C2f36C80",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "10000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {
"data": "0x",
"from": "0x4200000000000000000000000000000000000006",
"to": "0x1111111111111111111111111111111111111111",
"value": "0"
},
"type": "http"
},
"output": {
"example": {
"canonical_endpoint": "/v1/base-preflight",
"chain": {
"chain_id": 8453,
"name": "base"
},
"gas": {
"estimated": true
},
"reason_codes": [],
"request_mode": "marketplace_verification_sample",
"risks": [],
"sender": {
"sufficient": true
},
"service": "machinemint.evm.preflight",
"simulation": {
"ok": true
},
"verdict": "PASS"
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"additionalProperties": false,
"description": "Optional GET query parameters. Omit all fields to request the deterministic marketplace-verification sample.",
"properties": {
"chain": {
"default": "base",
"enum": [
"base",
"base-mainnet"
],
"type": "string"
},
"data": {
"default": "0x",
"description": "0x-prefixed calldata.",
"pattern": "^0x(?:[0-9a-fA-F]{2})*$",
"type": "string"
},
"from": {
"description": "Sender wallet for the unsigned transaction.",
"pattern": "^0x[0-9a-fA-F]{40}$",
"type": "string"
},
"to": {
"description": "Target contract or account.",
"pattern": "^0x[0-9a-fA-F]{40}$",
"type": "string"
},
"value": {
"default": "0",
"description": "Native value in wei.",
"type": [
"string",
"integer"
]
}
},
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"action": {
"type": "object"
},
"canonical_endpoint": {
"type": "string"
},
"chain": {
"type": "object"
},
"gas": {
"type": "object"
},
"provenance": {
"type": "object"
},
"reason_codes": {
"items": {
"type": "string"
},
"type": "array"
},
"request_mode": {
"enum": [
"provided_transaction",
"marketplace_verification_sample"
],
"type": "string"
},
"risks": {
"items": {
"type": "object"
},
"type": "array"
},
"sender": {
"type": "object"
},
"service": {
"const": "machinemint.evm.preflight"
},
"simulation": {
"type": "object"
},
"target": {
"type": "object"
},
"transaction": {
"type": "object"
},
"verdict": {
"enum": [
"PASS",
"REVIEW",
"FAIL"
],
"type": "string"
}
},
"required": [
"service",
"verdict"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://machinemint-native-x402-production.up.railway.app/v1/base-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://machinemint-native-x402-production.up.railway.app/v1/base-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://machinemint-native-x402-production.up.railway.app/v1/base-preflight")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/13422.json, and this resource appears in /discovery/resources and /discovery/search.