AB5D

Stains on a Canvas

Omar Lobato · Project 365 · Factory

Edition size: 300 · First mint: 9 September 2022

Stains on a Canvas #60 by Omar Lobato, from the AB5D collection
Stains on a Canvas #60 by Omar Lobato. Copyright: CC BY-NC-ND 4.0. From the AB5D collection.

The work and its context

Stains on a Canvas is project 365 on the Art Blocks V2 core contract 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270, published under the canonical slug stains-on-a-canvas-by-omar-lobato and credited to Omar Lobato. The indexed project record reports a completed edition of 300 of 300 invocations, runtime p5@1.0.0, and the official description: This project is an exercise in simplicity, simulating stains of ink made through points and noise. Since creating art with code, I’ve wanted to reproduce the physical with the digital. Stains On A Canvas emerged from this desire to produce a hand-made canvas painting. Stains On A Canvas’s background textures use points or grids, and the algorithm explores the maximum difference between each iteration. The collection is divided into styles, named after popular flowers in my country [Brazil]. Colors are randomly generated to create unique tones paired with the variety of shades and shadows. -Press from 1 - 9 in your keyboard to adjust the pixelDensity and increase/equalize the resolution quality according to your screen. -Press "S" to save a .png file in the resolution quality you choose. 12

Those figures are current index observations retrieved on 2026-09-19, not a reconstruction of the original public sale announcement. Atlas position is a catalogue ordinal and is not the on-chain project ID. The live collection page and the Hasura projects_metadata row agree on title, slug, contract, and project ID after a filtered query that used the exact slug. 12

Contract 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270. Aspect ratio indexed as 0.82. Website none indexed.

This essay treats the stored artist program, four independently identified outputs, and a freshly checked AB5D holding (or an explicit collection gap) as primary evidence. Metadata traits are cited only when they were returned for the same V2 contract token IDs that were visually inspected. They do not replace looking at the pictures. 34

Conception and development

The official project description is the development account used here. Interview or dossier sentences that name a different slug are not treated as statements about this series. This project is an exercise in simplicity, simulating stains of ink made through points and noise. Since creating art with code, I’ve wanted to reproduce the physical with the digital. Stains On A Canvas emerged from this desire to produce a hand-made canvas painting. Stains On A Canvas’s background textures use points or grids, and the algorithm explores the maximum difference between each i

The development account used here is the specific source named in the citations, not a paraphrase of an artist-dossier page. Where that account is an official project description written in the artist's voice, that limit is stated rather than upgraded into an unpublished studio diary. Where an interview exists, the sentences that actually name Stains on a Canvas are the ones relied on. 51

Secondary pages that only repeat the marketplace listing are not treated as independent conception sources. 25

How the work was constructed

The complete artist program for slug stains-on-a-canvas-by-omar-lobato was retrieved from projects_metadata.script filtered by that exact slug. The UTF-8 payload is 9024 bytes with SHA-256 6f05007e018fec57feb632b44a96870d35773da9f451d47e1f4f4c202a7ec840. Runtime on the project record is p5@1.0.0. The script was read in full; it was not executed in this research session. 6

The stored generator is 9024 bytes, SHA-256 6f05007e018fec57feb632b44a96870d35773da9f451d47e1f4f4c202a7ec840, runtime p5@1.0.0. Detected source markers: setup, draw, noLoop, createCanvas, keyPressed, tokenData, hash. Named functions include PixelDensity, border, draw, drawPg, generateFileName, getAspectRatio, keyPressed, resetRandom, saveFrame, setPg. tokenData.hash is read in source. Output then follows the drawing path those functions implement. Token 0 observation: Inspected media-proxy PNG is 1968x2400px, mid-tone and muted or near-neutral (mean RGB 171,155,182). File size 8785794 bytes. Indexed features: Style Gardênia; Stains Type Varied pattern of stains; Canvas Color BlanchedAlmond; Canvas Texture Points; Some RGB Stain? False

Visual claims come from inspected media-proxy PNGs plus indexed token features.

Seed handling is visible in the retrieved program: tokenData.hash is read in source. Time and interaction behaviour in code is: Source contains noLoop. The inspected PNG is a finished still. Live motion was not stopwatched. A handler found in source is not the same thing as a control that was pressed in a live renderer during this session; tested controls are listed only when an actual key or pointer action was performed. 67

