DOCS

ETCH'D is an onchain art press and marketplace, a CypherPunks product. Artists publish the actual artwork file into EVM contract code and offer it through auctions or editions. Collectors can mint, bid and trade, with ownership and sales recorded onchain.

ETHEREUM + SHAPE

These docs explain how to publish a work, collect it, verify its contracts and understand the parts of ETCH'D that run onchain and offchain.

Wallet actions happen on desktop. Phones browse; connecting a wallet, signing in, minting, bidding and listing need a desktop browser for now.

What ETCH'D preserves

Etching writes the artwork's exact file bytes into contract code on the selected network. A sealed inscription records the completed work.

The website provides discovery, profiles and a convenient way to interact with the market. The artwork bytes and sale contracts exist onchain, independently of that interface. Retrieving the artwork independently requires access to a node on its network.

A badge, feed placement or recognisable contract address does not establish authorship. Check the artist and the sale's factory provenance before transacting.

Publish a work

Before you start

Etching is invite-only during the beta. Invited artists etch and sell; browsing, bidding and collecting are open to everyone. Your wallet has to be on the guest list to publish.

Use a desktop browser: on phones ETCH'D is browse-only for now. Connect your wallet on the network you intend to publish on, Ethereum or Shape, and have ETH there for the press run.

The press takes files up to 16 MB: images (PNG, JPEG, GIF, WebP, SVG), video (MP4, WebM) or a self-contained HTML file. The whole file goes onchain, so a large file costs far less on Shape than on Ethereum. The press shows the full cost before you sign anything that spends.

Prepare your file, title and description. Choose an auction or an edition and set its terms: for an auction, its length (1 to 7 days), when the clock starts and any reserve; for an edition, its price and size (1 to 100). Set your royalty, up to 10%, and an optional collection. For an allowlisted sale, choose who may bid or mint.

Check the description carefully. It can be up to 1,000 characters, is written into the token's onchain metadata at deployment, and cannot be edited afterwards.

How the press carries a run

A file goes onchain in many transactions. You sign for the file once and fund the run once; the press's relay wallets then send every one of those transactions for you, so your wallet never has to sign each piece.

Your deposit sits in your own vault in the relay escrow, RelayEscrowV5, never in the press's wallet. The press takes no relay margin. Each transaction reimburses the wallet that sent it for its own gas, bounded by your price cap and by the block's own base fee, and everything still in your vault when the work seals comes back to you.

The publishing process

  1. Configure the work. Choose the file, write the title and description, and set the sale terms.
  2. Sign in if needed. Sign a wallet message if your press session has lapsed.
  3. Sign the permit. An EIP-712 message bound to your file's exact size and rolling content root, the inscription store and the relay escrow. It lets the press write this file, and only this file, under your name.
  4. Fund the run. One transaction deposits the quoted amount into your vault. The quote names two numbers, both priced at the network's gas when you start: the fee, about 1.75× the gas the run is expected to burn so you are never asked for more mid-run, and the highest gas price the run may be charged at. Only you can raise either.
  5. Writing onchain. The press writes the bytes to InscriptionsV3 in chunks, and the progress card counts them as they land. Each transaction takes back its own gas from your vault, at your price cap or the network's price, whichever is lower. If gas rises above your cap, or the press is short of gas itself, the run waits rather than failing, and nothing is taken while it waits. The store seals only when the byte count and rolling content root match your permit.
  6. Authorise the sale. The press grinds a 0xC0DE address for your sale contract, then asks you to sign its authorisation. The page checks the contract's exact code and every term you entered before it asks. The press then deploys the sale through the factory; if it cannot carry the deployment, you confirm the deploy in your wallet instead.
  7. Authorise the sale in your collection (collections only). One transaction from your wallet lets the new sale deliver the work into your collection, under its title and description.
  8. Sign the claim. The last signature is your authorship claim: I made this work. It is mine to sell, and this signature is my name on that claim.

The interface keeps the run on one progress card, with its step count and bytes written visible throughout. Once sealed, the uploaded file becomes the art host's final copy, verified against the same content root.

What your wallet asks you to approve

