Free read-only Base Mainnet transaction Preflight and Verification; no signing or custody.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Before signing: simulate one unsigned Base Mainnet (8453) candidate (chain_id/from/to/value/data); inspect call success/revert, top-level destination and L2 fee constraints, Judgment, reason codes and evidence. Free; no API key, wallet or payment. Complete supported EIP-1559 fee_estimation context optionally estimates L1/L2/applicable Operator/Total Network Fee separately; legacy Judgment is unchanged, not automatic PASS. Inspect http_status, response.judgment and response.simulation. After broadcast use verify_transaction. No signing, broadcasting, custody, asset-delta/risk scan or execution guarantee.
Explicit opt-in to a separate versioned network_fee_estimate. Missing transaction fields are never guessed. Legacy cost_estimate, Judgment and L2 constraints remain unchanged.
Before signing: simulate one unsigned Base Mainnet (8453) candidate (chain_id/from/to/value/data); inspect call success/revert, top-level destination and L2 fee constraints, Judgment, reason codes and evidence. Free; no API key, wallet or payment. Complete supported EIP-1559 fee_estimation context optionally estimates L1/L2/applicable Operator/Total Network Fee separately; legacy Judgment is unchanged, not automatic PASS. Inspect http_status, response.judgment and response.simulation. After broadcast use verify_transaction. No signing, broadcasting, custody, asset-delta/risk scan or execution guarantee.
| Argument | Type | Description |
|---|---|---|
| candidate* | object | |
| constraints | object | |
| fee_estimation | object | Explicit opt-in to a separate versioned network_fee_estimate. Missing transaction fields are never guessed. Legacy cost_estimate, Judgment and L2 constraints remain unchanged. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"candidate"
],
"properties": {
"candidate": {
"type": "object",
"required": [
"chain_id",
"from",
"to",
"value",
"data"
],
"properties": {
"to": {
"type": "string",
"maxLength": 42,
"minLength": 42
},
"data": {
"type": "string",
"pattern": "^0x(?:[0-9a-fA-F]{2})*$",
"maxLength": 131074
},
"from": {
"type": "string",
"maxLength": 42,
"minLength": 42
},
"value": {
"type": "string",
"pattern": "^(0|[1-9][0-9]*)$",
"maxLength": 78
},
"chain_id": {
"type": "string",
"const": "8453"
}
},
"additionalProperties": false
},
"constraints": {
"type": "object",
"properties": {
"denied_to": {
"type": "array",
"items": {
"type": "string",
"maxLength": 42,
"minLength": 42
},
"maxItems": 100
},
"allowed_to": {
"type": "array",
"items": {
"type": "string",
"maxLength": 42,
"minLength": 42
},
"maxItems": 100
},
"max_execution_cost_wei": {
"type": "string",
"pattern": "^(0|[1-9][0-9]*)$",
"maxLength": 78
}
},
"additionalProperties": false
},
"fee_estimation": {
"type": "object",
"required": [
"version"
],
"properties": {
"version": {
"type": "string",
"const": "base_network_fee_v1"
},
"transaction": {
"type": "object",
"required": [
"type",
"nonce",
"gas_limit",
"max_fee_per_gas",
"max_priority_fee_per_gas",
"access_list"
],
"properties": {
"type": {
"type": "string",
"const": "eip1559"
},
"nonce": {
"type": "string",
"pattern": "^(0|[1-9][0-9]*)$",
"maxLength": 16,
"description": "Explicit nonce, 0–9007199254740991; not checked against account state."
},
"gas_limit": {
"type": "string",
"pattern": "^(0|[1-9][0-9]*)$",
"maxLength": 7,
"description": "Declared gas limit, 21000–5000000. Original simulation ceiling is unchanged."
},
"access_list": {
"type": "array",
"items": [],
"maxItems": 0,
"description": "Only an empty access list is supported by this fee-estimate version.",
"additionalItems": false
},
"max_fee_per_gas": {
"type": "string",
"pattern": "^(0|[1-9][0-9]*)$",
"maxLength": 78
},
"max_priority_fee_per_gas": {
"type": "string",
"pattern": "^(0|[1-9][0-9]*)$",
"maxLength": 78
}
},
"additionalProperties": false
}
},
"description": "Explicit opt-in to a separate versioned network_fee_estimate. Missing transaction fields are never guessed. Legacy cost_estimate, Judgment and L2 constraints remain unchanged.",
"additionalProperties": false
}
},
"additionalProperties": false
}After independent broadcast: verify a Base Mainnet (8453) transaction against explicit inclusion, receipt-status and optional candidate-field expectations. transaction_hash is required; default checks inclusion, NOT receipt success. Free; no API key, wallet or payment. Read http_status, response.verification.state and response.observation_errors; missing evidence is not success. Before signing use preflight_transaction. VERIFIED is not finality, ownership, causality, asset-balance change verification or a swap economic-outcome guarantee. No signing, broadcasting or custody.
| Argument | Type | Description |
|---|---|---|
| expectation | object | |
| transaction_hash* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"transaction_hash"
],
"properties": {
"expectation": {
"type": "object",
"properties": {
"chain_id": {
"type": "string",
"const": "8453",
"default": "8453"
},
"candidate": {
"type": "object",
"required": [
"chain_id",
"from",
"to",
"value",
"data"
],
"properties": {
"to": {
"type": "string",
"maxLength": 42,
"minLength": 42
},
"data": {
"type": "string",
"pattern": "^0x(?:[0-9a-fA-F]{2})*$",
"maxLength": 131074
},
"from": {
"type": "string",
"maxLength": 42,
"minLength": 42
},
"value": {
"type": "string",
"pattern": "^(0|[1-9][0-9]*)$",
"maxLength": 78
},
"chain_id": {
"type": "string",
"const": "8453"
}
},
"additionalProperties": false
},
"inclusion": {
"enum": [
"included",
"pending"
],
"type": "string",
"default": "included"
},
"receipt_status": {
"enum": [
"success",
"reverted"
],
"type": "string"
}
},
"additionalProperties": false
},
"transaction_hash": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{64}$"
}
},
"additionalProperties": false
}