40 Compute Units.
This method is served by nanoreth, the HyperEVM archive client, because the Hyperliquid node does not implement it.
Parameters:
params - array containing:
simulationPayload- object - required
simulationPayload fields:
blockStateCalls- array - required
Array of block simulation objects. Each represents a simulated block.traceTransfers- boolean - optional
Iftrue, value transfers are included as logs. Defaults tofalse.validation- boolean - optional
Iftrue, applies validation checks such as nonce and balance. Defaults tofalse.
blockStateCalls object fields:
calls- array
List of transaction call objects to simulatestateOverrides- object - optional
Override account state (balance, nonce, code, storage)blockOverrides- object - optional
Override block-level fields (e.g.number,timestamp,baseFeePerGas)
call object fields:
from- string - optional
Sender addressto- string
Recipient addressmaxFeePerGas- string - optional
Max fee per gas (hex)value- string - optional
Value sent (hex)data- string - optional
Hex-encoded calldata
blockParameter- string - required
"latest". Hyperliquid has no pending block, so use "latest".
Returns:
array of objects - simulated block results. Each object is a full block header for the simulated block plus a calls array.
Call result fields:
status- string
”0x1” = success, “0x0” = failuregasUsed- string
Gas used (hex)returnData- string
Return data (hex)logs- array
Emitted logs (includes transfers if enabled)error- string
Error or revert reason (if failed)