Skip to content
This repository was archived by the owner on Apr 6, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 109 additions & 0 deletions pages/builders/chain-operators/management/alt-da-mode.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
---
title: How to Run an Alt-DA Mode Chain
lang: en-US
description: Learn how to run an Alt-DA mode chain.
Comment thread
cpengilly marked this conversation as resolved.
Outdated
---

import { Callout, Steps } from 'nextra/components'

# How to Run an Alt-DA Mode Chain

<Callout type="warning">
The Alt-DA Mode feature is a Beta feature of the MIT licensed OP Stack. Features in beta are built and reviewed by the Optimism Collective’s core contributors, and provide developers with early access to highly requested configurations. These features may experience stability issues, and we encourage feedback from our early users.
</Callout>
Comment thread
cpengilly marked this conversation as resolved.
Outdated

This guide provides a walkthrough for chain operators who want to run an Alt-DA Mode chain. See the [Alt-DA Mode Explainer](/stack/protocol/features/alt-de-mode) for a general overview of this OP Stack configuration.
Comment thread
cpengilly marked this conversation as resolved.
Outdated
An Alt-DA Mode OP Stack chain enables a chain operator to post and read data to any alternative data availability layer that has built a functioning OP Stack DA Server.

Comment thread
cpengilly marked this conversation as resolved.
Outdated
<Steps>

### Compatible op-node & op-* Versions

You should use at least the following versions when running your chain.

