# MachineMint EVM Base Preflight Transaction Checker

> MachineMint EVM Base Preflight Transaction Checker is a paid API for AI agents from machinemint-native-x402-production.up.railway.app, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-13).

Simulates and audits an unsigned Base mainnet transaction — estimating gas, checking balances and bytecode, decoding token transfers/approvals, and returning a PASS/REVIEW/FAIL verdict — without ever signing or broadcasting.

## Facts

- Endpoint: GET https://machinemint-native-x402-production.up.railway.app/v1/base-preflight?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/machinemint-evm-base-preflight-transaction-checker-fccd29fd
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_iHPALbqdb1NOoZaczHH5J

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability machinemint-evm-base-preflight-transaction-checker-fccd29fd
```

Example prompt: Before I sign this transaction, run a preflight check on Base mainnet: I'm sending from 0xAbC...123 to contract 0xDeF...456 with calldata 0xa9059cbb... and 0 wei — tell me if it's safe, estimate the gas, and flag any suspicious approvals.

## When to prefer this

Choose this endpoint when you need a read-only, pre-signing safety audit for a Base mainnet transaction — especially when dealing with unverified contracts, token approvals, or user-submitted calldata where unlimited approvals or suspicious shapes must be detected. It is ideal for AI agents acting as a safety layer before presenting a transaction to a user for signing, or for automated DeFi workflows that need gas estimation combined with risk scoring in a single call. Prefer alternatives if you need Ethereum L1, other EVM chains, or actual transaction broadcasting.

## Known failure modes

- Missing or malformed 'to' or 'from' address returns a 400 validation error
- Invalid or non-hex calldata pattern causes schema rejection
- Unreachable Base mainnet RPC leads to simulation timeout or 503
- Sender has insufficient balance — flagged in verdict as FAIL with reason code
- Target address is an EOA, not a contract — noted in target analysis
- Calldata too short or unrecognized selector — decoded action returns unknown/unsupported
- Railway.app cold-start latency may cause occasional slow first-response

## How this service works

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.

## Output

A JSON object containing a top-level verdict of PASS, REVIEW, or FAIL, along with reason_codes explaining the decision, a simulation result (eth_call outcome), gas estimate, sender balance and nonce info, target address bytecode classification, decoded token action (e.g. transfer or approval with amount and recipient), and a list of risk flags such as unlimited approvals or suspicious calldata shapes. Also includes chain metadata and a provenance object identifying the service.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "to": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "description": "Target contract or account."
      },
      "data": {
       "type": "string",
       "default": "0x",
       "pattern": "^0x(?:[0-9a-fA-F]{2})*$",
       "description": "0x-prefixed calldata."
      },
      "from": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "description": "Sender wallet for the unsigned transaction."
      },
      "chain": {
       "enum": [
        "base",
        "base-mainnet"
       ],
       "type": "string",
       "default": "base"
      },
      "value": {
       "type": [
        "string",
        "integer"
       ],
       "default": "0",
       "description": "Native value in wei."
      }
     },
     "description": "Optional GET query parameters. Omit all fields to request the deterministic marketplace-verification sample.",
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "service",
      "verdict"
     ],
     "properties": {
      "gas": {
       "type": "object"
      },
      "chain": {
       "type": "object"
      },
      "risks": {
       "type": "array",
       "items": {
        "type": "object"
       }
      },
      "action": {
       "type": "object"
      },
      "sender": {
       "type": "object"
      },
      "target": {
       "type": "object"
      },
      "service": {
       "const": "machinemint.evm.preflight"
      },
      "verdict": {
       "enum": [
        "PASS",
        "REVIEW",
        "FAIL"
       ],
       "type": "string"
      },
      "provenance": {
       "type": "object"
      },
      "simulation": {
       "type": "object"
      },
      "transaction": {
       "type": "object"
      },
      "reason_codes": {
       "type": "array",
       "items": {
        "type": "string"
       }
   
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/machinemint-evm-base-preflight-transaction-checker-fccd29fd/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from machinemint-native-x402-production.up.railway.app](https://www.zero.xyz/host/machinemint-native-x402-production.up.railway.app/llms.txt)
