ROBINHOOD CHAIN · 100% ONCHAIN

FABLED FUNKS

1,000 pixel foxes, drawn and stored entirely onchain — no IPFS, no server. Each one is generated from its own seed, so no two are alike, and a few show up in party hats.

1,000SUPPLY
MINTED
FREE LEFT
0 ETHMINT PRICE
~7%PARTY HATS
Fabled Funk #1 — the purple 1/1 grail
TOKEN #1

MINT A FUNK

The public mint is complete — all 900 are out in the wild, with 100 kept by the den. Connect a wallet to check the status, or browse the full collection below.

Loading mint status…
Wallet not connected

WELCOME TO THE DEN — YOUR FRESH FUNKS

THE DEN — LIVE ONCHAIN

Reading foxes straight from the chain…

ROLL YOUR OWN — SAME ALGORITHM, IN YOUR BROWSER

THE MINT, SIMULATED

This runs the same pipeline the contract runs at mint: a random 256-bit seed, traits by modular arithmetic, the 24×24 sprite, corruption, a party-hat roll, and the fable. Roll as many as you like.

HOW A FABLED FUNK IS BORN — THE ONCHAIN PIPELINE

1

SEED

At mint, the contract hashes the previous blockhash + minter address + token id into a 256-bit seed. That one number is the fox’s entire DNA — stored forever, so the art re-derives identically every time anyone calls tokenURI().

_seed[id] = keccak256(blockhash(block.number-1), msg.sender, id)
2

TRAITS

Modular arithmetic peels traits off the seed: 6 furs × 6 hoods × 4 eyes, a d100 for background (30% CALM AF, 40% LOUD, 25% TRIPPY, 5% VOID), another for glitch tier (20% CLEAN, 45% GLITCHED, 25% CORRUPTED, 10% FRIED AF), and a 7% party-hat roll across 5 colors. Token #1 skips the roll: purple, hardcoded.

if (id == 1) { t.phat = true; t.phatIdx = PURPLE; }
3

SPRITE

The base fox — hood, ears, snout, sly eyes — is a hand-placed 24×24 pixel grid packed two cells per byte into a 288-byte constant baked into the bytecode. Ten palette symbols; the trait colors fill them in.

bytes constant SPRITE = hex"0000...6510"  // 288 bytes = the whole fox
4

GLITCH

The GAN-melt homage. Higher tiers shift whole pixel rows sideways (wrapping at the edges), splatter up to 40 dead pixels in 8 loud colors, lay scanlines over CORRUPTED+, and hue-rotate the entire image on FRIED AF.

shift[4+(h%18)] = 1+(h/18)%4   corr[h%576] = 1+(h/576)%8
5

FABLE

Every token writes its own moral: 8 openers × 8 deeds × 8 morals = 512 possible fables, picked by a second hash of the seed. A nod to BGAN’s GPT-2 punk-lyric backstories — ours are composed onchain.

"FABLE #4: THE HOODED ONE APED THE ROYAL TREASURY INTO A MEMECOIN."
6

OUTPUT

The SVG is run-length encoded into rects, base64’d, wrapped in JSON metadata, base64’d again, and returned as a data URI. OpenSea reads it straight off the chain — there is nothing else to host, and nothing that can ever 404.

return "data:application/json;base64," + Base64.encode(json)