A city builder where
the NFT is the save file.
bitsLAND is a fully on-chain pixel-art city builder running on Ethereum mainnet. The contracts are the simulation; the canvas is just a renderer. There is no off-chain anything: no API, no database, no cron job, no admin key that can pause the game.
Three things that make it different.
The NFT is the score
There is no ERC-20 token. Whatever value the project has accumulates on the NFT itself: its Level, its Prestige rank in ETH, its 32 achievement flags, the population on its plot, its name, its visitor count. All of it is on-chain. All of it renders in the tokenURI.
Spending boosts the NFT
Placing buildings, repairing damage, naming your plot: each costs a small ETH amount routed to treasury. The same amount is recorded as Prestige on your NFT. So spending is not a sink, it is a deposit into the NFT's permanent record.
Deterministic, no oracle
Mood is derived from block.number / 7200, so every plot sees the same mood on the same day. Disasters roll from blockhash xor prevrandao xor plotId. Everything is reproducible, with no external dependency.
Things bitsLAND is not.
- Not a token. There is no ERC-20. There is no LP. There is no swap.
- Not a hook. No Uniswap v4 deployment. No mood driven by trading volume.
- Not pay-to-win. Free first mint per wallet; the 0.001 ETH paid mint is a cap on sybils, not a wall.
- Not an inventory game. No ERC-1155 of building tokens to acquire and burn. You place buildings directly, gated by your NFT's Level.
- Not upgradeable. The contracts are immutable. The deployer can only change BitsPolicy's tunable parameters within sane bounds.
Three contracts, two libraries.
A small, readable system with no external dependencies. Each piece does one job.
BitsLand (NFT)
ERC-721, 10,000 cap, first per wallet free. Holds all utility state: traits, XP, prestige, achievements, name, motto, visits. Renders an animated, isometric on-chain SVG via tokenURI.
BitsCore (game)
Building placement, damage, repair, tick. Calls back into BitsLand to grant XP, record Prestige, and set achievements.
BitsPolicy (params)
Tunable parameters: disaster risk, repair cost ratio, aura discount, climate bonus. Deployer can adjust within bounds; no funds held.
BitsSimulation (lib)
Catalog of 50 buildings, placement rules, happiness/population math, disaster RNG, mood. Pure functions, zero state.
One closed loop. You own the NFT, the game reads from it on every move, and every paid action writes Prestige straight back onto it. Nothing leaves the system.
Want to see it move?
The client is a single HTML file. No build step, no framework. Open it and play.
Play bitsLAND ▸