EVM execution and analysis software built on DuckDB and evmone.

Query chain history and run EVM simulations against pinned state with SQL. Inspect inputs, results, and execution evidence as queryable tables.

Compare 12 monthly quotes with one day-one quote.

Run a set of quotes against historical Ethereum blocks, then filter, aggregate, or join the returned rows in the notebook.

Monthly quotes
0.92777 WETH
12 × 200 USDC · Aug ’25–Jul ’26
Day-one quote
0.64902 WETH
2,400 USDC · Aug 1, 2025
Quote difference
+0.27874 WETH
+42.9% versus day one

This compares historical quote outputs, not actual trades. Gas costs are not included.

WETH quoted each month

WETH quoted each monthA zero-baseline bar chart of the WETH returned by each historical monthly USDC quote.0.000.070.14Aug ’25Nov ’25Feb ’26May ’26Jul ’26

Monthly quotes overtake the day-one quote in May ’26

Monthly quotes overtake the day-one quote in May ’26The solid line shows cumulative WETH from the monthly quotes. The dashed horizontal line shows the complete day-one quote for the same total USDC input. The highlighted point marks the first observed date when the monthly total exceeds it.0.000.521.04Aug ’25Nov ’25Feb ’26May ’26Jul ’26Monthly total 0.92777Day-one quote 0.64902

Run 32 EVM simulations from one SQL query.

Each simulation changes the trade size while the WETH/USDC route and pinned chain state stay fixed. Compare execution prices, then inspect any result’s inputs and execution evidence.

1 ETH baseline

$1,902.45 / ETH

32 ETH selected

$1,889.88 / ETH

Impact vs 1 ETH

−66.1 bps

Average execution price by trade size

Each bar is one independent simulation. Differences use the 1 ETH result as the baseline.

Average execution price difference across 32 trade sizesEach bar shows the average execution price difference from the 1 ETH simulation at the same finalized state. Use Left, Right, Home, and End to select a trade size.0.0 bps35.0 bps70.0 bps1 ETH8 ETH16 ETH24 ETH32 ETH

Selected input

32 ETH

Observed output

60,476 USDC

Execution gas

130,153

Execution status

SUCCESS

Succeeded

Saved resultEvidence complete
Execution ID

Program call

SenderSimulated senderTargetRouter02

Native value sent

Chain
Ethereum Mainnet
Chain ID
Block
Block hash
Steps
Total EVM execution gas
Transaction gas estimate
Gas status
complete_program

Candidate key

  1. #0balanceSimulated starting balanceexact trade size funded

These overrides define the simulated world. They are inputs to this execution, not observations of upstream chain truth.

  • · ETH balance

  • · USDC

  • Native call valuecommitted

    Router02 WETH

    ETH · exact native base-unit claim · frame · log

  • Native call valuecommitted

    Simulated sender Router02

    ETH · exact native base-unit claim · frame · log

  • Decoded logcommitted

    Router02 Uniswap V2 Pair

    WETH · · frame · log

  • Decoded logcommitted

    Uniswap V2 Pair Simulated sender

    USDC · · frame · log

Step execute_callRouter02SUCCESS

fromSimulated sender· Native value sent· Total EVM execution gas· Transaction gas estimate

  1. callRouter02.swapExactETHForTokens
    Inclusive frame gasSUCCEEDED
    Disposition committedfrom Simulated senderFrame message value

    1. callUniswap V2 Pair.getReserves
      Inclusive frame gasSUCCEEDED
      Disposition committedfrom Router02Frame message value

    2. callWETH.deposit
      Inclusive frame gasSUCCEEDED
      Disposition committedfrom Router02Frame message value

    3. callWETH.transfer
      Inclusive frame gasSUCCEEDED
      Disposition committedfrom Router02Frame message value

    4. callUniswap V2 Pair.swap
      Inclusive frame gasSUCCEEDED
      Disposition committedfrom Router02Frame message value

      1. callUSDC.transfer
        Inclusive frame gasSUCCEEDED
        Disposition committedfrom Uniswap V2 PairFrame message value

        1. delegatecallUSDC.transfer
          Inclusive frame gasSUCCEEDED
          Disposition committedfrom Uniswap V2 Pairvia USDC implementationFrame message value

      2. callUSDC.balanceOf
        Inclusive frame gasSUCCEEDED
        Disposition committedfrom Uniswap V2 PairFrame message value

        1. delegatecallUSDC.balanceOf
          Inclusive frame gasSUCCEEDED
          Disposition committedfrom Uniswap V2 Pairvia USDC implementationFrame message value

      3. callWETH.balanceOf
        Inclusive frame gasSUCCEEDED
        Disposition committedfrom Uniswap V2 PairFrame message value

1
-- Publish execution evidence before reading it below.
2
WITH anchor AS MATERIALIZED (
3
-- Resolve the finalized pin once, then share its number and hash across all candidates.
4
SELECT pin($client, 'finalized') AS client
5
),
6
executions AS MATERIALIZED (
7
SELECT
8
e.execution_id,
9
e.candidate_key,
10
e.status
11
FROM run((
12
SELECT
13
a.client,
14
amount_in_raw::VARCHAR AS candidate_key,
15
program(
16
[assume_native_balance($sender, amount_in_raw, 'exact trade size funded')],
17
[execute_contract(
18
$sender,
19
$router,
20
amount_in_raw,
21
500000, -- Simulation ceiling; this is not a transaction gas limit.
22
$router_abi,
23
'swapExactETHForTokens',
24
0,
25
[$weth, $usdc],
26
$sender,
27
9999999999 -- Far-future deadline for simulation only; never broadcast.
28
)]
29
) AS program,
30
[
31
observation_fact($sender, 'Simulated sender'),
32
observation_fact($router, 'Router02'),
33
observation_fact($usdc, 'USDC'),
34
observe('ETH', native_balance($sender)),
35
observe('USDC', read_contract($usdc, $erc20_abi, 'balanceOf', $sender))
36
] AS observations
37
FROM (
38
SELECT
39
candidate_index * $trade_size_step_wei AS amount_in_raw
40
FROM range(1, 33) AS sizes(candidate_index)
41
)
42
CROSS JOIN anchor AS a
43
)) AS e
44
)
45
SELECT
46
format_ether(r.candidate_key::UINT256) AS amount_in_eth,
47
format_units(o.delta_magnitude, 6) AS amount_out_usdc,
48
format_units(
49
muldiv(
50
o.delta_magnitude,
51
parse_ether('1'),
52
r.candidate_key::UINT256
53
),
54
6
55
) AS average_price_usdc_per_eth,
56
execution_evidence(r.execution_id) AS execution_evidence
57
FROM executions AS r
58
LEFT JOIN evm.execution_observation_pairs AS o
59
ON o.execution_id = r.execution_id
60
AND o.observation_key = 'USDC'
61
AND r.status = 'success'
62
AND o.delta > 0::INT512
63
ORDER BY r.candidate_key::UINT256;
Notebook ready in readonly mode.

Working on an EVM execution or analysis workflow?

Tell me how you handle it today.

[email protected]