RequestPurpose
Sign inA message that starts a press session; asked only when the session has lapsed.
PermitA signature binding your exact file to the inscription store and the relay escrow.
FundA transaction depositing the run's fee into your vault.
AuthoriseA signature authorising your sale contract's exact code and terms, which the press then deploys.
CollectionFor a work in a collection only: a transaction authorising the sale in your collection.
ClaimA signature on your authorship claim.

Review each request. A signature costs nothing; only a transaction moves ETH or spends gas. Creating a new collection adds one deploy transaction from your wallet, and if the press cannot carry a sale's deployment, your wallet sends that deploy too. If no relay serves a network, your wallet sends the upload itself: in one confirmation where the wallet can batch, otherwise one prompt per transaction. The bill's WALLET SIGNATURES line counts them before you start.

If a press run stops

The press's relay wallets take the gas for each transaction from your vault as they send it, never above the price cap named at deposit and never more than the fee. If gas rises above the cap, the run waits and is not charged for waiting: it resumes on its own when gas falls, or the same browser can raise the cap.

If the run stops before the seal, what comes back to you is what is left in the vault: the gas that went into the bytes that landed is spent.

If the service becomes unavailable, you can rescue the deposit directly onchain after the 48-hour lock and any bounded run lease still running. The lease can delay rescue, so 48 hours is not an unconditional recovery deadline.

After a permit's deadline, only you can seal the inscription. Rescue on an unsealed inscription returns what is left in the vault; rescue on a sealed one settles the run and returns the rest to you, whoever landed the seal.

Collect a work

Before minting, bidding or accepting a trade, check the artist, network, destination contract and total amount. Use the factory verification checks to confirm that a sale belongs to ETCH'D.

1 of 1 auctions

RuleHow it works
LengthThe artist picks 1 to 7 days.
StartThe clock starts at the first valid bid, or at an opening time the artist picked, between two hours and 90 days after deploying. A scheduled auction takes no bids before it opens; if its window closes without a bid, the next bid starts the clock again.
ReserveThe artist can set a reserve. Zero means no reserve.
Bid incrementEach bid must beat the standing bid by 5%, and by at least 0.0001 ETH.
Late bidsA bid in the last 10 minutes moves the end to 10 minutes after that bid.
SettlementAnyone can settle after the end: the work mints to the winner, and the hammer is set aside for the artist to withdraw. If nobody bid, only the artist can close the auction, and the work goes to the artist.
Unsettled auctionIf it is still unsettled two days after its end, the high bidder can reclaim the bid.

Auctions deployed by an earlier factory generation keep the terms they were deployed with; each work page shows its own clock.

Editions

An edition has a fixed mint price and a supply cap between 1 and 100. An edition of 1 is a fixed-price 1/1 sale, shown as 1/1 SALE: the first collector to mint it owns it. It stays open until it sells out or the artist closes it. Closing is permanent: the cap drops to the number already minted and the run cannot reopen.

Each mint pays the artist and ETCH'D's fee recipient directly. If either refuses the payment, its amount stays in the sale to withdraw.

Allowlisted sales

An allowlisted auction limits who can bid; an allowlisted edition limits who can mint.

The artist can select the top of the CR Leaderboard (the top 10, 25 or 50, or all of it), supply a custom list, or use both. The board ranks collectors by CR, Collector Reputation: Value Held + Consistency + Artist Support, summed across a collector's linked wallets.

A custom list takes up to 500 lines: addresses, ENS names or names on the board, and each entry brings its linked wallets. The board selection is a snapshot taken at deployment; later moves on the board change nothing.

A list can open to everyone 24 hours, 72 hours or 7 days after the sale goes live, or never. An allowlisted edition can also limit each listed wallet to 1 or 2 mints while the list holds.

The sale contract stores a Merkle root representing the eligible list. ETCH'D serves the proofs used to demonstrate that a wallet is included.

Secondary trading

ListingBookV3 supports public and private listings, offers on individual tokens and collection offers.

