How Monero Works: Low-Level Details in Plain English
What This Article Covers (and What It Doesn’t)
This page explains how Monero operates internally: how transactions are formed, how they propagate across the network, how blocks are created, and how consensus is maintained.
It intentionally focuses on mechanics rather than theory. If you are looking for a higher-level explanation of Monero’s privacy model, see How Monero’s privacy works. For a very gentle introduction, Monero ELI5 may be more appropriate.
Monero Is a Peer-to-Peer Network
Monero is a decentralized peer-to-peer (P2P) network. There is no central server, coordinator, or authority. Every participant runs software that follows the same consensus rules and communicates directly with other peers.
Nodes exchange blocks and transactions using a gossip-style protocol. This design improves resilience: if some nodes go offline, the network continues to function.
Wallets, Nodes, and Daemons
A Monero wallet does not store coins. Instead, it holds cryptographic keys that allow you to:
- Detect outputs on the blockchain that belong to you
- Create valid transactions that spend those outputs
A node (often referred to as the daemon, monerod) maintains a full copy of the blockchain,
verifies rules, and relays data to peers.
Wallets can connect to:
- A local node you run yourself (maximum privacy and trust)
- A remote node operated by someone else (convenience, but trust trade-offs)
How a Monero Transaction Is Created
When you send XMR, your wallet performs several steps locally before anything is broadcast:
- Selects previous outputs you control (inputs)
- Mixes them with decoy outputs from the blockchain
- Generates a one-time destination address for the recipient
- Creates cryptographic proofs showing the transaction is valid without revealing amounts
Only after these steps does the wallet submit the transaction to a node, which then relays it across the network.
Transaction Propagation and the Mempool
Once broadcast, a transaction enters the mempool, a temporary holding area on each node for unconfirmed transactions.
Nodes independently verify that:
- The transaction follows consensus rules
- No inputs are being double-spent
- Proofs are mathematically valid
Invalid transactions are rejected locally and never forwarded further.
Mining, Blocks, and Consensus
Miners collect transactions from the mempool and attempt to include them in a new block. Monero uses the RandomX proof-of-work algorithm, which is optimized for general-purpose CPUs.
RandomX was designed to reduce the advantage of specialized hardware and encourage broader participation in mining.
When a miner finds a valid block:
- The block is broadcast to peers
- Other nodes independently verify it
- If valid, it becomes part of the canonical blockchain
Why Monero Blocks Are Dynamic in Size
Unlike fixed-block-size systems, Monero uses a dynamic block size. This allows block capacity to adapt to transaction demand over time.
To prevent abuse, miners are penalized if they create blocks significantly larger than recent historical averages. This balances scalability with long-term decentralization.
What Monero Nodes Actually Trust
A Monero node does not trust miners, developers, or any authority. It only trusts:
- Mathematics
- Consensus rules encoded in the software
If a block or transaction violates those rules, it is rejected — regardless of who created it.
How This Fits Into the Broader Privacy Model
The mechanisms described here are the foundation that makes Monero’s privacy features enforceable by the network, not optional or policy-based.
For a deeper dive into why Monero transactions are private by default, see How Monero’s privacy works.

monero.how