Skip to main content

Evaluation and Execution

HAL separates read-only adapter calls from stateful action executions.

Available tools

Call an adapter

Adapter calls use ordinary RPC reads. They create no execution record and produce no transaction. Pass either a published adapter ID or an inline expression. Use an inline expression while iterating on a draft. Saved adapter IDs resolve only to published versions.

Simulate an action

Start with mode: "simulate" to run every batch on a sandbox fork. The response includes the fork ID and simulated transaction hashes. Inspect each transaction with the transaction query tools. Confirm the call consumed gas or produced expected logs, transfers, and state changes. To continue from state created by an earlier simulation, pass its tevmForkId into the next simulation.

Execute on mainnet

Start with mode: "plan". Herd returns the first batch without submitting it. Your wallet submits those calls. After submission, continue the mainnet track with each planned operation ID paired to its transaction hash. Herd checks the onchain traces, records the results, and plans the next batch. Mainnet and simulation advance independently. Always specify which track to read or continue.

Safe and MPC proposals

Simulate an action with the destination Safe or MPC wallet as the sender. Agent wallet workflows use that evidence to create a governed proposal. The agent proposes calls; the wallet’s owners or policy sign and execute them.
A successful transaction status does not prove that contract code ran. Inspect gas, calls, logs, and transfers before trusting a simulation.
Inline actions work only in simulation mode. Mainnet planning requires a saved, published action so Herd can preserve its execution history.