---
title: "For Artists — Start Here"
description: "Everything an artist needs before releasing on Price Discussion, on one page: the road from first message to live Project, the terms at a glance, what you'll need, how it maps from Art Blocks and fxhash, and a starter kit to try tonight."
category: "for-artists"
keywords: ["artists", "start here", "getting started", "release", "generative art", "on-chain", "art blocks", "fxhash", "starter kit", "terms", "overview"]
last_updated: "2026-10-20"
---

# For Artists — Start Here

Price Discussion is a generative art platform on Ethereum. You write a script.
It's stored on chain, in your own contract, deployed from your own wallet.
Every mint draws a new Output from its own hash, and the art renders from
Ethereum alone, with no server and no pinning service behind it.

This page is the whole picture in one place: how a release goes, what the
terms are, and what you'll need. Every other artist page goes deeper on one
part of it.

**How:** Read this page, try the starter kit, then DM [brendonrell](https://x.com/brendonrell) on X when you're ready to talk.

## The road, start to finish

Six steps from first message to a live Project. Tap NEXT; the pictures are the
real app.

```show steps
{
  "caption": "A release on PD, start to finish. Reliquary, one of PD's test Projects, is the example.",
  "steps": [
    { "say": "Say hello. Every artist conversation runs through a DM on X to brendonrell. Questions are welcome before anything formal." },
    { "say": "Get whitelisted. If it's a yes, your wallet is added to the factory's artist whitelist on chain. It's quiet: nothing about it shows anywhere public until you release." },
    { "say": "Build your draft in PD Studio. Name, supply, your price, your script. Anyone can do this part, before approval and without a wallet.",
      "show": { "kind": "studio", "view": "onchain", "name": "Reliquary", "symbol": "RELIQ", "supply": 111, "price": "0.0093", "ethUsd": 2376, "colorway": "#15121D" } },
    { "say": "Test it as many times as you like. Each run mints your real script from fresh hashes, in the exact page the chain will serve, and checks your traits. This is Reliquary's own code running.",
      "show": { "kind": "studio", "view": "run", "script": "example", "size": 8, "autorun": true } },
    { "say": "Publish from your wallet. PD's card shows the gas first, then you sign. Your contract and its royalty splitter deploy together, and your drop opens in that block.",
      "show": { "kind": "confirm", "button": "PUBLISH ON CHAIN", "question": "Put this script on-chain · 1 transaction · about 0.0005725 ETH (~$1.36) at today's gas?", "ok": "Publish" } },
    { "say": "Get paid as it mints. 95% of your price reaches your wallet inside every mint transaction. Collectors see one price: yours plus the storage fee.",
      "show": { "kind": "studioprice", "price": "0.0093", "ethUsd": 2376 } }
  ]
}
```

## The terms at a glance

| | On PD |
| --- | --- |
| **Where the art lives** | Fully on Ethereum. Your script is stored on chain, and every Output's `tokenURI` renders from chain data alone. |
| **Your contract** | Your own ERC-721, deployed from your wallet. Your wallet is its artist address, permanently. |
| **Languages** | Plain JavaScript, or p5.js 1.11.13 (stored on chain, frozen at that version). |
| **Script space** | Up to 1.5 MB, script and library together. |
| **Supply** | 22 to 9,999 Outputs. |
| **Price** | Fixed, in ETH, set by you. An open, fixed-price mint. |
| **What collectors pay** | Your price plus a flat storage fee (0.0007 ETH today) that funds each Output's preview, reveal and records. One total, shown as one price. |
| **Primary** | 95% of your price to you, paid inside each mint. 5% to PD. |
| **Secondary** | 5% royalty (EIP-2981): 3% to you, 2% to PD, through your Project's own splitter. |
| **Your own mints** | As many as you like, for the storage fee alone. |
| **What you pay** | The gas to store your script, from your wallet, once. Nothing else: no listing fee, no monthly fee. |
| **Randomness** | `tokenData.hash`, made from the block after each mint, so nobody can see an outcome and undo it. |
| **The drop** | Opens the moment you deploy, with a 60-second entry minute. If more people want in than you have Outputs, a verifiable draw decides, at your price. |
| **Traits** | Optional, set in your code, with PD's Subtraits layer if you want it. They live in the art on chain, and PD's app shows them; the token's metadata stays a fixed set of facts. |
| **After you deploy** | Name, symbol, supply, price, script, language and colorway can never change. Your soundtrack, Looks and Showcase can. |
| **Between releases** | 60 days, counted from each deployment. |

The details behind every row: [How PD Works](/docs/for-artists/how-pd-works),
[Writing for the Chain](/docs/for-artists/writing-for-the-chain),
[The Mint Flow](/docs/for-artists/the-mint-flow) and
[Royalties](/docs/for-artists/royalties).

## What you'll need

- **Your script.** It reads `tokenData.hash` and draws the same Output every
  time for the same hash. No network requests, no `Math.random`, no clock.
- **An Ethereum wallet with some ETH**, to pay the gas that stores your
  script. PD Studio estimates it in dollars before you sign, and works on your
  phone.
- **A colorway:** one hex color that becomes your Project's signature, written
  into every Output.
- **A soundtrack:** a public YouTube playlist that plays on your Project page.
  The Studio asks for one before it lets you publish.
- **A PriceSprite:** your Project's little face. You pick its vibe in the
  Studio; it's permanent.

## Coming from Art Blocks or fxhash

Most of what you know carries straight over:

| You know | On PD |
| --- | --- |
| Art Blocks' `tokenData.hash` and `tokenData.tokenId` | The same object, with the same two names. |
| fxhash's `$fx.hash` and `$fx.rand()` | `tokenData.hash`. Seed your own generator from it; there's a copy-paste one in [Writing for the Chain](/docs/for-artists/writing-for-the-chain#what-your-script-receives). |
| fxhash's `$fx.features({ … })` | `window.$traits = { … }`, plus `window.$subtraits` if you group values. See [What are Subtraits?](/docs/for-artists/what-are-subtraits) |
| fxhash's `$fx.preview()` | A capture delay you set in the Studio, 1 to 10 seconds. PD takes the preview picture after it. |
| A library dependency | p5.js 1.11.13, stored on chain, or plain JavaScript with nothing added. |
| Your project page on the platform | Your Project page on PD, plus your own contract that anyone can read without PD. |

## Try it tonight

The **[PD starter](/starter/pd-starter.html)** is one HTML file that works like
the page Ethereum serves for every Output. Open it in any browser: each reload
is a new Output from a fresh hash, and `?hash=0x…` pins one. It carries a seeded
generator, traits with subtraits, and a canvas that fills any screen. Replace
the drawing with yours, then paste the marked part into
[PD Studio](/studio) and run test mints there. No wallet and no account needed.

## Read next

1. [How PD Works](/docs/for-artists/how-pd-works): the platform from your side,
   and the economics.
2. [Writing for the Chain](/docs/for-artists/writing-for-the-chain): what your
   script receives, the rules it follows, and a checklist.
3. [PD Studio — Upload & Testing](/docs/studio/upload-and-testing): your first
   upload, step by step.
4. [Artist FAQ](/docs/for-artists/faq): the questions artists ask before they
   commit.
5. [Get in Touch](/docs/for-artists/get-in-touch): how to start the
   conversation.
