Skip to main content

Architecture

The Multichain Verification framework uses the core contracts and templates in EigenLayer middleware described in the table. These are not pluggable and are intended to interface with offchain, modular components.

Contract NameDeployment TargetDeployerDescription
CertificateVerifierOne per target chainEigenLayer Core ProtocolEnables AVS consumers to verify certificates with aggregated Operator signatures against transported Operator tables. The CertificateVerifier is the single integration point between AVSs and their consumers
KeyRegistrarEthereum SingletonEigenLayer Core ProtocolUnified module for managing and retrieving BN254 and ECDSA cryptographic keys for Operators with built-in key rotation support, extensible to additional curves like BLS381
CrossChainRegistryEthereum SingletonEigenLayer Core ProtocolCoordination contract that manages the registration and deregistration of Operator Sets to the multichain protocol and exposes read-only functions to generate the Operator Table.
OperatorTableCalculatorEthereum, One per Operator SetAVS MiddlewareRequired middleware contract specified by an AVS (one per Operator Set) for calculating operator weights, or customizable to decorate weights with custom logic such as stake capping
OperatorTableUpdaterOne per target chainEigenLayer Core ProtocolParses and verifies the global Stake Table Root and calculates individual Operator tables in the CertificateVerifier

CertificateVerifier

The CertificateVerifier is the core contract that AVSs need to integrate with, and consumers use to verify operator certificates against transported stake tables. It is the gateway to EigenLayer services (that is, where offchain services come onchain), is deployed on every supported target chain, and holds the weight values from Ethereum for verifying Operator certificates.

The CertificateVerifier has a stable, chain-agnostic integration pattern. You interact with the same interface regardless of which chain you're deploying to, or which consumers are using your AVS. This enables a "code once, deploy everywhere" workflow that reduces crosschain complexity, eases integration with other AVSs, and simplifies ongoing maintenance.

KeyRegistrar

The KeyRegistrar manages cryptographic keys for Operators across different Operator Sets. It supports both ECDSA and BN254 key types and ensures global uniqueness of keys across all Operator Sets. The KeyRegistrar contract provides trusted, protocol-controlled code for AVSs to register Operator keys for Operator Sets.

CrossChainRegistry

The CrossChainRegistry is the core contract that manages the registration and deregistration of Operator Sets to the Multichain protocol. The CrossChainRegistry contract exposes read-only functions for calculating Operator Tables that are used offchain to generate the global Stake Table. The CrossChainRegistry is the entrypoint for AVSs using the Multichain protocol, and houses configuration of staleness periods, and specifies the OperatorTableCalculator used to define operator weights for each Operator Set.

OperatorTableCalculator

The OperatorTableCalculator is an AVS-deployed contract (one per Operator Set) that can be used for decorating stake weights with custom logic. The contract interface allows AVSs to implement complex weighting features such as stake capping, differential asset weighting, oracle integrations, and minimum requirements. Default templates that require no interaction or custom logic are provided for AVSs to specify as the OperatorTableCalculator.

OperatorTableUpdater

The OperatorTableUpdater interfaces with offchain transport mechanisms. The OperatorTableUpdater confirms the data that it receives from the global stake table and parses it into individual Operator Table updates on the CertificateVerifier. This enables accurate, timely updates for individual AVS's Operator Tables as Operators are slashed or ejected.

Contract Interaction

The contracts interact as illustrated.