
We would like to thank Keone and the entire Monad team for their valuable discussions and insightful feedback.
The Monad blockchain is designed to tackle the scalability and performance limitations of existing systems like Ethereum. It maximizes throughput and efficiency while preserving decentralization and security. Its architecture is composed of different integrated components: the Monad Client, which handles consensus and execution. MonadBFT, a consensus mechanism derived from HotStuff. The Execution Model, which leverages parallelism and speculative execution, and finally MonadDB, a state database purpose-built for Monad. Additional innovations such as RaptorCast and a local mempool design further enhance performance and reliability. Together, these elements position Monad as a next-generation blockchain capable of supporting decentralized EVM applications with low latency and strong guarantees of safety and liveness. Below, we'll provide a technical overview of the Monad architecture, which consists of the Monad Client, MonadBFT, the execution model, and monadDB.
The Monad architecture is built around a modular node design that orchestrates transaction processing, consensus, state management, and networking. Validators run the Monad Client, a software with a part written in Rust (for consensus) and C/C++ (for execution) to optimize performance. Similar to Ethereum, the Monad client is split into two layers:
Traditional HotStuff requires 3 phases to finalize a block, each happening one after the other:
This sequential process delays block finalization. MonadBFT only requires 2 phases, which makes finality faster, but also, it uses a pipelined approach, overlapping phases: when block k is proposed, block k–1 is voted on, and block k–2 is finalized simultaneously. This parallelism reduces latency.
On Monad, at any round, validators propose a new block, vote on the previous, and finalize the one before that.

Comparison: HotStuff vs MonadBFT
The Monad documentation includes a clear infographic illustrating MonadBFT’s pipelined approach, showing how each round overlaps proposal, voting, and finalization to achieve sub-second finality.

