Configure Sequencing

Learn how to configure sequencing for your appchain

How Onchain Sequencing Works

  1. Users submit transactions to the appchain's mempool
  2. The execution engine processes transactions by validating and coordination transactions
  3. Sequencing modules on the sequencing chain control permissions, ordering, auctions, and atomic execution
  4. The settlement layer finalizes state with periodic commitments

This architecture decouples execution from transaction ordering, enabling innovation in sequencing while maintaining compatibility with existing execution environments.

Select Existing Modules

Choose from our production-ready modules:

CategoryModuleDescriptionBest For
PermissionAllowlistAdmin-controlled access listTesting, private networks, controlled rollouts
PermissionToken BalancePermission based on token holdingsToken-gated sequencing, economic security
PermissionAlways AllowedOpen access for testingDevelopment and testing
AuctionSealed BidCompetitive bidding for sequencing rightsMarket-based sequencer selection
AtomicAtomic SequencerCross-chain transaction coordinationComplex multi-chain operations

Build Custom Modules

Here are modules you can build using our interfaces:

CategoryModuleDescriptionBest For
PermissionDAO VotingCommunity-governed sequencer selectionDecentralized governance
PermissionMulti-SigMultiple approval requirementsHigh-security applications
PermissionReputationPermission based on past performanceQuality-focused networks
PermissionTime-LockScheduled sequencing rightsPredictable rotation
OrderingFee PriorityOrder by gas priceRevenue optimization
OrderingRandomRandomized transaction orderingMEV protection
OrderingBatch AuctionTime-window based orderingFair price discovery
OrderingDynamic SizeAdaptive batch sizingNetwork optimization
AuctionDutchDecreasing price auctionsQuick price discovery
AuctionEnglishIncreasing price auctionsMaximum value extraction
AuctionContinuousRolling auction periodsConstant availability

Compose Modules

Combine modules to create sophisticated sequencing solutions using our factory contract:

// Deploy the factory
MetabasedFactory factory = new MetabasedFactory();
 
// Create a RequireAll module for combining multiple checks
RequireAllModule permissions = RequireAllModule(
    factory.createAllContractsWithRequireAllModule(
        admin,
        manager,
        l3ChainId,
        salt
    ).permissionModule
);
 
// Add permission checks
permissions.addCheck(
    address(new TokenBalanceSequencingModule(token, minBalance)),
    true // add to head of list
);
permissions.addCheck(
    address(new AllowlistSequencingModule(admin)),
    false // add to tail of list
);

Composition Features

  • RequireAll: All checks must pass (AND logic)
  • RequireAny: At least one check must pass (OR logic)
  • Linked List Structure: Checks are stored in an ordered list
  • Dynamic Updates: Add or remove checks at runtime
  • Admin Control: Only admin can modify composition

Getting Started

  1. Choose Your Modules: Review the available modules and select those that match your security, fairness, and performance requirements. If needed, plan custom modules to meet specific needs.

  2. Implement Custom Logic: Build new modules by implementing our interfaces and test them thoroughly using our development tools.

  3. Configure Your Chain: Deploy and initialize your chain with the selected modules.

  4. Monitor and Upgrade: Track performance metrics and upgrade modules as needed using our modular architecture to ensure optimal chain operation.

On this page