ERC-1066

  • Name: ERC-1066 (Status Codes)
  • URL: https://eips.ethereum.org/EIPS/eip-1066
  • Category: status-code interface standard / smart-contract signaling primitive / machine-readable feedback substrate
  • Summary: ERC-1066 is best understood not as another app-specific enum or revert-string convention, but as a lower-layer semantic signaling standard for smart contracts. Its core move is to define a shared one-byte vocabulary of outcomes arranged as a 16x16 matrix: the high nibble selects a broad category such as permission, governance, availability, finance, identity/proofs, or off-chain action, while the low nibble selects the specific state inside that category. That makes ERC-1066 analytically useful because it separates machine-readable contract outcomes from any one token, wallet, or protocol stack. Instead of every integration inventing its own booleans, reverts, or custom enums, ERC-1066 offers a reusable signaling layer that later standards can compose into transfer checks, compliance hooks, translation systems, or autonomous inter-contract workflows.
  • What it does:
    • Standardizes a shared one-byte status-code format for smart-contract responses, either as a standalone return or as the first value in a multi-return tuple
    • Organizes codes into category-and-reason space so permission, negotiation, time, finance, identity, and off-chain conditions can all be expressed within one compact interface
    • Distinguishes known non-success states from exceptional halting behavior, making status signaling complementary to revert and revert-with-reason rather than a replacement
    • Reserves most unspecified codes for future common specification instead of leaving them all to arbitrary private interpretation
    • Leaves an application-specific 0xA* range for protocol-local semantics while still anchoring those semantics to a shared higher-level structure
    • Creates a reusable lower-layer vocabulary that later standards and libraries can consume for compliance hooks, automation, debugging, and human-readable translation
  • Key claims:
    • The ERC’s motivation is explicit that booleans are too semantically thin and revert-only flows are too coarse for rich contract interaction. ERC-1066 exists to add structured outcome signaling without requiring every protocol to invent its own taxonomy.
    • The most important mechanism insight is the split between category and reason. ERC-1066 is not just a bag of magic numbers; it is a compact semantic grid where permission, finance, identity, and off-chain become reusable classes of machine-readable state.
    • The standard is analytically valuable precisely because it is broader than token compliance. Later restricted-token standards often look like they are defining novel reason codes, but many of them are actually downstream consumers of this more general signaling layer.
    • The application-specific branch matters because it shows how the ERC tries to balance interoperability and local flexibility. Protocols can keep custom logic without discarding the shared success/failure/awaiting/info structure.
    • The ERC is clear that status codes complement reverts rather than replacing them. That makes it a better comparison point for automation and routing than generic revert string discussions, because non-halting but meaningful states remain expressible.
    • FISSION’s official library README is useful implementation context because it frames ERC-1066 as infrastructure for contract interoperability, translated messaging, runtime inspection, and shared helper logic rather than as a dead standards artifact.
    • ERC-1066 belongs in the active corpus because it reveals a lower-layer control surface hidden inside many other standards: who defines machine-readable outcome semantics, and whether wallets, protocols, and middleware can respond to those semantics generically.
  • Whitepaper: No standalone ERC-1066 whitepaper surfaced in this pass. The clearest primary materials were the canonical ERC text, the raw ERC markdown, the Ethereum Magicians discussion thread, and the FISSION reference-library README collected in ../../whitepapers/erc-1066-primary-sources-2026-05-12.md.
  • Sources:
  • Last reviewed: 2026-05-12 UTC