SkillAgentSearch skills...

Punks.contracts

Inside the CryptoPunks Blockchain Contracts / Services incl. the Historic V1 and Wrapped CryptoPunks V1 (WPUNKS1) and Wrapped CryptoPunks V2 (WPUNKS), V3, V4, and Many More

Install / Use

/learn @cryptopunksnotdead/Punks.contracts
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Crypto Collectibles Series - Cats · Punks

CryptoPunks Blockchain Contracts / Services

Code on the Blockchain - Electronic Contract Scripts

Timeline

Punk Contracts by Creation Date

2017

June 9, 2017 (Block #3842489) - /punks-v1 - CryptoPunks Classic V1 - "First Deploy"

June 22, 2017 (Block #3914495) - /punks-v2 - CryptoPunksMarket

2020

September 8, 2020 (Block #10821737) - /punks-v2-wrapped - Wrapped Punks (WPUNKS)

2021

March 25, 2021 (Block #12105923) - /punks-v1-wrapped-i - Wrapped Punks V1 (WPUNKS1), "Classic Edition"

June 14, 2021 (Block #12630376) - /phunks - CryptoPhunks (PHUNKS)

June 21, 2021 (Block #12674389) - /phunks - CryptoPhunksV2 (PHUNKS)

June 29, 2021 (Block #12731429) - /hdpunks - HD Punks (HDPUNKS)

August 7, 2021 (Block #12975638) - /zunks - Zunks (ZUNK)

August 7, 2021 (Block #12979903) - /bored - BoredPunkYachtClub (BPYC)

August 15, 2021 (Block #13026517) - /expansion-i - ExpansionPunks (XPUNKS)

August 18, 2021 (Block #13045935) - /punksdata - CryptoPunksData Update / Add-On / Service

August 27, 2021 (Block #13107807) - /international - InternationalPunks (INTPUNKS)

September 1, 2021 (Block #13138993) - /ape - ApePunks (APEK)

September 13, 2021 (Block #13214597) - /other - OtherPunks (OPUNKS)

September 21, 2021 (Block #13268745) - /currency - CurrencyPunks (CUPU)

September 23, 2021 (Block #13283328) - /mineable - MineablePunks (MPUNKS)

October 2, 2021 (Block #13339194) - /society - LostPunkSociety (LPS)

December 16, 2021 (Block #13817852) - /phunks-v2-market - CryptoPhunksMarket

December 30, 2021 (Block #13906069) - /expansion-ii - ExpansionPhunks (PHUNX)

2022

January 17, 2022 (Block #14022431) - /punks-v1-wrapped-ii - Wrapped Cryptopunks V1 (WPV1)

January 24, 2022 (Block #14066948) - /punks-v1-market - PunksMarket

February 2, 2022 (Block #14127834) - /punks-v3 - Cryptopunks V3 (V3PUNK)

February 3, 2022 (Block #14132029) - /phunks-v3 - Phunks V3 (V3PHNKS)

February 4, 2022 (Block #14138557) - /punks-v4 - Cryptopunks V4 (V4PUNK)

February 5, 2022 (Block #14142987) - /phunks-v1-wrapped - Wrapped Cryptophunks V1 (WPHV1)

Historic V1 - "First Deploy"

When CryptoPunks launched, the contract was exploitable. Sellers didn't get paid. LarvaLabs quickly launched a fixed version of the contract, which everyone uses.

But the V1 tokens are still out there.

<!-- https://twitter.com/seeker_curious/status/1375112685746941955 https://twitter.com/seeker_curious/status/1374605517444706306 -->

/punks-v1 - CryptoPunks

Etherscan

/punks-v1-wrapped-i - Wrapped Punks V1 (WPUNKS1)

Etherscan

/punks-v1-wrapped-ii - Wrapped Punks V1 (WPV1)

Etherscan

/punks-v1-market - PunksMarket

Etherscan

Classic V2

/punks-v2 - CryptoPunksMarket

Etherscan

For more see Inside the CryptoPunksMarket Blockchain Contract / Service »

/punksdata - CryptoPunksData Update / Add-On / Service

On-chain Cryptopunk images and attributes, by Larva Labs.

This contract holds the image and attribute data for the Cryptopunks on-chain. The Cryptopunk images are available as raw RGBA pixels, or in SVG format. The punk attributes are available as a comma-separated list. Included in the attribute list is the head type (various color male and female heads, plus the rare zombie, ape, and alien types).

Etherscan

Note: If you are looking for the on-chain data (attributes or the pixel matrix / bitmap and so on) - the data is NOT in the contract source but in the 266 transaction (txn) inputs. See punksdata/transactions.txt.

/punks-v2-wrapped - Wrapped Punks (WPUNKS)

Etherscan

For more see Inside the Wrapped Punk (WPUNKS) Blockchain Contract / Service »

V3, V4, V5, V6, ...

/punks-v3 - Cryptopunks V3 (V3PUNK)

Etherscan

/punks-v4 - Cryptopunks V4 (V4PUNK)

Etherscan

More

/phunks (v1 & v2) - CryptoPhunks (PHUNKS)

Etherscan

/phunks-v1-wrapped - Wrapped Cryptophunks V1 (WPHV1)

Q: Why wrapped?

A: Cryptophunks V1 are buggy. Philip (the intern) is every image.

Q: How do you wrap a Phunk V1?

A: You send your Phunk V1 to 0x235d49774139c218034c0571ba8f717773edd923 with safeTransferFrom() and the wrapping occurs in the onERC721Received() callback!

Etherscan

/phunks-v2-market - CryptoPhunksMarket

Etherscan

/phunks-v3 - Phunks V3 (V3PHNKS)

Etherscan

/hdpunks - HD Punks (HDPUNKS)

Etherscan

/zunks - Zunks (ZUNK)

web: cryptozunks.com

CryptoPunks were the first 10,000. CryptoZunks are the last 10,000.

Numbered 10,000 - 19,999, Zunks are the first Punks to be generated on-chain with randomized attributes. Spin to mint your base model Zunk and re-roll any attributes.

How does on-chain generation for Zunks work? How do we keep Zunks unique from existing Punks?

  1. CryptoZunks is the first on-chain Punks derivative project where the smart contract generates all the attributes randomly on-chain when the user mints. How does this work?

  2. After determining what attributes the Zunk has, we create a string representation of the Zunk which can be decoded into the various attributes (gender, hat, beard, etc.).

  3. This string representation of the Zunk is then saved on the blockchain. On subsequent Zunk mints, the contract validates that it hasn't generated a same Zunk that already exists. If it has, the contract will re-generate random attributes until it has created a unique Zunk.

  4. There are optimizations built into the contract to re-generate a Zunk as few times as possible. It's important that users aren't stuck endlessly generating invalid Zunks and to keep gas usage low.

  5. We've run thousands of simulations and have validated that we can reliably generate 10k unique Zunks Partying face

  6. We also wanted to guarantee that the generated Zunk doesn't match an existing Punk. We took all 10k Punks, converted them into our string representation, and seeded the contract with these Punks so that the contract may validate against them.

  7. Now when the contract generates a Zunk or a user rerolls an attribute, the contract will validate that it does not match any existing Zunks or Punks. After the Zunk is confirmed to be unique and minted, the contract emits an event of the string representation of the Zunk.

  8. Our goal is to innovate and to bring a unique and fun minting

Related Skills

View on GitHub
GitHub Stars27
CategoryDevelopment
Updated1mo ago
Forks16

Languages

Solidity

Security Score

80/100

Audited on Feb 13, 2026

No findings