Although pipelining increases block frequency and lowers latency, it comes with a big problem that previously hadn’t been addressed by any pipelined consensus algorithms. That problem is tail-forking.
Tail-forking is best explained with an example. Suppose the next few leaders are Alice, Bob, and Charlie. In pipelined consensus, as mentioned before, second-stage communication about Alice's block piggybacks on top of Bob's proposal for a new block.
Historically, this meant that if Bob missed or mistimed his chance to produce a block, Alice's proposal would also not end up going through; it would be "tail-forked" out and the next validator would rewrite the history Alice was trying to propose.
MonadBFT has tail-fork resistance because of a sophisticated fallback plan in the event of a missed round. Briefly: when a round is missed, the network collaborates to communicate enough information about what was previously seen to ensure that Alice's original proposal ultimately gets restored. For more details, see this blog post explaining the problem and the solution.
MonadBFT employs a stake-weighted, deterministic leader schedule within fixed 50,000-block epochs (~5.5 hours) to ensure fairness and predictability:
Unlike older BFT protocols with quadratic (O(n²)) message complexity, MonadBFT scales linearly (O(n)). Validators send a fixed number of messages per round to the current or next leader, reducing bandwidth and CPU costs. This enables 100–200+ validators to operate on modest hardware and with modest network bandwidth limits without network overload.
MonadBFT tolerates up to 1/3 of validator stake being offline while retaining liveness, and up to 2/3 of validator stake being malicious while retaining safety (no invalid state transitions).
To support fast consensus, Monad uses RaptorCast for efficient block propagation. Instead of broadcasting entire blocks, RaptorCast splits blocks into erasure-coded chunks distributed via a two-level broadcast tree:
If a validator lags, it syncs missing blocks from peers, updating its state via MonadDB (see State Management section below). With consensus efficiently establishing transaction order, Monad's execution model builds on this foundation to process those transactions at high speed.
Monad’s execution model overcomes Ethereum’s single-threaded limitation (10–30 TPS) by leveraging modern multi-core CPUs for parallel and speculative transaction processing, as enabled by the decoupled consensus described above.
After consensus, transactions are executed asynchronously during the 0.4 s block window. This decoupling allows consensus to proceed without waiting for execution, maximizing CPU utilization.
With Optimistic Parallel Execution, Monad tries to speed up blockchain transaction processing by running transactions at the same time (in parallel) whenever possible, rather than one by one. Here’s a simple explanation of how it works:
Monad executes all transactions in a block simultaneously, assuming no conflicts, and creates a PendingResult for each, recording the inputs (state read, like pre-transaction account balances) and outputs (new state, like updated balances).
After the parallel execution, Monad checks each PendingResult in order (serially).
This saves time because many transactions don’t conflict, so running them in parallel is faster. Even when transactions conflict (for example: two transfers from the same account), Monad only re-executes the ones that fail the input check, which is usually fast because the data is already in memory.
Here’s a simple example with 4 transactions in a block:
Monad assumes all transactions can run simultaneously and corrects conflicts afterward:
Monad executes all 4 transactions at the same time, assuming the initial blockchain state is consistent for each. It produces a PendingResult for each transaction, recording:
For example:
Monad commits the PendingResult one by one in the order they appear in the block (Tom, Jordan, Alice, Paul). It checks if each transaction’s inputs still match the current blockchain state. If they do, the outputs are applied. If not, the transaction is re-executed.
Let’s walk through the commitment process:
New state: Pool A’s balances are updated, Tom’s balances are updated.
New state: NFT contract state is updated, Jordan owns the new NFT.
New state: Alice and Eve’s MON balances are updated.
New state: Pool A’s balances are updated again, Paul’s balances are updated.
After committing all transactions, the blockchain reflects:
Monad enhances speed via speculative execution, where nodes process transactions in a proposed block before full consensus:
In summary, Optimistic Parallel Execution is about how transactions get processed (running many in parallel to speed up the process) while Speculative Execution handles when processing begins, starting right after a block is proposed but before full network confirmation. This parallel and speculative processing relies heavily on efficient state management, which is handled by MonadDB.
MonadDB improves blockchain performance by natively implementing a Merkle Patricia Trie (MPT) for state storage, unlike Ethereum and other blockchains that layer the MPT on slower, generic databases like LevelDB. This custom design reduces disk access, speeds up reads and writes, and supports concurrent data requests, enabling Monad’s parallel transaction processing. For new nodes, MonadDB uses statesync to download recent state snapshots, avoiding the need to replay all transactions. These features make Monad fast, decentralized, and compatible with existing systems.
Key Features
Role in Execution
MonadDB integrates with Monad’s execution model:
Node Synchronization and Trust Trade-Off
MonadDB enables rapid node synchronization by downloading the current state trie, similar to how git fetch updates a repository without replaying full commit history. The state is verified against the on-chain Merkle root, ensuring integrity. However there is an important trust trade-off:
Monad transparently addresses this trade-off:
Monad optimizes transaction submission and propagation to minimize latency and congestion, complementing MonadBFT and RaptorCast.
Localized Mempools
Unlike global mempools, Monad uses local mempools for efficiency:
This targeted forwarding reduces network congestion, ensuring fast and reliable transaction inclusion.
Overall, Monad's architecture demonstrates how a blockchain can achieve high performance without sacrificing safety. By using MonadBFT, parallel execution, and an optimized database, Monad speeds up block finalization and transaction processing while keeping results deterministic and consistent. Features like RaptorCast networking and local mempools further cut down latency and network overhead. There are trade-offs, especially around fast syncing and trust assumptions, but Monad is clear about them and offers flexible options for node operators. Taken together, these choices make Monad a strong foundation for building decentralized EVM applications, delivering the low latency and strong guarantees promised in its design.
Blockchain technology, particularly EVM-compatible blockchains, has radically transformed how we think about trust, value transfer, and decentralized applications (dApps). Ethereum, the frontrunner in this space, has been the playground for developers and innovators to build decentralized finance (DeFi), digital art (NFTs), and beyond. However, despite its revolutionary potential, Ethereum faces a fundamental challenge: transaction inefficiency.
Ethereum processes roughly 15-30 transactions per second (TPS). In contrast, payment networks like Visa handle over 1,700 TPS on average. This gap is not because Ethereum lacks innovation but because the very architecture that enables decentralization also imposes bottlenecks. As the world looks to blockchain for global-scale solutions, Ethereum’s single-threaded execution model, coupled consensus and execution, and storage inefficiencies mean that it struggles to meet the needs of millions of users. This inefficiency creates high fees, slow finality, and a system that often feels impractical for mainstream adoption.
So how do we build a blockchain that scales to millions while still retaining the core ethos of decentralization and trustlessness?
Enter Monad—a Layer 1 blockchain designed not to replace Ethereum but to optimize the very way EVM-compatible blockchains process transactions. Monad offers a paradigm shift, introducing radical but well-reasoned changes that solve the very inefficiencies that have stifled blockchain scalability.
Monad isn’t trying to reinvent the wheel. It embraces the Ethereum Virtual Machine (EVM) and maintains compatibility with Ethereum’s rich ecosystem. But it takes a surgical approach to fixing Ethereum’s inefficiencies by optimizing the processes that slow it down.
At its core, Monad offers a solution by decoupling execution from consensus. Unlike Ethereum, where every validator must execute transactions in real-time to reach consensus, Monad rethinks the process. In Monad’s world, the network first agrees on the order of transactions and then proceeds to execute them independently. This seemingly simple separation is the key to unlocking a blockchain that can scale to 10,000 TPS with 1-second finality.
Monad prioritizes two things above all: decentralization and efficiency. Instead of sacrificing one for the other, Monad’s approach ensures that transaction throughput increases without compromising the trustless, decentralized nature of the network.
Now, let’s delve into the optimizations that make this vision a reality.
1. MonadBFT
Ethereum’s Proof-of-Stake (PoS) mechanism intertwines transaction validation and execution. But Monad takes inspiration from HotStuff to create MonadBFT, a consensus protocol that eliminates the need for execution during consensus.
By doing so, MonadBFT focuses solely on reaching agreement on transaction ordering. It achieves 1-second block times with single-slot finality, compared to Ethereum’s multi-minute finality, by reducing communication rounds and allowing consensus to happen faster. This streamlined approach lets validators come to agreement on a block’s content, even before they execute it.
2. Deferred Execution
In Ethereum, consensus and execution are linked in a way that forces validators to both agree on and execute transactions within the same block window, which can be inefficient. Deferred Execution in Monad separates the two, enabling the network to reach consensus first, and allowing transaction execution to take place afterward, in parallel.
What does this mean in practice? Instead of validators being forced to immediately execute transactions as they propose blocks, they can delay execution. The transactions are committed in the agreed order, but the execution happens alongside consensus for the next block. This approach vastly improves throughput by allowing the network to optimize execution time across multiple blocks.
3. Parallel execution and Superscalar pipelining
Monad implements optimistic parallel execution, where transactions are processed in parallel across multiple cores but committed in their original order, maintaining the same deterministic outcomes as Ethereum. While this boosts throughput, it can lead to state conflicts when transactions depend on each other. In such cases, Monad re-executes conflicting transactions to ensure correctness.
To further enhance efficiency, Monad introduces superscalar pipelining. This technique divides the transaction processing into multiple stages (e.g., signature verification, state access) and processes these stages in parallel, similar to how modern CPUs work. By overlapping different stages of transaction execution, Monad maximizes resource utilization, reducing delays and increasing throughput, all while preserving the linear ordering of transactions.
A simple diagram to illustrate superscalar pipelining:

