$PUNK on B20 stores metadata on-chain. The NFT displays it on OpenSea. Fully reversible — lock, unlock, trade.




B20Punks pairs $PUNK — a B20 ASSET token — with an ERC-721A NFT collection. $PUNK stores each punk's metadata on-chain via B20's native extraMetadata function. The NFT reads that metadata and displays it on OpenSea.
To get your NFT, lock 1 $PUNK in the contract. The NFT is minted. To reclaim your $PUNK, burn the NFT. Fully reversible — your $PUNK is never destroyed.
10,000 punks. 24x24 pixels upscaled to 1024x1024. Inspired by the original CryptoPunks (2017), built on the newest L2 with the newest standard.






A dual token architecture where $PUNK stores data and the NFT displays it.
$PUNK is a B20 ASSET token — Base's native precompiled standard. Each token stores its punk's IPFS CID via on-chain extraMetadata. The data lives on B20.
B20's native key-value store. Each $PUNK writes its metadata CID directly on-chain. The NFT contract reads it via staticcall — no external resolution needed at the contract level.
Each punk starts as a 24x24 pixel grid, upscaled to 1024x1024 with nearest-neighbor interpolation. Zero AI generation.
Every punk scored and ranked by trait rarity. Alien (9), Ape (24), Zombie (88), Human (9,879). Transparent scoring algorithm.
Lock $PUNK to mint your NFT. Burn the NFT to reclaim $PUNK. Fully reversible. No value destroyed. Your metadata CID is preserved on $PUNK forever.
$PUNK trades on DEX. The NFT trades on OpenSea. Two markets, one collection. Unlock your NFT and your $PUNK becomes liquid again.
10,000 unique punks across 87 trait categories. Every combination is one-of-one.