{
  "id": 7906,
  "title": "EIP-7906: Transaction Assertions via State Diff Opcode",
  "status": "Draft",
  "description": "Opcodes that expose a transaction's state diff to on-chain assertions that can reject the transaction's outcome",
  "author": "Alex Forshtat (@forshtat), Shahaf Nacson (@shahafn), Dror Tirosh (@drortirosh), Yoav Weiss (@yoavw), Fredrik Svantes (@0xfredrik), Daniil Ankushin (@AnkushinDaniil), lightclient (@lightclient)",
  "type": "Standards Track",
  "category": "Core",
  "createdDate": "2025-02-21",
  "discussionLink": "https://ethereum-magicians.org/t/eip-restricted-behavior-transaction-type/23130",
  "reviewer": "bot",
  "layer": "EL",
  "forkRelationships": [
    {
      "forkName": "Hegota",
      "statusHistory": [
        {
          "status": "Proposed",
          "call": "acde/242",
          "date": "2026-07-30"
        },
        {
          "status": "Considered",
          "call": "acde/246",
          "date": "2026-09-24"
        }
      ],
      "champions": [
        {
          "name": "Alex Forshtat",
          "discord": "alexf5200"
        }
      ]
    }
  ],
  "laymanDescription": "Signing a transaction today means trusting code most people cannot read, with no way to state what it must not do. This proposal adds instructions that let a check run at the end of a transaction, see everything that changed, and cancel the whole thing if the outcome is not what was expected.",
  "benefits": [
    "Lets users set enforceable limits on what a transaction may do, replacing blind signing",
    "A failed check cancels the entire execution and cannot be bypassed by earlier frames",
    "Multiple independent assertion providers can compose without coordinating with each other"
  ],
  "tradeoffs": [
    "An assertion that checks too little gives users a false sense of security",
    "A failed assertion still commits gas payment, so the user pays for a rejected transaction",
    "Assertions scanning all events can be gas-exhausted by attacker-padded logs"
  ],
  "requires": [
    2929,
    8141
  ]
}