+ Hover an event on the left — the matching entry highlights in the record on the right. +
++ Run the block to generate the grouped view and full BAL record. +
+ +Waiting for block execution…
++ What runs in this block +
+{{ brief.lesson }}
++ Accounts before execution +
+{{ brief.actors[0]!.label }}
++ {{ brief.actors[0]!.shortAddress }} +
+{{ brief.actors[1]!.label }}
++ {{ brief.actors[1]!.shortAddress }} +
+Counterparty
+touched during execution
++ Transaction +
+{{ brief.action.headline }}
+{{ brief.action.detail }}
++ Expect in BAL +
++ Contract logic +
+{{ group.name }}
+{{ group.triggerLabel }}
+blockAccessListHash. ' +
+ 'This exploration runs real Amsterdam blocks via EthereumJS and inspects the generated BAL step by step.',
+ usageText:
+ 'Pick a curriculum step, read the scenario summary, then press Run block. ' +
+ 'The highlighted panel shows what changed in the BAL compared to the previous step. ' +
+ 'Expand the full JSON for details. Work through the examples in order for the guided tour.',
+ creatorName: 'HolgerD77',
+ creatorURL: 'https://x.com/HolgerD77',
+ poweredBy: [{ name: 'EthereumJS', href: 'https://github.com/ethereumjs/ethereumjs-monorepo' }],
+}
diff --git a/src/explorations/eip-7928/run.ts b/src/explorations/eip-7928/run.ts
new file mode 100644
index 0000000..af50169
--- /dev/null
+++ b/src/explorations/eip-7928/run.ts
@@ -0,0 +1,38 @@
+import { Common, Hardfork, Mainnet } from '@ethereumjs/common'
+import { bytesToHex } from '@ethereumjs/util'
+import { createVM, runBlock } from '@ethereumjs/vm'
+
+import { getScenario } from './scenarios'
+import { applyPreState, buildAmsterdamBlock } from './scenarios/helpers'
+import type { ScenarioRunResult } from './scenarios/types'
+
+export async function runScenario(scenarioId: string): Promise