From sketch to project

Prepare, preview and publish with the project wizard.

On this page

Use the project wizard to develop locally in your browser. Previewing a sketch does not create a project on Ethereum.

Prepare the project

Choose a project name, artist credit, description, initial mint price and maximum editions. Choose a code license that matches your intentions and any material you are building on. Publicly readable source does not by itself grant permission to reuse it.

The wizard supports p5js, threejs, vanillajs and glsl. Start with p5.js if it already fits your practice; use the renderer your work needs. The script reference explains the supplied context for each.

Keep the artwork self-contained where practical. A texture fetched from a server, an unpinned library, or a changing API response becomes another dependency someone must preserve to recreate the work.

Work through the five steps

  1. Project Details: enter the identity, edition limit, price, renderer and license. Save or export your draft before major edits.
  2. Art Script: load a starter or paste a complete script body. Built-in examples use the edition seed convention; their adapted seeds are intended for new projects. The Project seed ID and Edition seed ID fields let you keep the preview hash while varying its identity. Test multiple mint hashes and edition numbers, including repeated hashes with different edition IDs.
  3. Info Post: explain the work, its controls, intentional time dependence, attribution and license. This becomes a page post tagged info.immutables.art.
  4. CSS Style: preview the interface around the art. The wizard posts the style under style.immutables.art. Test phone widths and readable controls.
  5. Review & Deploy: check the exact script, page, account, network and current fees. Gas estimates are estimates. Large source posts must still fit the network's transaction limits; extra gas is not unlimited storage capacity.

Preview in UI opens your draft inside the full viewer. Its mint button creates local preview editions. These have synthetic hashes and are not blockchain tokens. Project ID and edition context in previews may differ from the eventual live project, so preview outputs are studies rather than promises of particular editions.

What publishing sends

The workflow can reserve an unclaimed code page, post optional information and CSS, post your script, and create the art project referencing the successful script-post transaction. These are separate transactions; each can complete independently.

The wizard wraps the script in a fenced javascript block and posts it with the code tag. Paste JavaScript into the editor, not an entire HTML document or an already fenced Markdown block.

Reserving a page mints the page NFT to the reserving account. A public-page post is not equivalent to reserving an owned page. If using an existing page, verify that the publishing account has the required posting rights.

For a partial deployment, inspect the recorded transaction receipts before retrying. The resume field accepts an existing script transaction hash. Reuse it only when its decoded content is the exact script you intend to publish.

After creation

A newly created project begins inactive and paused. A team member controls activation; the artist or team can control pause. Artist/team mints still require the configured price even when they bypass those publication restrictions. See project management.

Before announcing a release, test an actual edition's rendering and metadata, configure marketplace images if needed, confirm recipients, and decide when to lock the project. A lock is not a declaration that every setting can never change.

Source basis: project-wizard.html publishing functions, WizardProvider, and anyoneCreateProject / anyoneMintProjectEdition in the art contract.

Use this guide with an assistantRead the Artists & Coders brief