A public listing leaves the token in the owner's wallet until purchase. The book cannot see a transfer, so a listing outlives one: delist before moving a listed token, or the old price stands the moment it returns to the same wallet (the press asks a per-token approval, which the transfer clears, so a listing made here disarms itself; one made with a blanket approval does not). Offer funds are held by the contract until the offer is accepted or cancelled; a cancelled or beaten offer's funds wait in the book to withdraw. Settlement divides the payment between the royalty recipient, ETCH'D and the seller, each into their own balance in the book.

Getting paid

Edition mints pay the artist directly. Everything else waits in its contract until you withdraw it:

  • Artists. The EARNINGS tab on your own profile shows your proceeds and what is claimable. WITHDRAW ALL collects all of it: auction hammers from each sale, and your royalties and secondary sales from the market book on each network.
  • Collectors. Secondary sales and returned offers wait in the market book. On your own profile, open WALLET: each network with a balance shows a WITHDRAW row marked MARKET.

An outbid bidder is refunded straight away. If their wallet refuses the refund, it waits in the sale, and the work's page shows that wallet a WITHDRAW button.

Fees and royalties

ActionETCH'D feePayment allocation or cost
Primary auction or edition sale1%99% of the sale price goes to the artist.
Secondary trade through ListingBookV31%The declared ERC-2981 royalty, up to 10%, is also deducted. The seller receives the remainder.
Press runNo relay margin. Gas reimbursement onlyYou deposit the quote, about 1.75× the run's expected gas at its price cap. Each transaction takes back only its own gas; everything left when the work seals comes back to you, and so does what is left if the run never seals. Review the quote before signing; it locks when the run starts.

Are fees fixed?

The current deployed contracts fix the 1% primary fee, the 1% secondary fee and each chain’s fee recipient in bytecode. Those contracts do not provide an administrative setting to increase these rates.

Check the fee terms for the contract you use.

Royalties depend on where the trade happens. External marketplaces are not forced to honour ERC-2981 royalties. ETCH'D's secondary fee applies to trades through ListingBookV3, not trades elsewhere.

The percentages above describe sale proceeds. Review the wallet's network fee separately before submitting a transaction.

Explore the feed

The feed draws from the registry of admitted works, excludes house-blocked works and checks sale provenance against the relevant ETCH'D factory.

Choose a lens to change which works you see:

LensIncluded worksWhat Latest uses
AllEvery admitted work: auctions, editions and CypherPunks.Most recent activity of any kind.
Auctions1 of 1 auctions, with live sales first and sold works retained as history.Most recent bid, sale or etch activity.
EditionsEdition works, including available inventory and completed runs.Most recent mint, sellout or etch activity.
SecondaryWorks with at least one standing public listing in ListingBookV3.Newest standing listing.
FollowingWorks by people you follow, plus works they bought, won, bid on, currently hold or liked.Most recent activity connected to someone you follow.

The Following lens requires a connected wallet to identify your follow list.

Collectors is not currently enabled. The planned lens shows collectors' activity on feed tiles, ranked by Collector Reputation, with a search over verified collectors. It will be enabled once there is enough collected volume to support it.

Choose between column, wall and tile layouts. A slider adjusts card or tile width, and your layout preference is remembered in the browser.

Sorting and updates

Sort options include Latest, Ending Soonest, Most Bids, Almost Gone, Lowest Price, Highest Price and Heaviest. Options appear where relevant: Ending Soonest and Most Bids apply to auctions; Almost Gone applies to editions. The same menu filters by state (All, Live or Sold) and by artist (every artist, or verified artists only, those with a blue check).

The feed refreshes without inserting new cards into your current scroll position. A “new” notice lets you choose when to load them.

The CypherPunks algorithm is currently disabled. Its planned interaction with Latest is described below.

CypherPunks on ETCH'D

Every minted CypherPunk is a work of ETCH'D. The feed and the collection page carry all of them, in the order their auctions settled, and the face each token wears is read from the CypherPunks contract, never guessed from its number.

A punk claims only what is true of it. The 200 genesis punks read GENESIS and carry no price. A punk sold at the daily auction reads SOLD with its hammer price, taken from the auction house's own settlement record. The day's punk, the one the auction house still holds, reads LIVE: its bidding runs on cypherpunks.art, and the JOIN AUCTION button on its page takes you there.

