mono no aware
ixnayokay · Project 175 · Factory
Art Blocks Factory, project 175 · 414 outputs · public mint 15 October 2021 · CC BY-NC-SA 4.0
Animation starts automatically. Click to restart; use the left and right arrow keys to adjust detail. Open artwork

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 1. Art Blocks now presents it as "an Art Blocks 500 release, in the Factory category" 2.
The mint text calls it "an exploration of change at the borders between existence and emptiness" 1. 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" 1. 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" 1.
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 3. The artist chose it, he wrote, because "I found myself feeling 'mono no aware' when watching it" 4.
AB5D holds #18, pictured above. Its published traits are an "orthogonal" seed, "klein" topology, normal fade, no blur and no burst of growth 1. 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 5. 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!" 5. 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 5.
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" 6. He described it as "heavily concerned with symmetry, the chaotic boundary between two paradigms", and with the transition between life and death 6. When introducing his later project Implications, he called mono no aware his first generative artwork, "another work about chaotic systems and symmetry" 7. He added that relying on seeds and symmetries alone had made textures fairly uniform across the set 7.
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" 4. It also explains a deliberate omission. There is no pause and no frame saving, because "it felt wrong to stop time" 4. The same post announced an edition of 1,024 4. Only 414 were ever made, and no source consulted explains the reduction 1.
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 1.
The script reads the token hash as 32 bytes and also seeds a small xorshift generator from its first characters 1. 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 1.
The simulation is Conway's Game of Life on a square grid of 201 by 201 cells, with additions 1:
- 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" 1. 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 89.
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.
- "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 1. 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 8. 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).
- 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) 1.
- 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 1.
- 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) 1.
- 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 1.
- 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" 4. All eight published side generators are bounded. On the other eleven the switch does nothing 1.
- 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" 1.
- 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) 1.
- 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) 1.
- 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) 1.
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" 8. The post says he bought it on the secondary market 8. The index render catches an early moment: small blue and green clusters in the four corners of a black field.

#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" 9.

#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 1. #53 is held in the wallet the artist's airdrop post attributes to Snowfro 101. #318 is also glitched.

#53, "ineffable". Render: Art Blocks media proxy.

#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 1. 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 1.

#226, one of three "fuzzy square" seeds. Render: Art Blocks media proxy.

#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 10. His post names ten of them, which lets the index holdings be attributed 101:
- 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 1.
- xoxo.lossy.eth holds 11, VonMises 10, Visavi 9, adamludwin.eth 8 and superpotsecret.eth 6 1.
- Snowfro holds 5, including #53. Dinosaur holds 2. ThePulp and Matto held four or more in April 2022 but hold none today 101.
At retrieval the 414 tokens sat in 226 addresses, and 168 of those held a single token 1. The artist's minting address held none 1. 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 1. 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 14. 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 1.
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 1. 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 1. The index records a lowest listing of 0.43999 ETH at retrieval 1. VERSE's series page shows total recorded volume of $14,933 and a highest sale of $626, but its coverage is not stated 11.
Copyright and licensing
The index records CC BY-NC-SA 4.0 without a link 1. 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 12. The screenshot of #115 belongs to the artist and is linked, not re-hosted 9.
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 489. 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 7. The trait layer has flaws: burst start is wrong for most tokens, the orientation labels mislead, and the speed multipliers read backwards 1. Its collector base is small but traceable, and the artist tied its largest wallets to names 10.
Unresolved research questions:
- 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?
- Was the burst-start mismatch introduced in the features script, and does the Art Blocks site filter by the wrong value?
- What were the actual prices paid in the Dutch auction, and did the price steps start on time?
- Who minted #0 to #2 before activation, and are they artist tests?
- 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
-
Art Blocks public GraphQL index,
projects_metadatafor project 175 (including the full program) andtokens_metadatafor 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. ↩
-
Art Blocks, "mono no aware by ixnayokay", project page. https://www.artblocks.io/collections/presents/projects/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/175 ↩
-
ixnayokay, "About 'mono no aware'", 12 October 2021. https://www.ixnayokay.art/post/mono-no-aware-overview ↩
-
ixnayokay, "ixnayokay -- an introduction", 11 October 2021. https://www.ixnayokay.art/post/ixnayokay-an-introduction ↩
-
ixnayokay, "Seed Talk #1: 'mono no aware' #82", 22 October 2021. https://www.ixnayokay.art/post/seed-talk-1-mono-no-aware-82 ↩
-
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 ↩
-
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 ↩
-
ixnayokay, "Introducing Implications", October 2022. https://www.ixnayokay.art/post/introducing-implications ↩
-
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
-
VERSE, "mono no aware by ixnayokay", series page. https://verse.works/series/mono-no-aware-by-ixnayokay ↩
-
AB5D, "mono no aware by ixnayokay", earlier essay. https://ab5d.xyz/series/mono-no-aware-by-ixnayokay/ ↩
Further reading
-
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 ↩
- 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
Supplied revision published by AB5D. Author not specified. Original prose: CC0. Artwork and code rights are addressed separately above.
Token usage unavailable for the complete essay.
Token usage
Usage for this supplied revision was not provided. The linked generation record describes the original research batch.
Artist dossier · Source record · Essay data
Research record
The indexed project script was inspected. Runtime observations and limits are documented in the research record. Historical price, allocation and licensing questions remain as identified in the essay. Publication does not resolve those evidence gaps.
