collection
THE ART
Every baby is a composite of 10 pixel layers. There is no reveal step. The art and the metadata are public from mint one, and the rarity tier of every id is written on chain in a single transaction at deploy, before anybody can mint.
sample
WHAT A BABY LOOKS LIKE
Twelve ids out of the 3000. Each tile fills in with the real image as soon as the generator output is on the server. Until then it stays a placeholder, because a stand-in picture would tell you nothing about what you are actually minting.
Tier pills appear on these tiles once the NFT contract is deployed and the page can read rarityOf(id).
The tier on each tile is read from rarityOf(id) on chain, not from anything stored here.
rarity
FOUR TIERS, AND WHAT EACH IS WORTH
Tier is fixed at deploy and never changes. It sets the base power of the token, and base power is that token's share of the staking pool before anybody burns anything extra into it. Higher tier is not a cosmetic label, it is a bigger slice.
| Tier | Count | Of supply | Base power | Tier power | One baby's share |
|---|---|---|---|---|---|
| Common | 1800 | 60% | 1 | 1800 | 1 / 5700 = 0.0175% |
| Rare | 750 | 25% | 2 | 1500 | 2 / 5700 = 0.0351% |
| Epic | 300 | 10% | 4 | 1200 | 4 / 5700 = 0.0702% |
| Legendary | 150 | 5% | 8 | 1200 | 8 / 5700 = 0.1404% |
| Total | 3000 | 100% | 5700 | 5700 / 5700 = 100% |
The tier power column is what a whole tier is worth together. 1800 commons at power 1 come to 1800. 150 legendaries at power 8 come to 1200. Epic and legendary hold the same 1200 between them, so it is the same slice of the pool split 300 ways or split 150 ways, and that is the real difference between those two tiers.
Tier sets where a baby starts. Burning $TBABY against its id raises it from there, for
good. The formula the vault uses is
power(id) = baseWeight(id) + bonusPower(id).
Bonus power is attached to the token id, not to the wallet. Sell the baby and the power goes with it. Burning is one way, the $TBABY does not come back.
Every id has its tier on chain from deploy, minted or not. Type one in and the page reads it straight from the contract over the configured RPC.
This is a read. It costs nothing, it does not need a wallet, and it does not send a transaction.
traits
TEN LAYERS
The generator composites the layers in the order below, background first, pets last. Four of the ten can come out empty, so a baby is built from between 6 and 10 drawn layers.
| Layer | Traits | Share of the set | Draw order | Can be empty |
|---|---|---|---|---|
| Background | 78 | 1, bottom | no | |
| Back | 11 | 2 | yes, 35% | |
| Body | 6 | 3 | no | |
| Hair | 25 | 4 | no | |
| Clothing | 34 | 5 | no | |
| Mouth | 10 | 6 | no | |
| Eyes | 7 | 7 | no | |
| Glasses | 11 | 8 | yes, 35% | |
| Hat | 12 | 9 | yes, 33% | |
| Pets | 6 | 10, top | yes, 33% | |
| 10 layers | 200 | bars are each layer against Background, the largest at 78 | ||
200 is the count of drawable trait files. traits.json in the export lists 201 rows because it also carries the empty Back as a value of its own. The empty chance on the four optional layers is the number in front of the blank file name, so Back at 35 means the layer is absent 35% of the time.
provenance
HOW THE TIERS GET ON CHAIN
Tiers are not decided per mint and they are not rolled at random when you buy. All 3000 are computed off chain first, then pushed on chain in one transaction at deploy, before the mint is open. After that the contract is the only thing anyone has to trust.
GENERATE
tools/generate.py composites the 10 layers with the fixed seed TRADER-BABIES-v1. Same seed, same 3000 babies, every run. Every baby is a unique trait combination.
RANK AND CUT
Each baby is scored on statistical rarity, ranked, then cut at exactly 1800 common, 750 rare, 300 epic and 150 legendary. Ids are shuffled after the cut so the tier is not readable off the id number.
PUSH ONCE
setRarities writes all 3000 tiers, packed 2 bits each. It is one shot. From then on rarityOf(id) is the only tier that counts and anybody can read it without asking us.
| Name | Trader Babies |
| Symbol | TBABY |
| Supply | 3,000, immutable |
| Token ids | 1 to 3000, sequential, in mint order |
| Layers | 10, composited background first |
| Traits | 200 drawable, from the picrew layer export |
| Tiers | 1800 common, 750 rare, 300 epic, 150 legendary |
| Base power | 1, 2, 4, 8 by tier |
| Reveal | none, art is public from mint one |
| Royalty | 700 bps, 7%; the staking pool is paid from it |
| Seed | TRADER-BABIES-v1 |
| Chain | Robinhood Chain, id 4663 |
A 7% royalty applies on secondary sales, and the staking pool is paid from it, the same ETH pool stakers claim from. Every resale of a baby pays the babies that are staked.