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.
| 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. |
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 2017CryptoPunkscontract.- TypeScript SDK — the collection-first SDK entry point.
Requires pnpm@10. If not installed:
npm install -g pnpm@10Install all workspace dependencies:
pnpm installThe 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 devpnpm test # contracts + SDK
pnpm typecheck # all packages
pnpm format # prettier
pnpm docs:dev # local VitePress previewPer-package scripts (Hardhat tasks, Ponder dev, Nuxt dev, Kamal deploys) are documented in each package's README.