ROBINHOOD CHAIN · 100% ONCHAIN · THE SECOND AGE

FABLED FUNKS v2

1,000 pixel foxes, drawn and stored entirely onchain — no IPFS, no server — and this time they move. Each is generated from its own seed, so no two are alike. A toll at the gate, one fox to a hand, no machines.

1,000SUPPLY
MINTED
MINTABLE
FREESTONKBROKERS (ACTIVE)
0.01 ETHTHE TOLL (PUBLIC)
Fabled Funk #1 — the purple 1/1 grail
TOKEN #1 · THE ONLY PURPLE CROWN

MINT A FUNK

One fox to a hand. For the first 24 hours, active StonkBrokers mint free — the contract checks the dividend tier on-chain. Then the gate opens to everyone at the 0.01 ETH toll. Connect a wallet on Robinhood Chain and a fresh animated fox is drawn straight from the contract.

Loading mint status…
Wallet not connected

WELCOME TO THE DEN — YOUR FOX

THE DEN LEDGER

One fox to a hand. No machines at the gate.

The first age was free. Then the bots came — scripts wearing wallets, 189 of them, five each. All 900 gone in minutes, before a real person reached the gate.

The second age has a toll and one fox per wallet. Cheap for you, not worth it for a bot. It all lives in the contract — pull it yourself if you don’t trust the ledger.

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 3% party-hat roll, one dry line from the ledger, and the animation baked into the SVG. Roll as many as you like — they move, just like the real ones.

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 3% party-hat roll across 5 colors. Token #1 skips the roll: purple, hardcoded — the only purple crown, held not taken.

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 fox on FRIED AF.

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

THE LINE

No mad-libs, no morals, nothing invented. Every fox draws one line from A Gest of Robyn Hode — the real ~1450 outlaw ballad, public domain, its Middle English kept exactly as written — picked by a second hash of the seed. Token #1 gets its own: “So curteyse an outlawe was never non founde” (there was never another found).

"Lythe and listin, gentilmen"   "Where we shall robbe and reue"
6

MOTION

The Second Age moves. Pure SMIL, baked into the SVG, so it animates inside the NFT itself — no JS, no server. Every fox breathes and blinks; glitched foxes drift CRT scanlines; FRIED AF foxes twitch and hue-cycle; a party hat catches a sweeping gleam. Motion scales with rarity, and it’s the one thing a bot can’t farm.

<animateTransform type="translate" values="0 0;0 -7;0 0" dur="4s"/>
7

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)