How to get one
Your first NightBird, step by step.
Owls and Martians never settled who rules Mars. Now they settle it in Burn Battles. The loser burns. The winner's NightBird hatches on Midnight, the night side, unseen until then.
New to NFTs? Start here. You can't buy a NightBird. You win one.
-
Every colonist carries a key.
Get a Cardano walletA wallet holds your keys. Pick a Cardano wallet from the Burn Battles connect menu, save its recovery words, and add a little ADA for fees.
Next: put a fighter in it.
-
Pick a side: owl or Martian.
Get a fighterOwls fight Martians, never their own side. Mint a Martian Spawn (minting makes a new one), or find a MarsBird on the marketplace. Already have one? You're ready.
Have an original 2023 Martian? Trade it in on the Spawn site first. Battles take the new Martian Spawn.
Next: take it into battle.
-
The fight is sealed before it starts.
Enter a Burn BattleOn Burn Battles, post a challenge or accept one. Both fighters are locked in the contract with 2 ₳ each, and the seed is sealed before the fight. Once your deposit is approved, the battle can settle without another wallet prompt.
The challenge normally expires 24 hours after it is created, so check its countdown before joining. If it expires before settlement, use Reclaim and approve the transaction in your wallet to recover your NFT and its ADA.
The loser's NFT and its 2 ₳ are burned. That cannot be undone. Only fight with an NFT you are ready to lose.
Next: see who wins.
-
Something hatches on the night side.
Win a Midnight birdThe winner's NFT and its 2 ₳ come home, and the winner gets a brand-new NightBird minted on Midnight, its picture stored on-chain. A draw sends both home. Your Cardano wallet won't show it, so we keep it held for you under your name, with a receipt code, until you move it to a Midnight key of your own.
It shows up on this page under Won in battle.
Won in battle
After the first twenty, birds are won, never sold.
In a Burn Battle, two NFTs fight. The loser burns forever. The winner gets a new NightBird on Midnight, in the same collection as the first twenty. Pick one to see what the chain holds about it. Replays play on marsbirds.com, after you connect a wallet.
reading who won which bird
Won one? Here is what happens next.
-
The bird waits on the night side.
We hold your birdYour NightBird lives on Midnight, a blockchain built to keep data private.
We hold it for you, so it is not in anyone's wallet yet.
Holding it costs you nothing. You need no NIGHT and no wallet.
Next: how to take it into your own hands.
-
Every key has two halves.
Make a key for this collectionOpen your battle page and press Claim. Your browser makes the key.
It has a secret you keep and a claim code you send us.
Lose the secret and the bird is gone for good. Nobody can recover it.
Save the secret, then paste it back. Claim stays locked until you do.
Never send the secret to anyone, and that includes us.
Your wallet address starts with mn_addr. That is the wrong key, so never send it.
-
One trip across the dark.
We move it to your keyYou send us the claim code. We send the bird to your key.
One more signature proves the bird is yours. No funds move.
We pay the fee. You need no NIGHT and no DUST.
Next: what you will see afterwards.
-
The bird answers to your key now.
What you will seeYour wallet will not list the bird. It lives inside the contract.
This page shows it as transferred to your own Midnight key.
Moving it later is a transaction, and every transaction needs DUST.
DUST comes from holding NIGHT. It refills over time, like a battery.
The twenty 1/1s
Twenty one-of-a-kind birds, one hidden in each window of serials.
Serials 21 to 8887 are cut into twenty windows, each 1.2 times wider than the last, and each window holds exactly one piece. Which battle in a window gets it is decided by a Cardano block that did not exist when that battle's seed was committed, so no seed can be chosen to land a 1/1. The schedule was published before deposits opened and is never edited.
Schedule: collections/gen2/oneofones/schedule.json, sha256
c05988a0c71f62632ec7efd8b7209fa59371c8bf55810f2ecd39d5f265ded07f.
The minting service reads that file once and refuses any other bytes.
What the draw proves
Given a battle's seed, its two deposits, the serial, and the reserved set that draw saw, the verdict follows from the published schedule and rule. The seed is committed on chain, in the first deposit's datum, before anyone accepts. The beacon is a block that did not exist when that commitment was made. So the seed cannot have been chosen, after the fact, to land a particular 1/1.
What it does not prove. This rests on us, and we say so.
- We control settlement order. When more than one battle is ready, the order in which we mint them decides their serials, and so which of them can receive a 1/1. At a window's last serial, whichever battle we mint next receives that window's piece.
- We can withhold battles. We draw every seed and see each outcome before we settle. We could decline to settle a battle, or run battles of our own and settle only the ones that land a 1/1. A withheld battle's owners reclaim their NFTs after the deadline. We do not claim that every such skip is publicly visible or attributable.
- Exclusive minting. The draw assumes the minting service is the only writer of serials 21 and up. The contract admin can mint directly. A direct mint consumes a serial without running the rule. The boot history check then halts, but it cannot give that serial back.
- Finality. The beacon assumes no Cardano rollback deeper than 10 blocks. It is re-read before submit and after confirmation, and a change halts minting.
The first twenty
Twenty birds, minted the day mainnet opened.
Twenty Cardano NFTs were given up to found this collection, and each of these birds carries the name of one of them, written into its token for anyone to check.
- 19:40 UTCMidnight opens to new contractsOur watcher had been checking every 10 minutes for five weeks.
- 19:45 UTCThe NightBirds contract goes liveThe first new contract on mainnet after the opening. Block 2,827,344.
- 19:46 to 19:54All twenty birds are mintedAbout one every 25 seconds, each picture written straight into the contract.
- Same nightEvery block on mainnet checked169 contracts have ever been deployed. This is the only art collection.
reading Midnight mainnet
Why it's different
Three things worth knowing.
The console
Nothing above is taken on faith. This is the machinery: the two-source check in detail, any Midnight contract you paste, the owner lookup, and the server's health. Our older test contracts on Midnight's Preprod testnet are readable here too; those tokens are worth nothing.
Open the console verification detail, explore any contract, owner lookup, service health
The two-source check, in detail
Explore any contract
Paste any Midnight contract address. If we hold its compiled artifacts you get a schema decode; if we do not, you get the honest byte-scan and a label saying so.
Owner view
The input is a Zswap coin public key:
32 raw bytes, 64 hex characters, exactly as stored in the contract's tokenOwner
map. It is not an mn_addr… wallet address and not an
mn_dust… address; pasting either will never match. The server cross-checks its
own scan against the contract's ownedTokensCount and answers
unknown rather than hand back a list it cannot vouch for.
Service health and registry
reading