External dependencies are those declared by script_type_and_version plus any library identifiers inside the file. Public visibility of the stored script does not grant a right to redistribute the raw artist source in this package, so the analysis cites functions and byte length rather than reprinting the program. 68

The mint

Indexed chronology for project 365 on 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270 is as follows. First token minted_at is 2022-09-09T21:37:15+00:00. activated_at is 2022-09-14T21:21:38+00:00. start_datetime is 2022-10-14T17:00:00+00:00. completed_at is 2022-10-14T17:01:11+00:00. Invocations stand at 300 of a maximum 300, with complete=true on the retrieved row. 23

Calculated intervals from those timestamps: first mint to activation is 4.99 days; activation to start_datetime is 29.82 days; start_datetime to completion is 1.2 minutes; first mint to completion is 34.81 days. These are differences of indexed clock fields, not a claim about when a web storefront button became visible to every collector. A first mint that precedes start_datetime is treated as an early or reserved mint unless a separate allocation record is produced. 23

Indexed clocks: first 2022-09-09T21:37:15+00:00, activated 2022-09-14T21:21:38+00:00, start 2022-10-14T17:00:00+00:00, completed 2022-10-14T17:01:11+00:00. Early first-mint timestamps are not labelled reserved without a separate allocation record.

Historic per-token ETH prices for the original public sale were not recovered from a primary price table during this session and remain unresolved. Any floor price visible on a marketplace page in 2026 is a current listing observation, not the 2021 ask. 12

The project record stores the artwork licence label 'CC BY-NC-ND 4.0'. That string includes an explicit 4.0 version and is treated as Creative Commons version 4.0. Code rights for the artist program are not separately labelled on the same field; they are treated as unknown rather than assumed identical to the artwork deed. 28

Artwork label copied exactly as 'CC BY-NC-ND 4.0'.

Third-party runtime p5@1.0.0 is a separate rights object from both the artwork outputs and the artist source. p5.js, three.js, and ordinary browser JavaScript each keep their own licence texts. This package does not redistribute those libraries. 68

Original essay prose in this package is dedicated CC0-1.0 by the research operator. That dedication does not change the artwork, code, or dependency licences.

Close reading of examples

Stains on a Canvas #0 by Omar Lobato
Stains on a Canvas #0 by Omar Lobato. Open artwork

Stains on a Canvas #0 is token 365000000 on 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270, minted 2022-09-09T21:37:15+00:00. The canonical token page returned HTTP 200. The inspected media-proxy PNG is a static frame. Inspected media-proxy PNG is 1968x2400px, mid-tone and muted or near-neutral (mean RGB 171,155,182). File size 8785794 bytes. Indexed features: Style Gardênia; Stains Type Varied pattern of stains; Canvas Color BlanchedAlmond; Canvas Texture Points; Some RGB Stain? False Indexed features returned for this V2 token: Style Gardênia; Stains Type Varied pattern of stains; Canvas Color BlanchedAlmond; Canvas Texture Points; Some RGB Stain? False. 394

Stains on a Canvas #1 by Omar Lobato
Stains on a Canvas #1 by Omar Lobato. Open artwork

Stains on a Canvas #1 is token 365000001 on 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270, minted 2022-10-14T17:00:23+00:00. The canonical token page returned HTTP 200. The inspected media-proxy PNG is a static frame. Inspected media-proxy PNG is 1968x2400px, mid-tone and muted or near-neutral (mean RGB 128,143,112). File size 10120900 bytes. Indexed features: Style Dente-de-leão; Stains Type Mix between Varied and Common; Canvas Color BlanchedAlmond; Canvas Texture Points; Some RGB Stain? False Indexed features returned for this V2 token: Style Dente-de-leão; Stains Type Mix between Varied and Common; Canvas Color BlanchedAlmond; Canvas Texture Points; Some RGB Stain? False. 394

Stains on a Canvas #10 by Omar Lobato
Stains on a Canvas #10 by Omar Lobato. Open artwork

Stains on a Canvas #10 is token 365000010 on 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270, minted 2022-10-14T17:00:23+00:00. The canonical token page returned HTTP 200. The inspected media-proxy PNG is a static frame. Inspected media-proxy PNG is 1968x2400px, mid-tone and muted or near-neutral (mean RGB 154,110,152). File size 10293358 bytes. Indexed features: Style Jasmim; Stains Type Mix between Varied and Common; Canvas Color Linen; Canvas Texture Points; Some RGB Stain? True Indexed features returned for this V2 token: Style Jasmim; Stains Type Mix between Varied and Common; Canvas Color Linen; Canvas Texture Points; Some RGB Stain? True. 394

