What is Janzeer? A Layer-1 with no staking, explained in ten minutes
Mainnet since 1 October 2026, seven validators, finality in one block. What it is, what it is not, and why one person built it.
I run a small public blockchain called Janzeer. It has been producing a block every fifteen seconds since the first of October, it is on block 221,000 and counting, and seven validators keep it alive, two of them single-board computers in people’s homes. This is the first article of a series. Today only the shape of the thing; the next pieces go one layer deeper each day: validators, consensus, running a node, wallets, the SDKs, the money, the incidents, and how it was built.
Why another chain
Two things about proof-of-stake never sat right with me.
The first is the capital gate. On most chains the right to validate is bought with a stake, and the stake earns yield, so the people with the most coins validate the most and earn the most. Delegation makes it worse: a handful of pools end up voting for everyone. The second is the operations burden. Running a validator on the large chains means a serious server, a sync that takes days, and a slashing risk if your box goes offline during a storm.
I wanted a chain where joining as a validator costs a one-time fee and nothing else, where a seat is a seat regardless of how rich its owner is, and where the node is one file you can run on a Raspberry Pi. And I wanted transactions to be final the moment they are in a block, without “wait for twelve confirmations”.
Janzeer is that attempt. It is not a fork of anything; the node is written from scratch in Kotlin.
The shape, in six facts
A block every 15 seconds, final in one block. Time is cut into 15-second slots. Each slot belongs to one validator, who proposes a block. The others vote in two rounds, prepare and commit. When more than two thirds agree in the commit round, the block is final. There are no confirmations to count and no reorganisations to wait out. If the owner of a slot is offline, the slot is empty and the next one proceeds.
Validators register, they do not stake. Anyone can become a validator by sending one transaction with a 2,000 JNZ deposit. The deposit goes to the treasury and is not returned, ever, even when the validator leaves. It buys a seat and nothing more: no yield on the deposit, no voting weight, no delegation. Every seat has the same weight. Seats are assigned per epoch of 17,000 blocks, roughly three days, and rotate when there are more registered validators than seats. The cap is 21 seats.
A fixed supply that existed on day one. There are 100,000,000 JNZ and there will never be more. All of it was created in the genesis block: 77.5 million in a key-less treasury address that pays block rewards, 12 million in an ecosystem pool, 7.5 million for the founder, and 1 million for each of the three anchor nodes that bootstrapped the network. Nothing is minted later. The block reward is 10 JNZ, paid out of the treasury to the block producer, and it halves roughly every year. Twenty percent of every fee flows back to the treasury. When the treasury is empty, rewards are fees only.
Get Malek Tarboush’s stories in your inbox
Join Medium for free to get updates from this writer.
Non-custodial everywhere. The node never sees a private key. Wallets derive keys on the device, sign locally, and send signed transactions. This holds for the mobile wallet, the web wallet in the explorer, the command-line client and every SDK.
One native binary. The node is a GraalVM native image, about 260 MB, with no Java runtime to install. The whole mainnet bootstrap, four validators plus PostgreSQL plus a Telegram game, runs on one virtual server with 2 GB of memory and one core. A Raspberry Pi 3 with 1 GB has been a validator since October.
Everything is documented in English and Arabic. The white paper, the developer guide, the API reference, the wallet, and every announcement exist in both languages. Arabic is not a translation added later; it is a first-class language of the project.
Where it stands today
Numbers from the explorer on 9 November 2026, 40 days after launch:
Block 221,056, fourteenth epoch, average block time 15.0 seconds.
7 active validators: five run by the project (four on the launch server plus a fifth node), one Raspberry Pi 3 in my home, one balenaFin board at a friend’s.
Node version 0.1.11, eleven releases since launch, upgrades roll one validator at a time without a missed block.
Two incidents, both in late October, both published with their causes on the website’s incidents page: the chain stood still for about four hours each time while every node was convinced it was synchronised. The fixes shipped within a day each. I will write that story in full later in this series.
About a quarter of the supply is outside the treasury; the rest sits in the treasury address, which has no key.
It is small. I would rather say so than let anyone expect a network the size of the ones they know.
What it is not
JNZ is the unit of the network: fees, deposits and rewards are counted in it. It is not listed on any exchange, it has no price, and nothing in this series is financial advice or a promise of either. There is no token sale, no airdrop campaign, no “join now before it is too late”. If you want JNZ today, the ways are to run a validator and earn block rewards, to play the Telegram game that pays its winners from a finite budget, or to have someone send you some.
There is also no public test network yet. The SDKs and the wallet talk to mainnet, which is cheap enough to try with pocket money.
What you can do in five minutes
Look at it. The explorer at explorer.janzeer.org shows blocks, transactions, validators and a live animation of the consensus cycle.
Hold it. The wallet exists for Android, Linux, Windows and macOS, and in the browser inside the explorer. Keys stay on your device.
Build on it. Official SDKs for TypeScript, Dart, Kotlin, Python and Go, all open source under Apache-2.0, all tested against the same byte-for-byte conformance vectors. A first transaction is about twenty lines in any of them; there is a one-minute video per language.
Talk to it from a terminal. jz is a 38 MB native command-line client: balances, blocks, a local encrypted wallet, sending, watching new blocks live.
Run it. Download the node bundle, point it at mainnet, and it syncs. Registering as a validator is one command once it is in sync. The first ten outside operators get the 2,000 JNZ deposit covered by a grant.
Links: docs at janzeer.org/docs, source at github.com/janzeerOrg, the channel at t.me/janzeerorg.
A word on how this was built
Janzeer is a one-person project. I designed it and I run it, and I wrote large parts of the code and the documentation with an AI coding assistant, Claude Code, reviewing and testing everything: 214 automated tests boot real nodes in every build, every SDK is checked against shared vectors and a 14-step end-to-end flow on a real network before each release, and the chain ran a seven-day acceptance test before launch that produced 37 findings, all fixed first. Every number in this article comes from the live explorer, and the text is mine.
Tomorrow: why there is no staking, what the 2,000 JNZ deposit really buys, and how seats rotate.
https://janzeer.org/docs, https://github.com/janzeerOrg, https://t.me/janzeerorg, https://x.com/janzeerorg






