Modular data availability layer with data availability sampling (DAS). Rollups post blobs via PayForBlobs transactions; light nodes verify availability with 2D Reed-Solomon-encoded share commitments.
- 01low-cost DA for rollups
- 02sovereign rollups
- 03high-throughput app chains
- 04OP Stack / Orbit / Rollkit chains
- 05Blobstream-bridged Ethereum L2s
- go install github.com/celestiaorg/celestia-node/cmd/celestia@latest
| Variable | Scope | Description |
|---|---|---|
| CELESTIA_NODE_URL | Server | URL of a celestia-node (light/bridge/full) RPC, e.g. http://localhost:26658. |
| CELESTIA_AUTH_TOKEN | Server | JWT auth token for the celestia-node RPC (generated via `celestia <node-type> auth`). |
| CELESTIA_NAMESPACE | Client | 29-byte namespace ID (hex) your rollup posts to. |
Use Celestia for data availability. Run a celestia-node light node and authenticate with a JWT. Submit blobs via the `blob.Submit` JSON-RPC method against your namespace; persist the returned height and share commitment as the inclusion proof. To bridge availability proofs to Ethereum, use Blobstream (or Blobstream X). Verify retrieval with `blob.Get(height, namespace, commitment)`. Choose `mocha-4` for testnet and `celestia` for mainnet.
- ⚑DA inclusion latency is ~12s per Celestia block — your rollup's soft-finality cannot beat this.
- ⚑PayForBlobs fees are paid in TIA, not ETH — keep a hot TIA balance funded for the batcher.
- ⚑Namespace IDs must be reserved/unique — collisions silently mix data with another rollup's blobs.
- ⚑Light-node only setups depend on bridge/full nodes for retrieval; provision redundancy or use a hosted endpoint.
- ⚑Blobstream proofs to Ethereum lag mainnet by tens of minutes — fast withdrawals require an additional fast-finality layer.
- ⚑Max blob size per PFB is bounded; oversized batches must be split across multiple PFB txs in the same block.