ETCH'D never inscribed or sold a punk, so a punk's page names no sale contract and quotes no cost to inscribe. Its bytes line is the SVG the token contract itself draws, read from the chain. Its provenance card names the holder; the day's punk names nobody, because the auction house is the auction, not a holder.

Holders can list a punk on ETCH'D's listing book and take offers on it, like any other work. The collection page counts the way cypherpunks.art counts: HOLDERS are the owners of settled auctions and VOLUME is the hammer prices summed, so the two never disagree.

Collector Reputation

The CR Leaderboard ranks collectors by their recorded collecting across Ethereum. Collector Reputation (CR) combines the value and duration of their holdings, buying consistency and support for artists at primary sale. Collecting on other Ethereum platforms contributes too.

CR = Value Held + Consistency + Artist Support
ComponentWhat contributes
Value HeldEligible artworks currently held, weighted by their recorded value and holding duration. Longer holds increase the contribution; the formula applies diminishing returns to each piece's weighted value.
ConsistencyDistinct months with a recorded purchase by the collector.
Artist SupportDistinct artists supported through qualifying primary purchases that the collector still holds, subject to the formula's minimum purchase price and holding period.

Linked wallets count as one collector. Transfers between those wallets preserve the original acquisition date. A work that leaves the collector's linked wallets stops contributing to Value Held and may stop qualifying for Artist Support. Selling does not add a separate penalty or erase recorded purchase months.

Badges, account verification and purchases on ETCH'D add no separate CR bonus. CypherPunks are assessed under the same eligible holding rules as other artworks.

The formula is versioned. Open the information panel on the leaderboard for its current weights, price rules and holding requirements. Expand a collector's row to see their score breakdown and data coverage.

Using the leaderboard

Artists can use the board to discover collectors with a history of buying and holding digital art, and select its top collectors when creating an allowlisted sale. Review the underlying evidence and coverage when choosing a list.

Evidence and coverage

CR is a provisional score calculated offchain from available evidence. Coverage may omit wallets, purchases, artists or protocols, so the board does not represent every collector or their complete history. A low score or no recorded recent purchase can reflect missing evidence.

An incoming transfer alone does not establish a purchase. Marketplace and onchain OTC purchases require settlement evidence connecting the artwork, buyer, seller and payment. An attested OTC purchase requires house review and supporting records.

Recorded collection value uses the price sources described on the board. It is not a current appraisal or a guaranteed resale price. CR does not verify identity, trustworthiness or the quality of an artwork.

Join or correct the board

Use the submission and update controls on the leaderboard to put forward a wallet, request a profile correction, provide evidence for additional wallets or purchases, or share feedback. Submissions and wallet associations are reviewed before they change a collector's record.

The daily list

The leaderboard is also served as a plain list of addresses for anyone reading it by machine: stable collector ID, rank, CR and all linked addresses per row, with daily snapshots and no names, handles, pictures or evidence, with the terms inside the payload so the number never travels without its label. /api/cr/list is the current list, ?date=YYYY-MM-DD pins a day on file and /api/cr/list/dates lists the days kept. Snapshots are created on request from the available pass and may be corrected when a newer export arrives that day. Attribution to ETCH’D is required; daily refresh is not guaranteed. The list is provisional research data, coverage is partial by design, there is no service level, and nobody should be excluded from anything on this number alone without human review. A collector can claim or contest a row on the leaderboard.

/api/cr/list?date=2026-09-14
  • version, formula, policyId, calculatedAsOf, generatedAt, date: which calculation the list is and the day it belongs to.
  • provisional, terms: always true, and the summary, the claim link and this page.
  • counts: rows and ranked.
  • rows: rank (null when unranked), cr and addresses, the row's wallets lowercased and sorted.

The CypherPunks algorithm

Status: coming soon. The CypherPunks button currently opens an explanation card. It does not change the feed.

The following describes the planned behaviour when enabled. The algorithm provides an optional filter and ranking system for discovery. It does not change sale contracts, prices, ownership or royalties.

Which works qualify?