- op-node/v1.8.0-rc.1
- op-proposer/v1.8.0-rc.1
- op-batcher/v1.8.0-rc.1
- [Latest version of op-geth](https://github.com/ethereum-optimism/op-geth/releases/latest)

Comment thread
sebastianst marked this conversation as resolved.
Outdated
For deploying your contracts, use the latest release - if you are trying to launch an Alt-DA Mode Chain using a custom gas token, follow the contract deployment instructions in our [Custom Gas Token docs](/builders/chain-operators/management/custom-gas-token.mdx)
Comment thread
cpengilly marked this conversation as resolved.
Outdated

### Step 1: Set up your DA Server

<Callout type="warning">
DA Servers are not built or maintained by Optimism Collective Core Contributors. They are often maintained by the team that built the DA Layer that the DA Server enables access to. Please reach out to the team who built the DA Server you are trying to run with any questions or issues.
</Callout>

- Celestia’s docs on how to run the Celestia DA server:
Comment thread
K-Ho marked this conversation as resolved.
Outdated
- https://github.com/celestiaorg/op-plasma-celestia/blob/main/README.md
- EigenDA’s docs on how to run the EigenDA DA server:
- https://github.com/Layr-Labs/op-plasma-eigenda/blob/main/README.md
- Avail’s docs on how to run the AvailDA DA Server:
- https://docs.availproject.org/docs/build-with-avail/Optimium/op-stack/op-stack#setup-avail-da-server

### Step 2: Configuring your op-node

Spin up your OP chain as usual but set the `--altda.enabled=true` and point both `op-batcher` and `op-node` to the DA server. No configuration changes are required for `op-geth` or `op-proposer`.
Comment thread
K-Ho marked this conversation as resolved.
Outdated

```go
Comment thread
K-Ho marked this conversation as resolved.
Outdated
Alt-DA (EXPERIMENTAL)


--altda.da-server value ($OP_NODE_ALTDA_DA_SERVER)
HTTP address of a DA Server

--altda.enabled (default: false) ($OP_NODE_ALTDA_ENABLED)
Enable Alt-DA mode

--altda.verify-on-read (default: true) ($OP_NODE_ALTDA_VERIFY_ON_READ)
Verify input data matches the commitments from the DA storage service

```

### Step 3: Configuring your Batcher

```
--altda.da-server value ($OP_BATCHER_ALTDA_DA_SERVER)
HTTP address of a DA Server

--altda.da-service (default: false) ($OP_BATCHER_ALTDA_DA_SERVICE)
Use DA service type where commitments are generated by the DA server

--altda.enabled (default: false) ($OP_BATCHER_ALTDA_ENABLED)
Enable Alt-DA mode

--altda.verify-on-read (default: true) ($OP_BATCHER_ALTDA_VERIFY_ON_READ)
Verify input data matches the commitments from the DA storage service
```

- Provide `--altda.enabled=true, --atlda.da-server=$DA_SERVER_HTTP_URL --altda.da-service=true`
Comment thread
cpengilly marked this conversation as resolved.
Outdated

After completing steps 1-3 above, you will have an Alt-DA mode chain up and running.
Comment thread
K-Ho marked this conversation as resolved.
Outdated

### Step 4: Setting Your Fee Configuration

- Chain operators are not posting everything to Ethereum, just commitments, so chain operators will need to determine fee scalars values to charge users. The fee scalar values are network throughput dependent, so values will need to be adjusted by chain operators as needed.
Comment thread
cpengilly marked this conversation as resolved.
Outdated
- Set scalar values inside the deploy config. The example below shows some possible fee scalar values, assuming negligible DA Layer costs, but will need to be adjusted up or down based on network throughput.

```
// Set in Deploy Config
"gasPriceOracleBaseFeeScalar": 7663, // Approximate commitment tx base cost
Comment thread
K-Ho marked this conversation as resolved.
Outdated
"gasPriceOracleBlobBaseFeeScalar": 0, // blobs are off for now
Comment thread
K-Ho marked this conversation as resolved.
Outdated
```

- Cost structure for Alt-DA Mode: The transaction data is split up into 128kb chunks and the submitted to your DA Layer. Then, 32 byte commitments are submitted (goes to batch inbox address) to L1 for each 128kb chunk. Then, figure out how much that costs relative to the amount of transactions your chain is putting through.
Comment thread
sebastianst marked this conversation as resolved.
Outdated
Comment thread
K-Ho marked this conversation as resolved.
Outdated
Comment thread
cpengilly marked this conversation as resolved.
Outdated

<aside>
NOTE: Some initial scalar values must be set early on in the deploy config in Step 2. And then at a later point, chain operators can update the scalar values with an L1 transaction.
Comment thread
K-Ho marked this conversation as resolved.
Outdated
</aside>
</Steps>

# For Node Operators (Full and Archive nodes)
- Run a DA server as laid out in Step 1
- Provide the same `--altda.enabled=true, --altda.da-server...` on op-node as listed in Step 2

## Next Steps

* Additional questions? See the FAQ section in the [Alt-DA Mode Explainer](/stack/protocol/features/alt-da-mode#faqs).
* For more detailed info on Alt-DA Mode, see the [specs](https://specs.optimism.io/experimental/alt-da.html).
* If you experience any problems, please reach out to [developer support](https://github.com/ethereum-optimism/developers/discussions).
3 changes: 2 additions & 1 deletion pages/stack/protocol/features/_meta.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{
"custom-gas-token": "Custom Gas Token"
"custom-gas-token": "Custom Gas Token",
"alt-da-mode": "Alt-DA Mode"
}
49 changes: 49 additions & 0 deletions pages/stack/protocol/features/alt-da-mode.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
title: Alt-DA Mode Explainer
lang: en-US
description: Learn the basic process, benefits, and considerations for running an Alt-DA mode chain.
---

import { Callout } from 'nextra/components'

# Alt-DA Mode Explainer

Alt-DA Mode enables seamless integration of various DA Layers, regardless of their commitment type, into the OP Stack. This allows any chain operator to launch an OP Stack chain using their favorite DA Layer for sustainably low costs.

## Sustainably Low Costs
EIP-4844 has massively reduced Ethereum L1 data costs for OP Stack rollups, but blobspace is on the path to congestion, which will lead to higher blob fees and increased chain operator costs. Alternative DA Layers allow OP Stack chains to post data to a place that is cheap and won’t get congested, but is still stable and minimizes security and decentralization tradeoffs.
Comment thread
cpengilly marked this conversation as resolved.
Outdated
Comment thread
K-Ho marked this conversation as resolved.
Outdated

## How it works
Comment thread
K-Ho marked this conversation as resolved.
Outdated
Alt-DA Mode introduces a standard interface for reading and writing data to Alt-DA Layers and allows any DA Layer team to build and maintain their own DA Server to enable the OP Stack to communicate with their DA Layer. The DA Server handles any of the custom DA Layer logic, such as key management, interfacing with a DA Layer node, etc.

This abstraction ensures that new features and improvements to Alt-DA Mode will come to all chains using Alt-DA Mode, regardless of the DA Layer they choose to use.
Although the Data Availability Challenge (DA Challenge) will be disabled at launch, this integration provides a future-proof solution compatible with upcoming OP Stack features.
Comment thread
K-Ho marked this conversation as resolved.
Outdated

## Future improvements
Just like with the Rollup configuration of the OP Stack, core contributors are continuously improving the decentralization, security, and cost-effectiveness of Alt-DA Mode. Some of the future features that core contributors are looking to build are:
* Integration with Fault Proofs
* Plasma Data Availability Challenges support for more DA Layers (currently only supports DA Layers with a `keccak256` commitment type)
* DA Bridge integrations (like Celestia Blobstream and Eigen DA Cert Verification)
* Increasing the amount of data that can be committed to in a single commitment (potentially with merklization)



## Next Steps

* Ready to get started? Read our guide on how to [deploy your Alt-DA Mode chain](/builders/chain-operators/management/alt-da-mode).
* For more info about how Alt-DA Mode works under the hood, [check out the specs](https://specs.optimism.io/experimental/alt-da.html).

## FAQs
Comment thread
K-Ho marked this conversation as resolved.
Comment thread
K-Ho marked this conversation as resolved.

### Can I deploy a chain using Ethereum L1 DA and later switch to Alt-DA?

* While it is a future goal to spec out a migration path from Ethereum L1 DA to Alt-DA Mode, the migration path has not been scoped out yet.

### Can I deploy a chain using Alt-DA and then later switch to Ethereum L1 DA?

* Same as above, it is a future goal to spec out this migration path, but the migration path has not been scoped out yet.

### Can I switch between Alt-DA layers when using Alt-DA Mode?

* This is technically possible today. A chain operator can start posting data to two DA Layers simultaneously during a transition period and coordinates their node operators to switch the DA Server they operate during that time.
* If assistance is needed here, please reach out [via Github](https://github.com/ethereum-optimism/developers/discussions)