AB5D

Fluiroso

Sebastián Brocher (CryptoArte) · Project 473 · Presents

Art Blocks Presents, project 473 · 106 outputs · first mint 17 October 2023, released 18 December 2023 · CC BY-NC 4.0

Fluiroso #97 by Sebastián Brocher (CryptoArte), from the AB5D collection
Fluiroso #97 by Sebastián Brocher (CryptoArte). Copyright: CC BY-NC 4.0. From the AB5D collection.
Fluiroso #48: soft grey, bone and slate brush strokes swirling over white, with a dark lozenge of marks low on the left

Fluiroso #48, Medieval palette, stroked Bézier curves with circles and ten velocity sources. Held by AB5D. Render: Art Blocks media proxy.

The work and its context

Fluiroso is project 473 on the Art Blocks contract 0x99a9b7c1116f9ceeb1652de04d5969cce509b069. The index records 106 invocations against a maximum of 106, the runtime p5@1.0.0, a square aspect ratio, the "presents" vertical and the licence CC BY-NC 4.0 1. The collection page calls it "An Art Blocks 500 release, in the Presents category" and gives the release date as 18 December 2023 2. Art Blocks defines AB[500] as "the complete collection of our first 500 projects published by Art Blocks from 2020-2025" 3.

The title is a contraction. The mint text says the name is "derived from 'Fluidos Ruidosos'", Spanish for noisy fluids, and that the work implements "an accelerated solver for the Navier–Stokes partial differential equations" 1. Each token is an animation. A small simulated fluid is set moving, and at every frame its state is painted as brush strokes on a canvas that is never cleared. After a set number of frames the animation stops, and the accumulated marks become the picture. In the artist's words, it is "a delicate dance of brush strokes where the fluid becomes painter" 1.

