Skip to content

networked-art/cryptopunks

Repository files navigation

Networked CryptoPunks

Monorepo for the onchain CryptoPunks data, rendering, and market contracts, plus the TypeScript SDK, indexer, and front-end that build on them. All contracts target Ethereum mainnet only.

Packages

Package Name Purpose
contracts/ @networked-art/punks-contracts Hardhat 3 sources for PunksData, PunksRenderer, PunksMarket, the auction/vault system, and the batch unwrap helper for the broken June 9th 2017 CryptoPunks contract.
sdk/ @networked-art/punks-sdk Collection-first TypeScript SDK: local search and rendering, CryptoPunksMarket and PunksMarket reads/writes, Stash, criterion offers, and auctions.
indexer/ @networked-art/punks-indexer Ponder indexer that tracks CryptoPunks and CryptoPunksMarket, their ERC-721 wrappers, and PunksMarket, with USD-cent prices stamped per event.
punksmarket.app/ @networked-art/punksmarket.app Nuxt front-end for punksmarket.app and the unwrap.punksmarket.app helper.
docs/ @networked-art/punks-docs VitePress documentation site for the contracts and SDK.

Documentation

Full per-surface docs live in docs/. Highlights:

  • PunksData — trait masks, visual metrics, palette, indexed pixels, dataset commitments.
  • PunksRenderer — SVG, PNG-8, RGBA, marketplace backgrounds, ERC-721 metadata.
  • PunksMarket — the criteria-bid market that wraps the broken June 9th 2017 CryptoPunks contract.
  • TypeScript SDK — the collection-first SDK entry point.

Development

Requires pnpm@10. If not installed:

npm install -g pnpm@10

Install all workspace dependencies:

pnpm install

Running the front-end (punksmarket.app)

The SDK must be built before the Nuxt dev server can start — Vite resolves it from sdk/dist/ at runtime.

# 1. Build the SDK
pnpm --filter @networked-art/punks-sdk build

# 2. Set up the front-end env (only needed once)
cp punksmarket.app/.env.example punksmarket.app/.env
# Edit .env — set NUXT_RPC_URL to a mainnet JSON-RPC endpoint
# (e.g. https://eth.llamarpc.com for a free public one, or your Alchemy/Infura URL)

# 3. Start the dev server → http://localhost:3000
pnpm --filter @networked-art/punksmarket.app dev

Other commands

pnpm test           # contracts + SDK
pnpm typecheck      # all packages
pnpm format         # prettier
pnpm docs:dev       # local VitePress preview

Per-package scripts (Hardhat tasks, Ponder dev, Nuxt dev, Kamal deploys) are documented in each package's README.

About

Tools and SDKs for interacting with CryptoPunks.

Topics

Resources

License

Stars

Watchers

Forks

Contributors