PixeonA shared canvasOpen canvas
Menu

Pixeon / Product & contract design

A pixel
is a place
to begin.

A compact specification for shared color,
attributable change and no exclusive ownership.

32 × 32 coordinates24-bit RGBNot deployed
One paint, illustrated

A place.
A color. A record.

Illustration only — not live canvas data. Painting is not ownership.

Coordinate(x, y)Whole numbers 0–3124-bit RGB#c8a9eb
One current cellIts color may change again.
PixelPaintedx · y · author · colorA successful call emits its exact change.
No exclusive claim is created.

Purpose

A shared composition.
No permanent claim.

Pixeon gives a group one addressable 32×32 canvas. A wallet changes one coordinate to one exact color. There is no operator deciding which wallet may paint, and painting does not confer ownership of a pixel.

The design is deliberately smaller than a marketplace or collection. It has no sale, asset issuance, reward, voting mechanism or identity verification. Any wallet may repaint any cell.

A paint action

Coordinate.
Color. Caller.

Choose the cell

X and Y are whole numbers0–31. The storage key is y×32+x, covering1024 cells without ambiguity.

Choose the color

The color is uint24, an RGB value0–16777215. Black#000000 is valid, even as the first paint.

Make a change

paint(uint8 x,uint8 y,uint24 color) rejects an out-of-range coordinate and an already-painted cell with the same current color. The caller is always msg.sender.

Current state & events

A current color.
A historical event.

colors(key)
The current RGB integer. Unpainted cells also return zero, so color alone does not prove a prior paint.
painted(key)
Whether a successful paint has occurred. It distinguishes a painted black cell from one never painted.
PixelPainted
The event records exact x, y, author and color. X, Y and author are indexed. Prior events remain after repainting.

There is no current author/owner mapping, global activity counter or history indexer. A website must not invent those records. Reading historical events requires separately scoped indexing or RPC queries; this Demo does not pretend to provide a live community feed.

Limits

A public surface
can change.

Someone else may repaint a cell before or after your transaction. The contract has no compare-and-swap guard, reservation or expected previous-color parameter. A frontend can recheck the visible state before submitting but cannot guarantee it remains unchanged while a wallet response is pending.

A confirmed paint event proves that your call painted its exact coordinate and color. It does not prove that color remains current after other transactions. The contract does not verify people, prevent multiple-wallet use or moderate content.

Authority & gas

No ownership tier.
No funds held.

The immutable Pixeon contract has no administrator, role, owner-only function, token approval, deposit, treasury, reward or upgrade proxy. Paint is nonpayable and rejects native-token value.

Future users pay network execution gas. A review must bind coordinate/color, wallet, chain, runtime version, gas limit and fee cap, invalidate when context changes, check balance and expiry, then verify receipt sender/destination/hash/status and the exact PixelPainted event. Chain-specific extra fees require separate target-network review.

Deployment

Tested locally.
Not silently live.

This Demo includes dedicated contract source, local compilation, actual temporary-chain transactions and unsigned deployment preparation. No public network, deployed address or explorer link is configured. Connecting a wallet cannot enable a write.

A separate explicit deployment authorization, network/constructor/account/gas preflight and controlled local signer are required before any broadcast. Private keys never belong in the website. A changed contract requires a new reviewed address; old events cannot be rewritten by a frontend update.

Local practice is not a public canvas.

Its state exists only in this tab’s memory, is not saved, consumes no gas and disappears on reload. It includes no other users or fabricated activity.

Try local practice