Cryptopunk Sales and Traders

    Which 10 wallets are the most successful Cryptopunk traders? Successful could either mean the wallet has accumulated a large balance from sales or has accumulated a large number of Punks. Explain your methodology and findings.

    Questions


    Which 10 wallets are the most successful Cryptopunk traders? Successful could either mean the wallet has accumulated a large balance from sales or has accumulated a large number of Punks. Explain your methodology and findings.

    Approach


    At first, this bounty looks very easy, but if we want precise information, there are many subtle details in it, and we have tried our best to make it as precise as possible.

    Limitation

    • ETH price information only available since ‘2020-05-05’, causing nft_price_usd become zero before that date. However it is acceptable since CP (Cryptopunks) NFTs value at that time is respectively very low

    Transactions

    NFT Sale Tx is coarsely divided into 2 types

    1.) NFT in ERC-20 form (project_name = cryptopunks)

    2.) NFT in ERC-721 form (project_name = wrapped cryptopunks & Wrapped CryptoPunks V1)

    In ERC-20 form (project_name = cryptopunks), there are 2 types of origin_function_signature

    • 0x8264fe98: buyPunk(uint256 punkIndex) This is the most simple function, and is the majority of CP sale Tx. We can simply grab information from ethereum.core.ez_nft_sales table.
    • 0x23165b75: acceptBidForPunk(uint256 punkIndex, uint256 minPrice) For this function, we cannot simply get information from ethereum.core.ez_nft_salesas it will show

    BUYER_ADDRESS = 0x0000000000000000000000000000000000000000, and does not show NFT price.

    We decide to get information of this type of Tx from ethereum.core.fact_transactions table as we can get NFT price and punkIndex from input_data column, and get seller and buyer from tx_json column

    In ERC-721 form (project_name = wrapped cryptopunks )

    • 0xa4ddbaa6: buy(address token, uint256 tokenId, uint256 price, uint256 sellerFee, tuple signature) => buy in www.wrappedpunks.com platform

    we get this information from ethereum.core.fact_event_logs table where punkIndex, NFT price, seller and buyer are contained in EVENT_INPUTS column

    • 0xab834bab: atomicMatch_(address[14] addrs, uint256[18] uints, uint8[8] feeMethodsSidesKindsHowToCalls, bytes calldataBuy, bytes calldataSell, bytes replacementPatternBuy, bytes replacementPatternSell, bytes staticExtradataBuy, bytes staticExtradataSell, uint8[2] vs, bytes32[5] rssMetadata)

    => buy or accept bid in Opensea platform

    we can simply get sale information from ethereum.core.ez_nft_salestable

    project_name = Wrapped CryptoPunks V1

    • 0xb4e4b296: matchAskWithTakerBidUsingETHAndWETH(tuple takerBid, tuple makerAsk)
    • 0x38e29209: matchAskWithTakerBid(tuple takerBid, tuple makerAsk)
    • 0x3b6d032e: matchBidWithTakerAsk(tuple takerAsk, tuple makerBid)
    • 0xe99a3f80

    => buy or accept bid in LooksRare or Rarible platform

    we can simply get sale information from ethereum.core.ez_nft_salestable

    Conclusions


    Top 10 collectors with details are shown above

    • The winner is 0x1919db36ca2fa2e15f9000fd9cdc2edcf863e685 with 354 CPs, he bought 777 CPs and sold 423 CPs, with total lost of 62.9M USD

    Top 10 profitable traders with details are shown above

    • The winner is 0x6639c089adfba8bb9968da643c6be208a70d6daa with 54M profit, he bought 20 CPs and sold 189 CPs

    Note that this information is from sale in marketplaces only.

    We can see many weird result like the winner of profitable traders, he has negative sum of CPs equal to -179.

    This happens from OTC trade, where the sale is made between users without central marketplace.

    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Top 10 Collectors and Profitable Traders


    The Top10 CP Collectors and Profitable Traders are depicted below including more information of their

    Total NFT bought, Total USD spent, Total NFTs sold, Total USD gained, Total NFTs occupied, and total profit gained

    Top collectors

    The winner is 0x1919db36ca2fa2e15f9000fd9cdc2edcf863e685 with 354 CPs, he bought 777 CPs and sold 423 CPs, with total lost of 62.9M USD

    The runner up is 0x650dcdeb6ecf05ae3caf30a70966e2f395d5e9e5 with 106 CPs, he bought 106 CPs and does not sell any, with lost of 7M USD

    The 10th is 0x5f7190b7943858b7bdd24f069241612091c6a986 with 42 CPs, he bought 61 CPs and sold 19 CPs, with 73k USD profit

    5 out of 10 only bought, no sale

    4 out of 10 have positive total profit

    Top Profitable Traders

    The winner is 0x6639c089adfba8bb9968da643c6be208a70d6daa with 54M profit, he bought 20 CPs and sold 189 CPs

    The runner up is 0x6611fe71c233e4e7510b2795c242c9a57790b376with 34M profit, he bought 67 CPs and sold 209 CPs

    The 10th is 0x0232d1083e970f0c78f56202b9a666b526fa379fwith 14M profit, he bought 2 CPs and sold 136 CPs

    10 out of 10 have negative sum of NFTs holding

    We try to double check obtained result with information in CP website here

    We found that number of NFTs held in wallets does not match with our result at all, not even close !!

    However, wallet by wallet, number of NFTs bought and sold is nearly matched.

    What is happening? it’s OTC (Over The Counter) trade.

    The sale information we obtained so far is from sales that occur in the central market, like Opensea.

    However, most of users seem like to trade OTC; negotiate then transfer NFTs and money to each other without using any market platform.

    These NFTs Tx would appear in ethereum.core.ez_nft_transfers table.

    For more information, the winner of top collectors 0x1919db36ca2fa2e15f9000fd9cdc2edcf863e685, his ENS name is punksotc.eth.

    Hypothetically, this address is made for OTC trade, that’s why it has total NFTs of 354, but it really has only 3 when check in the website, because most NFTs were sold OTC.

    db_img

    Overall Statistics


    Since Jun 2017

    • There are CP Total Tx sale count 21.9k
    • Tx count of wrapped cyptopunks is 1,356, 6.19% of all Tx
    • Total sale volume of 2.37B USD, 0.88M ETH
    • Highest sale is on 28 Aug 2021 with 141M USD, 305 Tx count
    • Sale volume trend keeps decreasing until now

    Background


    What is a CryptoPunk?

    The CryptoPunks are 24x24 pixel art images, generated algorithmically. Most are punky-looking guys and girls, but there are a few rarer types mixed in: Apes, Zombies and even the odd Alien. Every punk has their own profile page that shows their attributes as well as their ownership/for-sale status (here's an example). source

    Wrapped Cryptopunks

    Wrapped Punks are ERC721 Tokens, each one backed 1:1 by an original Cryptopunk by Larvalabs. source