{"id":21585422,"url":"https://github.com/cryptopunksnotdead/punks.contracts","last_synced_at":"2025-04-10T20:07:52.255Z","repository":{"id":29650949,"uuid":"33192631","full_name":"cryptopunksnotdead/punks.contracts","owner":"cryptopunksnotdead","description":"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","archived":false,"fork":false,"pushed_at":"2022-02-11T13:31:02.000Z","size":877,"stargazers_count":27,"open_issues_count":0,"forks_count":17,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T17:52:43.362Z","etag":null,"topics":["cryptopunk","cryptopunks","punkverse","wpunks","wpunks1"],"latest_commit_sha":null,"homepage":"https://cryptopunksnotdead.github.io","language":"Solidity","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cryptopunksnotdead.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-31T15:16:05.000Z","updated_at":"2024-03-25T22:08:40.000Z","dependencies_parsed_at":"2022-07-27T22:19:51.047Z","dependency_job_id":null,"html_url":"https://github.com/cryptopunksnotdead/punks.contracts","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cryptopunksnotdead%2Fpunks.contracts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cryptopunksnotdead%2Fpunks.contracts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cryptopunksnotdead%2Fpunks.contracts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cryptopunksnotdead%2Fpunks.contracts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cryptopunksnotdead","download_url":"https://codeload.github.com/cryptopunksnotdead/punks.contracts/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248288347,"owners_count":21078903,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cryptopunk","cryptopunks","punkverse","wpunks","wpunks1"],"created_at":"2024-11-24T15:10:38.902Z","updated_at":"2025-04-10T20:07:52.235Z","avatar_url":"https://github.com/cryptopunksnotdead.png","language":"Solidity","funding_links":[],"categories":[],"sub_categories":[],"readme":"Crypto Collectibles Series -\n[Cats](https://github.com/cryptocopycats/contracts) ·\n[Punks](https://github.com/cryptopunksnotdead/contracts)\n\n\n# CryptoPunks Blockchain Contracts / Services\n\n_Code on the Blockchain - Electronic Contract Scripts_\n\n\n\n## Timeline\n\n_Punk Contracts by Creation Date_\n\n**2017**\n\nJune 9, 2017 (Block #3842489) - **/punks-v1** - CryptoPunks Classic V1 - \"First Deploy\"\n\nJune 22, 2017 (Block #3914495) - **/punks-v2** - CryptoPunksMarket\n\n\n**2020**\n\nSeptember 8, 2020 (Block #10821737) - **/punks-v2-wrapped** - Wrapped Punks (WPUNKS)\n\n\n**2021**\n\nMarch 25, 2021 (Block #12105923) - **/punks-v1-wrapped-i** - Wrapped Punks V1 (WPUNKS1), \"Classic Edition\"\n\n\nJune 14, 2021 (Block #12630376) - **/phunks** - CryptoPhunks (PHUNKS)\n\nJune 21, 2021 (Block #12674389) - **/phunks** - CryptoPhunksV2 (PHUNKS)\n\nJune 29, 2021 (Block #12731429) - **/hdpunks** - HD Punks (HDPUNKS)\n\nAugust 7, 2021 (Block #12975638) - **/zunks** - Zunks (ZUNK)\n\nAugust 7, 2021 (Block #12979903)  - **/bored** - BoredPunkYachtClub (BPYC)\n\nAugust 15, 2021  (Block #13026517) - **/expansion-i** - ExpansionPunks (XPUNKS)\n\nAugust 18, 2021 (Block #13045935) - **/punksdata** - CryptoPunksData Update / Add-On / Service\n\nAugust 27, 2021 (Block #13107807) - **/international** - InternationalPunks (INTPUNKS)\n\nSeptember 1, 2021 (Block #13138993) - **/ape** - ApePunks (APEK)\n\nSeptember 13, 2021 (Block #13214597) - **/other** - OtherPunks (OPUNKS)\n\nSeptember 21, 2021 (Block #13268745) - **/currency** - CurrencyPunks (CUPU)\n\nSeptember 23, 2021 (Block #13283328) - **/mineable** - MineablePunks (MPUNKS)\n\nOctober 2, 2021 (Block #13339194) - **/society** - LostPunkSociety (LPS)\n\nDecember 16, 2021 (Block #13817852) - **/phunks-v2-market** -  CryptoPhunksMarket\n\nDecember 30, 2021 (Block #13906069) - **/expansion-ii** - ExpansionPhunks (PHUNX)\n\n\n\n**2022**\n\nJanuary 17, 2022 (Block #14022431) - **/punks-v1-wrapped-ii** - Wrapped Cryptopunks V1 (WPV1)\n\nJanuary 24, 2022 (Block #14066948) - **/punks-v1-market** - PunksMarket\n\nFebruary 2, 2022 (Block #14127834) - **/punks-v3** -  Cryptopunks V3 (V3PUNK)\n\nFebruary 3, 2022 (Block #14132029) - **/phunks-v3** - Phunks V3 (V3PHNKS)\n\nFebruary 4, 2022 (Block #14138557) - **/punks-v4** - Cryptopunks V4 (V4PUNK)\n\n\nFebruary 5, 2022 (Block #14142987)  - **/phunks-v1-wrapped** - Wrapped Cryptophunks V1 (WPHV1)\n\n\n\n## Historic V1  - \"First Deploy\"\n\n\u003e When CryptoPunks launched, the contract was exploitable.\n\u003e Sellers didn't get paid. LarvaLabs quickly launched a fixed version\n\u003e of the contract, which everyone uses.\n\u003e\n\u003e But the V1 tokens are still out there.\n\n\u003c!--\nhttps://twitter.com/seeker_curious/status/1375112685746941955\nhttps://twitter.com/seeker_curious/status/1374605517444706306\n--\u003e\n\n### /punks-v1 - CryptoPunks\n\nEtherscan\n\n- CryptoPunks, see contract address [`0x6Ba6f2207e343923BA692e5Cae646Fb0F566DB8D`](https://etherscan.io/address/0x6Ba6f2207e343923BA692e5Cae646Fb0F566DB8D#code), June 9, 2017 12:22:50 AM (Block #3842489)\n\n\n### /punks-v1-wrapped-i - Wrapped Punks V1 (WPUNKS1)\n\nEtherscan\n\n- PunksV1Wrapper (WPUNKS1), see contract address [`0xf4a4644e818c2843ba0aabea93af6c80b5984114`](https://etherscan.io/address/0xf4a4644e818c2843ba0aabea93af6c80b5984114#code), March 25, 2021 04:26:43 AM (Block #12105923)\n\n\n### /punks-v1-wrapped-ii - Wrapped Punks V1 (WPV1)\n\nEtherscan\n\n- PunksV1Wrapper (WPV1), see contract address [`0x282bdd42f4eb70e7a9d9f40c8fea0825b7f68c5d`](https://etherscan.io/address/0x282bdd42f4eb70e7a9d9f40c8fea0825b7f68c5d#code), January 17, 2022 10:15:07 AM (Block #14022431)\n\n\n### /punks-v1-market -  PunksMarket\n\n\nEtherscan\n\n- PunksMarket, see contract address [`0x759c6c1923910930c18ef490b3c3dbeff24003ce`](https://etherscan.io/address/0x0x759c6c1923910930c18ef490b3c3dbeff24003ce#code),\nJanuary 24, 2022 07:23:43 AM  (Block #14066948)\n\n\n\n\n## Classic V2\n\n### /punks-v2 - CryptoPunksMarket\n\nEtherscan\n\n- CryptoPunkMarket, see contract address [`0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb`](https://etherscan.io/address/0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb#code), June 22, 2017 07:40:00 PM (Block #3914495)\n\n\nFor more see [**Inside the CryptoPunksMarket Blockchain Contract / Service »**](punks-v2)\n\n\n### /punksdata  - CryptoPunksData Update / Add-On / Service\n\n\u003e On-chain Cryptopunk images and attributes, by Larva Labs.\n\u003e\n\u003e This contract holds the image and attribute data for the Cryptopunks\n\u003e  on-chain.\n\u003e The Cryptopunk images are available as raw RGBA pixels,\n\u003e or in SVG format.\n\u003e The punk attributes are available as a comma-separated list.\n\u003e Included in the attribute list is the head type\n\u003e (various color male and female heads,\n\u003e plus the rare zombie, ape, and alien types).\n\nEtherscan\n\n- CryptoPunksData, see contract address [`0x16f5a35647d6f03d5d3da7b35409d65ba03af3b2`](https://etherscan.io/address/0x16f5a35647d6f03d5d3da7b35409d65ba03af3b2#code),\nAugust 18, 2021 12:10:24 AM (Block #13045935)\n\n\n\nNote:  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\nbut in the 266 transaction (txn) inputs.   See [punksdata/transactions.txt](punksdata/transactions.txt).\n\n\n\n\n\n\n### /punks-v2-wrapped - Wrapped Punks (WPUNKS)\n\nEtherscan\n\n- WrappedPunk (WPUNKS), see contract address [`0xb7f7f6c52f2e2fdb1963eab30438024864c313f6`](https://etherscan.io/address/0xb7f7f6c52f2e2fdb1963eab30438024864c313f6#code), September 8, 2020 03:11:25 PM (Block #10821737)\n\n\nFor more see [**Inside the Wrapped Punk (WPUNKS) Blockchain Contract / Service »**](punks-v2-wrapped)\n\n\n\n\n\n## V3, V4, V5, V6, ...\n\n### /punks-v3 - Cryptopunks V3 (V3PUNK)\n\nEtherscan\n\n- Cryptopunks V3 (V3PUNK), see contract address [`0xD33c078C2486B7Be0F7B4DDa9B14F35163B949e0`](https://etherscan.io/address/0xD33c078C2486B7Be0F7B4DDa9B14F35163B949e0#code), February 2, 2022 04:57:59 PM (Block #14127834)\n\n\n\n### /punks-v4 - Cryptopunks V4 (V4PUNK)\n\nEtherscan\n\n- Cryptopunks V4 (V4PUNK), see contract address [`0xd12882c8b5d1bccca57c994c6af7d96355590dbd`](https://etherscan.io/address/0xd12882c8b5d1bccca57c994c6af7d96355590dbd#code), February 4, 2022 08:57:46 AM  (Block #14138557)\n\n\n\n\n\n## More\n\n### /phunks (v1 \u0026 v2) - CryptoPhunks (PHUNKS)\n\nEtherscan\n\n- CryptoPhunks (PHUNKS), see contract address [`0xa82f3a61f002f83eba7d184c50bb2a8b359ca1ce`](https://etherscan.io/address/0xa82f3a61f002f83eba7d184c50bb2a8b359ca1ce#code), June 14, 2021 04:18:53 AM (Block #12630376)\n\n- CryptoPhunksV2 (PHUNKS), see contract address [`0xf07468ead8cf26c752c676e43c814fee9c8cf402`](https://etherscan.io/address/0xf07468ead8cf26c752c676e43c814fee9c8cf402#code), June 21, 2021 12:07:08 AM (Block #12674389)\n\n\n### /phunks-v1-wrapped - Wrapped Cryptophunks V1 (WPHV1)\n\n\n\u003e Q: Why wrapped?\n\u003e\n\u003e A: Cryptophunks V1 are buggy. Philip (the intern) is every image.\n\u003e\n\u003e Q: How do you wrap a Phunk V1?\n\u003e\n\u003e A: You send your Phunk V1 to\n\u003e  `0x235d49774139c218034c0571ba8f717773edd923` with `safeTransferFrom()`\n\u003e  and the wrapping occurs in the `onERC721Received()` callback!\n\nEtherscan\n\n- Wrapped Cryptophunks V1 (WPHV1), see contract address\n[`0x235d49774139c218034c0571ba8f717773edd923`](https://etherscan.io/address/0x235d49774139c218034c0571ba8f717773edd923#code), February 5, 2022 01:04:58 AM (Block #14142987)\n\n\n\n### /phunks-v2-market - CryptoPhunksMarket\n\nEtherscan\n\n- CryptoPhunksMarket, see contract address [`0xd6c037bE7FA60587e174db7A6710f7635d2971e7`](https://etherscan.io/address/0xd6c037bE7FA60587e174db7A6710f7635d2971e7#code), December 16, 2021 06:40:01 PM (Block #13817852)\n\n\n### /phunks-v3 - Phunks V3 (V3PHNKS)\n\nEtherscan\n\n- Phunks V3 (V3PHNKS), see contract address [`0xA19f0378A6F3f3361d8e962F3589Ec28f4f8F159`](https://etherscan.io/address/0xA19f0378A6F3f3361d8e962F3589Ec28f4f8F159#code), February 3, 2022 08:49:52 AM (Block #14132029)\n\n\n\n\n\n\n### /hdpunks - HD Punks (HDPUNKS)\n\nEtherscan\n\n- HDPunks (HDPUNKS), see contract address [`0x3e86e26915403ae0e1cff7e7b23377b3a30104a0`](https://etherscan.io/address/0x3e86e26915403ae0e1cff7e7b23377b3a30104a0#code), June 29, 2021 09:52:03 PM (Block #12731429)\n\n\n\n\n\n### /zunks -  Zunks (ZUNK)\n\nweb: [cryptozunks.com](https://www.cryptozunks.com)\n\n\u003e CryptoPunks were the first 10,000. CryptoZunks are the last 10,000.\n\u003e\n\u003e Numbered 10,000 - 19,999, Zunks are the first Punks to be\n\u003e generated on-chain with randomized attributes.\n\u003e Spin to mint your base model Zunk and re-roll any attributes.\n\u003e\n\u003e\n\u003e  How does on-chain generation for Zunks work? How do we keep Zunks unique from existing Punks?\n\u003e\n\u003e 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?\n\u003e\n\u003e 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.).\n\u003e\n\u003e 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.\n\u003e\n\u003e 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.\n\u003e\n\u003e 5) We've run thousands of simulations and have validated that we can reliably generate 10k unique Zunks Partying face\n\u003e\n\u003e 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.\n\u003e\n\u003e 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.\n\u003e\n\u003e 8) Our goal is to innovate and to bring a unique and fun minting experience that gives some power to the user, while still upholding the ethos of decentralization. Every Zunk is randomly generated on chain, your Zunk's destiny is in your hands!\n\u003e\n\u003e -- [Amanda](https://twitter.com/0xMandy/status/1423678586494410754)\n\u003e\n\u003e\n\u003e All 10,000 Zunks have been minted!\n\u003e A lot of dizziness from all of the spins today.\n\u003e\n\u003e -- [CryptoZunks](https://twitter.com/CryptoZunks/status/1424165997733289992), Aug 8, 2021\n\u003e\n\u003e\n\u003e Commentary:\n\u003e The devs are raking in at least $1.35 million dollars\n\u003e with the mint of 10,000 Zunks\n\u003e and will of course profit a\n\u003e substantial amount of all future sales.\n\n\nEtherscan\n\n- CryptoZunks (ZUNK), see contract address [`0x031920cc2d9f5c10b444fd44009cd64f829e7be2`](https://etherscan.io/address/0x031920cc2d9f5c10b444fd44009cd64f829e7be2#code), August 7, 2021 04:01:17 AM (Block #12975638)\n\n\n### /bored - BoredPunkYachtClub (BPYC)\n\nEtherscan\n\n- BoredPunkYachtClub (BPYC), see contract address [`0x488a85d21ac95c9bb0cdaa0d2bfa427fcea88d1e`](https://etherscan.io/address/0x488a85d21ac95c9bb0cdaa0d2bfa427fcea88d1e#code),\nAugust 7, 2021 07:38:45 PM (Block #12979903)\n\n\n\n### /expansion-i  -  ExpansionPunks (XPUNKS)\n\nEtherscan\n\n- ExpansionPunks (XPUNKS), see contract address [`0x0d0167a823c6619d430b1a96ad85b888bcf97c37`](https://etherscan.io/address/0x0d0167a823c6619d430b1a96ad85b888bcf97c37#code),\nAugust 15, 2021 12:13:20 AM  (Block #13026517)\n\n\n\n### /expansion-ii  -  ExpansionPhunks (PHUNX)\n\nEtherscan\n\n- ExpansionPhunks (PHUNX), see contract address [`0x71eb5c179ceb640160853144cbb8df5bd24ab5cc`](https://etherscan.io/address/0x71eb5c179ceb640160853144cbb8df5bd24ab5cc#code), December 30, 2021 10:14:39 AM  (Block #13906069)\n\n\n\n### /international - InternationalPunks (INTPUNKS)\n\nEtherscan\n\n- InternationalPunks (INTPUNKS), see contract address [`0x7b89c26ff23be91695bdafb2fc80ab919f2d2a4e`](https://etherscan.io/address/0x7b89c26ff23be91695bdafb2fc80ab919f2d2a4e#code),\nAugust 27, 2021 01:59:04 PM  (Block #13107807)\n\n\n\n### /ape - ApePunks (APEK)\n\nEtherscan\n\n- ApePunks (APEK), see contract address [`0x97f2eed9a7d3edbbca56120ed26795a5467f57fc`](https://etherscan.io/address/0x97f2eed9a7d3edbbca56120ed26795a5467f57fc#code),\nSeptember 1, 2021 09:34:09 AM (Block #13138993)\n\n\n### /other - OtherPunks (OPUNKS)\n\nEtherscan\n\n- OtherPunks (OPUNKS), see contract address [`0x1a9b1bb73ed02db2dc3cd0d25adb42ad4d06389f`](https://etherscan.io/address/0x1a9b1bb73ed02db2dc3cd0d25adb42ad4d06389f#code),\nSeptember 13, 2021 01:58:38 AM (Block #13214597)\n\n\n\n### /currency - CurrencyPunks (CUPU)\n\nEtherscan\n\n- CurrencyPunks (CUPU), see contract address [`0xe433e90c5b898819544346e73a501d9e8013dbd8`](https://etherscan.io/address/0xe433e90c5b898819544346e73a501d9e8013dbd8#code),\nSeptember 21, 2021 11:04:00 AM (Block #13268745)\n\n\n\n### /mineable - MineablePunks (MPUNKS)\n\n\u003e Mineable punks are generated using cryptopunk assets, all on-chain.\n\u003e Mineable punks cannot be claimed; they must be mined. A valid 256-bit hash can be fed through\n\u003e an on-chain minting function that uses the probability distribution and assets of the original 10,000 cryptopunks\n\u003e to generate an mineable punk.\n\n\nEtherscan\n\n- MineablePunks (MPUNKS), see contract address [`0x595a8974c1473717c4b5d456350cd594d9bda687`](https://etherscan.io/address/0x595a8974c1473717c4b5d456350cd594d9bda687#code),\nSeptember 23, 2021 05:31:33 PM (Block #13283328)\n\n\n\n### /society - LostPunkSociety (LPS)\n\n\u003e It's a boy! Lost Punk #10012 was minted as the child of crypto punk #1340\n\u003e and lost punk #10005.\n\u003e\n\u003e It's a girl! Lost Punk #10011 was minted by as the child of\n\u003e crypto punks #7822 and #9271.\n\u003e\n\u003e  o o o\n\u003e\n\u003e If you own both a male and a female crypto punk,\n\u003e you can mint two children for free,\n\u003e and it's all happening 100% on-chain.\n\u003e\n\u003e Note: You only need real crypto punks to mint the first generation.\n\u003e The next generation punks could become a cheaper entry point\n\u003e when supply gets large enough.\n\u003e\n\u003e Every time a lost punk child is minted, it can be used to mint more children.\n\u003e Parents can be two crypto punks, two lost punks, or a mix of both,\n\u003e and you can use parents from different generations to mint.\n\u003e\n\u003e The cost of minting does increase linearly by 0.05 ETH\n\u003e per generation to avoid flooding supply\n\u003e and every parent can have max two children\n\u003e and you cannot mint from parents that are closely related,\n\u003e so we are unlikely to see thousands of lost punks soon...\n\n\n\nEtherscan\n\n- LostPunkSociety (LPS), see contract address [`0xa583beacdf3ed3808402f8db4f6628a7e1c6cec6`](https://etherscan.io/address/0xa583beacdf3ed3808402f8db4f6628a7e1c6cec6#code),\nOctober 2, 2021 09:57:19 AM (Block #13339194)\n\n\n\n## Questions? Comments?\n\nPost them on the [CryptoPunksDev reddit](https://old.reddit.com/r/CryptoPunksDev). Thanks.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcryptopunksnotdead%2Fpunks.contracts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcryptopunksnotdead%2Fpunks.contracts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcryptopunksnotdead%2Fpunks.contracts/lists"}