Skip to content

EIP-7708 — ETH transfers emit a log

Status: Runnable locally (stdio v0.1, self-hosted). Public MCP not launched yet — use the website exploration today.

What became possible

When does native ETH show up as a Transfer log — and when does it stay invisible to log filters? EIP-7708 emits synthetic ERC-20-compatible Transfer logs from the system address for nonzero ETH moves (tx value, CALL, CREATE/CREATE2, SELFDESTRUCT).

The MCP server runs caller-supplied bytecode or a value-bearing messageCall and returns logs plus decodedLogs (EIP-7708 Transfer/Burn decorations when present). Compare Osaka vs Amsterdam on the same program — preview emits Transfer logs; baseline stays silent.

What you can ask your agent

Connect the MCP server, then try prompts like:

  • “Run a plain 1 wei transfer on Amsterdam — decode the EIP-7708 Transfer log in the result.”
  • “Same messageCall on Osaka vs Amsterdam — which decoded Transfer logs differ?”
  • “My contract wallet forwards ETH via CALL — show me the Transfer log fields (from, to, value).”
  • “Why is there no Transfer log when the inner CALL reverts?”

These are inspiration prompts — curiosity, understanding, or builder checks.

What the server does

StepActionPurpose
1Discover supportConfirm 7708 catalog entry; read comparison forks
2Run bytecodeExecute on amsterdam or osaka; read logs / decodedLogs

Use messageCall for plain ETH moves without wrapper bytecode:

json
{
  "messageCall": {
    "caller": "0x00000000000000000000000000000000000000ee",
    "to": "0x00000000000000000000000000000000000000aa",
    "value": "1"
  },
  "fork": { "baseHardfork": "amsterdam" }
}

Optional code on messageCall installs runtime bytecode at to before the call (contract-wallet style scenarios).

Fork caveat

Run the same program twiceosaka (baseline), then amsterdam (preview) — and compare decodedLogs. EIP-7708 Transfer decorations appear only on Amsterdam for successful nonzero value moves. Do not infer Transfer events from opcode traces alone.

Limits today: tx-level value and burn logs need a future block/tx simulate path. Message-call and in-bytecode CALL paths are supported.

Twins and spec

Link
Website exploration (interactive textbook)EIP-7708 on feelyourprotocol.org
Canonical specEIP-7708
Coverage indexCoverage

Changelog

EIP-7708 MCP Catalogue Changelog
  1. v0.22026-09-01Runnable — simulate returns logs/decodedLogs; messageCall for plain ETH moves; Amsterdam vs Osaka comparison.
  2. v0.12026-09-01Planned catalogue page with scenario-aligned prompts and twin link.

Use = end-user reference. Internals = architecture and operations. Each section carries its own micro-changelog.