I ran a Leios node in my homelab: this is what Cardano's throughput future feels like
Hands-on with Ouroboros Leios: setup, real throughput measurement, and the experiment of pushing my own node to its limit.

Cardano has carried a sticky reputation for years: "secure but slow." Ouroboros Leios is IOG's answer to the "slow" part, and there's now a public testnet to play with it — "Musashi Dōjō." I spun one up in my homelab. Here's what I saw.
What Leios is, in one sentence
Praos (Cardano's current consensus) leaves bandwidth and compute unused between blocks. Leios puts that idle capacity to work: producers create endorser blocks (EBs) — secondary blocks referencing lots of extra transactions — in parallel with the standard Praos blocks. A committee validates them with BLS cryptography before ledger inclusion. The result: far more throughput, without touching Praos's security.

The setup
One container on my Proxmox: 4 cores, 4 GB RAM, 30 GB disk. The node is a special cardano-node build (version 11.0.1.164, network magic 164). It synced in a few hours — identical to running any Cardano node. The interesting part started in the logs.
218 TPS, with 2,184-transaction blocks
I measured throughput passively, parsing the endorser blocks as they arrived (each carries a bitmap of which transactions it includes → counting bits gives the exact tx count). The peak curve:
| Window | Peak TPS |
|---|---|
| 10 s | 218 TPS |
| 1 min | 73 TPS |
| 5–10 min | 25–33 TPS |
For comparison: the most Cardano has ever processed on mainnet (Praos) is ~12 TPS, with a theoretical ceiling near 18 and a real average below 1 TPS (source: Chainspect). The largest endorser block I saw carried 2,184 transactions at once. That's the Leios thesis working: transactions ride parallel EBs instead of trickling into 20-second blocks.
(To be honest: that load is generated by IOG's load generators, not me. The "dojo" exists precisely to stress the protocol in public.)


I became a block producer
With the faucet (10,000 testnet ADA) I registered a stake pool and restarted the node in producing mode. In ~2 days, once the stake snapshot activates, my home node will start forging endorser blocks itself. Zero cost, zero risk: it's a testnet.
I tried to push it to the limit (and failed in the interesting way)
Here's the fun part. I tried to saturate the system with my own load. Three experiments:
- 200 transactions at once → they waited in the mempool ~34 s and a single endorser block swept them all together.
- 1,000 at once → too many for one cycle: they spread across several EBs, and the chain absorbed them while I was still sending.
- Max flood (2,000 txs, 80 in parallel) → I hit 557 tx/s of submission… and then something broke. But it wasn't Leios.
The node sat at 47% CPU. The mempool never even filled. What failed was my own client: at 80 parallel connections, cardano-cli exhausted local sockets and rejected 327 of the 2,000.


The takeaway: I didn't beat Leios. I beat my own laptop. The network absorbed everything I threw at it without breaking a sweat. To actually stress Leios you'd need an industrial submitter, not a home node firing one binary per transaction.
What I'm taking away
Leios isn't a paper promise: it's a node you can run today, packing thousands of transactions into secondary blocks and peaking more than an order of magnitude above Praos — with sustained throughput still above mainnet's ceiling. And it's over-provisioned for what a normal participant can throw at it. When this reaches mainnet, the ecosystem's bottleneck won't be the protocol — it'll be the tooling around it. "Slow" Cardano is on borrowed time.
Full data, scripts and methodology: github.com/amvs0122/leios-homelab-loadtest — a node in my homelab, on the Musashi Dōjō testnet, June 2026.


