4096
reading the chain
Hover a pixel. Click to open it on OpenSea.

Your pixels

About

A painting made by its own market

4,096 tokens. Each one owns a single pixel on a single 64×64 canvas. No pixel has a colour at mint. Every one starts white.

Colour comes only from what happens to a token afterward: how often it sells, how erratically, how long it rests. Nobody picks it. Nobody can see the finished image, including the person who deployed it.

The three channels

ChannelMeasuresTo raise it
Red How many times it has sold Trade often
Green How uneven the gaps between sales are Trade unpredictably
Blue Longest unbroken hold, including the one running now Out-hold everyone else
White Never sold Never sell

Colour is a rank

Each channel is ranked across the whole collection and split into sixteen tones. Your pixel's colour describes where it stands against every other pixel, not an absolute number. It moves when other people trade, even if you do nothing.

That means holding is never passive. Roughly nine in ten pixels change colour over any meaningful stretch of trading, because a tone gained by one pixel is a tone lost by another.

The last sale

The total climbs with every sale. At a hidden target — the sealed number, committed as a hash before launch and revealed only when the total reaches it — the canvas sets forever. The sale that reaches it is the last sale. The canvas mints as a single artwork and opens at 1 ETH with no deadline. Proceeds split equally across all 4,096 pixels, paid to whoever held each one at that block.

The winner inherits the royalties. From the moment the auction settles, the 5% royalty on every pixel sale in the collection is paid to whoever holds the canvas — not to the creator, and not to the holders. It follows the artwork: hold the canvas and you collect, sell it and the income passes to the next owner with it. That is what is actually being auctioned. Not just a picture, but every trade the collection ever makes afterward.

The sealed number may never be reached. There is no time limit and no backstop. If the total never reaches the sealed number, the painting is never finished. That outcome is accepted and it is part of the work.

What cannot change

No admin key, no upgrade path, no pause, no server, no indexer. The colour rules, the auction terms and the royalty destination are fixed at deploy. This site is a convenience: everything it shows is read straight from the contract, and if it disappears the artwork is unaffected.

One exception, stated plainly: because the sealed number is hidden, the contract cannot check a number it does not know, so the last sale is triggered by a transaction from the deployer. That transaction cannot end it early or at a different number — the contract verifies the revealed number against the hash committed at deploy, and checks the sale count really has crossed it.

Method

Everything, in the open

These are the exact rules the contract runs. Nothing here is simplified for the page. If you want to try to game a channel, this is what you would be gaming, and knowing it will not make it cheap.

Red — how often it sells
What is measured Total sales. A sale is any transfer where the caller is not the sender, which is what a marketplace fill looks like. Moving a token between your own wallets does not count. Gifts do not count. The mint does not count. How it becomes a number key_velocity = min(sales, 1023) The sale count maps straight to a key. No scaling. An earlier version divided by supply, which crushed everything under five sales into one bucket and left most of the range unreachable. How it becomes a colour Every pixel that has ever sold is ranked by that key. The ranking is split into sixteen equal groups. Equal counts share a tone, so if four hundred pixels all have two sales, all four hundred share a tone. What this means for you Red is buyable. Roughly six dollars of gas per trade, and the price of the pixel barely matters because you set it yourself in a private sale. What you cannot buy is a tone when nobody is standing near you: climbing from a crowded part of the distribution is cheap, climbing from a sparse part is not.
Green — how uneven the gaps are
What is measured The population standard deviation of the intervals between consecutive sales. Steady cadence scores low. A flurry, then years of silence, then another flurry scores high. How it is computed The contract keeps two running totals, updated on every sale: gapSum += gap gapSumSq += gap x gap Then, with n = sales - 1 gaps: mean = gapSum / n meanSq = gapSumSq / n variance = meanSq - mean x mean (floored at 0) rhythm = sqrt(variance) in seconds Quantised on a log scale so a gap of minutes and a gap of decades fit one axis: e = floor(log2(v)) key = e x 32 + ((v - 2^e) x 32) / 2^e, capped at 1023 Below three sales it does not exist One sale has no gap at all. Two sales have a single gap, whose spread is trivially zero. Neither is low rhythm, both are no rhythm, so those pixels sit at the midpoint, tone 8, and are left out of the ranking entirely. What this means for you Green cannot be bought quickly. Its whole substance is duration, and you cannot manufacture a two year gap in an afternoon. The only way to score high is to have actually traded unpredictably across real time.
Blue — longest unbroken hold
What is measured open = now - lastSale hold = max(open, longestGap) key = qLog(hold) same log quantiser as rhythm The longest stretch without selling, including the one running right now. Absolute seconds, never a ratio. Why absolute and not a share of its life An earlier version measured the hold as a fraction of the pixel's life. That fails: as a pixel sits unsold, the hold and the life converge, so the ratio marches toward one for everybody at once and the channel stops telling pixels apart. Absolute holds grow at the same rate for everyone, so the distance between two holders never blurs. What this means for you Blue is the one channel where doing nothing is the action. It rises on its own every day you hold, and it resets the moment you sell. It is also the only channel that changes without any transaction anywhere in the collection.
Removing the overlap between channels
The problem A pixel that trades constantly is, almost by definition, also trading erratically. Left alone, red and green measure much the same thing, colours collapse onto a diagonal, and most of the cube goes unused. Before this step was added there was not one pure red pixel on the canvas. The correction Least squares slopes across the defined population, with n tokens: den = n x Svv - Sv x Sv m1 = (n x Svg - Sv x Sg) / den red out of green m2 = (n x Svb - Sv x Sb) / den red out of blue Residuals, then blue out of green: rb = patience - m2 x velocity rg = rhythm - m1 x velocity - m3 x rb What survives in green is not "how erratic is this pixel" but "how erratic compared to others that traded about as much." The arithmetic A slope is a fraction and Solidity has no fractions, so a naive integer divide rounds m1 and m2 to zero and the correction silently does nothing. Every slope is therefore held in fixed point: S = 1,000,000 m = (numerator x S) / denominator and unwound by S wherever it is applied. If den is 0, which happens when every token has identical velocity, the slope is set to 0 rather than dividing. Honesty about the result Measured pairwise correlation afterwards is around minus 0.21, minus 0.20 and zero. Not perfect. Linear regression removes a linear relationship and what remains between these measures is not linear.
From rank to colour
Sixteen tones Each channel is ranked and split into sixteen: tone = floor(rank x 16 / population), capped at 15 channel = tone x 17 gives 0, 17, 34 ... 255 colour = (R x 65536) + (G x 256) + B Sixteen cubed is 4,096 possible colours, from 4,096 pixels. Sixteen cubed is 4,096 possible colours, from 4,096 pixels. Ties Equal measurements share a tone, always. That means the sixteen tones are approximately, not exactly, equal in size, and the low end of red will always be lumpy because sale counts are whole numbers. White A pixel that has never sold renders pure white, identical for every untraded pixel, with no tiebreaking. Pure white is reserved: a pixel at the maximum of all three channels would otherwise compute to the same value, so it renders one shade below instead. Everything moves Because colour is a rank, a tone gained by one pixel is a tone lost by another. Across any meaningful stretch of trading, roughly nine in ten pixels that have ever sold end up a different colour, whether or not their owner did anything.