A work qualifies only after at least one CypherPunks-holding linked-wallet group likes it. Liking itself is open to CypherPunks holders only, so every voice the algorithm hears holds a CypherPunk. Likes are signed, offchain social actions.

Wallets connected through mutual signatures count as one collector group. Their CypherPunks weight is combined, but multiple likes from that group count only once.

How works are ranked

The score gives equal weight to collector voice and market pulse:

score = 0.5 × normalized collector voice + 0.5 × market pulse

Collector voice reflects the weight of qualifying groups that like the work. Each group's weight comes from:

  • Accumulated hold-days for every CypherPunk it currently holds, with a minimum of one day of weight per punk.
  • An additional 30 day-equivalents for each line the group has written to the onchain mailing list.

Voice is normalised against the strongest eligible work in the current result set. The resulting score is relative to that set, not a fixed rating of the artwork.

Market pulse reflects recency:

ComponentShare of pulseHalf-life
Mint/etch recency60%Seven days
Latest primary sale or edition mint40%Three days

A half-life is the time it takes for that recency contribution to halve. The economic-activity component receives a 1.5× boost when a current owner belongs to a CypherPunks-holding linked group. Total pulse is capped at 1.

How sorting changes the result

When enabled, selecting Latest with the algorithm on will use the server score. Selecting another sort will retain the CypherPunks-qualified set but order it by that field. The algorithm preference will be remembered in the browser.

Profiles and badges

Badges identify a specific account relationship. They are not KYC, proof of authorship, contract verification or endorsements.

BadgeWhat it means
Blue account checkAn X account is linked to the wallet and confirmed by the ETCH'D team.
CypherPunks badgeThe wallet's linked group holds a CypherPunk. It can appear on its own or beside a checkmark, for an artist or collector.
Gold featured checkThe account has a confirmed X association and has been published on HASH'D. The team records the editorial link.

To link your X account, open PROFILE on your profile page and choose CONNECT X. Your handle shows straight away; the blue check follows once the ETCH'D team confirms the link.

A blue account check or a gold featured check is what ETCH'D calls a verified collector. The separate Collectors feed lens is currently disabled.

Badges can appear across feed cards, work pages, comments, profiles, artist lists, activity and search. Following someone is separate from these badges.

Verify accounts and contracts separately. A social badge does not verify a sale contract. A 0xC0DE address prefix does not verify a person or prove factory provenance.

Moderation

ETCH'D controls what its service displays and serves. It cannot delete artwork bytes already written to the blockchain.

Sensitive works

A sensitive work remains available behind a click-to-reveal veil. The artist can label it when etching; the team, community reports or local image screening can also apply the veil.

Community reports

You must be signed in with a wallet to report a work. Each collector counts once: wallets in one linked group, or linked to the same X account, count as one reporter.

ReporterReport weight
CypherPunks-holding group3
Group with a linked X account, or an invited artist1
Any other signed-in wallet0, the report still reaches the team's queue

A total report score of 5 automatically veils a work the team has not reviewed. Reports cannot block or erase a work.

Local image screening

After a successful etch, a model on ETCH'D's server screens PNG and JPEG works. Artwork is not sent to a third-party AI service for this screening.

High-confidence results can apply a sensitive veil. Medium-confidence results create a note for human review.

GIF, WebP, SVG, HTML, video, images over 4,096 pixels on a side and failed classifications rely on artist labels, community reports and team review.

Team decisions

DecisionEffect
ClearRemoves the veil and prevents reports or the model from automatically reapplying it.
SensitiveKeeps the work available behind the reveal veil.
BlockedRemoves the work from ETCH'D's feed, profiles, work and share routes, artwork gateway, byte endpoint and thumbnails.

Blocking changes availability through ETCH'D. The inscription remains onchain and its bytes remain independently retrievable from a node.

Onchain and offchain

Onchain source of truthOffchain service
Artwork bytes, MIME type, byte count, sealed inscription state and token descriptionProfiles and X account associations
Artist, collection, sale and inscription relationshipsFollows, likes, comments and bookmarks
Auction bids, settlement and reclaim pathFeed ranking, thumbnails and moderation labels
Edition price, cap, mints and close stateEmail alerts and notification preferences
Secondary listings, offers, payouts and fee rulesWebsite and cached chain index

