iExec PoCo v6 building the Diamond Foundation

With the latest release of iExec PoCo v6.0.0, we’re introducing a major architectural change under the hood: the proxy contract design has been migrated from the ERC-1538 Transparent Contract Standard to the ERC-2535 Diamond Standard. While the public APIs and business logic remain the same for regular users, this shift future-proofs the protocol and improves compatibility with modern tooling.

First, a reminder about the PoCo

The Proof-of-Contribution protocol (PoCo) is the on-chain governance and consensus layer of the iExec network. It ensures that confidential tasks are executed reliably, payments are settled securely, and all actors follow the agreed rules. In essence, PoCo is the trust layer for providers and requesters, just as iExec is the trust layer for DePIN and AI.

To allow the protocol to evolve over time, the PoCo smart contracts were implemented using an upgradeable proxy design. The pattern of choice was the ERC-1538 Transparent Contract Standard, ensuring extensibility while preserving transparency for users.

ERC-1538 vs ERC-2535: A quick comparison

Both ERC-1538 and ERC-2535 are standards that define how upgradeable proxy contracts can be structured. They share the same core goal but they take different approaches. ERC-1538 was an early attempt to formalize transparent upgrades, while ERC-2535 (the Diamond Standard) builds on those ideas to offer a more modular, scalable, and widely supported framework.

ERC-1538 (Transparent Contract Standard)

  • Allowes adding, replacing, and removing functions in an upgradeable contract.
  • Provides a built-in API to list all functions, their signatures, and delegate addresses.
  • Limited tooling and ecosystem support today.
  • Withdrawn as an ERC which means it is no longer maintained.

ERC-2535 (Diamond Standard)

  • Modular proxy design enabling contracts to be split into multiple “facets.”
  • Supports the same add/replace/remove upgrade pattern.
  • Actively maintained with growing community tooling.
  • Recognized by explorers and indexers, making contract inspection easier.

While both patterns achieve similar upgrade capabilities, ERC-2535 is now the de-facto community standard for complex upgradeable architectures.

Why we chose to migrate

  1. Future-proofing: ERC-1538 was withdrawn and is no longer supported. Migrating to ERC-2535 ensures PoCo stays aligned with an actively maintained and widely adopted standard.
  2. Available community tooling: The Diamond Standard has a vibrant ecosystem of developer tools, scripts, and libraries that simplify deployment, upgrades, and testing.
  3. Explorer support: Many blockchain explorers and indexers now natively recognize ERC-2535 facets, making it easier to navigate and verify deployed contracts.
  4. Faster audits: Auditors are increasingly familiar with ERC-2535 patterns, reducing the learning curve and improving audit turnaround times.

What’s new in v6.0.0?

🚨 Breaking changes

  • Proxy architecture migration from ERC-1538 to ERC-2535.
  • Removed ERC-1538-specific functions and events such as functionSignatures()updateContract(...)and FunctionUpdate
  • Introduced ERC-2535-specific functions like diamondCut(...)facets()and DiamondCut

Impact

  • No changes to on-chain business logic or interfaces used by clients.
  • Existing integrations calling contract functions continue to work without modification.
  • Breaking changes apply only to indexers, explorers, or tooling that relied on the ERC-1538 API.

Key takeaways for developers and integrators

  • If you interact with PoCo contracts purely via business logic calls task creation, status checks, etc.), no action is required.
  • If you operate an indexer, explorer, or tool that previously parsed ERC-1538 upgrade data, you will need to adapt to ERC-2535’s diamondCut and facet query methods.

In summary, this migration ensures PoCo remains future-proof, better supported by tooling, and easier to audit, all while keeping the user-facing behavior stable. As iExec continues to evolve, adopting widely recognized standards like ERC-2535 helps us maintain security, transparency, and adaptability for the long run.