The results recall marbled paper, stone, lichen or water seen from the air. Some are soft, some furred with short strokes, and a few are cut into tiles (#0 below). AB5D holds two: #48 and #97 14.

Conception and development

The artist statement in the mint text is the only first-hand account of Fluiroso found. It says the work draws "inspiration from the intricacies of nature and the physics theories that model it" 1. Initial density and velocity are placed with Perlin noise, "up to ten random velocity sources" are positioned across the area, and parameters "such as boundary conditions and viscosity" shape the result. Once the animation pauses, viewers "press 'p' to restart the movement" 1.

Brocher came to Art Blocks with a long on-chain history. The Art Blocks biography describes a Buenos Aires-born computer engineer, trained at the Buenos Aires Institute of Technology and living in Austin, Texas, who in 2018 "created one of the very first generative art collections on Ethereum - CryptoArte - which later became his artist name" 2. The 6529 Museum dates the first CryptoArte mints to 13 July 2018, counts 9,895 single-edition paintings, and calls it "possibly the first large generative collection minted as NFTs" 5. NFT Culture describes it as blending "the Ethereum network, an art collection, a non-fungible token, and a decentralized application" 6. His own Medium posts from 2018 to 2021 document the CryptoArte launch and smart contracts, not later work 7.

He discussed CryptoArte on The Adam McBride Show in August 2021 and on the Somi Arian Podcast in August 2022, where he was introduced as founder of "StudioUno, CryptoArte, and ChimiChurri" 89. Both predate Fluiroso. The episode descriptions do not mention Art Blocks, and the episodes were not heard for this draft.

Fluiroso is his second Art Blocks project. The first, Rotor (project 315, 285 outputs, June 2022), was "Inspired by the physics behind electrical motors and alternators" 10. The two share a method: a physical system animated on a canvas that keeps every trace, pausing itself to make the still, with 'p' to resume 101.

How the work was constructed

The program is a single script of 14,767 bytes, SHA-256 b490e0531618caa8288dc2731f5014290f61f43cc659c26777443059084532bf. It was retrieved from the Art Blocks index on 20 September 2026 and read in full 1.

Randomness comes from Art Blocks' usual pair of generators, seeded from the two halves of the hash, with a million warm-up draws. The same generator seeds p5's Perlin noise 1. The program then draws a colour mode, opacity and multiplier settings, a time step, a drawing mode, circles, boundaries, background, one of 22 palettes, four tint settings, a brush density, Bézier jitter, and between 0 and 10 velocity sources 1.

The fluid lives on a 64 by 64 grid, 62 by 62 cells inside a border. Each frame the velocity sources are stamped in, velocity is diffused, made incompressible by a pressure "projection", carried along itself ("advection") and projected again; then density is diffused and advected, with 20 relaxation passes per solve. This is the widely taught stable-fluids method associated with Jos Stam (code reading) 111.

The ink is sparse. Only about one cell in 200 receives starting density, and the seeded interior cells range from 10 (#31) to 31 (#65) (own computation from the hashes) 1. Strokes are drawn in proportion to each cell's density, so the image is a few drops of ink smeared by a flow that fills the whole grid 1.

A reimplementation of the parameter draws reproduces all 16 published traits on all 106 tokens, with the exceptions under Quirks 1. The main traits:

Trait (program weight) Published count of 106
Draw Mode: Lines 40%, Bézier Curves 20%, Filled Bézier Curves 20%, Boxy Curves 10%, Filled Boxy Curves 10% 35, 28, 24, 9, 10
Step (time step): Very small 5%, Small 80%, Medium 10%, Large 5% 5, 89, 8, 4
Color Mode: Direction, Speed, Density, one third each 27, 33, 42 + 4 "noiseDensity"
Background: Black 35% 34
Boundaries: Walls 75%, None 25% 72, 34
Circles: 5% 6
Velocity Sources: 0 to 10, equally likely 6 to 14 each
Palette: Night Reflection and Monaco 11.3% each; Rusty Teal, Blue Crystal, Beach and Rock Tree 7.5% each; ten between 3.4 and 3.8%; six between 1.3 and 1.9%, one of which never appears Night Reflection 15, Monaco 13, Blue Crystal 13 ... Carousel, Grayscale and Summer Vibes 1 each

In "Lines" mode each cell draws short strokes along its velocity, about 3.236 cell widths per unit of normalised speed, twice the golden ratio (code reading) 1. The Bézier modes chain three velocity lookups into a curve. The "Boxy" modes make those lookups on a grid wrapped eight times across the canvas, which produces the tiles of #0 1. Colour follows flow direction, speed or a slowly changing noise field, and each stroke has a small chance of a white or black tint 1. The step size fixes the running time: 1,200 frames for Very small, 600 for Small, and 300 for Medium and Large 1.

Fluiroso #0: yellow and navy strokes in a grid of square tiles, with a border of tiles around the edge

Fluiroso #0, Night Reflection, Filled Boxy Curves. The eightfold wrap of the Boxy lookup cuts the flow into tiles. Held at the artist's address. Render: Art Blocks media proxy.

Quirks in the algorithm

A full read of the program, a reimplementation checked against all 106 token records, and local renders with p5.js 1.0.0 turned up the following 112.

  1. Diffusion that amplifies. An implicit diffusion step should divide the whole update by one plus four times the rate. Here only the neighbour term is divided, so each pass adds a little rather than averaging (code reading) 1. In local renders the maximum density grew from about 0.4 to 42 over 600 frames on #97, and to about 178,000 in 300 frames on the Large-step #30 12. The program rescales every frame to its current maximum, so the growth never shows as overflow. It may be part of why many pieces "continually evolve" 1.
  2. Sources tied to the current maximum. Sources are stamped each frame at their direction times the previous frame's peak speed. On the first frame that peak is still the placeholder −1, so every source starts pointing backwards (code reading) 1.
  3. A resolution-dependent Bézier lookup. In the two non-boxy Bézier modes, the cell steering the second and third control points is found by dividing a pixel position by 62, the number of cells, not the cell width. The lookup covers only part of the grid, and the part grows with the window 1. Local renders at 620 and 1,240 pixels differed more for the Bézier tokens #48 and #97 than for the Lines token #103 or the boxy #0; the composition held, the marks did not 12.
  4. A hidden opacity multiplier in the palettes. Each palette sets p5's colour mode with a range before blending: RGB 200 for eleven palettes, 80 for Algae, HSB 220 or 120 for Passion and Summer Vibes. In p5.js 1.0.0 the range also rescales alpha, and resetting the mode without a range does not restore 255 112. So the same alpha draws about 1.28 times as opaque in 63 tokens and about 3.2 times in the four Algae tokens (#2, #22, #35, #68) (code reading and own computation) 1. The Transparency trait does not reflect this.
  5. Color Tiger overrides, labels do not. Color Tiger forces Density colouring and filled Bézier curves, but the metadata reports the mode drawn before the override: #42, #100 and #102 are labelled "Lines" and #3 "Filled Boxy Curves", yet all four are filled Bézier curves 1. Their Color Mode is published under the code's name, "noiseDensity". #100 is labelled both "Lines" and "Bezier Deltas: Yes", a contradiction visible in the metadata alone.
  6. Transparency labels run backwards from alpha. "High" transparency is the lowest alpha (2) and "Low" the highest (12 or 24) 1. Read as see-through-ness the labels are right; read against the code they are inverted.
  7. Viscosity is not a variable. The description names viscosity as a parameter, but viscosity and diffusion are fixed at 0.001. What varies is the time step, which scales their effect (code reading) 1.
  8. "None" boundaries absorb. With None, edge cells are left at zero, so ink and momentum drain out of the frame rather than wrapping round (code reading) 1.
  9. One palette never minted. A 22nd palette of pale blue, sky blue, mint and lilac has a 1.5 per cent weight but appears in no token, about a one-in-five chance over 106 mints (own computation) 1. Its name is unknown.
  10. Restarting disables the pause. The auto-pause fires only when the frame counter equals its target exactly. The counter keeps running while paused, so after 'p' the animation never stops by itself again (code reading) 1.
  11. The canvas is a multiple of 62 pixels, drawn at the top left of the window. The media proxy's renders are 2,356 pixels square, 38 × 62 (measured) 12. The artist's minimum of 100 by 100 pixels gives a 62-pixel canvas 1.

The most coveted variants

No market commentary or collector discussion of Fluiroso was found, so this section rests on the trait data and the renders.

Single-token palettes. Carousel (#63), Grayscale (#65) and Summer Vibes (#94) each appear once 1. #94 is a pale field of aqua, peach and white crossed by a large X, one of only two palettes blended in HSB 1.

Fluiroso #94: pale aqua, peach and white strokes forming a broad X across the square

Fluiroso #94, the only Summer Vibes. Render: Art Blocks media proxy.

#65, the only Grayscale. It combines the monochrome palette with Circles (one of six), zero velocity sources (one of six) and Low tint (one of two), and has the most seeded cells, 31 1.

The Color Tiger four. #3, #42, #100 and #102 carry the metadata mismatch in Quirk 5 1, as the red, teal and ochre weave of #3 shows.

Fluiroso #3: dense coral, teal and olive strokes swirling in eddies across the square

Fluiroso #3, Color Tiger, labelled "Filled Boxy Curves" but drawn as filled Bézier curves. Render: Art Blocks media proxy.

No sources. The six tokens with zero velocity sources (#15, #27, #62, #65, #78, #104) are driven only by their initial noise field 1. #15 shows a single slow vortex of yellow and grey on black.

Fluiroso #15: yellow and grey streaks curling into a slow vortex on black

Fluiroso #15, Night Reflection on black, zero velocity sources. Render: Art Blocks media proxy.

Large step. The four Large-step tokens (#30, #39, #40, #59) run the fastest fluid in the shortest animation 1. #30 is the only token with "Very Low" tint transparency 1.

The AB5D pair. #48 is one of three Medieval tokens and one of six with Circles, with ten sources, stroked Bézier curves, no walls and High transparency 1. #97 is Fairway, one of five, in filled Bézier curves with three sources and walls, a blotched field of lime, aqua and yellow 1.

Fluiroso #97: blotches of lime green, aqua and yellow with pale cream gaps, like lichen or algae

Fluiroso #97, Fairway, Filled Bézier Curves. Held by AB5D. Render: Art Blocks media proxy.

Sales and ownership

No auction appearance, record sale or press report of a Fluiroso sale was found. The on-chain trail of the AB5D pair is the best-documented market evidence. On 14 August 2025 one wallet bought #48 for 0.1295 ETH and, 24 seconds later, #97 for 0.147 ETH, both through OpenSea's Seaport contract 1314. In the #97 sale 5 per cent went to the artist payout address recorded by the minter, and a further 2.5 per cent to a Safe account, consistent with the 7.5 per cent creator fee OpenSea lists 14115. That wallet passed #97 to ab500dao.eth on 7 September 2025 and #48 on 19 September, in bulk transfers of 20 tokens each 16. Earlier, #48 had left its minter on 14 September 2024 in a three-NFT offer fulfilment whose split per token is unclear 17.

At retrieval the 106 tokens were held by 85 addresses, none holding more than three, and the lowest listing was 0.639 ETH, several times the August 2025 prices 115. No holder address could be tied by a source to a named collector or institution.

Viewing the work

At 30 frames a second the nominal running times are 40 seconds for Very small steps, 20 for Small, and 10 for Medium and Large 1. The Art Blocks thumbnail is therefore the end of the first run. The canvas snaps to a multiple of 62 pixels at the top left of the window, and Bézier tokens shift slightly with resolution (Quirk 3), so a large screen will not show exactly the proxy's still 12.

The mint

Invocation 0 was minted on 17 October 2023, two days before activation on 19 October, and remains at the artist's address 1. Invocations 1 to 53 were minted between 14 December 2023 at 18:03:11 UTC and 18 December at 15:59:59 UTC before the recorded start. The one checked, #1, went through Art Blocks' allowlist minter MinterSetPriceMerkleV5 at 0.08 ETH 18. Since the auction receipts below cover 52 tokens, the other 53 appear to be this allowlist phase (own computation) 1.

The public sale was a Dutch auction with settlement. It began at 18:00:04 UTC on 18 December at 2 ETH, with a price half-life of 381 seconds, and reached its 0.08 ETH floor at 18:30:02 1. The first auction purchase, #54 at 18:28:11, posted about 0.102 ETH 19. Every settlement receipt in the index resolves to 0.08 ETH, across 52 tokens and 33 buyers, so allowlist and public buyers paid the same 1. The render provider's share was 10 per cent 1.

Demand was slow. By one day after the start 66 tokens had been minted, by 30 days 86, and the last, #105, on 9 September 2024 1. The index's completion date, 6 March 2025, is unexplained 1.

The index records CC BY-NC 4.0 and links it to the Creative Commons deed 1. On that label, images may be shared and adapted with attribution for non-commercial purposes; commercial use needs the artist's permission. The program carries no licence statement of its own, and embeds no third-party code; p5.js is loaded by the platform 1.

Significance and limitations

Fluiroso is a rare long-form work built on an actual fluid solver rather than a noise-driven flow field, by an artist whose 2018 CryptoArte series is among the earliest generative collections on Ethereum 1511. Its most distinctive behaviour comes from departures from the standard method: diffusion that amplifies, sources tied to the running maximum, and palette ranges that act as opacity controls 112. The metadata misreports the four Color Tiger tokens 1. The mint is now documented; the limitation is critical and collector writing, of which none was found.

Unresolved research questions:

  1. What has the artist said about Fluiroso on X (his listed website)? The account cannot be fetched, and no Fluiroso interview was found. Web search was exhausted for this draft.
  2. Were the amplifying diffusion step, the pixel-by-62 Bézier lookup and the palette ranges intended? Re-renders with each corrected would show their visual weight.
  3. Who was on the December 2023 allowlist, and why does the index record completion on 6 March 2025?
  4. Quotes from the 6529 Museum, NFT Culture, the Somi Arian Podcast page and the Art Blocks biography, and the sale figures read from Etherscan, came from automated WebFetch extraction and are unconfirmed; check them against the pages.
  5. What did #48 fetch in the September 2024 bundle, and are there other secondary sales above 0.15 ETH?

Bibliography

Primary

  1. Art Blocks public GraphQL index, projects_metadata for project 473 (including the full program and the minter configuration), tokens_metadata for all 106 tokens and receipt_metadata for the auction, with the author's reimplementation of the parameter draws. Retrieved 2026-09-20 via https://artblocks-mainnet.hasura.app/v1/graphql 

  1. Art Blocks, "Fluiroso by Sebastián Brocher (CryptoArte)", collection and marketplace pages, with artist biography. Read 2026-09-20. https://www.artblocks.io/collection/fluiroso-by-sebastian-brocher-cryptoarte and https://artblocks.io/marketplace/collections/fluiroso-by-sebastian-brocher-cryptoarte 

  1. Art Blocks, "AB[500]". Read 2026-09-21. https://www.artblocks.io/discover/ab-500 

  1. Art Blocks, "Fluiroso #48" and "Fluiroso #97", token pages showing AB5D as owner. Read 2026-09-21. https://www.artblocks.io/token/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/473000048 

  1. Sebastián Brocher, Medium profile, posts from April 2018 to March 2021. Read 2026-09-21. https://sebinatx.medium.com/ 

  1. Local renders of #0, #15, #30, #48, #97 and #103 in headless Chromium with p5.js 1.0.0 (npm package), at 310, 620 and 1,240 pixels, run to the automatic pause; p5.js 1.0.0 source for colorMode, lerpColor, setAlpha and the p5.Color constructor; dimensions of the media proxy renders of #48 and #97. Author's own tests, 2026-09-20. Live renderer: https://generator.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/473000048 

  1. Etherscan, transaction minting #1 through MinterSetPriceMerkleV5, 14 December 2023, and the minter contract page. Read 2026-09-21. https://etherscan.io/tx/0xe3e9b1c84c51b7c742c53970adf5eed6ea8b961551edc00ecddc246cc1a439b7 and https://etherscan.io/address/0xa19Bf77719A9B6E7daa3c33b3AAC119AF865e1c4 

  1. Etherscan, transaction minting #54 through the Dutch-auction minter, 18 December 2023. Read 2026-09-21. https://etherscan.io/tx/0x0042a2595b8448ba40e14eaff1c1d362c50e6424c322955a00e3463de731715c 

Video and audio

  1. "First Generative Art NFT on Ethereum - Sebastián Brocher of CryptoArte", The Adam McBride Show, 4 August 2021, 1 hour 6 minutes. https://podcasts.apple.com/us/podcast/first-generative-art-nft-on-ethereum-sebasti%C3%A1n-brocher/id1410811576?i=1000531011785 

  1. "#78 - Sebastián Brocher - Generative Art In the Age of Web3", Somi Arian Podcast, 22 August 2022. https://somiarianpodcast.podbean.com/e/78-sebastian-brocher-early-generative-art-in-the-age-of-web3/ 

No video about Fluiroso itself was found.

Criticism, collecting and market

  1. 6529 Museum, "CryptoArte", Genesis gallery. Read 2026-09-21. https://6529.io/museum/genesis/cryptoarte 

  1. Natalee, "A Look Back: CryptoArte NFT", NFT Culture, 18 February 2022. https://www.nftculture.com/nft-art/a-look-back-cryptoarte-nft/ 

  1. Etherscan, OpenSea purchase of #48 for 0.1295 ETH, 14 August 2025. https://etherscan.io/tx/0x24448ae4f3bede0e08f973d6a33f5c8e1f2269bfe6103d77550e9c6c243d61a6 

  1. Etherscan, OpenSea purchase of #97 for 0.147 ETH, 14 August 2025. https://etherscan.io/tx/0xc1c365d32347899580063e82a7643a35c793bbb674da7fb36a0fa4ceb8b82315 

  1. OpenSea, "Fluiroso by Sebastián Brocher (CryptoArte)", collection page. Read 2026-09-21. https://opensea.io/collection/fluiroso-by-sebastian-brocher-cryptoarte 

  1. Etherscan, bulk transfers to ab500dao.eth, 7 and 19 September 2025. https://etherscan.io/tx/0x6bfcc557bcee94c6bf5b13ae87ca1ced7c7cf909b3e55a8949b28ce1f41f6301 and https://etherscan.io/tx/0xfb9830001a7a84c56025d271959221178b3981c370d0e3ad9dc7b3de25fcc2d3 

  1. Etherscan, Seaport offer fulfilment including #48, 14 September 2024. https://etherscan.io/tx/0x16519d590dda2074bb022fcadee8f0c82250699d9810f0b5bd0717d1072c9f2e 

Further reading

  1. AB5D, "Rotor by Sebastián Brocher (CryptoArte)", series essay. Read 2026-09-20. https://ab5d.xyz/series/rotor-by-sebastian-brocher-cryptoarte/ 

  1. Wikipedia, "Jos Stam". Read 2026-09-20. https://en.wikipedia.org/wiki/Jos_Stam 

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.

Generation record

· 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.

Retrieval evidence · Research notes · Manuscript