The offchain service makes the market easier to use. The chain records the artwork and contract state.

How artwork reaches your browser

Art, thumbnails, avatars and banners are delivered through art.etchd.art behind a content delivery network (CDN).

For a freshly etched work, the press verifies the uploaded artwork file against the content root signed by the artist and enforced when the inscription sealed. It checks cached artwork copies again on every read. If a copy fails verification, it is discarded and rebuilt using two independent RPC endpoints that agree on a finalised block.

The host and CDN deliver the content; the inscription supplies the reference used to check the artwork bytes. These integrity checks do not establish authorship or guarantee that the service will always be available.

Verify a contract

A checksummed 0xC0DE prefix is a visual marker. Anyone can search for an address with that prefix using the public CREATE2 deployer.

To check ETCH'D provenance:

  1. Identify the network the sale or collection is deployed on.
  2. Identify the ETCH'D factory for the work's deployment generation and network. The current addresses are listed below; older works may use an earlier factory.
  3. For a sale, call isCanonicalSale(address). For a collection, call isCanonicalCollection(address). The relevant check must return true. The factory's source is verified, so you can make these calls from the explorer's Read Contract tab.
  4. For a sale, inspect saleRecord(address). It records the artist, collection, inscription store, inscription ID, deployment block and configuration hash.
  5. Compare those records with the work and artist you intend to transact with.

Factory provenance confirms a contract's relationship to ETCH'D's deployment system. It does not establish copyright ownership or guarantee that the person publishing a file is its creator.

Contract addresses

These are the current deployments on each network the press runs on: the InscriptionsV3 store, RelayEscrowV5, the current Factory generation and ListingBookV3, read from the running press. Use the addresses for the work's network. Each one's source code is verified on its network's explorer, Etherscan for Ethereum and Shapescan for Shape, and on Sourcify, as an exact match to the deployed bytecode.

Works etched with earlier store generations remain readable at their original addresses. ETCH'D retains support for those generations. For older works, use the factory and store associated with that deployment; the table below is not a complete historical registry.

Contract Address
InscriptionsV3
RelayEscrowV5
Factory
ListingBookV3
Shared constant Address
Fee recipient on Ethereum (the team Safe)
Fee recipient on Shape (the CypherPunks treasury)
Universal CREATE2 deployer

Each network pays its fees to its own recipient, fixed in the contracts, and each link opens that network's explorer. The CREATE2 deployer is the same address on every network.

What each contract does

ContractPurpose
InscriptionsV3Stores and seals exact artwork bytes under an EIP-712 permit. After its deadline, only the artist can seal.
FactoryDeploys the pinned sale templates, Auction1of1V3, AuctionAllowlistV3, EditionSaleV2, EditionSaleAllowlistV2 and CollectionV2, and records provenance.
ListingBookV3Handles public and private listings, token and collection offers, and pull-payment settlement. Accepted offers are bound to their buyer and amount.
RelayEscrowV5Holds each run's deposit in the artist's own vault and controls the relayed storage calls. Each transaction reimburses the wallet that sent it for its own gas out of the vault, and what is left when the work seals goes back to the artist.
Sales and collectionsDeployed per work from the templates above; there is no single shared address for them. Each one is submitted for source verification on its network's explorer automatically, shortly after it deploys.
MetaEscapeV2Renders token metadata onchain, including the work's description.

Security and support

Before submitting a transaction, confirm the network, destination contract, value and fee summary in your wallet. For a sale, verify factory provenance on the work's network.

The contracts are tested with Foundry and released with pinned artifacts, deployment records, audit evidence and release-verification scripts. These help assess the implementation; they do not eliminate risk.

Report vulnerabilities to kenny@cypherpunks.art with SECURITY in the subject.

Contract licence: GPL-3.0-only. The marketplace software is proprietary.

Contracts: GPL-3.0. Marketplace software: proprietary. Documentation updated 23 September 2026.

SWIPE FOOTER ICONS TO NAVIGATE