loading DAOpunk
DAOpunk

DAOpunks are an experimental attempt to improve the coordination and funding of the CryptoPunks community. CryptoPunks are one of the largest NFT projects by market cap, but the community is completely cash poor. There is no treasury to encourage Punk innovation or to sponsor Punk community events.
Nouns was first inspired by CryptoPunks, and now it's the Punks' turn to be inspired by Nouns. This is an attempt to bootstrap the coordination, governance, and treasury of one of the most recognizable avatars in crypto. LFG!



  • One new DAOpunk is trustlessly auctioned every 24 hours, forever.
  • All 10,000 original CryptoPunks have been hashed so there can never be repeats.
  • 100% of DAOpunks auction proceeds are trustlessly sent to the treasury.
  • Settlement of one auction kicks off the next.
  • All original CryptoPunks and new DAOpunks are members of the Punkers DAO.
  • Punkers DAO uses a fork of Compound Governance.
  • One CryptoPunk is equal to one vote. One DAOpunk is equal to one vote.
  • The treasury is controlled exclusively by CryptoPunks and DAOpunks via governance.
  • Artwork of DAOpunks is generative and stored directly on-chain (not IPFS).
  • Scarcity for type, skin tone, individual attributes, and number of attributes is the same as the original collection.
  • Punkers (founders) receive rewards in the form of DAOpunks (10% of supply for the first 5 years).

The DAOpunks Auction Contract will act as a self-sufficient DAOpunk generation and distribution mechanism, auctioning one new DAOpunk every 24 hours, forever. 100% of auction proceeds (ETH) are automatically deposited in the Punkers DAO treasury, where they are governed by all CryptoPunk owners and DAOpunk owners, collectively.

Each time an auction is settled, the settlement transaction will also cause a new DAOpunk to be minted and a new 24 hour auction to begin.

While settlement is most heavily incentive for the winner bidder, it can be triggered by anyone, allowing the system to trustlessly auction DAOpunks as long as Ethereum is operational and there are interested bidders.

Punkers DAO utilizes a fork of Compound Governance and is the main governing body of the DAOpunks ecosystem. The Punkers DAO treasury receives 100% of ETH proceeds from daily DAOpunks auctions. Each CryptoPunk and DAOpunk is an irrevocable member of the Punkers DAO and entitled to one vote in all governance matters. CryptoPunk and DAOpunk vote are non-transferable (if you sell your CryptoPunk or DAOpunk the vote goes with it) but delegatable, which means you can assign your vote to someone else as long as you own your CryptoPunks or DAOpunk.

Punks govern Punkers DAO. Punks can vote on proposals or delegate their vote to a third party. A minimum of 2 votes (CryptoPunks and/or DAOpunks) is required to submit proposals. Each CryptoPunk and DAOpunk you hold represents one vote in all governance related matters.

For more information on how to delegate your CryptoPunk or DAOpunk, refer to our documentation here.

DAOpunks are generated randomly based on Ethereum block hashes. Scarcity for type, skin tone, individual attributes, and number of attributes is the same as the original collection.

  • Type (5)
  • Skin Tone (6)
  • Hair (41)
  • Eyes (16)
  • Beard (12)
  • Mouth (4)
  • Lips (3)
  • Neck (3)
  • Emotion (2)
  • Face (2)
  • Ears (1)
  • Nose (1)
  • Cheeks (1)
  • Teeth (1)

DAOpunks are stored directly on Ethereum and do not utilize pointers to other networks such as IPFS. This is possible because DAOpunk parts are compressed and stored on-chain using a custom run-length encoding (RLE), which is a form of lossless compression.

The compressed parts are efficiently converted into a single base64 encoding SVG image on-chain. To accomplish this, each part is decoded into an intermediate format before being converted into a series of SVG rects using batched, on-chain string concatenation. Once the entire SVG has been generated, it is base64 encoded.

The DAOpunk Seeder contract is used to determine DAOpunk traits during the minting process. The seeder contract can be replaced to allow for future trait generation algorithm updates. Additionally, it can be locked by the Punkers DAO to prevent any future updates. Currently, DAOpunk traits are determined using a pseudo-random number generation:

keccak256(abi.encodePacked(blockhash(blockhash(block.number - 1), punkId))

Trait generation is not truly random. Traits can be predicted when minting a DAOpunk on the pending block.

’Punkers’ are the individuals responsible for building Punkers DAO. The Punkers include:

As compensation for standing up Punkers DAO, Punkers (founders) have elected to use the same model used by Nouns DAO's ’Nounders’ for compensating themselves. Every 10th DAOpunk for the first five years of the project (#10,000, #10,010, etc) will be automatically minted and sent to the Punkers's multisig wallet.

Punker distributions don't interfere with the cadence of 24hr auctions. DAOpunks are sent directly to the Punkers's multisig and auctions resume without interruption.