Give me a minimal DUPN example for depth 17, encode it as bytecode, and run it on Glamsterdam with trace.
Look forthe opcode trace and the final stack
Agent will likely call run_bytecode
EIP-8024DUPN, SWAPN, EXCHANGE
RunnableLive on the hosted MCP — free on Amsterdam. Connect an agent and ask.
Website twin: exploration on feelyourprotocol.org
How do you reach deep into the EVM stack beyond DUP16 and SWAP16?
On Glamsterdam, the EVM executes three new stack opcodes: DUPN (0xe6), SWAPN (0xe7), and EXCHANGE (0xe8). They extend deep stack access beyond DUP16 / SWAP16 without breaking backward compatibility.
The MCP server runs any raw bytecode you (or your agent) supply under Glamsterdam and returns deterministic gas, stack, and optional traces. It does not ship fixed demo programs — your agent constructs bytecode from the spec.
The hosted MCP is live (Connect). Copy a prompt into your agent — each quote is self-contained.
Job
Give me a minimal DUPN example for depth 17, encode it as bytecode, and run it on Glamsterdam with trace.
Look forthe opcode trace and the final stack
Agent will likely call run_bytecode
Lesson
On Glamsterdam, run DUPN at depth 4 on a stack 1,2,3,4,5 — which stack value does DUPN copy to the top?
Look for2 copied from depth 4
Agent will likely call run_bytecode
Check
On Glamsterdam, run DUPN with depth 0 — does it fail?
Agent will likely call run_bytecode
Confirm 8024 is runnable; read opcode encoding from the live catalog.
Execute programs under a fork config (Glamsterdam only is fine).
Fork caveat
Glamsterdam already bundles EIP-8024 in EthereumJS v10. Passing eips: [8024] is accepted but is not a before/after toggle on Glamsterdam itself.
For 8024 off vs on (optional), run the same bytecode on baseline fork fusaka, then on preview fork glamsterdam. The catalog exposes this pair on the EIP-8024 module as comparison: { baselineForkId: "fusaka", previewForkId: "glamsterdam" }. You do not need osaka for Glamsterdam-only 8024 runs.