Documentation

🎨 The Forever Canvas

pxlcanvas is a decentralized, persistent pixel art experiment living entirely on the Solana blockchain. Inspired by r/place, but unlike traditional web apps where data is stored in a private database, every single pixel on this canvas is stored in a smart contract account on-chain.

This means the art is:

  • Uncensorable: No central authority can remove or alter pixels.
  • Permanent: As long as Solana exists, the canvas exists.
  • Collaborative: Anyone in the world can paint, overwriting previous colors to create evolving art.

🔥 Tokenomics (Burn)

The economy of pxlcanvas is designed to be strictly deflationary. The token launched with a fixed supply via pump.fun.

Total Initial Supply

1,000,000,000 $PXL

Cost to Paint 1 Pixel

1,000 $PXL (BURNED)

Every time a user paints a pixel, they must pay 1,000 $PXL. These tokens are NOT paid to the team or a treasury. instead, they are burned immediately. This means the total supply of $PXL decreases with every single pixel painted.

As the canvas fills up and evolves, the token becomes scarcer.

⚙️ Technical Architecture

Building a 500x500 (250,000 pixels) on-chain canvas presents significant engineering challenges due to Solana's account size limits and rent costs. Here is how we solved it:

Chunking & Zero-Copy

We divide the 250,000 pixel grid into 25 "Chunks". Each chunk is a separate Program Derived Address (PDA) that stores a 100x100 area (10,000 pixels).

We use #[account(zero_copy)] to directly interpret the on-chain byte array without the overhead of standard deserialization. This allows the web client to load the canvas state extremely fast by fetching these chunks in parallel.

Batch Painting

To streamline the painting experience for artists, our smart contract supports Batch Painting. Users can select multiple pixels in the UI and paint them efficiently using the paint_pixels instruction, which handles up to 100 pixels per chunk in a single instruction.

For larger selections spanning multiple chunks or exceeding 100 pixels, the app automatically splits the work into multiple transactions. Each transaction is signed and confirmed sequentially, ensuring reliable execution. The UI displays the number of transactions required before painting, so artists always know what to expect.

Each paint_pixels instruction verifies all pixels belong to the target chunk and burns the total required tokens in one atomic action, ensuring consistency within each batch.

Contract Information

Program ID

2K32bnUC5uYUEXhu5EgMTFr2ihK8kVuQHWCW3mtFCtfU

Token Mint

34npDsCgQxfgaArEeUVWdCzFd5iPFhBY9nWNRAPwpump

$PXL is an art experiment with no intrinsic value. Not an investment. Do not risk funds you cannot afford to lose. Not financial advice.