# mono no aware by ixnayokay

*Art Blocks Factory, project 175 · 414 outputs · public mint 15 October 2021 · CC BY-NC-SA 4.0*

![mono no aware #18: two walls of mustard-gold horizontal stripes advance from the left and right edges towards a pair of pale green lozenges with orange crystalline fronts, separated by black space](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/175000018.png)
*mono no aware #18, the AB5D holding: an "orthogonal" seed on a Klein-bottle grid. Render: Art Blocks media proxy.*

## The work and its context

mono no aware is project 175 on the Art Blocks contract `0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270`. The index records 414 invocations against a maximum of 414, the runtime `p5@1.0.0`, a square aspect ratio, the vertical "factory" and the licence label `CC BY-NC-SA 4.0` [^S01]. Art Blocks now presents it as "an Art Blocks 500 release, in the Factory category" [^S02].

The mint text calls it "an exploration of change at the borders between existence and emptiness" [^S01]. Each token is a live animation, not a still. It is "a cellular automaton running with no pre-defined end", and a pattern that dies simply restarts: "not everything lasts forever" [^S01]. Clicking restarts the piece. The left and right arrow keys lower or raise the level of detail, and the text warns that different levels "may exhibit slightly different behaviors" through "size-dependent resonance" [^S01].

The title borrows a Japanese aesthetic term, usually translated "the pathos of things". It comes from Heian literature and was taken up by the eighteenth-century scholar Motoori Norinaga [^S03]. The artist chose it, he wrote, because "I found myself feeling 'mono no aware' when watching it" [^S04].

AB5D holds #18, pictured above. Its published traits are an "orthogonal" seed, "klein" topology, normal fade, no blur and no burst of growth [^S01]. In the index render, stripes of mustard gold roll in from both side edges. They meet two pale green lozenges edged with orange and red crystal growth, with black space above, below and between them.

## Conception and development

ixnayokay is Aaron Boyarsky. His introductory post, published four days before launch, says he is a software engineer with a computer science degree and a mathematics minor from Virginia Tech, living in the Washington, D.C. area [^S05]. He came to art through a senior-year "Cyber Art" course that paired computer science and design students. A friend looking at one of his mathematical visualisations told him "it looks like art to me!" [^S05]. He then worked through fractal art, photo manipulation and photography before returning to animated mathematical work. He applied to Art Blocks in February 2021 and was accepted [^S05].

In a later Art Blocks interview with Jordan Kantor, he said the project "was based on some experiments I'd done in the past to make the 'Game of Life' cellular automaton a little more interesting" [^S06]. He described it as "heavily concerned with symmetry, the chaotic boundary between two paradigms", and with the transition between life and death [^S06]. When introducing his later project Implications, he called mono no aware his first generative artwork, "another work about chaotic systems and symmetry" [^S07]. He added that relying on seeds and symmetries alone had made textures fairly uniform across the set [^S07].

His release essay sets out the vocabulary behind the traits: ageing cells, "bloom", a "burst of growth", five edge treatments and colours "driven by independent trig functions" [^S04]. It also explains a deliberate omission. There is no pause and no frame saving, because "it felt wrong to stop time" [^S04]. The same post announced an edition of 1,024 [^S04]. Only 414 were ever made, and no source consulted explains the reduction [^S01].

## How the work was constructed

The program is a single script of 10,769 bytes, SHA-256 `044cde40d0a731bf0a529409693f43f7333679ac294b12dfb67bf2d9d43ae51d`. It was retrieved from the Art Blocks index and read in full. No code is reproduced here [^S01].

The script reads the token hash as 32 bytes and also seeds a small xorshift generator from its first characters [^S01]. Almost every trait is a direct test on one byte. The generator supplies six colour offsets, the sizes of the square seeds and the timing of the growth burst. I re-ran the trait logic in Python and Node.js against all 414 hashes, and every published trait except one ("burst start", see the quirks) matches the program exactly [^S01].

The simulation is Conway's Game of Life on a square grid of 201 by 201 cells, with additions [^S01]:

- Each living cell has an age, which drives its colour. Each dead cell has a fade value, which leaves a trail.
- A dead cell also comes back to life if its oldest neighbour is older than 500 frames, or its neighbours' ages add up to more than 255. Age is therefore a store of energy that can relight empty space.
- With "burst of growth" on, a cycle counter periodically lets cells survive with four neighbours instead of three. At one point in each cycle it allows only two, a brief die-off.
- Topology decides what happens at the edges: a hard boundary, a torus, a Klein bottle or a real projective plane.

| Trait | Rule in the code | Published count of 414 |
| --- | --- | --- |
| Seed: orthogonal / awareness | byte 15 mod 20 is 2 to 15; "awareness" (a centred cross) when a separate byte test is also met | 278 / 21 |
| Seed: rise and fall / fuzzy square | byte 15 mod 20 is 16 or 17: nested squares; "fuzzy" when byte 20 is a multiple of 4 | 26 / 3 |
| Seed: war / asymmetric war | byte 15 mod 20 is 1 / 0: four fleets of gliders, jittered when asymmetric | 21 / 14 |
| Seed: impermanence, dust, this too shall pass, ephemeral, memento | byte 15 mod 20 is 18 or 19; byte 17 mod 5 picks one of five trigonometric patterns | 15, 8, 9, 3, 11 |
| Seed: ineffable | byte 9 a multiple of 44; overrides all other seeds | 5 |
| Topology | byte 25 mod 5: 0 torus, 1 real projective plane, 2 Klein, 3 or 4 bounded | 75, 82, 81, 176 |
| Blur | byte 14 even removes the background wipe; "dreamy" when the drawing opacity is below 20 of 255 | 208 off, 138 normal, 68 dreamy |
| Burst of growth | byte 12 a multiple of 3 | 124 |
| Glitched out | byte 11 a multiple of 50 | 8 |
| Side generator | byte 19 mod 16 equal to 15 on a bounded grid | 8 |

Colour is computed live from sine waves of the frame count, one per channel, set against each cell's age or fade. Two switches slow or quicken the living colours ("life colors") and two do the same for the trails ("trail colors"). Byte 13 sets the "trail color modifier" [^S01]. The artist's seed talks show how much of each token's character comes from these colour paths rather than the rules, which are the same for every mint [^S08][^S09].

## Quirks in the algorithm

A full read of the program, checked against all 414 token records, found the following. Points resting on the code alone are marked as code reading.

1. **"Burst start" is mislabelled for most tokens.** The program draws the burst start from its generator after eight earlier draws. The published trait matches a value taken after only two. By my computation, the trait disagrees with the running program for 370 of 414 tokens, and for 112 of the 124 tokens where a burst actually happens [^S01]. It agrees mainly where both values sit at the floor of 90. The artist's own seed talk gives #82's burst start as frame 646 [^S08]. The program uses 519. The counter also advances by 0.5 to 0.85 per frame, so neither figure is a true frame number (code reading).
2. **Orientation labels do not describe orientations.** "Rotated" and "flipped" come from three byte switches, and "flipped" is on when either of two mirror bits is set. In the renderer, the case labelled neither rotated nor flipped is in fact a reflection across the diagonal. Only "rotated" with both mirror bits set leaves the grid as computed (code reading) [^S01].
3. **Speed multipliers work in reverse.** A "life speed multiplier" of 10 divides the colour cycling rate, so those 39 tokens change colour ten times more slowly ("subtle"). The 0.1 tokens change ten times faster ("radiant"). When both switches fire they cancel. That happens for #79, #86 and #141 (life) and #25, #38, #146, #319 and #407 (trails), which are therefore labelled normal [^S01].
4. **A near-constant blue.** An operator-precedence slip means the living cells' blue channel only wavers between 127 and 129 before its fixed offset, instead of swinging through the full range the parallel red and green lines suggest (code reading) [^S01].
5. **Traits that share bytes.** The life colour switches reuse the bytes that set the mirror bits. As a result, all 78 tokens with subtle or radiant life colours are "flipped". The slow trail switch reuses the byte behind the burst cycle length, so all 50 "subtle" trail tokens have a cycle length of 6 more than a multiple of 24 [^S01].
6. **A side generator that only works on one topology.** The same byte test fires on 19 tokens. It only has an effect on a bounded grid, where the edge cells are seeded but never updated, so they pulse into the interior forever. The artist's essay calls this an edge generator that sends out "radiating waves" [^S04]. All eight published side generators are bounded. On the other eleven the switch does nothing [^S01].
7. **Glitches by aliasing.** For "glitched out" tokens the program stops swapping its two grids, so both names point to the same rows and each cell is updated from partly updated neighbours (code reading). Eight tokens have it. #318 is the only one that is also "ineffable" [^S01].
8. **Restarts replay the same seed.** Each restart resets the generator, so a restarted token replays its opening. The glider seeds shift by one cell per restart. If everything dies within 100 frames, the program switches to a striped fallback seed until an arrow key rebuilds the canvas (code reading) [^S01].
9. **Level of detail and fixed sizes.** The arrow keys step the grid in tens between 71 and 421 cells a side. Seed sizes and glider spacing are computed from the fixed 201, so at low detail a large square seed can overflow the grid (code reading) [^S01].
10. **Dead code.** One unused setup draw multiplies the random function itself rather than calling it. The script also declares a token ID, a pattern index, a swap flag and a death counter that it never reads (code reading) [^S01].

## The most coveted variants

No published grail list or auction record was found. The artist's own writing, the rarest traits and the choices of named collectors are the best available guide.

**The artist's picks.** Boyarsky's first seed talk chose #82, an orthogonal Klein token with fast fade and a burst of growth. He said it shows how "things come together in an emergent way" [^S08]. The post says he bought it on the secondary market [^S08]. The index render catches an early moment: small blue and green clusters in the four corners of a black field.

![mono no aware #82: a black field with small clusters of blue and green cells in each corner](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/175000082.png)
*#82, the subject of Seed Talk #1. Render: Art Blocks media proxy.*

His second talk, on #115 "indigo", describes an orthogonal seed on a real projective plane, with slow fade, normal blur and radiant trails. He likened it to "a shifting, psychedelic painting" [^S09].

![Screenshot of mono no aware #115 "indigo" from the artist's blog, showing violet stepped forms](https://static.wixstatic.com/media/9340e7_a806cf2a8a934f7ab82448fbde087b34~mv2.png)
*#115, "indigo", as shown in Seed Talk #2. Image: ixnayokay.*

**Ineffable (5).** #53, #152, #180, #286 and #318 use the one seed that bypasses all the others: a lattice of arithmetic stripes [^S01]. #53 is held in the wallet the artist's airdrop post attributes to Snowfro [^S10][^S01]. #318 is also glitched.

![mono no aware #53: dense horizontal red, green and cream stripes spanning the canvas, with ragged green growth at the left and right edges](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/175000053.png)
*#53, "ineffable". Render: Art Blocks media proxy.*

![mono no aware #318: a mottled orange and violet mass filling most of the canvas, pierced by dark holes](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/175000318.png)
*#318, the only token that is both "ineffable" and "glitched out". Render: Art Blocks media proxy.*

**Other rarities.** Fuzzy square (#226, #263, #293) and ephemeral (#116, #233, #304) have three tokens each. Glitched out (#9, #35, #150, #262, #279, #306, #318, #345) and side generator (#37, #84, #111, #160, #179, #237, #248, #393) have eight each [^S01]. Fuzzy square draws each cell of its square at a random radius, so the seed opens as a scatter of cells rather than a frame (code reading). That matches the loose clusters in the render of #226 [^S01].

![mono no aware #226: scattered clusters of magenta, red and green cells on black](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/175000226.png)
*#226, one of three "fuzzy square" seeds. Render: Art Blocks media proxy.*

![mono no aware #37: four octagonal clusters of red, yellow and blue cells, cut by red striped bands](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/175000037.png)
*#37, a bounded grid with a side generator. Render: Art Blocks media proxy.*

## Notable collectors

In April 2022 the artist airdropped a Zoologic token to the 12 wallets then holding four or more mono no aware [^S10]. His post names ten of them, which lets the index holdings be attributed [^S10][^S01]:

- **Dandelion** holds 56, the largest holding. It includes 55 of the 56 consecutive tokens #315 to #370 (all but #363), minted between 04:44 and 06:06 UTC on 3 November 2021, plus #182 [^S01].
- **xoxo.lossy.eth** holds 11, **VonMises** 10, **Visavi** 9, **adamludwin.eth** 8 and **superpotsecret.eth** 6 [^S01].
- **Snowfro** holds 5, including #53. **Dinosaur** holds 2. **ThePulp** and **Matto** held four or more in April 2022 but hold none today [^S10][^S01].

At retrieval the 414 tokens sat in 226 addresses, and 168 of those held a single token [^S01]. The artist's minting address held none [^S01]. No museum or DAO holding was found.

## The mint

The index records three tokens minted before release: #0 on 1 October, #1 on 5 October and #2 on 11 October 2021 [^S01]. The project was activated on 12 October. The auction opened at 19:00 UTC on 15 October, which matches the 2pm Central time the artist announced [^S01][^S04]. The sales notes describe a Dutch auction from 2.00 ETH, falling every five minutes through 1.00, 0.75, 0.5, 0.35 and 0.25 to a resting price of 0.15 ETH [^S01].

The first public mint came at 19:26:49 UTC. By my computation, if the price steps ran on schedule, nobody bought above 0.25 ETH. Only five public mints came before 19:30, when the price would have reached 0.15 ETH [^S01]. After that the mint moved steadily but slowly. There were 83 public mints in the first hour, 245 tokens within a day and 314 by the end of October. Another 78 followed in November and 22 in December. The last, #413, was minted on 15 December 2021 at 23:24:27 UTC [^S01]. The index records a lowest listing of 0.43999 ETH at retrieval [^S01]. VERSE's series page shows total recorded volume of $14,933 and a highest sale of $626, but its coverage is not stated [^S11].

## Copyright and licensing

The index records `CC BY-NC-SA 4.0` without a link [^S01]. On that label, the images and animations may be shared and adapted non-commercially with attribution, and adaptations must carry the same licence. Commercial use needs the artist's permission. The script carries no separate code licence. p5.js is loaded by the platform at view time, and the earlier AB5D essay noted its LGPL 2.1 licence [^S12]. The screenshot of #115 belongs to the artist and is linked, not re-hosted [^S09].

## Significance and limitations

mono no aware is Boyarsky's first generative release and a modest Factory project. It is also an unusually complete statement of its own idea. The simulation cannot be paused, a dead world restarts, and the artist wrote at release about each visual trait and how to watch it [^S04][^S08][^S09]. The code shows how its variety works. One fixed rule set is seen through many colour lenses and edge topologies, which is the uniformity he later identified as a limit [^S07]. The trait layer has flaws: burst start is wrong for most tokens, the orientation labels mislead, and the speed multipliers read backwards [^S01]. Its collector base is small but traceable, and the artist tied its largest wallets to names [^S10].

Unresolved research questions:

1. Why was the announced edition of 1,024 closed at 414? Was the cap cut after the slow December mint, and is there an artist post on X that says so?
2. Was the burst-start mismatch introduced in the features script, and does the Art Blocks site filter by the wrong value?
3. What were the actual prices paid in the Dutch auction, and did the price steps start on time?
4. Who minted #0 to #2 before activation, and are they artist tests?
5. The quotations here came from automated WebFetch extraction of the artist's blog and the Art Blocks interview. They should be checked against the pages, and the interview's publication date confirmed.

## Bibliography

### Primary

[^S01]: Art Blocks public GraphQL index, `projects_metadata` for project 175 (including the full program) and `tokens_metadata` for all 414 tokens, retrieved 2026-09-20 (snapshot stamped 21 September 2026 09:06 UTC). https://artblocks-mainnet.hasura.app/v1/graphql. Trait derivations are my own re-computation in Python and Node.js.
[^S02]: Art Blocks, "mono no aware by ixnayokay", project page. https://www.artblocks.io/collections/presents/projects/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/175
[^S04]: ixnayokay, "About 'mono no aware'", 12 October 2021. https://www.ixnayokay.art/post/mono-no-aware-overview
[^S05]: ixnayokay, "ixnayokay -- an introduction", 11 October 2021. https://www.ixnayokay.art/post/ixnayokay-an-introduction
[^S08]: ixnayokay, "Seed Talk #1: 'mono no aware' #82", 22 October 2021. https://www.ixnayokay.art/post/seed-talk-1-mono-no-aware-82
[^S09]: ixnayokay, "Seed Talk #2: 'mono no aware' #115 ('indigo')", 29 October 2021. https://www.ixnayokay.art/post/seed-talk-2-mono-no-aware-115-indigo
[^S10]: ixnayokay, "Zoologic Airdrop for Top 'mono no aware' holders", 9 April 2022. https://www.ixnayokay.art/post/zoologic-airdrop-for-top-mono-no-aware-holders
[^S07]: ixnayokay, "Introducing Implications", October 2022. https://www.ixnayokay.art/post/introducing-implications
[^S06]: Jordan Kantor, "In Conversation with Aaron Boyarsky (ixnayokay) on because unless until", Art Blocks (undated in the copy read). https://www.artblocks.io/articles/in-conversation-with-aaron-boyarsky-ixnayokay-on-because-unless-until

### Video and audio

No video or podcast specific to mono no aware was found. Searches returned only unrelated uses of the phrase.

### Criticism, collecting and market

[^S11]: VERSE, "mono no aware by ixnayokay", series page. https://verse.works/series/mono-no-aware-by-ixnayokay
[^S12]: AB5D, "mono no aware by ixnayokay", earlier essay. https://ab5d.xyz/series/mono-no-aware-by-ixnayokay/

### Further reading

[^S03]: Wikipedia, "Mono no aware". https://en.wikipedia.org/wiki/Mono_no_aware
- ixnayokay, website and blog. https://www.ixnayokay.art/
- Art Blocks, artist page for Aaron Boyarsky (ixnayokay). https://www.artblocks.io/artists/aaron-boyarsky
- OpenSea, "mono no aware by ixnayokay" collection (not read). https://opensea.io/collection/mono-no-aware-by-ixnayokay
