Mandala Chain
Learn

How Mandala is Built

Mandala's stack on top of Arbitrum Orbit: sequencer, batch poster, validators, DAC, and the L1 contracts.

This page is the mechanical view: what is actually running and where it lives. Trade-offs and trust assumptions live on the Trust & Security Model page; the fee and finality details have their own pages. This one just lays out the parts.

The components

Mandala is an Arbitrum Orbit chain in AnyTrust mode. Five components, in the order a transaction touches them.

ComponentWhat it doesRun by
SequencerReceives user transactions, orders them, produces L2 blocks.Mandala team and AltLayer (centralized today).
Execution engine (Nitro)Runs the EVM, with ArbOS40 on top.Same as the sequencer.
Batch posterBundles sequenced transactions and posts them to L1: header to SequencerInbox, full data to the DAC.Mandala team and AltLayer.
Data Availability Committee (DAC)Stores batch data and signs availability certificates that the batch poster includes in the L1 header.Mandala team and AltLayer.
ValidatorsWatch L2 state, post assertions to the L1 Rollup contract, dispute bad assertions.Mandala team.

ArbOS40 and Nitro v3.9.5-66e42c4 run the show. These are the same execution layers that power Arbitrum One; Mandala does not fork or modify them.

The transaction lifecycle

A transaction's path from user to finalized state, end to end.

A few things to flag from the diagram. The sequencer's "soft confirmation" is not a finality guarantee; it is the sequencer saying "I have ordered your transaction and will include it in the next block." The hard guarantee comes when the batch header lands on L1. The trust-minimized guarantee comes after the challenge window. All three are covered on the Block Production & Finality page.

Where things live on L1

These addresses pin the chain. Anything claiming to be "Mandala on Ethereum" should match these.

ContractAddress
Rollup0x218D35154D1efEBFC46D64451C9495288219b275
SequencerInbox0x325acf46079d3f750D5D7E6182E094B1fD0AC2F4
Inbox (delayed)0x62DfD05c460C7E55DA85B39EaD3eBc6e0CcdD0d5
Outbox0x004eF39261cee56409Dbd26040a33Eca8326490C
Bridge0x65DB181838b53f32428ce106fA5355b7e4806b79

The full surface, including the ERC-20 gateway/router contracts, lives in Network Details.

Withdrawals out of Mandala go through the L1 Bridge after the challenge window. Force-inclusion of L2 transactions, when the sequencer is unresponsive, starts at the L1 Inbox; after a delay anyone can finalize the inclusion via the SequencerInbox.

On the L2 side, the standard Arbitrum precompile ArbSys lives at 0x0000000000000000000000000000000000000064. That is what your contracts call to initiate L2-to-L1 messages.

What is standard Orbit, and what isn't

The chain is standard Orbit + AnyTrust. Mandala's customization is in the parameters, not the protocol.

  • Native gas token: KPG instead of ETH.
  • DA mode: AnyTrust (instead of full rollup mode).
  • Block production: on demand (no empty blocks).
  • Sequencer + DAC operators: Mandala + AltLayer.

Everything else (Nitro, ArbOS40, fraud proofs, retryable tickets, the L1 inbox model) is upstream Arbitrum protocol. The Arbitrum docs are the authoritative reference for those.

Read more on Arbitrum

Arbitrum's How Arbitrum works: a gentle introduction walks through the Nitro architecture and the L1 inbox model in depth.

On this page