The contract is the specification. This page describes it; if the two ever disagree, the contract is right and this page is wrong.

Inspiration

4096 Farben, Gerhard Richter, 1974

In 1974 Gerhard Richter finished a painting of 4,096 coloured squares on a square canvas. It was the last work in a series he had been circling since 1966, and it ended the series so completely that he did not return to colour charts for twenty five years.

Not his painting — a 16×16 sketch of the method: 64 systematic tones, each repeated four times, placed by lottery. See the original at Sotheby's →

The original 4096 Farben sold at Sotheby's in May 2023 for $21.8 million.

How he made it

Richter wanted to leave artistic feeling behind entirely, so he turned to math. He worked out exactly 1,024 unique tones by grading the primaries against greys with a fixed system, made four copies of each, and then ran a random lottery to decide where all 4,096 squares would land. He painted none of the decisions himself. In the earliest colour charts he even had a friend call the colours out loud, so the selection was not his either.

What he was after, in his own words, was a diffuse, undifferentiated overall effect — a field rather than a picture. The grid, he noted, stops shapes forming, although you can find them if you insist on looking.

The part that gets us: he painted this in 1974, and it looks exactly like modern digital pixels. Decades before computers were on every desk, a math experiment on pure colour quietly predicted the world we now live in. That is a genuinely cool way to have arrived at the grid.

Why it matters here

Richter was refusing authorship. Not by making random marks, but by building a system strict enough that his taste could not get into it, and then letting the system decide. The painting is his and the colours are not.

4096 borrows that structure and swaps the system. Where Richter used arithmetic and slips of paper, this uses a market. Nobody picks the colours here either. They are produced by thousands of people trading, none of whom can see what they are painting.

Here is how we think about our own role in it. Richter was the hand that held the brush while a system decided the colours. We are not even the hand. We wrote the math and then stepped back. The market is the brush, every trade is a stroke, and the people making those strokes cannot see the canvas they are painting. We do not get to choose the ending any more than you do. We built the instrument and let go of it, and that letting go is the whole point.

The differences are as instructive as the similarities. His painting resolved in a studio over weeks; this one resolves over years and might never resolve at all. His palette was complete by construction; this one is only as rich as the market that makes it. He knew what his painting looked like when he finished it. Nobody will know what this one looks like until it stops.

The system, in his words

Richter described how he built the palette by repeated multiplication: "4 x 4 = 16 x 4 = 64 x 4 = 256 x 4 = 1024," he wrote, keeping the image size, the square size and the number of squares in constant proportion. (Palais des Beaux-Arts catalogue, Brussels, 1974)

That stepwise, multiply-by-four structure is the same shape our own tones sit on: sixteen gradations per channel, spaced so a difference near the bottom and a difference near the top feel like the same size of interval. He arrived at it with a pencil. We arrived at it because a market needs a scale that survives a token trading twice or two hundred times.

One thing he said that is worth sitting with

Richter thought 4,096 was probably too many. Past a thousand or so tones, he reasoned, the difference between one shade and the next stops being visible, and the extra precision buys nothing the eye can use.

That is true here as well. Sixteen tones per channel is a coarse instrument, and it is coarse on purpose. A pixel does not need to be uniquely identifiable. It needs to be somewhere in a field, and the field needs to hold together.

4096 is an independent work. It is not affiliated with, endorsed by, or connected to Gerhard Richter or his estate. The reference is a citation, not a claim.

Auction and claim

4096  ·  fully on-chain X OpenSea Etherscan econ101