Competitive art experiment on Starknet

art/peace: a shared pixel canvas, onchain

Every player gets a few pixels at a time. Alone, that is a dot. Together, it is a mural. art/peace takes the idea of Reddit’s r/place to Starknet: pixel placements go through the game’s contracts, so the artwork the community builds is public and verifiable.

Try it: pixel sandbox

Pixels available: 5

Color

A local demo that runs in your browser — nothing is sent to Starknet. Pick one of the 15 base colors from art/peace, click or tap a cell (or use the arrow keys and Enter). Pixels come in a batch of 5 that refills after 5 seconds — the same pace the round 3 contest worlds used.

Four steps

How it works

  1. Connect a wallet

    The app offers Cartridge Controller, whose session keys place pixels without a wallet prompt for every click — the app sums it up as “No fees + Sessions!”. Standard Starknet wallets work too, and Phantom connects Solana users.

  2. Pick a color

    Each world has its own palette. The project’s canvas configuration ships 15 base colors, and a world’s creator chooses which colors that world uses.

  3. Place your pixels

    You get a small batch of pixels. Place them all and the button reads “Out of Pixels”; after that it counts down until the batch refills. Placements go through the art/peace contracts, so the state of the board is public.

  4. Build it together

    A single player cannot draw much alone. Communities pin stencils to the canvas as a shared guide and split the work across many players.

In the game

Features

The first rounds layered quests, color voting, factions and NFTs on top of pixel placement. The later app, used for the round 3 contest, is organized around four tabs: Canvas, Stencils, Rankings and Account.

Canvas, worlds, rounds

Worlds & rounds

Rounds with a final snapshot

art/peace runs as a series of rounds. A round opens and closes at fixed times, and when it ends, the final snapshot of the board is the artwork that remains.

The round 3 contest

Round 3 ran from February 21 to February 25, 2025. Its contest worlds measured 256 × 192 pixels and allowed 5 pixels every 5 seconds, and the winners received awards in STRK.

Worlds

The art/peace contracts support many canvases — worlds — each with its own name of up to 31 characters, size, palette, pixel rate and schedule. During round 3, the app showed the contest’s fixed settings for new worlds.

Main canvas
1024 × 768
World canvas
528 × 396
Base colors
15
Votable colors
25
Color depth
5 bits
Round 3 worlds
256 × 192

Open source, MIT license

Under the hood

art/peace is fully open source. The rules of the game live in Starknet contracts; everything else exists to make a very large canvas feel fast.

The project’s README lists Reddit’s technical write-up on r/place among its references. The canvas itself is kept compressed in Redis for fast reads, and an indexer turns Starknet events into data the backend can serve.

  • Onchain Starknet contracts for trustless onchain interactions
  • Indexer Apibara watches Starknet events and forwards them to the databases
  • Backend A monolithic Go service for requests, interactions and data
  • Redis Keeps the compressed canvas in memory for fast reads
  • Postgres Stores the general data for analytics, frontend and backend
  • Frontend A React application where players draw

Questions

FAQ

What is art/peace?

A collaborative, competitive pixel-art game on Starknet. Players place pixels on a shared canvas and coordinate with stencils, and each round ends with a final snapshot of the board.

How is it different from Reddit’s r/place?

The core idea is the same — a huge shared canvas where everyone places a few pixels at a time. In art/peace placements go through Starknet contracts, and over its rounds the game added its own layers: worlds, stencils and rankings, and in the early rounds quests, color voting, factions and NFTs.

What do I need to play?

A wallet. The app supports Cartridge Controller, whose sessions spare you from signing every pixel, standard Starknet wallets, and Phantom for Solana users.

Which networks does it support?

The game is built on Starknet, and the app has both Starknet Mainnet and the Sepolia testnet configured. Solana users connect through Phantom.

Is the code open source?

Yes. The contracts, indexer, backend and frontend are published on GitHub under the MIT license, and contributions go through the project’s contributors guide.

What happens when a round ends?

Each round runs between a fixed start and end time, and the final snapshot of the board is the artwork of that round.