●PUBLIC BETASEPOLIA TESTNET · NO REAL FUNDS · NOT PRODUCTION CUSTODYLearn more →
Vela

DA Layer

Data availability — the foundation for verifiability and fraud proofs.

Why Data Availability Matters

Verifiability requires that anyone can access the data needed to verify execution. If the operator publishes a state root but withholds the transaction data, no one can verify whether the root is correct. The data availability (DA) layer guarantees that transaction data is publicly accessible, making fraud proof challenges possible.

DA is distinct from execution and settlement. DA guarantees that data exists and is retrievable by anyone; it does not guarantee that the data is correct. Correctness is the job of the fraud proof system.

What Gets Published

For each committed batch, the committer publishes:

  • State root: The MPT root after applying all transactions in the batch.
  • Transaction log: The ordered list of all requests processed in the batch, including order placements, cancellations, and fills.
  • Balance deltas: The net change in each account balance resulting from the batch.
  • Batch metadata: Batch ID, timestamp, and a hash linking to the previous batch (chain structure).

Celestia Integration

Celestia is the primary DA backend for the Vela mainnet. Celestia is a modular blockchain purpose-built for data availability — it uses data availability sampling (DAS) to allow light nodes to verify data availability without downloading full blocks. Batches are submitted as Celestia blobs in the Vela namespace.

Local File Backend

In development and testing, the local file backend appends batches to a structured log file. This allows the fraud proof verifier to run locally without a live DA network connection. The local backend is also useful for debugging: the log file can be inspected directly to trace the state of any account across any batch.

The DA layer stores compressed transaction logs. The decompressed batch data needed for fraud proof verification can be significantly larger — budget for this when running the zkvm verifier.