48×48 pixels, drawn by hand.
One drawing, made pixel by pixel, then recoloured across four trait categories - body, fabric, studs, backdrop. The engine only ever changes colour. It never redraws the figure, so every piece in the set is the same drawing you see here.
Colours are not paired at random. Every combination is checked for perceptual contrast before it can be minted - a bra that would sink into the body, or studs the same colour as the fabric they sit on, is never produced. That rejects 2,068 of the 19,840 combinations on paper.
Ten from the set
Every one a different body and a different fabric, so the spread is visible at a glance. Browse the full live gallery at /gallery.










Anatomy of a nftit
Four trait categories. Percentages below are the real distribution across the 1,000 minted pieces - countable from the collection yourself, not a target we aimed at.
The math
Multiplying the active variants across every category:
17,772 is a measure of visual diversity, not supply. The real ceiling is 1,000 alive nftits at any moment, enforced on chain by the token math: 1B $NFTITS ÷ 1M per wrap = 1,000 simultaneously wrappable. When all 1,000 are alive, zero free $NFTITS remain to wrap an 1,001st - the only way to create a new nftit is for an existing one to unwrap.
The 1,000 pieces were drawn up front, and no two share a combination. Drawing them at mint time from a hash would have been simpler, but with 1,000 pulls from 17,772 options the birthday paradox makes a collision near-certain - roughly a 1 in 1012 chance of avoiding one. Picking the set in advance is what makes each piece genuinely one of one.
The rarest of each
No invented Common-to-Legendary ladder. The set is finite and already minted, so rarity is just a count - here is the scarcest value in each category, out of 1,000.
Count them yourself - every trait is listed in /collection/traits.csv, and the images are static files. Nothing here depends on trusting our arithmetic.
How it's made
The set was picked and drawn before launch. Every piece is reproducible from the published traits and the open-source renderer.
1,000 combinations were drawn from the 17,772 legible ones without repetition, then assigned to the numbers 1 to 1,000 and published as traits.csv. The art belongs to the number, not to the NFT mint. Wrap #42 today or after ten people have unwrapped it, and you get the same drawing.
The renderer outputs a <svg viewBox="0 0 48 48"> document with a background gradient and roughly 1,300 <rect width="1" height="1"/> elements - one per occupied pixel, plus a one-cell outline that flips light or dark to keep the silhouette off the backdrop. Vector. Crisp at any size.
/api/render/<tier>?format=svg returns the vector source. /api/render/<tier> returns a 768×768 PNG (48×48 grid scaled 16×, nearest-neighbor - no smoothing).
Where the art lives
The trait table is published as a plain CSV. The renderer is open source on GitHub. The delivered image is served from nftits.fun, but feeding a row of the CSV into the renderer reproduces that PNG byte for byte.
This is why the art is reproducible without trusting us. If the site goes down tomorrow, all 1,000 pieces can still be rebuilt from the CSV and the renderer, with no RPC and no server involved at all.