# while true by Lars Wander

*Art Blocks Curated (Art Blocks 500), project 498 · 60 outputs · ranked auction 10 to 11 December 2024 · CC BY-NC-SA 4.0*

![while true #27: a symmetrical field of mint, emerald and lime triangles and kites, nested at several scales](https://media-proxy.artblocks.io/1/0xab0000000000aa06f89b268d604a9c1c41524ac6/498000027.png)
*while true #27, held by AB5D. Entropy, Structure, Colour Repetition and Colour Saturation all High. Render: Art Blocks media proxy.*

## The work and its context

while true is Art Blocks project 498 on the contract `0xab0000000000aa06f89b268d604a9c1c41524ac6`. The index records 60 invocations against a maximum of 60, the runtime `js@na`, a square aspect ratio and the licence `CC BY-NC-SA 4.0`, linked to the Creative Commons deed [^S01]. Art Blocks lists it under Curated and "Art Blocks 500" as "a fixed edition of 60 unique artworks", released on 10 December 2024 [^S02].

The mint text is an essay on infinity rather than a description of the program. It calls the work "a meditation on the meaning of unboundedness" and runs through Brouwer's intuitionism, Aristotle's rejection of "actual" infinity and Kronecker's objection to transfinite numbers. It ends with a question: "how do we explain the infinite?" [^S01]. The title is the programmer's idiom for a loop that never ends. The display note makes the same promise: the work "will cycle endlessly, with no existing loops" [^S01].

Each output is a live animation, not a still. A single tile is cut into smaller tiles, which are cut again, while the view zooms slowly inward and drifts across the plane. Wander put it as "each work runs endlessly in your browser, constantly evolving as it replaces itself tile-by-tile", as quoted by the 24 Hours of Art newsletter [^S03]. The static images on Art Blocks are 2,400 by 2,400 pixel captures of one moment (own measurement of the media proxy renders) [^S01].

The project was one of three in Art Blocks Curated's exhibition "Poetics of the Infinite", alongside Zach Lieberman and Iskra Velitchkova [^S04][^S05]. It was paired with a one-token companion project, while true (fabric), which offered four jacquard panels woven from the same algorithm [^S01].

## Conception and development

Wander is a programmer and computer artist based in New York [^S02][^S06]. In a 2022 Verse interview he said his day job at Google was writing "visualization software to understand the dynamics of global-scale storage systems", and that he began making generative art during the 2020 shelter-in-place period [^S07]. His earlier work leaned on simulated physics and paint. The series he discussed with Verse mixed colour using spectral data for acrylic paints, and FULL_SPECTRUM (2023) rewrote the physics of light [^S07][^S08]. The index also lists two earlier projects by him in its fully on-chain vertical: Lines Walking (44 outputs, 2022) and FULL_SPECTRUM (100 outputs, 2023) [^S01].

He has described his method in terms that fit while true closely: "I always try to start with an abstract system, and then produce concrete outputs that are intriguing from a compositional point of view" [^S08]. In the Verse interview he added that "randomness only becomes interesting when you impose some structure on it" [^S07]. while true makes that tension its subject. Its four traits are Entropy, Structure, Colour Repetition and Colour Saturation, and each is one dial on the random system.

Art Blocks' curatorial essay for the exhibition reads the work through Alain Badiou's "infinity within a world" and Vilém Flusser's "particles of possibility". It describes Wander "navigating mathematical set theory and nonrepeating geometries to create self-sustaining worlds" [^S04]. According to the 24 Hours of Art newsletter, Wander wrote on release that he had been "waiting for this moment since i first heard of the [Art Blocks] platform in 2021" [^S03]. ARTXCODE, which represents him, counted the release among its artists' main events of late 2024 [^S09][^S06].

## How the work was constructed

The program is a single script of 23,714 bytes, SHA-256 `bb92cebc462a33fdcc2f0d13c40f38d1ae9b92b414e47d8f03e28bdeef829d31`. It was retrieved from the Art Blocks index on 20 September 2026 and read in full. It uses plain JavaScript and WebGL2 with no library, and no code is reproduced here [^S01]. Colours are handled in the Oklab colour space. The project's creative credit notes that the Oklab to sRGB conversion comes from a public Observable notebook [^S01][^S10].

**The tiles.** The program defines ten tile shapes on a triangular grid: three triangles, six quadrilaterals (trapezoids, rectangles, a diamond and a kite) and a hexagon. Each has between four and ten substitution rules, 58 in all. A rule replaces a tile with smaller tiles, often of other shapes: a triangle can become kites and trapezoids, and a hexagon can become a rectangle and two triangles (code reading) [^S01]. Every artwork begins with a single rectangle in one of seven saturated colours.

**The loop.** On every animation frame the whole plane is scaled up by 0.055 per cent, so the view doubles in size roughly every 1,260 frames (own computation; about 21 seconds at 60 frames per second). The view also drifts toward a random target, and a new target is chosen every 800 frames. Any tile that grows past a size threshold, and has lived at least 30 frames, is replaced by the children of one of its rules. A rate limit keeps only a few replacements happening at once. Tiles that leave the frame fade to white over 20 frames and are deleted. For the first ten frames the thresholds are relaxed and the frame is ignored, so a full composition appears at once (code reading) [^S01].

**Colour.** A child tile either keeps its parent's colour or picks a new one from a 19-entry palette, then eases into it over 20 frames. Each new colour gets a small random shift in lightness and hue, and is then clamped to a chroma limit set by the Colour Saturation trait [^S01].

**The traits.** The program does not compute trait labels itself. Art Blocks publishes them separately. I re-implemented the program's random number generator and its first four draws for all 60 hashes, and every published label matches a draw exactly (own computation) [^S01].

| Trait | What the program draws | Published count of 60 |
| --- | --- | --- |
| Structure | how children's seeds are spaced: identical (5/9), two values (3/9) or three values (1/9) | High 35, Medium 15, Low 10 |
| Entropy | size of each tile's table of random numbers: 2,048 (4/5) or 8 (1/5) | High 46, Low 14 |
| Colour Repetition | chance of copying the parent colour, 0.2, 0.4 or 0.8 (1/3 each), and run lengths of 3, 3 to 5, or 9 to 12 tiles | Low 20, Medium 19, High 21 |
| Colour Saturation | chroma cap of 0.4, 0.04 or 0.01; High Repetition always gets 0.4, the rest 4/6, 1/6, 1/6 | High 42, Medium 8, Low 10 |

Structure explains the mirror symmetry of many outputs. When all children of a tile share one seed, they make the same choices, so the pattern repeats across the tile. Entropy works in a similar way at a larger scale. A Low Entropy output gives each tile shape only eight random numbers, so the same sequences of rules and colours come round again and again (code reading) [^S01].

## Quirks in the algorithm

A full read of the program, checked against all 60 token records, turned up the following. Points that rest on the code alone are marked as code readings.

1. **Only half the hash is used.** The seed is built from the first 32 hexadecimal digits of the 64-digit token hash. Two hashes that differed only in their second half would give identical artworks (code reading) [^S01].
2. **The fabric has a fixed seed.** The while true (fabric) script is the same program, identifier renaming aside, with one change: the token hash is replaced by a fixed 32-digit seed. Its published traits (Entropy High, Structure Low, Colour Repetition High, Colour Saturation High) match that fixed seed and not the fabric token's own hash, which would give Structure Medium (own computation) [^S01].
3. **A gamut check that checks nothing.** After a child's new colour is chosen, the program tests whether a colour lies inside the sRGB gamut and, if not, falls back to the parent colour. But the colour it tests is the parent colour it has just written, so the fallback never changes anything. Out-of-gamut colours reach the shader unguarded, where the graphics card clips them (code reading) [^S01].
4. **Saturation depends on repetition.** All 21 High Colour Repetition outputs have High saturation, because the program skips the low-chroma options in that branch. Every grey or muted work in the edition has Low or Medium repetition [^S01].
5. **A weighted palette.** The 19-entry palette holds nine chromatic colours, five near-whites and five near-blacks. Three of the whites and three of the blacks are identical entries, which is how the weighting is done. Any new colour is therefore about a quarter white and a quarter black. The starting colour, by contrast, is drawn only from the first seven entries, all saturated reds, oranges, blue, green and pink (code reading) [^S01].
6. **Speed depends on the screen.** The zoom and drift advance per frame, not per second, so a 120 Hz display plays the work about twice as fast as a 60 Hz one. The drift targets and the fade-out boundary are scaled to the window's shape, so a wide screen and a square one take different paths through the same tiling (code reading) [^S01].
7. **Leftover controls.** Three unused URL parameters (seed, shape, rule) are read, and only seed has an effect: it lets anyone view any seed. There is an unused frame countdown, a colour table that is built and thrown away, and two shader settings that have no effect. None of this changes the image (code reading) [^S01].
8. **Keys.** The space bar pauses the animation. "d" downloads the current frame, named with the token number and frame count. "i" starts saving a numbered image sequence, up to 54,000 frames by default (code reading) [^S01].

## The most coveted variants

No published source ranks while true variants, and the index shows no sales history. What follows is what the program and the trait data show to be rare.

**Low Entropy with Low Structure (2 of 60).** Only #53 and #59 combine the repetitive eight-number tables with the least symmetrical seed spacing [^S01]. Both have high saturation, and they read as dense, jumbled patchworks of saturated colour, black and white.

![while true #53: a jumble of red, orange, green, blue and black tiles at many scales on white](https://media-proxy.artblocks.io/1/0xab0000000000aa06f89b268d604a9c1c41524ac6/498000053.png)
*while true #53, one of two Low Entropy, Low Structure outputs. Render: Art Blocks media proxy.*

**The greys (10 of 60).** Low saturation caps chroma at 0.01, so these outputs are almost pure greyscale, from near-white to near-black [^S01]. #13 is the only one that is also Low Entropy, and its black and grey hexagons repeat in regular rows. #44, held by AB5D, is a Medium Structure grey with scattered black triangles.

![while true #13: black, grey and white hexagons and triangles repeating in rows](https://media-proxy.artblocks.io/1/0xab0000000000aa06f89b268d604a9c1c41524ac6/498000013.png)
*while true #13, the only Low Entropy greyscale output. Render: Art Blocks media proxy.*

![while true #44: a grey and black mosaic of triangles and squares](https://media-proxy.artblocks.io/1/0xab0000000000aa06f89b268d604a9c1c41524ac6/498000044.png)
*while true #44, Low saturation, held by AB5D. Render: Art Blocks media proxy.*

**All-High (10 of 60).** The most common combination has every trait High: #15, #21, #23, #27, #30, #42, #45, #51, #52 and #57 [^S01]. These are the most symmetrical and the most monochrome in hue, because long runs of copied colour sit on fully saturated palettes (code reading). #27, held by AB5D and pictured at the top, is a field of greens, roughly symmetrical about its centre.

**Medium saturation (8 of 60).** Chroma capped at 0.04 gives muted mauves, taupes and slate blues. #0, the artist's own token, is one of them [^S01].

At retrieval the lowest listing on Art Blocks was 1 ETH [^S01]. OpenSea's collection page, read through an automated extraction, reported 43 owners and a total volume of about $45,000. It gave #22 as the highest recorded sale, at about $6,450 [^S11]. Those figures were not independently confirmed.

## while true (fabric)

The companion project, Art Blocks project 501, has one token. Its sales notes say it was offered for card and other fiat payments, and that the purchase "includes four jacquard fabric panels and corresponding digital artwork" [^S01]. Each panel measures 126 by 57 inches, "yielding a total of 14 yards across four panels", woven in 19 per cent nylon and 81 per cent recycled polyester [^S01]. The description says the panels were "crafted from an artist-selected hash code" [^S01]. As quirk 2 above shows, that hash is written into the fabric's copy of the script.

The index gives the fabric's sale start as 9 December 2024 at 17:00 UTC, the day before the auction. Its single token was not minted until 6 March 2025, and at retrieval it sat in the artist's own address [^S01]. OpenSea likewise showed a single owner and no sales [^S12]. Whether the fabric found a buyer who has yet to claim the token is unknown.

![The digital artwork paired with the while true fabric: a red and orange field of triangles](https://media-proxy.artblocks.io/1/0xab0000000000aa06f89b268d604a9c1c41524ac6/501000000.png)
*while true (fabric) #0, the digital artwork drawn from the fabric's fixed seed. Render: Art Blocks media proxy.*

In Art Blocks' photographs the woven version reads quite differently. It is a fine blue, green and cream pattern of small tiles, made up as curtains and a cushion in a furnished room [^S04]. The curatorial essay calls the jacquard "a construct of computerized threads" that "supports variation within structured rhythm" [^S04].

![Three interior photographs: framed prints over a sofa, a chair with a blue-green jacquard cushion, and a round light work on a pink wall](https://production-cms-bucket.s3.us-east-1.amazonaws.com/physicals_3up_507501b547.png)
*Physical works from "Poetics of the Infinite". Centre: a while true jacquard cushion. Left and right are works by Velitchkova and Lieberman, per the caption. Photo: Art Blocks.*

![An artist at a monitor in a studio, with a pen plotter, brushes, and jacquard curtains in a furnished room](https://production-cms-bucket.s3.us-east-1.amazonaws.com/lars_4up_right_dcef6a710a.png)
*Studio photographs published by Art Blocks under the caption "Lars Wander, while true", with the jacquard hung as curtains. Photo: Art Blocks.*

## The mint

Invocation 0 was minted on 6 November 2024 at 21:03:59 UTC, the day before the index records the project's activation. It is still held by the artist's address [^S01]. The public sale was a ranked auction that opened on 10 December 2024 at 17:00 UTC. The sales notes read: "All bids must be placed in ETH. Winners will receive their digital artwork directly in their wallets after the auction" [^S01].

In an Art Blocks ranked auction "all winners pay the same price, which is the lowest winning bid". The works are minted "in the order of bid ranking", highest bid first [^S13]. On that rule, #1 went to the top bidder and #59 to the lowest winning bid. The index shows all 59 auction tokens minted in the same second, at 18:09:59 UTC on 11 December 2024 [^S01]. The 24 Hours of Art newsletter reported that the edition sold out "at 0.3 ETH each" [^S03]. The index's price field reads 0 [^S01].

At retrieval the 60 works were held by 43 addresses. 31 held a single work, and the largest holder had four: #1, #7, #20 and #49 [^S01]. No source inspected names that wallet. AB5D holds #27 and #44 in one wallet [^S01].

## Copyright and licensing

The index records `CC BY-NC-SA 4.0` with a link to the Creative Commons deed, and the script prints the same licence to the browser console along with Wander's name and website [^S01][^S14]. On that licence, the images and, read plainly, the program may be shared and adapted non-commercially with attribution, provided adaptations carry the same licence [^S14]. Commercial use, such as printing or selling fabric, needs the artist's permission. The Oklab conversion code is credited to a public Observable notebook, whose own terms were not checked [^S01][^S10]. The two photographs above belong to Art Blocks and are linked, not re-hosted.

## Significance and limitations

while true is a compact demonstration of a mathematical idea. A substitution tiling can be refined for ever, and the program uses one to make an animation that never settles into a loop. Its four traits are not decoration. They are the actual controls of the random system, and every published label can be derived from the hash. The companion fabric carries the same system into cloth, and its fixed seed, written into the script, is a rare case of an artist choosing one output for physical production in plain view. The record is thin, though. There is no artist statement about the program beyond the mint essay, no sales record in the index, and no interview about the project.

Unresolved research questions:

1. Was the fabric sold, and to whom? Why was its token minted in March 2025 and still held by the artist at retrieval?
2. What was the clearing price of the ranked auction? The 0.3 ETH figure comes from a newsletter, and the on-chain auction settlement should be checked.
3. Did Wander intend the gamut check to test the child's colour? Re-rendering a saturated token with the check corrected would show how often it matters.
4. Wander's release thread on X, quoted by 24 Hours of Art, and the Art Blocks Instagram announcement of the auction dates could not be fetched. Both are leads for his own account of the work.
5. Where and when was "Poetics of the Infinite" shown in person, and where were the jacquard photographs taken?

## Bibliography

### Primary

[^S01]: Art Blocks public GraphQL index, `projects_metadata` for projects 498 and 501 (including both full programs) and `tokens_metadata` for all 61 tokens. Retrieved 20 September 2026 via https://artblocks-mainnet.hasura.app/v1/graphql. Collection page: https://www.artblocks.io/collection/while-true-by-lars-wander
[^S02]: Art Blocks, "while true by Lars Wander", collection page with artist biography. Read 20 September 2026. https://www.artblocks.io/marketplace/collections/while-true-by-lars-wander
[^S06]: Lars Wander, "About". Read 20 September 2026. https://larswander.com/about/
[^S10]: Shan, "Oklab color wheel", Observable, credited in the project record. https://observablehq.com/@shan/oklab-color-wheel
[^S14]: Creative Commons, Attribution-NonCommercial-ShareAlike 4.0 International deed. https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en

### Video and audio

- "Lars Wander | ARTXCODE Studio Visit", ARTXCODE, YouTube (title and channel confirmed via YouTube oEmbed on 20 September 2026; not watched for this draft). https://www.youtube.com/watch?v=noK3oIaQ3qQ
- "Lars Wander | Artist's Corner #3", Collector's Corner podcast. https://podcasts.apple.com/us/podcast/lars-wander-artists-corner-3/id1644625120?i=1000602359169

### Criticism, collecting and market

[^S04]: Art Blocks, "Breaking the Box of Perception: Three Artists Confront the Face of the Infinite", with photographs of the physical works. https://www.artblocks.io/articles/breaking-the-box-of-perception-three-artists-confront-the-face-of-the-infinite
[^S05]: Art Blocks, "Poetics of the Infinite", exhibition page. https://www.artblocks.io/exhibitions/poetics-of-the-infinite
[^S03]: 24 Hours of Art, "24 HOURS OF ART: Thursday Highlights", covering 11 to 12 December 2024. https://www.24hoursof.art/p/24-hours-of-art-thursday-highlights-386
[^S13]: Art Blocks, "Art Blocks 101: How to Purchase". https://www.artblocks.io/articles/art-blocks-how-to-purchase
[^S09]: ARTXCODE, "ARTXCODE's 2024 Year In Review". https://www.artxcode.io/journal/artxcode-s-2024-year-in-review
[^S11]: OpenSea, "while true by Lars Wander" collection page, read 20 September 2026 through an automated extraction. https://opensea.io/collection/while-true-by-lars-wander
[^S12]: OpenSea, "while true (fabric) by Lars Wander" collection page, read 20 September 2026. https://opensea.io/collection/while-true-fabric-by-lars-wander

### Further reading

[^S07]: Mimi Nguyen, "Chromatic Wanderlust with Lars Wander", Verse, 17 August 2022. https://verse.works/journal/chromatic-wanderlust-interview-with-lars-wander
[^S08]: Malte Rauch, "FULL_SPECTRUM by Lars Wander", Bright Moments Quarterly, 2 June 2023. https://www.brightmoments.io/quarterly/larswander
- Lars Wander, "Archiving Generative Art", 5 April 2024, on recording seeds, commits and browser versions so that outputs can be reproduced. https://larswander.com/writing/archiving-generative-work/
- Verse, "Verse Meets: Lars Wander". https://verse.works/journal/verse-meets-lars-wander
