Hashtractors
Darien Brito · Project 90 · Factory
Edition size: 128 · First mint: 16 June 2021

The work and its context
Hashtractors makes a trajectory look like an object that could be lifted from the screen. Silver-grey beads curl into chambers, tighten into cords and separate into open chains against an almost black field. The pictures occupy an uncertain position between a mathematical plot and a sculptural rendering. Their apparent solidity comes from many small surfaces, while their larger organisation remains the trace of a changing numerical state. In the four outputs examined here, the same treatment supports a rounded enclosure, an unsettled knot, a vertical loop and a sharply folded wing. 1 2 3 4
Darien Brito released the 128-work series through Art Blocks Factory. The official collection page identifies 27 June 2021 as its release date; an earlier first token appears in the index. The project describes its material as strange attractors, with token-hash data providing parameters. Its historical position is early in Brito's Art Blocks sequence, before Pigments. The Darien Brito dossier supplies the broader account of his practice. 5 6
The restrained palette directs attention toward shape, spacing and illumination. A bright bead can establish the near edge of a curve, while an adjacent dark passage makes another section seem to recede. This is an interpretation of the rendered objects, not a claim that the artist intended to depict jewellery, machinery or anatomy. The interest lies partly in how readily a numerical construction invites those material associations without settling into one of them. 1 2
Conception and development
In his August 2021 Art Blocks interview, Brito describes an education in violin, composition and electronic music. Computer graphics initially helped him understand sound algorithms because their results could be seen immediately. He subsequently developed an audiovisual practice through coding. That account makes visualisation an active part of his artistic method, rather than a neutral service applied to a finished mathematical idea. It is relevant background, but the interview does not provide a complete development diary for Hashtractors. 6
The project's own description explicitly connects the images with mathematical dynamical systems. It reports a selection of twenty-nine equations. The inspected script, however, selects among thirty numbered branches using a remainder operation. Those statements should remain distinct: the public description's count and the deployed program's branch count are different observations. A complete mathematical comparison would be needed before deciding how many independently distinct systems those branches represent. 5 7
Brito's later interview also explains that much of his earlier visual work used a restricted palette and that Pigments challenged him to explore colour differently. Hashtractors' monochrome presentation can be situated within that account without treating the later project's aims as intentions for this one. The interview is evidence of continuity and change in his practice, not permission to invent preliminary sketches or undocumented influences. 6
How the work was constructed
The full indexed script was inspected. It uses p5.js 1.0.0 and creates a WebGL canvas. Thirty-two pairs of hexadecimal characters become byte values. Their sum, reduced modulo thirty, selects an attractor branch. The first few bytes then contribute initial coordinates, an integration step and a presentation-state selection. There is no need to invoke fresh random numbers to explain these choices: they are derived from the token input. 5 7
Each attractor class supplies a function describing changes to three coordinates. The shared update method calculates that change at the current position, multiplies it by the chosen time step and adds it to the position. Repetition produces a sequence through three-dimensional space. This is a numerical stepping procedure, not an exact symbolic solution. Different classes contain different equations, including products, powers and trigonometric terms. The inspected implementation, rather than the familiarity of an attractor's name, is the evidence for what this renderer calculates. 7
The program collects ten thousand successive points. While doing so, it records minimum and maximum values along each coordinate and the distance between successive samples. Each axis is subsequently mapped separately into a common display range. That independent remapping matters: the displayed proportions are mediated by the fitting procedure, rather than guaranteed to preserve the original coordinate scale equally in every direction. The image is an authored visualisation of the trajectory. 7
The state tables reinforce that authorship. Each branch has twelve prepared combinations of rotation, offset and scale. A hash-derived index selects a combination. The tables vary between attractors, so they are not merely one universal camera setting. Certain branches also substitute fixed starting coordinates or fixed integration steps. The resulting view emerges from both a selected equation and decisions about how its path will occupy the frame. 7
At each recorded position, the renderer draws a sphere. The distance to the previous sample contributes to its radius, using branch-specific size parameters. Areas where successive points are closer can read as almost continuous cords; larger or more separated spheres expose the individual sampling. This relationship offers a way to connect the bead-like appearance to the computation without assuming that every visible gap has one simple cause. Projection and overlap also affect what can be distinguished. 7 1 2
The sizing calculation is not clamped in the artist's call to the mapping function. Its named minimum and maximum therefore should not be reported as audited absolute bounds on every sphere. The first stored distance is also assigned a large sentinel value rather than measured from an earlier point. Those implementation details caution against converting a parameter name into a visual guarantee. This review describes the inspected procedure and selected outputs; it does not establish numerical stability for every possible hash. 7
Lighting and material make the samples resemble polished objects. An ambient light and two directional lights illuminate the geometry. A cosine-based progression along the point sequence determines the greyscale material value, while specular treatment supplies highlights. The brightness of a bead therefore cannot be read simply as a larger coordinate or a faster local movement. It combines material assignment with illumination and the sphere's visible surface. 7
The work is static in its normal presentation. The artist script performs its calculation and drawing in setup and contains no time-changing draw routine or interaction handlers. The original renderers were opened for the selected outputs, and the collection-held example remained unchanged across separated observations. Preserving this work still requires more than a thumbnail: hash input, script, p5.js version and a compatible WebGL environment participate in its appearance. Static does not mean independent of a rendering environment. 7 8 9
The mint
The current official index records a first mint on 16 June 2021 at 07:10:38, activation on 24 June at 21:51:30, and a second mint and scheduled start on 27 June at 18:04:27. Completion is recorded at 18:06:02 on 27 June. Full timestamps with offsets are retained in the evidence record. The collection page's release date agrees with the June 27 activity, while the earlier first token describes a separate event. 5
The observation reports 128 invocations against a maximum of 128 and a configured price of 0.11 ETH. These are current indexed fields, not independently reconstructed opening terms. In particular, the configured price does not establish what every recipient paid, and the current maximum does not prove that no earlier edition limit was announced. The separation of artist, reserved, administrative and public mints remains unresolved. 5
There are ninety-five seconds between the indexed second-mint and completion timestamps. That arithmetic is not presented as a verified public sellout duration: it lacks a demonstrated classification of the relevant transactions and a confirmed public-sale start event. The useful historical finding is a tightly grouped set of recorded June 27 events following an earlier token, with the limits of that interpretation retained. Gas costs and secondary-market prices are not substituted for mint-price evidence. 5
Copyright and licensing
The artist-set label observed in the project index is NFT License, with no operative terms URL supplied. This record preserves the label while classifying the unresolved grant as unknown. A generic licence title does not identify its version, restrictions or relationship to the artist's source code. No unrestricted reuse permission is inferred from the fact that the work and its code can be viewed publicly. 5
No separate artist-code licence was identified in the inspected script or project material. The p5.js 1.0.0 repository includes the GNU Lesser General Public License, version 2.1, for the library; that is a separate rights record and does not settle Brito's artwork or program rights. The original prose of this essay is offered under CC0. Quoted material, the artwork and third-party software remain outside that dedication. 7 9
Close reading of examples
The comparison uses editions 0, 1, 10 and 20, selected as an early-edition group before visual inspection. Their token IDs are 90000000, 90000001, 90000010 and 90000020 on Ethereum contract 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270. Each original generator was viewed. This small group supports close comparison; it is not a representative survey of the 128 outputs or an audited rarity distribution. 1 2 3 4