4. MonadDb
State storage is a lesser-known bottleneck in Ethereum. The Merkle Patricia Trie (MPT) structure that Ethereum uses is embedded into key-value databases like LevelDB, which weren’t designed for blockchain workloads. Monad solves this inefficiency by designing MonadDb, a storage solution that natively implements the Patricia Trie in both on-disk and in-memory formats.
Additionally, MonadDb uses asynchronous I/O to avoid the blocking nature of traditional storage operations. This means that even if one transaction is waiting for state to be loaded from disk, the system can continue processing other transactions, thereby optimizing overall performance.
While Monad’s optimizations are powerful, they are not without challenges.
Despite these challenges, the benefits far outweigh the potential drawbacks. Let’s look at the results Monad’s innovations deliver.
Thanks to these four key optimizations, Monad aims to achieve what few blockchains can:
Monad is still in development, but its ambitious roadmap is clear. The project’s public testnet is expected in the near future, allowing developers to integrate it into their Ethereum-compatible wallets and applications. This will be a crucial step in proving Monad’s ability to scale without sacrificing the core values of decentralization and trustlessness.
Monad’s team is focused on ensuring that its network remains easy to use for developers familiar with Ethereum. They’ve built Monad as a drop-in replacement for Ethereum, meaning developers can port their dApps with little to no changes. As more users and developers flock to the testnet, Monad aims to further refine its consensus, execution, and storage systems, solving the scalability trilemma in a way that balances decentralization, performance, and security.
Monad offers a bold new approach to solving blockchain’s biggest bottleneck: transaction inefficiency. By decoupling execution from consensus, enabling parallel execution, and optimizing storage with MonadDb, it delivers a blockchain that can handle 10,000 TPS with 1-second finality—all without sacrificing decentralization. As Monad continues to build and refine its technology, it stands as a potential blueprint for the future of blockchain scalability, offering a glimpse of what’s possible when we think beyond the limitations of today’s networks.
--
Frequently asked Questions (source: docs.monad.xyz):
The Monad client is built with a modular software architecture, separating the tasks of consensus and execution between two software modules: the consensus client and execution client respectively. The consensus client is written in Rust which is a memory-safe language that allows for low-level optimizations. The execution client is written in C/C++, well-established and battle-tested languages for developing low-level system critical code.
The Monad network is a full stack solution for developers, allowing access to a highly composable ecosystem without compromising on real-time censorship resistance. While L2 solutions may offer one way to compress data stored on the base layer, the Monad blockchain is a scalable base layer for the EVM itself at its most fundamental layer. A highly-performant base layer gives application developers the best of both worlds, with a high degree of composability and real-time censorship resistance in the name of scalability.
Yes! The Monad blockchain is 100% EVM compatible at the bytecode level - meaning contracts from ETH mainnet, or other fully EVM compatible networks will work out-of-the-box without requiring any code changes.
Chorus One is one of the biggest institutional staking providers globally, operating infrastructure for 60+ Proof-of-Stake networks, including Ethereum, Cosmos, Solana, Avalanche, and Near, amongst others. Since 2018, we have been at the forefront of the PoS industry and now offer easy enterprise-grade staking solutions, industry-leading research, and also invest in some of the most cutting-edge protocols through Chorus Ventures. We are a team of over 50 passionate individuals spread throughout the globe who believe in the transformative power of blockchain technology.