Modular protocol deployment separates the core functions of a blockchain—execution, settlement, consensus, and data availability (DA)—into distinct, specialized layers. This contrasts with monolithic blockchains like Ethereum, which bundle all functions into a single chain. By leveraging a modular stack, developers can launch a purpose-built execution layer (often called a rollup) that outsources its data availability to a dedicated network. This approach offers significant advantages, including sovereignty over the chain's rules, scalability through optimized execution, and cost efficiency by using a shared security and data layer.
Launching a Protocol on a Modular Stack (e.g., Celestia, EigenDA)
Introduction to Modular Protocol Deployment
A guide to building and launching decentralized protocols using modular data availability layers like Celestia and EigenDA.
The primary components of a modular stack are the execution environment, the settlement layer, and the data availability layer. You write and deploy your application's smart contracts on the execution layer, which processes transactions. This layer then posts transaction data, including cryptographic proofs of correct execution, to a separate DA layer like Celestia or EigenDA. The DA layer's sole job is to guarantee that this data is published and available for anyone to download, which is essential for security and enabling trustless bridging. The settlement layer, often Ethereum, provides a canonical root for resolving disputes and finalizing asset transfers.
Choosing a data availability layer is a critical first decision. Celestia is a general-purpose DA network that uses Data Availability Sampling (DAS) to allow light nodes to verify data availability without downloading entire blocks, enabling highly scalable and sovereign rollups. EigenDA, built on Ethereum using EigenLayer's restaking mechanism, offers cryptoeconomic security derived from Ethereum stakers. Your choice impacts security assumptions, cost, throughput, and ecosystem tooling. For a high-throughput gaming chain, Celestia's low-cost blobspace may be ideal. For a DeFi protocol requiring maximal alignment with Ethereum's security, EigenDA could be preferable.
To launch a rollup, you typically use a framework like the Rollkit development kit for Celestia or the EigenDA SDK. The process involves: 1) Defining your chain's parameters (e.g., block time, gas token), 2) Configuring your chosen DA layer as the data source, 3) Setting up a sequencer node to batch and order transactions, and 4) Deploying a bridge contract on the settlement layer for deposits and withdrawals. Your rollup's state transitions are proven either with fraud proofs (optimistic rollups) or validity proofs (zk-rollups), with the proof data submitted alongside transaction data to the DA layer.
A key technical step is integrating the DA layer's blob submission logic into your sequencer. For example, using Celestia, your node would submit transaction data as a blob via the blob.Submit API. The sequencer then creates a block containing the Celestia blob commitment, which light clients can verify. On EigenDA, you would interact with the EigenDAServiceManager contract to attest to data availability. Proper integration ensures that any user or verifier can reconstruct the chain's state solely from the data posted to the DA layer, which is the foundation for permissionless validation and security.
The modular approach fundamentally shifts protocol design. Developers gain the flexibility to implement custom fee markets, governance models, and virtual machines (e.g., SVM, MoveVM) without being constrained by a base layer's rules. However, it introduces new complexities: managing a sequencer, ensuring liveness, and coordinating upgrades across multiple layers. Successful deployment requires a deep understanding of the inter-layer communication, bridge security, and the economic incentives for network participants. The end result is a scalable, application-specific blockchain that leverages the strongest properties of the underlying modular ecosystem.
Prerequisites and Setup
A practical guide to the tools and knowledge required before launching a protocol on a modular stack like Celestia or EigenDA.
Launching a protocol on a modular stack fundamentally changes the development paradigm. Instead of deploying a monolithic smart contract on a single chain, you are architecting a system across specialized layers. The core prerequisite is understanding the data availability (DA) layer's role. For a rollup on Celestia, your transaction data is posted to Celestia's data availability network, not stored on the execution layer. On EigenDA, data is secured by restaking Ethereum validators. Your setup must be configured to interface with these external DA layers for data posting and retrieval, which is handled by your node software, not your application logic.
Your technical stack will differ from traditional L1 development. You need a rollup framework like the OP Stack, Arbitrum Nitro, or Rollkit. These frameworks provide the node client (sequencer and verifier) that processes transactions and generates blocks. A critical setup step is configuring this node to use your chosen DA layer. For example, with Rollkit and Celestia, you configure a celestia-da endpoint in your node's genesis file. For an EigenDA-integrated chain using the OP Stack, you would modify the DataAvailability contract address and RPC configuration to point to EigenDA's service layer on Ethereum.
You must also establish a bridging and messaging infrastructure. In a modular setup, your rollup's native bridge for depositing and withdrawing assets is a smart contract on a settlement layer (like Ethereum) that verifies proofs from your chain. Using a framework simplifies this, but you need to deploy and fund the associated contracts. Furthermore, for general cross-chain communication, you'll likely integrate a protocol like Axelar, Wormhole, or LayerZero. Setting up a relayer service to listen for and forward messages between chains is a key operational component that must be tested in your pre-launch environment.
A local development environment is essential. Start by running a local instance of your DA layer (e.g., a local Celestia devnet or the EigenDA local testnet) and a local instance of your rollup node connected to it. Use the @rollkit/template for Celestia or the optimism monorepo's devnet scripts for OP Stack chains. This allows you to test the full flow: sending transactions, having them posted to the DA layer, and producing state updates. Your pre-launch checklist should include testing fraud proofs (for optimistic rollups) or validity proofs (for zk-rollups) in this sandboxed environment.
Finally, prepare for mainnet by securing roles and funding. You will need a sequencer key to sign blocks, which must be kept highly secure. You must also fund the sequencer wallet to pay for DA layer fees (e.g., paying for blob space on Celestia or EigenDA) and, if settling on Ethereum, L1 gas fees for batch submissions. For production, you'll need to decide on a batch poster service—whether you run it yourself or use a managed service like Caldera or Conduit—that handles the regular posting of transaction data to your chosen DA layer.
Launching a Protocol on a Modular Stack
A practical guide to deploying your application on modular infrastructure like Celestia and EigenDA, covering core concepts and deployment steps.
A modular blockchain stack separates core functions—execution, settlement, consensus, and data availability—into specialized layers. This contrasts with monolithic chains like Ethereum, which handle all functions in one place. By launching on a modular stack, developers can leverage optimized components: using Celestia for secure and scalable data availability, EigenDA for high-throughput data attestation, and a rollup framework like Arbitrum Orbit or OP Stack for execution. This approach allows you to customize your chain's security, throughput, and cost profile.
The first step is selecting your data availability (DA) layer, which is foundational for rollup security. Celestia uses Data Availability Sampling (DAS) and namespaced Merkle trees to provide scalable, secure data publishing. EigenDA, built on Ethereum restaking, offers high-throughput data attestation as an actively validated service (AVS). Your choice impacts cost, throughput guarantees, and trust assumptions. For a new protocol, you must also choose a rollup framework (e.g., Arbitrum Orbit, OP Stack, Polygon CDK) that supports your chosen DA layer and virtual machine (EVM, SVM, etc.).
Deployment involves configuring and launching your rollup. Using a framework like Arbitrum Orbit, you generate chain configuration parameters, including your DA layer target (Celestia or EigenDA), chain ID, and fee parameters. A typical command to initiate a Nitro testnet rollup targeting Celestia might look like:
bashnitro devnode init --chain-id=12345 --da-layer=celestia
You then deploy a set of smart contracts to a settlement layer (like Ethereum) for bridging and dispute resolution, and configure a sequencer node to order transactions and post data to your chosen DA layer.
After launch, you must run critical infrastructure. The sequencer batches user transactions, executes them, and publishes the resulting state root and transaction data to the DA layer. You also need RPC nodes for users to interact with the chain and bridges for asset transfer to/from other networks. For production, consider decentralizing the sequencer using shared sequencer networks like Astria or Espresso to avoid a single point of failure and enhance censorship resistance.
Key considerations include economic security and interoperability. Your chain's security is a composite: it inherits crypto-economic security from the DA and settlement layers. Ensure you understand the cost model for posting data (blob fees on Celestia, payment in ETH/EIGEN for EigenDA). For cross-chain communication, you'll need to integrate a trust-minimized bridge like Hyperlane or LayerZero, which often requires deploying additional messaging contracts on your chain and connecting to their networks.
The modular ecosystem is evolving rapidly. Staying updated with the latest EigenLayer AVS specifications, Celestia's Blobstream updates, and rollup framework releases is crucial. Successful deployment requires thorough testing on public testnets (like Celestia Mocha or EigenDA Holesky), monitoring tools like Dune or Goldsky for chain analytics, and active participation in developer communities for support and best practices.
Data Availability Layer Comparison
Key technical and economic trade-offs for major DA solutions when launching a protocol.
| Feature / Metric | Celestia | EigenDA | Ethereum (Blobs) |
|---|---|---|---|
Data Availability Sampling (DAS) | |||
Data Blob Cost (approx.) | $0.20 per MB | $0.10 per MB | $0.50 per MB |
Throughput |
|
| ~ 0.375 MB/s |
Settlement Guarantee | Independent | Ethereum Restaking | Native |
Minimum Bond | None | 32 ETH (Operator) | 32 ETH (Validator) |
Time to Finality | ~ 2 seconds | ~ 4 hours | ~ 12 minutes |
Trust Assumption | 1-of-N Light Nodes | Ethereum + Operator Set | Ethereum Consensus |
Protocol Age | Mainnet (2023) | Mainnet (2024) | Mainnet (2024 via Dencun) |
Step 1: Set Up Your Execution Client
An execution client processes transactions and runs smart contracts. On a modular stack, it's decoupled from consensus and data availability, requiring specific configuration.
An execution client (or execution environment) is the software responsible for processing transactions, executing smart contract code, and managing the state of your application-specific chain. In a traditional monolithic blockchain like Ethereum, this client is bundled with consensus and data availability layers. In a modular architecture, you select and configure this component independently, connecting it to external layers like Celestia for data availability or EigenDA for restaked security. Popular options include Geth, Nethermind, and Reth, which are battle-tested Ethereum Virtual Machine (EVM) clients.
Your first decision is choosing a client that aligns with your chain's needs. For EVM compatibility, Geth is the most widely used, offering stability and extensive tooling. Nethermind, written in C#, is known for performance and detailed logging. Reth, a newer client built in Rust, focuses on speed and modularity. If you're not using the EVM, you might opt for a client like Sovereign SDK or Rollkit, which provide frameworks for building execution layers with different virtual machines. Consider factors like programming language familiarity, performance requirements, and community support.
After selecting a client, you must configure it for a modular environment. This involves setting key parameters in its configuration file or launch command. Crucially, you will disable its built-in consensus mechanism and point it to your chosen Data Availability (DA) layer and sequencer. For example, to run Geth for a rollup on Celestia, you would set the --rollup.da flag to the Celestia node's RPC endpoint and configure the --rollup.seq address. This tells the client where to post transaction data and from whom to receive ordered transaction batches.
A typical startup command for a modular Geth node might look like this:
bashgeth \ --datadir ./chaindata \ --http --http.api eth,net,web3 \ --rollup.da http://localhost:26659 \ --rollup.seq 0xYourSequencerAddress \ --rollup.backend l2 \ --networkid 12345
This command initializes a local data directory, enables the JSON-RPC API, and configures the rollup to use a local Celestia node (port 26659) for data posting. The --rollup.backend l2 flag signals it's a layer-2 client.
Once running, your execution client will begin syncing. In a modular setup, it syncs by fetching block data from the DA layer and verifying the sequence of transactions from the sequencer. You must ensure your client's RPC ports (typically 8545 for HTTP) are accessible if you plan to connect a wallet or frontend. Use the eth_blockNumber RPC call to check sync status. The next step is to connect this execution layer to a proving system (like Risc0 or SP1) for validity proofs or to a fraud proof system if building an optimistic rollup, which will be covered in subsequent steps.
Step 2: Integrate the Data Availability Layer
This step configures your protocol to publish transaction data to an external DA layer like Celestia or EigenDA, separating data availability from consensus for greater scalability and lower costs.
A Data Availability (DA) layer is a specialized network that guarantees the publication and retrievability of transaction data without executing it. In a modular stack, your execution layer (like an OP Stack chain or a sovereign rollup) publishes its transaction data—its blob data—to this external DA layer. This separation is critical: it reduces the data burden on the settlement layer (e.g., Ethereum L1), which only needs to verify data availability proofs, leading to significantly lower transaction fees. The primary options today are Celestia, which uses Data Availability Sampling (DAS) and Namespace Merkle Trees (NMTs), and EigenDA, a restaking-based AVS on EigenLayer that provides economic security backed by Ethereum.
Integration requires configuring your node software to post data to the chosen DA network. For a rollup built with the OP Stack, this involves setting environment variables or modifying the rollup configuration file (rollup.json). The key parameter is the DA_CHALLENGE_WINDOW and the DA provider RPC endpoint. For example, to point an OP Stack chain to Celestia's Mocha testnet, you would configure the sequencer to send blob data to Celestia's Blobstream contract on the settlement layer and post raw data to Celestia nodes via its namespace API. Similarly, integrating with EigenDA requires registering your rollup as a service with the EigenDA operators and configuring your node to submit data attestations.
The technical workflow involves batch creation, data posting, and attestation. Your sequencer node batches transactions, computes a commitment (like a KZG commitment or Merkle root), and submits this data to the DA layer. The DA layer returns a data availability attestation, often in the form of a signature or a root posted to a smart contract on the settlement chain (e.g., Ethereum). This attestation is the proof that your rollup's data is available for download. Verifiers and full nodes can then use this attestation to trustlessly download the data directly from the DA layer's peer-to-peer network, reconstruct the rollup state, and verify execution.
Choosing between providers involves trade-offs in cost, security, and ecosystem. Celestia offers sovereign interoperability through its NMT design and has been live on mainnet since 2023. EigenDA leverages Ethereum's economic security via restaking, which may appeal to protocols prioritizing Ethereum-aligned security. You must also consider tooling maturity; the OP Stack has native support for both, while other frameworks like Arbitrum Orbit or Polygon CDK offer different integration paths. Always test integration on a testnet (like Celestia's Mocha or EigenDA's Holesky testnet) to validate data posting costs and node synchronization.
Post-integration, you must ensure proper data retrieval for your network's participants. Full nodes and fraud/validity prover nodes need reliable access to the historical data blobs. This typically means running a light client for your chosen DA layer or relying on public RPC services. Monitor key metrics: data posting latency, cost per byte, and DA layer uptime. A failure in data availability will halt your chain's ability to progress safely, as nodes cannot verify state transitions without the underlying data. Proper integration decouples your execution scaling from base layer data constraints, enabling higher throughput at a fraction of the cost of posting all data directly to Ethereum L1.
Configure Sequencing
Define how transactions are ordered and published to your chosen data availability layer.
Sequencing is the process of ordering transactions before they are executed and their data is published. In a modular stack, you separate this function from execution. You configure a sequencer node, which is responsible for receiving user transactions, ordering them into blocks, and submitting the resulting block data to your chosen Data Availability (DA) layer, such as Celestia or EigenDA. This is distinct from the execution layer (like an OP Stack or Arbitrum Nitro chain) which processes the ordered transactions. Your sequencer configuration determines the liveness, decentralization, and economic security of your chain's transaction ordering.
The core configuration involves setting the DA layer endpoint and submission parameters. For a Celestia-based rollup using the OP Stack, you modify the op-node's configuration. In the rollup.json config file, you set the da_config field to point to your Celestia light node's RPC endpoint. You must also configure the sequencer's private key, which authorizes it to post data to Celestia blobs. A minimal setup for a devnet might look like setting DA_LAYER="celestia" and DA_CONFIG='{"base_url":"http://localhost:26659","timeout":30s}' in your node's environment variables.
For production, you must consider sequencer decentralization and fault tolerance. A single, centralized sequencer is a point of failure. Configurations can be extended to use a shared sequencer network like Astria or Radius, or a decentralized sequencer set managed by a proof-of-stake consensus. This involves modifying your node to participate in a consensus protocol for ordering rights, rather than relying on a single predefined key. The configuration shifts from a simple RPC endpoint to specifying validator keys, peer nodes, and consensus parameters.
You also configure data submission batching and frequency. To optimize costs on the DA layer, sequencers batch multiple L2 blocks into a single DA submission (e.g., one Celestia blob). Parameters like batch_submit_interval (e.g., every 2 seconds) and max_batch_bytes (e.g., 2 MB for Celestia) control this. Submitting too frequently increases cost, while batching too much increases latency for transaction confirmations. For EigenDA, configuration involves specifying the quorum ID and registering your chain's Disperser endpoint for data attestation.
Finally, you must configure the sequencer RPC endpoint that users and applications will send transactions to. This is typically a standard Ethereum JSON-RPC endpoint (like http://sequencer:8545) enhanced with any rollup-specific methods. Ensure this service is highly available and has rate limiting to prevent spam. The sequencer's health is critical; if it fails, users cannot submit transactions, though forced inclusion mechanisms via the DA layer can allow users to bypass a censoring sequencer, a feature that must be enabled in your chain's smart contract configuration.
Step 4: Set Up Settlement and Bridging
Configure the settlement layer and cross-chain bridges to finalize transactions and connect your protocol to the broader ecosystem.
The settlement layer is the final arbiter of truth for your modular chain. It's where transaction execution is verified and the canonical state is recorded. When using a modular stack like Celestia for data availability and a rollup framework like Rollkit or Eclipse, you must choose a settlement destination. For Ethereum L2s, this is Ethereum mainnet, which provides strong economic security and finality. For sovereign rollups or app-chains, you could settle to Celestia, providing faster finality but relying on its newer validator set. The choice dictates your security model and interoperability path.
Bridging is how users and assets move between your chain and other ecosystems. You'll need to implement a message passing protocol. For Ethereum L2s, standard bridges like the official Optimism or Arbitrum bridge contracts are used, which rely on the settlement layer's proofs. For a sovereign rollup on Celestia, you would implement the Inter-Blockchain Communication (IBC) protocol, enabling trust-minimized communication with the Cosmos ecosystem. Alternatively, you can integrate a general-purpose bridge like Axelar or LayerZero, which use their own validator networks to facilitate cross-chain transfers.
Implementation involves deploying smart contracts on both sides of the bridge. A basic deposit bridge requires a lock/mint model: assets are locked in a vault on the source chain, and a representation is minted on your chain. For an Ethereum L2 using a canonical bridge, you would deploy a L1StandardBridge and corresponding L2StandardBridge contract, following the rollup framework's specifications. Security is paramount; always use audited, standard bridge implementations where possible, as custom bridge code is a major attack vector, responsible for over $2.5 billion in losses historically.
To enable IBC on a Celestia sovereign rollup, you integrate the IBC light client and relayer modules into your chain's consensus client (like CometBFT). Your chain must produce light client verifiable headers, and an external relayer process must run to submit packets and proofs between chains. The Cosmos SDK provides the ibc-go module for this. This setup allows your app-chain to natively swap assets with Osmosis or borrow from Mars Protocol without needing a separate third-party bridge.
Finally, test your settlement and bridging setup thoroughly in a devnet environment. Use tools like the Ethereum Foundry framework to fork mainnet and test L1/L2 interactions, or the Cosmos ignite CLI to spin up local IBC-connected chains. Verify that finality times match expectations, bridge fees are calculated correctly, and security assumptions hold. Only after rigorous testing should you progress to a public testnet, as these components are critical for user fund safety and protocol credibility.
Step 5: Deploy and Test the Rollup
This guide details the final steps to deploy your rollup's smart contracts and test its core functionality on a modular stack using Celestia for data availability.
With your rollup node configured and your smart contracts compiled, you are ready for the main deployment. This involves deploying the core contracts that define your chain's state and logic to your chosen L1, such as Ethereum or another settlement layer. The key contracts typically include a Rollup contract that manages the chain's state root and fraud proofs, a Bridge contract for cross-chain asset transfers, and your custom Inbox and Outbox contracts for handling messages. Use a deployment script with a tool like Hardhat or Foundry to deploy these contracts in the correct order, as they often have dependencies on each other's addresses.
After deployment, you must configure your node to recognize these new contract addresses. Update your node's configuration file (e.g., node.toml) with the deployed addresses for the rollup, inbox, and bridge contracts. This critical step links your off-chain sequencer and validator software to the on-chain governance and security layer. You will also need to fund the sequencer address with native gas tokens on the settlement layer to pay for publishing transaction data (blobs) to Celestia.
The next phase is end-to-end testing. Start your sequencer and validator nodes. The sequencer should begin producing blocks and posting the compressed transaction data as blobs to a Celestia Data Availability (DA) layer via its REST API or gRPC interface. You can verify this by checking the sequencer logs for successful PostBlob transactions and confirming the data is available on Celestia's blockchain explorer. Simultaneously, the validator node should be synchronizing by pulling this data from Celestia, reconstructing blocks, and verifying the chain's state transitions.
To test user functionality, interact with your rollup using its RPC endpoint (e.g., http://localhost:8545). Send test transactions: deploy a simple ERC-20 token contract, transfer funds between accounts, and call view functions. Monitor the block production and ensure transactions are included. Then, test the bridge by depositing assets from the L1 to your rollup via the Bridge contract and withdrawing them back. This validates the critical message-passing infrastructure between the settlement and execution layers.
Finally, conduct stress and security tests. Use a load-testing tool to send a high volume of transactions to gauge throughput and identify bottlenecks. Verify that the system handles reorgs correctly if you're using a proof-of-stake validator set. Check that fraud proof challenges can be initiated on the settlement layer if your design includes them. Document any issues and iterate on your node configuration or contract parameters. A successful test deployment confirms your modular rollup is operational and ready for a staged mainnet launch.
Operational Considerations
Launching a protocol on a modular stack introduces new operational responsibilities. These guides cover the critical infrastructure and processes you need to manage.
Development Resources and Tools
Practical tools and documentation for launching a protocol on a modular blockchain stack. These resources focus on data availability, execution frameworks, and production deployment workflows used by teams building rollups and app-specific chains.
Frequently Asked Questions
Common technical questions and troubleshooting for developers building on modular data availability layers like Celestia and EigenDA.
Celestia is a sovereign data availability (DA) network that provides consensus and ordering for data blobs, allowing rollups to post their transaction data. It uses Data Availability Sampling (DAS) to allow light nodes to verify data availability without downloading everything.
EigenDA is a restaking-based AVS (Actively Validated Service) built on Ethereum. It leverages Ethereum's validator set, which stakes ETH via EigenLayer, to attest to the availability of data blobs. The core difference is the security model: Celestia has its own token and validator set, while EigenDA derives cryptoeconomic security from restaked ETH on Ethereum.
Key Technical Distinction:
- Celestia: Independent consensus, designed for high-throughput data posting.
- EigenDA: Ethereum-aligned security, with throughput limited by the economic bandwidth of the restaking pool.