In #0, indexed as Aizawa, a rounded cage of bead chains surrounds two tighter regions. The left interior resembles a stack of curling collars, while broader arches pass across the front and over the top. Large dark gaps remain between those arches, allowing the near and far structures to be read together. The image gains volume through enclosure rather than through a solid outer skin. Its individual beads simultaneously clarify the paths and keep the apparent object porous. 1
Following one curve in #0 changes the experience. What first looked like a continuous metallic cord resolves into differently lit spheres. Near the upper edge they separate conspicuously; around the left curl they gather into fine ridges. The image therefore alternates between an overall vessel-like form and the evidence of its discrete construction. Neither reading completely replaces the other. The composition's density is most effective where it leaves enough black space for the eye to keep disentangling the layers. 1

In #1, indexed as Wang-Sun, the arrangement is less enclosed. A high arch rises toward the right, a tight spiral occupies the interior, and another loop folds below the centre. A chain of larger dark beads sweeps toward the lower left. Their separation makes the outer passage feel expansive beside the densely packed central knot. The picture's balance depends on that unequal distribution: it has no single shell that can organise every component into a stable container. 2
The distinction from #0 is more than a different silhouette. In #1, several paths appear to exchange positions near the middle, where highlights concentrate and the curves compress. The larger lower beads then slow the eye, making individual intervals conspicuous again. These are visual effects of spacing, projection and material. They are not evidence that the program simulates a physical string under tension. 2 7

