{
  "id": 3540,
  "title": "EIP-3540: EOF - EVM Object Format v1",
  "status": "Stagnant",
  "type": "Standards Track",
  "category": "Core",
  "summary": "This introduces EVM Object Format (EOF), a new standardized container for smart contract bytecode that gets validated once when deployed rather than every time it runs. EOF separates code from data, making contracts more structured and analyzable. It enables future EVM improvements like better jump instructions, multibyte opcodes, and function representations. The format is extensible and versioned, allowing gradual introduction of new features. Only new contracts can use EOF - existing contracts remain unchanged. This is the foundation that makes other EOF-related improvements possible.",
  "impacts": [],
  "discussion_url": "https://ethereum-magicians.org/t/evm-object-format-eof/5727",
  "source_markdown_url": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-3540.md",
  "canonical_url": "/latest/eips/3540.json",
  "markdown_url": "/latest/eips/3540.md",
  "citations": [
    {
      "recordId": "eip-3540",
      "artifactPath": "normalized/3540.json",
      "url": "/records/proposal/eip-3540/normalized/3540.json",
      "label": "EIP-3540: EOF - EVM Object Format v1",
      "snippet": "This introduces EVM Object Format (EOF), a new standardized container for smart contract bytecode that gets validated once when deployed rather than every time it runs. EOF separates code from data, making contracts more"
    }
  ]
}
