# CryptoPunks Floor, Sales and Holders: On-Chain Market Tracker

> CryptoPunks floor price from the Punks' own on-chain market: lowest listing, top bids, every sale, wrapped Punks and the largest holders, with receipts.

Markdown copy of https://voltfincrypto.com/apps/cryptopunks-floor-sales-holders

**Question:** What is the CryptoPunks floor right now, what have Punks sold for and who holds them?

- Kind: Dashboard in Voltfin Vantage
- Topic: [NFTs and gaming](https://voltfincrypto.com/topics/nft-gaming)
- Chains: Ethereum
- Status: Planned. The data is not published yet, so this page states no figure; each figure will open its receipt when it is.

CryptoPunks launched in 2017, before the ERC-721 standard existed, with a marketplace written into the same contract that holds them. Listings, bids and sales all happen inside that contract, so the CryptoPunks floor is not an estimate from a marketplace's order book: it is the lowest open offer stored on Ethereum, readable at any block.

This dashboard reads that contract directly for the floor, the highest bids and every sale. It also adds Punks wrapped as ERC-721 tokens to trade on other marketplaces, so no sale or holder is missed. In 2025 Yuga Labs passed the CryptoPunks brand to the Infinite Node Foundation, a nonprofit; the tokens and their market contract stayed exactly as they were.

## Blueprint

### Market

The floor, bids and sales read from the Punks' own contract.

- **Floor** (ETH): The lowest public offer for sale in the CryptoPunks market contract at the latest block.
- **Highest bid** (ETH): The highest open bid on any Punk in the market contract at the latest block.
- **Sales, 30 days** (count): Punk sales in the last 30 days, native and wrapped, wash trades excluded.
- **Median sale, 30 days** (ETH): Median price of Punk sales in the last 30 days.
- **Every sale** (ETH): Every Punk sale in the period by date and price, marked as a listing sale, an accepted bid or a wrapped sale.

### Holders

Who holds Punks, how many are listed and how many are wrapped.

- **Punk holders** (count): Distinct addresses holding at least one Punk at the latest block, wrapped Punks counted under their owners.
- **Listed for sale** (%): Share of all Punks with a public offer for sale at the latest block.
- **Wrapped** (%): Share of all Punks held in wrapper contracts at the latest block.
- **ETH in the market contract** (ETH): ETH held by the market contract: open bids plus sale proceeds sellers have not yet withdrawn.
- **Largest Punk holders**: Largest holders by Punks owned, with labels for vaults, marketplaces and lending contracts.

Filters: Period (Last 30 days, 12 months or since 2017).

## How it will be measured

- The floor is the lowest public offer for sale in the CryptoPunks market contract at the latest block. Offers reserved for a single buyer are excluded, and an offer stops counting once its Punk moves.
- Native sales come from PunkBought events. When a bid is accepted the contract logs the sale with a zero price and buyer, so the price comes from the bid it filled and the buyer from the transfer.
- Wrapped Punks trade on other marketplaces as ERC-721 tokens; their sales are decoded from those marketplaces' fills, and their holders are the wrapper token's owners.
- Holders count each Punk once, under its owner in the market contract or, for a wrapped Punk, under the wrapper token's owner, so wrapping never double counts a Punk.
- ETH held by the market contract is split into open bids and sale proceeds sellers have not yet withdrawn, from its balance and its bid records.

## Data it needs

- `nft_sales_daily` (to build): NFT sales per collection, marketplace and chain per day: sales, buyers, sellers and volume in the payment token.
- `token_holders_snapshot` (to build): Holder counts, top holders and concentration shares of registry tokens at a pinned block, with contract and exchange labels.
- `address_labels` (to build): Labels for known addresses: exchanges, bridges, protocols, funds, treasuries, sanctioned addresses and known attackers.
- `native_prices_daily` (to build): Reference prices of major assets read from on-chain oracle feeds (Chainlink latestRoundData) at each day's last block, with each round's update time.
- Source: CryptoPunks market contract events: Assign, PunkTransfer, PunkOffered, PunkBidEntered, PunkBidWithdrawn, PunkBought and PunkNoLongerForSale
- Source: punksOfferedForSale and punkBids reads at the latest block, for the floor and the highest bids
- Source: Wrapped Punk token transfers and marketplace fills, for wrapped sales
- Source: punkIndexToAddress reads at a pinned block, checked against holders rebuilt from events
- Source: Chainlink ETH/USD at each sale block, for USD values

## Questions

### What is the CryptoPunks floor price?

The price of the cheapest Punk offered publicly for sale in the CryptoPunks market contract. Because listings live in that contract, the floor here is read from Ethereum itself at the latest block, and wrapped Punks listed elsewhere are shown separately.

### How are CryptoPunks different from other NFTs?

They predate ERC-721, so they are not standard NFT tokens. Ownership, listings and bids are kept in the original contract, and most marketplaces can only trade a Punk after it is wrapped in an ERC-721 contract.

### Why do some Punk sales show a price of zero?

When an owner accepts a bid, the original contract logs the sale with a zero price and buyer because of the order in which it clears the bid. The dashboard takes the price from the bid that was filled and the buyer from the transfer, so those sales are valued correctly.

### Who owns the CryptoPunks brand?

Yuga Labs bought the brand from Larva Labs, its creators, in 2022 and passed it to the Infinite Node Foundation in 2025. Owning a Punk's token is separate from owning the brand, and the token contract did not change.

### Who holds the most CryptoPunks?

The holders page ranks addresses by Punks owned, counting wrapped Punks under the wrapper token's owner and labelling known vaults, marketplaces and lending contracts, so a custody address is not mistaken for a collector.

## Glossary

- **Wrapped Punk**: A CryptoPunk deposited in a wrapper contract that issues an ERC-721 token for it, so it can trade on marketplaces built for that standard.
- **Offer for sale**: A listing stored in the CryptoPunks contract: a minimum price for a Punk, open to anyone or reserved for one address.
- **Punk bid**: ETH a buyer locks in the CryptoPunks contract for a specific Punk. The owner can accept it, and the bidder can withdraw it until then.

## Related apps

- [Pudgy Penguins NFT Tracker: Sales, Floor, Holders and PENGU](https://voltfincrypto.com/apps/pudgy-penguins-floor-sales-holders)
- [Bored Ape Yacht Club: BAYC Sales, Floor and Holders](https://voltfincrypto.com/apps/bored-ape-yacht-club-sales-holders)
- [Top NFT Collections Ranked by Sales, Buyers and Holders](https://voltfincrypto.com/apps/top-nft-collections-ranked)
- [NFT Sales Volume by Chain and Marketplace](https://voltfincrypto.com/apps/nft-sales-volume)
- [OpenSea Volume, Fees and Sales by Chain](https://voltfincrypto.com/apps/opensea-volume-fees-by-chain)
- [NFT Market Report: Monthly Sales, Buyers and Chains](https://voltfincrypto.com/apps/nft-market-report-monthly)

Build it in Voltfin Studio: https://app.voltfincrypto.com/signup?next=%2F