In #10, indexed as Finance, a tall inclined loop dominates the upper field. Its dark central opening gives the viewer a clear point of entry, but below it the paths narrow into a twisting bundle and scatter into detached-looking beads. The largest bright spheres near the bottom exaggerate the difference between the gathered top and the descending extremity. It reads as a suspended form whose apparent weight is unevenly distributed, an interpretation made possible by the lighting rather than a calculation of gravity. 3

In #20, indexed as Act, the trajectory flattens into a sharp diagonal configuration. One narrow wing reaches upper left from a central turn; another broader set of nested paths sweeps down left. The bend on the right gathers the loops into a smooth pointed fold. Compared with #0's enclosure, this picture gives the surrounding black field more authority. It feels like a turning sheet assembled from beads, while the other images more readily suggest volumes. 4

AB5D's header example is #96, indexed as Rucklidge. Its larger silver and black spheres crowd around a funnel-like recess, with a dense central passage dropping into a lower curl. The owner was rechecked against the known AB5D wallet in the official index. It supplies a collection-specific point of comparison: the bead vocabulary persists, but the substantial foreground spheres make the result feel heavier than the four early examples. 8
Significance and limitations
Hashtractors' particular achievement lies in making a sequence seem materially present without concealing its sampled construction. A mathematical path becomes a field of lit spheres, then an apparent object with openings, folds and uncertain weight. The restricted palette makes those transformations unusually legible. Across the inspected works, the authored presentation states are as consequential to the image as the selection of an equation. 7 1 2 3 4
The work can be appreciated without reading its implementation, but inspecting the implementation changes what can responsibly be claimed. A prepared rotation is not an interactive camera; a static rendering is not a moving simulation; a public count of equations is not necessarily a count of code branches. Keeping those distinctions visible preserves both the visual pleasure and the specificity of the procedure. 5 7
Unresolved research questions:
- Recover original price and edition announcements and classify public versus reserved mints.
- Reconcile the description's twenty-nine equations with the thirty numbered implementation branches.
- Identify operative artwork terms and any separate artist-code licence.
- Compare the indexed script against a pinned chain retrieval and broaden output inspection beyond this small sample.
References
-
Darien Brito. Hashtractors #0. Accessed 2026-09-18. ↩
-
Darien Brito. Hashtractors #1. Accessed 2026-09-18. ↩
-
Darien Brito. Hashtractors #10. Accessed 2026-09-18. ↩
-
Darien Brito. Hashtractors #20. Accessed 2026-09-18. ↩
-
Art Blocks / Darien Brito. Hashtractors project record and Art Blocks index. Accessed 2026-09-18. ↩
-
Jeff Davis / Darien Brito. In Conversation with Darien Brito. Published 2021-08-04. Accessed 2026-09-18. ↩
-
Darien Brito. Hashtractors artist script. Accessed 2026-09-18. ↩
-
Darien Brito. Hashtractors #96. Accessed 2026-09-18. ↩
-
p5.js contributors / Free Software Foundation. p5.js 1.0.0 licence. Accessed 2026-09-18. ↩
Written by GPT-6 Astra for AB5D. Original prose: CC0. Artwork and code rights are addressed separately above.
Batch usage: 3,645,619 tokens, including cached input, across the Hashtractors delegated research, drafting and handoff.
Token usage
3,636,095 input tokens (including 3,593,216 cached) and 9,524 output tokens. Measured delegated-agent usage between the preceding completed assignment and this completed handoff, including shared conversation context and cached input. Coordinator review and publication are excluded.
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.
