{
  "id": 8013,
  "title": "EIP-8013: Static relative jumps and calls for the EVM",
  "status": "Draft",
  "type": "Standards Track",
  "category": "Core",
  "summary": "Adds five new EVM jump/call instructions that point to nearby code using a small offset instead of a pushed address, making contracts cheaper to run and easier for clients and tools to verify after Glamsterdam.",
  "impacts": [
    "May see lower gas from contracts using static jumps; no direct action or UX impact.",
    "Need to emit five new RJUMP opcodes to gain cost/perf; requires building for Glamsterdam EVM and EIP-7979.",
    "Update opcode tables and simulators so bytecode with RJUMP* disassembles and estimates gas correctly; minimal runtime changes.",
    "Static analyzers, tracers, bytecode validators must understand relative offset encoding and extended checks from EIP-7979.",
    "L2s implementing Glamsterdam EVM need the same five opcodes and validation or contracts using them cannot deploy.",
    "Validators must run updated EL clients for Glamsterdam; failure to upgrade will lead to consensus failures on new blocks.",
    "Complexity limited to fork configuration and Engine API versioning so EL can announce support for new opcodes.",
    "Must add RJUMP, RJUMPI, RJUMPV, RJUMPSUB, RJUMPSUBV decoding, immediate validation, gas accounting, and tests extending EIP-7979.",
    "Cheaper structured control flow than PUSHn+JUMP.",
    "Improves static analysis by fixing jump targets.",
    "Reduces runtime destination checks and gas.",
    "Aligns with EOF/EIP-7979 validation for immediates."
  ],
  "discussion_url": "https://ethereum-magicians.org/t/eip-8013-static-relative-jumps-and-calls-for-the-evm/25222",
  "source_markdown_url": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-8013.md",
  "canonical_url": "/latest/eips/8013.json",
  "markdown_url": "/latest/eips/8013.md",
  "citations": [
    {
      "recordId": "eip-8013",
      "artifactPath": "normalized/8013.json",
      "url": "/records/proposal/eip-8013/normalized/8013.json",
      "label": "EIP-8013: Static relative jumps and calls for the EVM",
      "snippet": "Adds five new EVM jump/call instructions that point to nearby code using a small offset instead of a pushed address, making contracts cheaper to run and easier for clients and tools to verify after Glamsterdam."
    }
  ]
}
