CryptoFunks — Litepaper
A bonded generative NFT, backed by a token, gated by a burn.

TL;DR
CryptoFunks is a 24×24 generative pixel-art NFT collection where every funk is backed by 10 $FUNKS. You don't buy a funk — you redeem one: lock 10 $FUNKS as a permanent bond and burn 10 $SLOP, and a commit-reveal draws your funk's art from future-block randomness. Burn the funk anytime to release its 10 $FUNKS.
Three assets, one loop:
| $FUNKS | ERC-20, fixed 100,000 supply | the bond — 10 locked per funk |
| $SLOP | the consumable key | the fee — 10 burned per funk (15% to the protocol) |
| CryptoFunk | ERC-721, max 10,000 | the art — generated on redeem |
Every funk locks exactly 10 $FUNKS, so 10,000 is the hard cap (100,000 ÷ 10). The claimable number is lower, though: any $FUNKS sitting in amounts below 10 — dust, partial holdings, fragments left in the LP — can't redeem a funk, so it's stranded. The live collection approaches 10,000 asymptotically but only reaches it if every $FUNKS is consolidated into clean multiples of 10. Expect a long tail short of the cap.
1. The bonded-NFT model
Most NFTs are sold; the proceeds leave. CryptoFunks are minted against collateral that stays.
- Redeem: send 10 $FUNKS (locked as the funk's bond) + 10 $SLOP (burned) → you get a CryptoFunk.
- Burn: burning a CryptoFunk destroys it for good — the token and its art are gone — and unlocks its 10 $FUNKS bond back to you.
This makes the NFT a wrapper around a bonded position in $FUNKS. Its hard floor is the token: a funk is always worth at least the 10 $FUNKS locked inside it. And the two sides breathe against each other:
- Minting locks $FUNKS → removes it from circulation → supports the price.
- Burning releases $FUNKS → returns float.
At theoretical full mint-out, all 100,000 $FUNKS are bonded inside 10,000 funks — the collection is the token, re-shaped as art. In practice fragmentation strands a residue of sub-10 dust (in wallets and the LP) that can never be redeemed, so the effective supply settles just under the cap — a soft scarcity the hard number alone doesn't capture.
2. How a funk is born

Nothing is pre-drawn. There's no hidden folder of 10,000 finished images waiting to be handed out — no funk exists until it's claimed. Each one is generated at the moment you claim it, computed from randomness that didn't exist when you committed. Nobody — not even us — can see it coming or cherry-pick a good one.
The generation runs as a commit-reveal, so neither the minter nor a block proposer can grind for rares:
- Commit —
redeem()locks your 10 $FUNKS, burns your 10 $SLOP, and records a commit at the current block. - Wait ~5 blocks.
- Reveal — anyone can finalize; the seed is hashed from
blockhash(commitBlock+1)— the hash of the block right after your commit, which did not exist when you committed and is identical no matter when, or by whom, it's finalized.
The window is 256 blocks (~51 min) — the EVM's blockhash horizon. Reveal in time and the art is yours forever; miss it and the bond is refundable (your 10 $FUNKS come back). Don't like your roll? Reroll the seed for 10 $SLOP.
Why future-block randomness? Generative mints that read their seed from values already known when the mint transaction lands — most commonly
block.prevrandao, as in uPeg — can be computed ahead of time. That lets minters grail-snipe (only complete a mint when the predicted roll is rare) and game duplicates. EIP-4399, which definesprevrandao, explicitly warns it is proposer-biasable and unfit for high-value randomness. CryptoFunks draws its seed after you commit, from a block that does not exist yet — so no one, not even the block proposer, can see your funk before it's locked in.
The seed lives on-chain and is immutable. The image is deterministically derived from it by an open, reproducible renderer — same seed, same funk, anywhere.
3. The art
24×24 sprites in the CryptoPunks lineage — types (Human male/female tones, and rare Aliens), plus hats, hair, eyewear, facial hair, mouth props, and accessories. A vanishing ~0.5% roll a rare skin tint.

Left to right: Human 3 + Crazy Hair + VR · Human 1 + Cowboy Hat + Eye Patch · Human Female 1 + Tassle Hat · a rare-skin-tint roll (~0.5%).
No gender lock. In the original CryptoPunks, trait pools were split by type — some hair, eyewear, and accessories appeared only on male punks, others only on female, and the two pools never crossed. CryptoFunks deliberately breaks that. Male and female faces have different proportions (the male face spans more rows than the female), so every attribute sprite is resampled and resized to land correctly on whichever face it's drawn over. The effect: combinations the source never produced — long hair and pink eyeshadow on a male, hoodies and hats on a female, female zombies and aliens — which roughly doubles the effective trait space and makes the cross-gender rolls some of the most distinctive funks in the set.

Traits the originals kept apart, now freely mixed: a female in a bandana · a bearded, lipsticked female · a male in green eye shadow · a male with a blonde bob. The type pool goes further still, adding Zombie, Ape, Alien, and Female Zombie.
4. Rarity — relative and live
Rarity is relative to the live collection, not a fixed pre-baked table. Every trait — including the type itself (e.g. Human 3 Male) — is scored by how much of the live set shares it. Lower share = rarer.
Each funk also gets a rarity rank: the rarest live funk is ★1, recomputed on every load.
It cuts both ways. Because rarity is measured against the live set, every mint and every burn re-weights it. Mint more of a trait and it dilutes — you might hold the only Zombie today, but ten more minted tomorrow changes that. Burn copies and the survivors concentrate — one fewer Zombie in circulation lifts every remaining Zombie's score. A rank isn't a permanent stamp; it breathes with the collection.
Representative frequencies over a 1,000-funk sample:
| Rarest | Commonest | ||
|---|---|---|---|
| Alien (type) | 0.1% | Earring | 28.2% |
| Clown Hair (Yellow/White/Pink…) | 0.1% | Human 4 Male (type) | 15.8% |
| Hoodie (Red/Purple) | 0.1% | Human 3 Male (type) | 15.6% |
5. $SLOP — the burn that feeds the ecosystem
Every claim and every reroll burns 10 $SLOP (15% to the protocol, 85% destroyed outright). It isn't there to gate supply — it's a sink:
- It destroys $SLOP. CryptoFunks runs on the same $SLOP as the wider Slonks ecosystem, so every claim and every reroll permanently removes $SLOP from circulation — deflationary pressure that flows straight back to the Slonks / $SLOP economy.
- $FUNKS is preserved. It is never burned — only locked as the redeemable bond — so the 100,000 supply stays intact and fully reclaimable. The consumable here is $SLOP, not $FUNKS.
- Reroll on demand. Don't like your CryptoFunk? Burn its art and roll a new one for 10 $SLOP — same bond, fresh randomness, more $SLOP destroyed.
- The 15% is recurring revenue — accruing on every claim and every reroll for the life of the collection, not a one-time primary sale.
6. The market
$FUNKS trades against ETH in a Uniswap v4 pool. Liquidity is seeded one-sided (all $FUNKS, no ETH), so the pool behaves like a bonding curve: buyers spend ETH, $FUNKS leaves the pool and price climbs the curve, and the ETH accumulates as protocol-owned liquidity backing the token.
Since each funk's floor is 10 bonded $FUNKS, a rising $FUNKS curve lifts the floor of every CryptoFunk together — upside that accrues to all holders, not just early buyers.
7. Contracts
| Contract | Role |
|---|---|
| Funks | ERC-20, fixed 100,000 supply |
| CryptoFunks | ERC-721 — commit-reveal mint, bonded redemption, reroll |
| FunksHook | the redeem gate — locks $FUNKS, burns $SLOP, commits the mint |
| Uniswap v4 pool | $FUNKS/ETH market + protocol-owned liquidity |
Plain OpenZeppelin ERC-721 — no transfer restrictions, so contract wallets, Safes, smart wallets, and 7702 EOAs can all hold and move funks freely (escrow, packs, vaults, games all work).
8. Status
- Live on Sepolia testnet — full claim → reveal → burn → reroll loop, one-sided $FUNKS/ETH market, and a public dashboard (gallery, rarity ranks, holder leaderboards, live burn/fee stats).
- Allowlist snapshot tooling ready (Slonks + Call Data Comrades holders + $SLOP).
- Mainnet deployment to follow.
9. Lineage & references
CryptoFunks stands on a specific genealogy:
- CryptoPunks — Larva Labs' 10,000 24×24 originals (2017); the aesthetic root of the entire 24×24-face tradition.
- CryptoPhunks and the broader Phunks movement — including Missing Phunks — flipped, left-facing, community-run derivatives (2021→). After Larva Labs' DMCA takedowns pulled them from OpenSea, holders rebuilt on their own royalty-free venues, turning "a copy" into a statement about decentralization and provenance. CryptoFunks inherits that derivative-as-movement spirit.
- Slonks + $SLOP, by Michael Hirsch (the Slopfather,
hirsch.howdy.eth) — Uniswap-v4-hook NFTs where "the slop is the art," with $SLOP minted by voiding a Slonk. CryptoFunks builds on the same v4-hook lineage and uses $SLOP as its burn fuel. - uPeg / Unipeg (
$UPEG) — the closest prior art: a v4-hook token that renders a 24×24 on-chain image per swap, capped at 10,000, where crossing a whole-token threshold mints the NFT (~$1,500–2,100 / UPEG, ~$34M market cap, mid-2026 — a thinly-traded v4 token, so quotes vary widely by venue). CryptoFunks adopts the v4-hook + 24×24 + 10k-cap shape and the token↔NFT coupling, but fixes the randomness (see §2): uPeg-style same-blockprevrandaogeneration is predictable in-transaction, enabling grail-sniping and duplicate games; CryptoFunks uses a future-block commit-reveal with a 256-block expiry. - EIP-4399 — the spec that introduced
prevrandao; it explicitly cautions the value is proposer-biasable, which is why CryptoFunks never mints directly from it.
Sources: CryptoPunks · CryptoPhunks (Not Larva Labs) · Slonks · uPeg / Unipeg · UPEG price — CoinGecko · EIP-4399 (prevrandao)
CryptoFunks is experimental software on testnet. Nothing here is financial advice. CryptoPunks, CryptoPhunks, Slonks, and uPeg are independent projects referenced for lineage and comparison; CryptoFunks is not affiliated with or endorsed by them.