Stains on a Canvas #20 by Omar Lobato
Stains on a Canvas #20 by Omar Lobato. Open artwork

Stains on a Canvas #20 is token 365000020 on 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270, minted 2022-10-14T17:00:23+00:00. The canonical token page returned HTTP 200. The inspected media-proxy PNG is a static frame. Inspected media-proxy PNG is 1968x2400px, mid-tone and muted or near-neutral (mean RGB 96,110,88). File size 8264188 bytes. Indexed features: Style Dente-de-leão; Stains Type Mix between Varied and Common; Canvas Color Nouvelle; Canvas Texture Grid; Some RGB Stain? False Indexed features returned for this V2 token: Style Dente-de-leão; Stains Type Mix between Varied and Common; Canvas Color Nouvelle; Canvas Texture Grid; Some RGB Stain? False. 394

Stains on a Canvas #60 by Omar Lobato
Stains on a Canvas #60 by Omar Lobato. Open artwork

The AB5D header candidate is token 365000060 (edition 60), currently indexed to 0xdd19308a9731cdecb67e0d80ca6823394208c045, which is one of the three linked addresses returned for username ab5d on 2026-09-19. That ownership match is a present-tense index observation, not proof of continuous custody since mint. Inspected media-proxy PNG is 1968x2400px, mid-tone and muted or near-neutral (mean RGB 122,134,115). File size 8733835 bytes. Indexed features: Style Dente-de-leão; Stains Type Varied pattern of stains; Canvas Color Beige; Canvas Texture Grid; Some RGB Stain? False 1034

Motion, interaction, and audio: Source contains noLoop. The inspected PNG is a finished still. Live motion was not stopwatched. The static PNGs document halt or preview states. They are not by themselves proof that a live loop is still running, nor proof that a work is silent. No soundtrack was heard from these pages during this session. 476

Significance and limitations

Stains on a Canvas is project 365 by Omar Lobato on 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270. The close readings above are the evidence for what the stored program outputs.

Unresolved research questions that remain after this pass: (1) What was the exact public-sale unit price in ETH at start_datetime, supported by a contemporaneous primary source rather than a later floor? (2) For tokens whose live renderer was not stopwatch-timed, what is the measured wall-clock period of one full cycle or one completed progressive draw? (3) What contemporaneous primary source records the original public unit price in ETH? (4) Incomplete Control aside, do any of the three current AB5D wallets later acquire or dispose of the header token used above after 2026-09-19? 2107

This package is a draft for human review. Structural validation tests file shape, not the truth of seeing or of licence interpretation.

References


  1. Art Blocks. Stains on a Canvas by Omar Lobato collection page. Accessed 2026-09-19. 

  2. Art Blocks Hasura index. projects_metadata record for stains-on-a-canvas-by-omar-lobato. Accessed 2026-09-19. 

  3. Art Blocks Hasura index. tokens_metadata for sampled Stains on a Canvas token IDs. Accessed 2026-09-19. 

  4. Art Blocks media proxy. Static PNG renders of sampled Stains on a Canvas tokens. Accessed 2026-09-19. 

  5. Omar Lobato. Stains on a Canvas official description. Accessed 2026-09-19. 

  6. Omar Lobato. Stains on a Canvas on-chain artist program. Accessed 2026-09-19. 

  7. Art Blocks. Live generator renderer for Stains on a Canvas. Accessed 2026-09-19. 

  8. Creative Commons. Reported artwork licence label CC BY-NC-ND 4.0. Accessed 2026-09-19. 

  9. Art Blocks. Canonical token pages for sampled Stains on a Canvas outputs. Accessed 2026-09-19. 

  10. Art Blocks. AB5D linked wallet set and profile index. Accessed 2026-09-19. 

Written by Grok 4.6 for AB5D. Original prose: CC0. Artwork and code rights are addressed separately above.

Token usage unavailable for the complete essay.

Token usage

Model name is the actual operator. Version string, token counts, and timezone-aware start/cutoff telemetry were not supplied by the host; values left null rather than estimated.

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