What AggSender Does
AggSender is the component responsible for submitting L2 state transitions to Agglayer. It collects bridge events and L1 verification data, packages them into a signed certificate, and submits that certificate to Agglayer on each epoch. Agglayer then uses the certificate to generate a Pessimistic Proof and validate the state transition. Without AggSender, an L2 chain cannot participate in Agglayer’s security guarantees or cross-chain coordination. Every chain connected to Agglayer must run AggSender.The Trust Problem AggSender Solves
Agglayer connects multiple independent blockchains, and any of them could theoretically be compromised. The Pessimistic Proof system limits the damage a compromised chain can do, but it needs reliable input data to work correctly. AggSender provides that input. Rather than simply reporting what happened on a chain, it creates a signed certificate that contains:- Cryptographic proof that bridge transactions occurred
- Evidence that the chain has sufficient funds to back those transactions
- Mathematical verification data that the chain’s state transitions are valid
- A digital signature committing to all of the above
Certificate Generation
Epoch-Based Operation
AggSender submits certificates on Agglayer epochs rather than per-transaction. On each epoch, it collects all bridge activity since the last certificate, packages it, and submits once. This batching is more efficient than per-transaction submissions and provides comprehensive context about the chain’s activities.Certificate Lifecycle
Certificate Structure
Certificate Sizing Limits
Chain operators can bound certificate size with twoAggSender configuration options:
MaxL2BlockNumber caps the absolute end block; MaxL2BlockRange caps the width of each certificate. The two limits compose: AggSender shrinks the current certificate to satisfy whichever is reached first.
Both limits apply across Pessimistic Proof, FEP, optimistic, builder, and validator flows. The Validator inherits MaxL2BlockRange from AggSender by default.