Skip to main content
Glama

EVM Transaction Execution Decision

evm_transaction_execution_decision
Read-only

Evaluate an intended EVM transaction before submission using deterministic RPC simulation signals and return a machine-readable STRAELO execution decision. The decision engine is deterministic for the same observed RPC evidence; live chain state may change between calls. USE WHEN: an agent needs to evaluate an EVM transaction before deciding whether to submit it. DO NOT USE WHEN: the transaction has already been submitted and the agent needs to look it up by transaction hash; use evm_transaction_hash_lookup instead. This product does not broadcast transactions and does not guarantee that an allowed transaction will execute successfully when later submitted. from_address is the sender whose execution context is simulated; to_address/data/value together form the intended transaction form. INCOMPLETE means simulation/provider evidence was insufficient for a conclusive execution decision and must not be treated as ALLOW. Returns ALLOW, WARN, BLOCK, or INCOMPLETE with the simulation evidence and execution signals produced by the current decision engine.

Input Schema

NameRequiredDescriptionDefault
dataNoEVM calldata hex for contract interaction. Must start with 0x. Empty calldata is represented as "0x".
chainYesEVM network where the transaction would be executed.
valueNoNative value in hex wei (atomic units, 10^18 wei = 1 ETH). Zero means no native value transfer.
to_addressNoIntended recipient address or contract target for the transaction.
from_addressYesActual EVM sender address whose execution context should be simulated. Required because contract behavior may depend on msg.sender, balances, permissions, ownership, or allowlists.

Output Schema

NameRequiredDescriptionDefault
chainYesSelected EVM network.
reasonsYesHuman-readable reasons for the decision.
decisionYesPre-execution decision: ALLOW means simulation succeeded with no blocking signals; WARN means simulation succeeded with cautionary findings (e.g., approvals); BLOCK means deterministic simulation indicates execution would revert; INCOMPLETE means a technical/provider error prevented a conclusive decision.
findingsYesDeterministic factual findings.
providerYesRPC provider identifier.
latency_msYesObserved RPC latency in milliseconds.
counterpartyYesRecipient / counterparty address.
native_valueYesNative value in decimal wei.
estimated_gasNoEstimated gas from eth_estimateGas.
decoded_actionNoDecoded ERC20/ERC1155 action when recognized.
method_selectorYesFirst 4 bytes of calldata.
interaction_typeYesRecognized interaction type.
simulation_statusYesRPC simulation outcome.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

It adds real context beyond the annotations: the engine is deterministic for identical RPC evidence, but live chain state may change between calls (which explains idempotentHint=false), and the tool never broadcasts. It also warns that ALLOW is not a guarantee of successful execution and that INCOMPLETE must not be read as ALLOW. The only gap is that it does not describe latency, rate limits, or provider failure behavior, which matter for an openWorldHint tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded, followed by clearly labelled use/don't-use blocks and caveats, so an agent can scan it quickly. It runs long and the parameter-roles sentence restates ground already covered by the schema descriptions, which trims a point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a decision tool with an output schema, the description covers everything the schema cannot: the meaning and risk asymmetry of ALLOW/WARN/BLOCK/INCOMPLETE, determinism versus live-state drift, and the no-broadcast/no-guarantee boundary. An agent can call it and interpret results correctly without further context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description earns an extra point by explaining the compositional relationship — that from_address defines the simulated msg.sender context while to_address/data/value jointly form the intended transaction. Most per-field detail (hex wei units, calldata format, address patterns) is already in the schema, so no more credit is warranted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource — 'Evaluate an intended EVM transaction before submission' — and states the output form (a machine-readable STRAELO execution decision). It is immediately distinguishable from evm_transaction_hash_lookup, which it explicitly names as the post-submission lookup path.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit 'USE WHEN' and 'DO NOT USE WHEN' sections, and the exclusion names the alternative tool (evm_transaction_hash_lookup) plus the condition that selects it (transaction already submitted, lookup by hash). The pre-submission gating context is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources