{
  "schema": "ab5d-series-essay/1",
  "identity": {
    "chainId": 1,
    "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
    "projectId": 182,
    "slug": "amoeba-by-last-even",
    "title": "Amoeba",
    "artistCredit": "last even",
    "artistDossierUrls": [
      "https://ab5d.xyz/artists/last-even/"
    ]
  },
  "revision": 2,
  "researchCutoff": "2026-09-18",
  "status": "published-with-research-limitations",
  "rights": {
    "artwork": {
      "reportedLabel": "CC BY",
      "category": "creative-commons",
      "termsUrl": null,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S08"
      ],
      "note": "The index reports the bare family name with a null link. Creative Commons has published Attribution licences at 1.0, 2.0, 2.5, 3.0 and 4.0 and in many ported forms, and the record selects none of them. Terms were read from the canonical 4.0 deed for reference only; this package does not assert that 4.0 is the version meant. Recorded as reported rather than verified. Ownership of a token is not a permission over the artwork.",
      "conflicts": [
        "The identifier names a licence family rather than a licence, so no specific grant can be established from the record.",
        "A permissive attribution licence would allow commercial reuse and adaptation, which differs materially from the NonCommercial terms on other projects in this batch, making the missing version consequential rather than formal."
      ]
    },
    "code": {
      "reportedLabel": null,
      "category": "unknown",
      "termsUrl": null,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "note": "No licence statement or copyright notice appears anywhere in the program. Retrievability from the index establishes visibility, not redistribution rights, so no part of the program is reproduced in this package.",
      "conflicts": []
    },
    "thirdParty": [
      {
        "component": "p5.js 1.0.0",
        "reportedLabel": null,
        "category": "unknown",
        "termsUrl": null,
        "observedAt": "2026-09-18",
        "sourceIds": [
          "S02",
          "S06",
          "S07"
        ],
        "note": "Declared dependency, supplied by the renderer at view time, without which the work does not render. Upstream licensing not established in this session.",
        "conflicts": []
      }
    ]
  },
  "mediaIds": [],
  "provenance": {
    "operator": "Phil (AB5D coordinator), via the Claude desktop application",
    "originalAuthor": {
      "provider": "Anthropic",
      "model": "claude-opus-5",
      "modelVersion": "claude-opus-5 as reported by the session environment; the batch routing label 'claude' is a routing label and not a model identifier and has not been recorded as one",
      "agent": "Claude in Cowork mode on the Claude Agent SDK"
    },
    "revisions": [],
    "revisionNote": "No other model or human has revised this package. A later reviser must preserve the original author credit above and record the reviser, changed scope and revision-specific usage separately here.",
    "humanEditorialInvolvement": "Commissioned by Phil; website publication authorized by Phil on 2026-09-17. No claim of line-by-line human fact checking.",
    "originalProseLicense": "CC0-1.0",
    "model": "claude-opus-5",
    "generation": {
      "schema": "ab5d-essay-generation/1",
      "model": "claude-opus-5",
      "displayName": "claude-opus-5 (contributor-reported)",
      "scope": "claude-round-003 submitted essay; publication import only",
      "essayCount": 1,
      "usage": null,
      "perEssayUsage": null,
      "usageDetail": "No token telemetry is exposed to the agent in this environment. All counts are null rather than estimated, and no batch figure has been divided into per-essay numbers.",
      "submittedUsage": {
        "provider": "Anthropic",
        "model": "claude-opus-5",
        "modelVersion": "claude-opus-5 as reported by the session environment. The batch routing label 'claude' is a routing label, not a model identifier, and has not been recorded as one.",
        "measurementScope": "batch",
        "measurement": "unavailable",
        "scope": "claude-round-003, ten assigned series in a single session",
        "startedAt": "2026-09-18T05:25:27+00:00",
        "startedAtNote": "Timezone-aware. Taken from the first instrumented call of this research session.",
        "cutoff": null,
        "cutoffNote": "Null because the session was still running when this package was written; no end instant is known, so none is manufactured. Any recorded cutoff must be at or after startedAt.",
        "inputTokens": null,
        "cachedInputTokens": null,
        "outputTokens": null,
        "reasoningTokens": null,
        "totalTokens": null,
        "perEssayAvailable": false,
        "telemetrySource": null,
        "note": "No token telemetry is exposed to the agent in this environment. All counts are null rather than estimated, and no batch figure has been divided into per-essay numbers.",
        "elapsedNote": "Research on this package spans the timestamps in evidence.json. The session lost its connection to the coordinator's computer several times; retrieval timestamps on either side of those interruptions are recorded as they occurred."
      },
      "importReview": "Package and site compatibility checks only. No independent re-research or prose rewrite, as requested by user on 2026-09-20."
    }
  },
  "sections": [
    {
      "id": "work-context",
      "heading": "The work and its context",
      "bodyMarkdown": "Amoeba is Art Blocks project 182 on the contract at `0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270`, on Ethereum mainnet, credited to last even. The public index returns 213 invocations against a maximum of 213, a declared dependency of `p5@1.0.0`, an aspect ratio of 1, a licence string of `CC BY` with a null licence link, and a `display_static` value of false [^S02]. The collection page describes it as an Art Blocks 500 release in the Factory category, a fixed edition of 213 unique artworks, released on 29 October 2021, and it carries a View live control at the head of the page [^S01].\n\nUnlike most of the projects in this batch, the `display_static` value of false is simply correct. Amoeba is genuinely, continuously animated. At the live renderer the canvas changed between every pair of samples taken three and four seconds apart, on every one of the four tokens observed, while the frame counter advanced at roughly sixty frames a second [^S06]. There is no settling, no final state, and no moment at which the work is finished.\n\nWhat moves is a ribbon. One hundred and sixty copies of a single small shape are laid along a closed path, each at its own phase, each tinted by interpolation through a short palette, and the whole arrangement is advanced continuously so that the copies slide along the path and the ribbon appears to turn in space. The shapes are drawn as outlines at very fine stroke weights and composited with a screen or hard-light blend, so where the ribbon crosses itself the strokes brighten rather than occlude. The result reads as a moire surface: a torus, a pinched lobe, a knotted loop, depending on the token.\n\nThe mint description is short and functional, and it does three useful things. It states the intent, \"a study of repetition, patterns, and harmony\", and describes the method in one sentence: the code repeats simple shapes in different positions and sizes until they build up. It instructs the viewer to \"View in live mode to watch it dance\". And it documents the controls: press 1 to 4 to adjust rendering quality, press 's' to take a snapshot [^S02][^S01].\n\nAll three claims hold up. The quality keys were exercised in order at the live renderer and set the resolution scale to 1, 0.75, 0.5 and 0.25, resizing the canvas from 1324 by 1820 device pixels down to 331 by 455 and back [^S06]. The save key exists in the same handler and was deliberately not pressed, because it initiates a file download.\n\nOne structural fact about the work is worth stating here because it affects every reproduction of it. The index reports an aspect ratio of 1, but the sketch does not make a square. It creates a canvas the size of the whole browser window and re-creates it on every resize, so the artwork is whatever shape the viewer's window is. At the live renderer in a portrait pane the canvas measured 1324 by 1820 device pixels [^S06]. A square thumbnail of an Amoeba token is a crop or a letterbox of something that had no fixed proportions to begin with.\n\nThe naming is slightly unsettled across the platform's own surfaces and a catalogue should pick one form deliberately. The index records the artist name as `last even`, the slug is `amoeba-by-last-even`, the collection page header credits `last-even`, and the page title renders `Amoeba by last even` [^S02][^S01]. This package uses the hyphenated form in the slug because that is the canonical identifier, and credits the artist as last even because that is what the index returns."
    },
    {
      "id": "conception",
      "heading": "Conception and development",
      "bodyMarkdown": "There is very little published about how this work came to be, and the gap is not for want of looking. The indexed `artist_interview` field is null [^S02]. The website recorded against the project is `https://lasteven.xyz` [^S02], and it does not load: two navigation attempts from the browser pane, at 2026-09-18T22:03Z and again a minute later, both failed to reach the host [^S06]. The link of record for this project is dead, and a cataloguer following it will find nothing.\n\nThat leaves the mint description as the only statement by or about the artist, and it is four sentences long. Read carefully it still says something. The three words it chooses for the subject are repetition, patterns and harmony, and all three turn out to be load-bearing in the program rather than decorative. Repetition is the 160 copies of one shape. Patterns is the pair of sinusoids that place them. Harmony is literal: the colour palettes are built by adding fixed angular offsets to a base hue, and the offsets are the intervals of colour theory, so a token's palette is a complementary pair, a triad, a tetrad, a split complement, an analogous cluster or a near monochrome. The published trait for that choice is called `harmony` and its values are those six names [^S03].\n\nThe description's instruction to \"View in live mode to watch it dance\" is a request, in 2021, for a way of showing the work that the platform's default presentation does not give. This matters more than it sounds. The still preview that most surfaces show is a single arbitrary instant of a continuous motion that has no canonical frame. There is no equivalent, in this work, of the finished composition that a still-rendering project produces.\n\nThe charity clause is the one dated commitment in the record: 25 per cent of sales for the first 24 hours to Meals For Unity, described as a nonprofit grassroots organisation working on food insecurity in the New York City area [^S02][^S01]. The mint section below shows how much of the edition that window actually covered, which turns out to be less than a third.\n\nBeyond that, the honest position is that the conception of this work is undocumented. No development account, no process notes, no interview, and a dead artist site. What can be said about the artist's intentions has to be read out of the program, and the construction section does that rather than speculating."
    },
    {
      "id": "construction",
      "heading": "How the work was constructed",
      "bodyMarkdown": "The script was retrieved as the `script` field of the `projects_metadata` row for `0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-182`, from the Art Blocks public GraphQL index, on 2026-09-18 at 07:47:45Z [^S02]. It is 3,259 bytes, the smallest program in this batch, and its SHA-256 digest, computed in the browser over the exact returned bytes using the Web Crypto API, is `835b79ebfb2da2b3de118e6dbe02d4346b5f1b52301f5452abcf5510d26f3eaf` [^S06]. The row reports `script_count` of 1 and the declared runtime is `p5@1.0.0` [^S02]. The program is minified to single-letter identifiers but is not packed, so it can be read directly without execution. No artist code is reproduced here.\n\nThe seed is taken as `parseInt(hash.slice(0, 16), 16)`. That slice includes the `0x` prefix, which JavaScript's `parseInt` tolerates at radix 16, so the value parsed is the first fourteen hexadecimal digits of the hash. Fourteen hexadecimal digits is fifty-six bits, which exceeds the fifty-three bits a double-precision float can represent exactly, so the seed as computed is already a rounded approximation of those digits before the generator touches it. The generator's first operation then coerces it to a signed 32-bit integer, which discards most of what survived. The net effect is that the program draws its seed from a large slice of the hash and then keeps far less of it than the slice suggests, and the shape of the loss is not something a reader would predict from the expression.\n\nThe generator itself is a three-shift xorshift, and its output step is the more consequential defect. It returns the absolute value of the 32-bit state modulo 1,000, divided by 1,000. Every random number this work uses is therefore one of exactly 1,000 values. That is a very coarse quantisation for a program that uses its randomness to choose a hue in 360 steps and to index six weighted tables, and it is the reason the published `baseHue` distribution is spread thinly and unevenly across the 360 possible values rather than smoothly [^S03].\n\nSelection is done by two helpers. One picks uniformly from an array. The other is a weighted picker: it sums the weights, draws an integer up to that sum, and walks the array subtracting weights until the running total goes non-positive. Three weighted tables exist, for the brush shape, the palette scheme and the colour harmony, and their weights are the whole of the rarity structure of the edition.\n\nFive small lookup tables hold the motion parameters, keyed by short numeric names, and the program picks one key from each. Four of those five choices are published as traits and one is not. Running an independent reimplementation of the exact draw order against all 213 token hashes matched the published traits key for key: the five-option table reproduces `offset` on 213 of 213 tokens, and the three remaining four-option tables reproduce `shift`, `size` and `speed` on 213 of 213 each [^S03]. The fifth table, which holds four sign pairs and controls the direction in which each of the two placement sinusoids runs, has no published trait at all. A quarter of the work's motion vocabulary is invisible to anyone reading the metadata.\n\nThe brush table reproduces `brush` on 213 of 213 tokens, and its six entries are a circle at weight 32, a square at 12, a triangle at 12, a rounded square at 4, a pair of crossed lines at 2, and a compound form at 2 that draws an offset circle with a heavy stroke and a nearly transparent fill [^S03]. Those weights are why circle accounts for 113 of the 213 tokens and the compound form for 7. The base hue reproduces on 213 of 213 as a direct integer draw in the range 0 to 359 [^S03].\n\nThe palette is where the work becomes interesting. Four branches exist. Two are coloured: one builds its hues at full saturation and 50 per cent lightness over a very dark ground of the same hue and composites with a screen blend, the other at 33 per cent lightness over a near-white ground of the same hue with a hard-light blend. Both carry weight 31. The remaining two branches carry weight 1 each and are fixed greys: black and mid-grey over white with a multiply blend, and white and mid-grey over black with a screen blend.\n\nThree things follow, and all three were checked. First, the published `coloring` trait has only three values, halogen, neon and ghost, for four branches: the two grey branches share the single name ghost [^S03]. Second, the edition contains exactly two ghost tokens, and both of them are the white-on-black branch. The black-on-white branch was drawn zero times in 213 invocations [^S03][^S06]. With a weight of 1 in 64 that outcome has a probability of about one in twenty-eight, so it is unremarkable as chance and remarkable as a fact about the edition: one of the artist's four palettes exists only in the source code. Third, the published `harmony` trait is overridden on the ghost tokens. Both of them report monochrome regardless of which harmony table entry the draw selected, and with that override the harmony trait reproduces on 213 of 213 [^S03].\n\nThe grey branches carry a second defect, and this one is visible. Both coloured branches assign the global that scales the stroke weight; neither grey branch does. On a ghost token that global is therefore still undefined when the sketch calls `strokeWeight` with it, so the call receives a `NaN` and the canvas keeps whatever line width it already had. Reading the running instance on both ghost tokens confirmed the state directly: the stroke-weight global reported `undefined` and the canvas context's line width read 1 [^S06]. The consequence is not cosmetic. On every other token the stroke weight is computed from the canvas size, so the strokes scale with the display; on the two ghost tokens they do not, and the work is drawn in hairlines one device pixel wide no matter how large the screen is. The p5 reference documents the normal behaviour of the function, which is what makes the deviation legible [^S07].\n\nThe motion is driven by wall-clock time rather than by a frame counter. The program records the moment it loads and, on every frame, computes the elapsed milliseconds since then. That choice has a consequence worth recording for anyone reproducing the work: the trajectory is a function of real elapsed time, so a viewer whose machine drops frames sees the same positions at the same instants as a viewer whose machine does not, merely less smoothly. It also means each load replays the same motion from the same starting point, because the elapsed count begins at zero. The work is therefore reproducible in a way that a frame-counted animation is not, and arbitrary in a different way: there is no privileged instant to capture.\n\nEach frame clears the canvas, fills the background, translates to the centre, applies a fixed rotation drawn at setup, and then places the 160 shapes. A shape's radius is a constant plus two sinusoids of the elapsed time and the shape's own phase; its position is a further pair of sinusoids, one for each axis, whose frequencies come from the selected tables and whose signs come from the unpublished fifth table; its colour is a linear interpolation between two adjacent palette entries at a position that also advances with time; and it is rotated about its own centre by its phase, in a direction given by a sign drawn at setup. There is no accumulation between frames, so the image is redrawn from nothing sixty times a second.\n\nInteraction is handled by a single listener on the deprecated `keypress` event. Digits 1 through 4 set the resolution scale and force a canvas resize, and 's' calls the p5 canvas save. There is no mouse or touch handling, no audio library, and no external fetch beyond the declared p5 dependency. The renderer page contains no audio or video elements and `p5.SoundFile` is undefined in the running instance, so the work is silent by construction [^S06]."
    },
    {
      "id": "mint",
      "heading": "The mint",
      "bodyMarkdown": "The index records activation at 2021-10-23T18:04:15Z, a public opening at 2021-10-28T19:00:00Z, and completion at 2024-02-20T02:10:11Z [^S02]. The collection page states a single date, 29 October 2021 [^S01], which is the opening instant rendered in a timezone ahead of UTC and is therefore the same moment described differently rather than a fifth event.\n\nAs with the LIA project in this batch, the first mint precedes the recorded activation. Token 182000000 was minted at 2021-10-15T03:57:44Z [^S03], eight days before activation and thirteen days before the public opening, by the address the index records as the artist's [^S02][^S03]. It is the only token minted before the opening. Whatever `activated_at` marks in this index, it is again not the first acceptance of a mint, and the pattern now holds across two independent projects.\n\nThe sale price is recorded as 100000000000000000 wei, or 0.1 ETH [^S02], and no auction schedule appears anywhere in the description, so this project appears to have been a fixed-price release rather than a Dutch auction. No source consulted states the mechanism explicitly, and this package does not assert one; what it records is that the index reports a single price and the description describes none.\n\nTaking the opening as the start endpoint and the final mint as the end endpoint, the public phase ran from 2021-10-28T19:00:00Z to 2024-02-20T02:10:11Z, a span of 844.30 days, and covered 212 mints [^S03]. That figure is close to meaningless without the shape behind it. The first public mint came at 2021-10-28T19:19:39Z, 19.65 minutes after the opening. Anchored on the opening, 47 tokens were minted within the first hour, 70 within the first day, 106 within a week, 131 within thirty days and 195 within a year, leaving 17 to trickle out across the following fourteen months [^S03]. The median mint fell on 2021-11-04T21:26:43Z, a week after the opening [^S03]. This is a long, slow edition: a third of it sold in a day and the last tenth took more than a year.\n\nThat shape bears directly on the charity clause, which is the only quantified commitment in the record. The pledge was 25 per cent of sales for the first 24 hours [^S02][^S01]. Seventy public mints fall inside that window and 142 fall outside it [^S03]. Two thirds of the edition was sold after the clause expired. The clause is not thereby diminished, but a dossier that repeats it without the window will leave readers with an impression of the project's charitable footprint that is about three times too large.\n\nAcross the 213 tokens the index reports 170 distinct owner addresses [^S03], so the edition is fairly widely held for its size. The artist address still holds four tokens: invocations 0, 69, 88 and 212, the last of which is the final invocation [^S03].\n\nThe Art Blocks 500 wallet set was refreshed once this session from the platform's own profile index, by querying the `ab5d` user profile for its linked accounts. The query returned three linked addresses and all three were checked against every one of the 213 token rows [^S05][^S03]. Exactly one token in this edition sits in that set: token 182000181, invocation 181, held by `0xdd19308a9731cdecb67e0d80ca6823394208c045` and minted at 2022-07-17T02:46:59Z [^S04][^S05]. That mint date is worth noting on its own. It falls nearly nine months after the opening, deep in the long tail, which is a reminder that the AB500 holding in a slow edition need not be a primary-sale acquisition at all."
    },
    {
      "id": "rights",
      "heading": "Copyright and licensing",
      "bodyMarkdown": "The index records a licence string of `CC BY` for this project, with a `link_to_license` of null [^S02]. That is the least specified licence value encountered anywhere in this batch, because `CC BY` names a family rather than a licence: Creative Commons has published Attribution licences at versions 1.0, 2.0, 2.5, 3.0 and 4.0, in unported and in many ported forms, and the record picks none of them. There is no version, no jurisdiction and no link.\n\nThis package therefore treats the identifier as reported rather than verified, and reads the terms from the canonical deed for the current version, Attribution 4.0 International, on the explicit understanding that the record does not say that is the version meant [^S08]. At 4.0 the terms are permissive: share and adapt, in any medium, for any purpose including commercially, subject to attribution, with a prohibition only on applying additional legal or technological restrictions [^S08]. If the intended version were an earlier one the practical effect would be similar but not identical, and nothing in the project record resolves the question.\n\nThree rights domains should be kept apart, as elsewhere in this batch.\n\nThe first is the artwork. A permissive attribution licence on the images is the most likely reading of a licence string recorded on the project, and if 4.0 is the version meant it would permit commercial reuse and adaptation, which is a materially different position from the NonCommercial and ShareAlike terms attached to other projects in this batch. That difference is exactly why the missing version number matters, and why it should not be papered over. The record states no terms for holders, no terms of sale, and no link.\n\nThe second is the artist's code. The program is retrievable from the index, which establishes visibility and nothing else. No licence statement or copyright notice appears anywhere in the program text. Accordingly no artist code is reproduced in this package; what is returned instead is a description of the mechanism, the byte count, the digest, and reproductions of the published traits that can be independently checked against the index without holding a copy of the script.\n\nThe third is the dependency. The work declares `p5@1.0.0` and does not render without it. The library is supplied by the renderer at view time and carries its own licence, which is not the project's licence and is not stated in the project record. This session consulted the p5.js reference for the documented behaviour of the stroke-weight function in order to characterise the defect described above [^S07], and did not establish the library's licence terms.\n\nOne further point belongs here rather than in the construction section, because it is a rights question in practice even though it looks like a display question. The work has no canonical frame. Any still of an Amoeba token is a capture of one instant of a continuous motion, chosen by whoever captured it, at whatever window proportions their browser happened to have. Under a permissive attribution licence that capture is probably a permitted use; under a NoDerivatives term it might not be. Since the version is unstated, a cataloguer cannot currently determine which regime applies to their own thumbnail."
    },
    {
      "id": "examples",
      "heading": "Close reading of examples",
      "bodyMarkdown": "Four tokens were examined at the live renderer at `generator.artblocks.io`, each identified first by a `TokensByIds` query against the index so that hash, owner, mint time and published traits came from a response rather than from memory [^S04], and each opened at its canonical Art Blocks token page, all four of which returned HTTP 200 on a real fetch from the artblocks.io origin [^S06]. All four were observed with the browser pane displayed, so the page's own animation loop drove every observation and no manual frame stepping was needed. In each case the sketch's own global variables were read alongside the pixel sampling, so the published traits could be checked against the values that actually produced the image.\n\nToken 182000181 is the Art Blocks 500 holding, and it was the first sustained observation. Its hash begins `0x97c6026d` and it was minted at 2022-07-17T02:46:59Z to `0xdd19308a9731cdecb67e0d80ca6823394208c045` [^S04]. Its published traits are base hue 149, triangle brush, halogen colouring, split-complementary harmony, jumpy offset, enigma shift, pinch size and reserved speed [^S04]. Reading the live sketch confirmed each of them against the mechanism: the motion table keys read as the ones that reproduce enigma, jumpy, reserved and pinch respectively, and the palette read as three colours, a green, a magenta and a red, over a near-white ground with a hard-light blend [^S06]. Those three colours are the arithmetic made visible. The base hue is 149; the split-complement offsets are plus and minus 150 degrees; and the palette the sketch built is hue 149, hue 299 and hue 359. On screen it is a portrait canvas holding three lobes of fine triangular hatching, red above, green to the lower right, magenta in the overlap, meeting at a dark node near the centre where all three cross.\n\nThe same token carried the controls test. With the pane displayed and the animation running, the four quality digits were dispatched in the order 3, 2, 4, 1. The resolution scale read 0.5, 0.75, 0.25 and 1 in turn, and the canvas resized to 662 by 910, then 993 by 1365, then 331 by 455, then back to 1324 by 1820 device pixels [^S06]. The description's claim about the controls is exactly right, and the work is the only one in this batch whose published control does something structural rather than aesthetic. The save key sits in the same handler and was not pressed, because it initiates a download.\n\nToken 182000037 is one of exactly two ghost tokens in the edition, and it was the second sustained observation. Its hash begins `0xeec9f7f7` and it was minted at 2021-10-28T19:46:16Z to `0x3e5da3e1f890c94312bc21a443f06eeccbcca9f1` [^S04]. On screen it is a white wireframe knot on pure black: a torus of fine circles seen at an angle, folded through itself twice, with a second smaller loop passing through the opening. A strided census of 24,843 sampled pixels returned zero with a channel spread above 12, so the image is exactly greyscale [^S06]. The live palette read as white and mid-grey over a black ground with a screen blend, which identifies it as the fourth palette branch, and the stroke-weight global read `undefined` with the canvas line width at 1 [^S06]. This is the token that makes the undefined-stroke defect visible: its lines are hairlines, they do not thicken with the canvas, and the effect is a good deal more delicate than anything the coloured branches produce.\n\nIts published traits record a base hue of 146 and a harmony of monochrome [^S04]. The base hue is real in the sense that the draw happened, and entirely inert in the sense that the palette branch it landed in discards the hue and uses fixed greys. A collector sorting this edition by base hue will find this token filed under a colour that never appears in it.\n\nToken 182000161 is the other ghost, and observing it settled the question of whether both greys occur. Its hash begins `0xe6c82ba1` and it was minted at 2022-07-02T18:37:07Z to `0x14a493e5fd5988d7a9a569c9f1728ac717db92d1` [^S04], nearly nine months after the first one. Its live palette read identically to token 182000037, white and mid-grey over black with a screen blend, with the same undefined stroke-weight global and the same line width of 1, and the same zero chromatic pixels out of 24,843 sampled [^S06]. Both ghost tokens in the edition are the same branch. The black-on-white palette, the one that would have produced dark figures on a white field with a multiply blend, was never drawn.\n\nToken 182000008 shows the rarest brush. Its hash begins `0x13b5cedd` and it was minted at 2021-10-28T19:32:53Z to `0xf7a2843e1c03764f453e8e51b3d2a76c5245a2cb` [^S04]. Its published traits are base hue 220, blob brush, halogen colouring, triad harmony, shy offset, undulating shift, amoeba size and oriented speed [^S04]. The live palette read as a deep blue, a crimson and a green over a near-white ground [^S06], which is hue 220 with the triad offsets of plus and minus 120 applied, giving 340 and 100. Because the blob brush draws a displaced circle with a heavy stroke and a nearly transparent fill, the 160 copies overlap into two large solid-looking lobes rather than a hatched ribbon, one crimson and one blue-green, joined at a dark waist. It is the token in this group that most resembles the thing the project is named after, and the mechanism that produces it is a single extra entry in the brush table that occurs on 7 of 213 tokens [^S03]."
    },
    {
      "id": "significance",
      "heading": "Significance and limitations",
      "bodyMarkdown": "The most useful thing this project demonstrates is how much of a generative edition can be invisible to the people cataloguing it. Amoeba publishes eight traits and the reimplementation here reproduces all eight on all 213 tokens, which is a complete account of the metadata. It is not a complete account of the work. One of the five motion tables, the one that sets the direction of travel of both placement sinusoids, is never named; one of the four palettes was never drawn; one published trait, the base hue on ghost tokens, records a number the renderer discards; and the published `coloring` vocabulary collapses two visually distinct palettes into a single word. A collector sorting this edition by its traits is sorting by a description that is accurate and incomplete in four separate ways, and none of those four is discoverable without reading the program.\n\nThe second contribution is a clean example of a defect that changes how a work should be displayed. The two greyscale tokens never receive a stroke weight, so they are drawn at the canvas default of one device pixel while every other token's strokes are computed from the canvas size. On a phone this is invisible. On a wall-sized display the coloured tokens thicken and the ghost tokens stay as hairlines, so the two grey tokens in this edition become progressively more delicate, relative to their siblings, the larger you show them. That is a real curatorial fact and it arises from a missing assignment in a palette branch.\n\nThe third is about time. This work is driven by elapsed wall-clock time from load rather than by a frame count, which makes its trajectory reproducible across machines of different speeds and makes every still of it arbitrary. There is no finished state to photograph. Everything about how this edition is presented, from the thumbnail on a marketplace to a plate in a dossier, involves someone choosing an instant, and no source in the project record offers a preferred one. The artist's own instruction, to view it in live mode, is the closest thing to guidance and it asks for the one thing a static catalogue cannot do.\n\nThe limitations of this package should be stated as plainly as the findings. The four visual observations cover four tokens out of 213, chosen for their trait extremes rather than sampled at random, so nothing here supports a claim about the typical appearance of the edition. Each observation covers a window of seconds out of a motion that never repeats identically within a session, so the descriptions are of instants, chosen by the observer. The claim that the fifth motion table is unpublished rests on the absence of a matching trait key across 213 tokens, which is strong but is an argument from absence. The claim about the black-on-white palette rests on its absence across 213 tokens plus the reading of the branch in the source; it was not observed, because there is nothing to observe. The artist's website could not be reached, so no artist statement beyond the mint description informs any part of this package. No on-chain transaction values were read, so nothing here measures what buyers paid or what was donated. No contact was made with the artist.\n\nSeveral questions remain open, and this package records them as open rather than filling them.\n\nWhich version of `CC BY` is meant? The record gives a family name with no version, no jurisdiction and no link, and the difference between versions is not merely formal for a catalogue that intends to reproduce the images. This is the single most consequential gap in the project record and it could be closed by one field.\n\nWas the unpublished fifth motion table an oversight or a decision? Four of five tables became traits and one did not, and the one that did not is the one that controls direction of travel, which is among the most visible properties of the finished motion. Obtaining the feature-extraction script for project 182 would settle whether it was omitted deliberately.\n\nWas the base hue on ghost tokens intended to be published? It is a live draw whose value the renderer then discards, and it is the kind of artefact that only appears when a feature script is written against the parameter list rather than against the rendering path.\n\nWhat does `activated_at` denote in this index, given that the first mint precedes it by eight days here and by two days on the LIA project in the same batch? A general answer would affect every project in this batch.\n\nWas the sale a fixed-price release? The index reports a single price and the description states no mechanism, so this package declines to assert one. Reading the mint transactions would settle it, and would also allow the size of the first-24-hour charity tranche to be stated rather than bounded at 70 of 212 public mints.\n\nFinally, what became of `lasteven.xyz`? The link of record is dead, and with it whatever the artist published about this work. If an archived copy exists it would be the only source of conception material for a project that currently has none."
    }
  ],
  "facts": [
    {
      "id": "edition-size",
      "topic": "work-context",
      "value": 213,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S01"
      ],
      "status": "verified",
      "note": "Indexed invocations 213 against max_invocations 213; the collection page states a fixed edition of 213 unique artworks."
    },
    {
      "id": "project-id",
      "topic": "work-context",
      "value": 182,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "verified",
      "note": "On-chain project ID, corroborated by the returned composite key 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-182."
    },
    {
      "id": "library",
      "topic": "construction",
      "value": "p5@1.0.0",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S06"
      ],
      "status": "verified",
      "note": "Declared by the index and supplied by the renderer at view time."
    },
    {
      "id": "script-bytes",
      "topic": "construction",
      "value": 3259,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "verified",
      "note": "Single fragment, the smallest program in this batch."
    },
    {
      "id": "script-sha256",
      "topic": "construction",
      "value": "835b79ebfb2da2b3de118e6dbe02d4346b5f1b52301f5452abcf5510d26f3eaf",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S06"
      ],
      "status": "verified",
      "note": "SHA-256 over the UTF-8 bytes of the returned script field, computed with the Web Crypto API."
    },
    {
      "id": "render-model",
      "topic": "construction",
      "value": "continuous animation, no settled state",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S06"
      ],
      "status": "verified",
      "note": "Every frame is redrawn from nothing and the motion is driven by elapsed wall-clock time since load. Confirmed on all four observed tokens."
    },
    {
      "id": "display-static-correct",
      "topic": "work-context",
      "value": false,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S06"
      ],
      "status": "verified",
      "note": "Unlike several projects in this batch, the index's display_static value of false is accurate here."
    },
    {
      "id": "prng-resolution",
      "topic": "construction",
      "value": 1000,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "verified",
      "note": "The generator returns the absolute value of the state modulo 1000 divided by 1000, so every draw is one of exactly 1,000 values."
    },
    {
      "id": "seed-precision",
      "topic": "construction",
      "value": "56 bits parsed, 53 representable, then coerced to 32",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "verified",
      "note": "parseInt(hash.slice(0,16),16) includes the 0x prefix and parses fourteen hex digits, which exceeds double-precision exactness before the first shift coerces to int32."
    },
    {
      "id": "canvas-not-square",
      "topic": "construction",
      "value": "full browser window",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S06"
      ],
      "status": "verified",
      "note": "Measured at 1324 by 1820 device pixels in a portrait pane, against an indexed aspect_ratio of 1."
    },
    {
      "id": "traits-reproduced",
      "topic": "construction",
      "value": "8 of 8 keys at 213 of 213",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S03",
        "S06"
      ],
      "status": "verified",
      "note": "baseHue, brush, coloring, harmony (with the ghost override), offset, shift, size and speed."
    },
    {
      "id": "unpublished-motion-table",
      "topic": "construction",
      "value": "1 of 5",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S03",
        "S06"
      ],
      "status": "verified",
      "note": "The table of four sign pairs that sets the direction of both placement sinusoids corresponds to no published trait."
    },
    {
      "id": "palette-never-drawn",
      "topic": "construction",
      "value": "black and mid-grey over white",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S03",
        "S06"
      ],
      "status": "verified",
      "note": "Drawn zero times in 213 invocations. Both tokens labelled ghost are the white-on-black branch."
    },
    {
      "id": "stroke-weight-undefined",
      "topic": "construction",
      "value": "2 tokens",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S06",
        "S07"
      ],
      "status": "verified",
      "note": "Neither greyscale branch assigns the stroke-weight global, so strokeWeight receives an undefined value and the canvas keeps its default line width of 1. Read directly in the running instance on both ghost tokens."
    },
    {
      "id": "first-mint",
      "topic": "mint",
      "value": "2021-10-15T03:57:44+00:00",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S03"
      ],
      "status": "verified",
      "note": "Invocation 0, by the artist address, eight days before the recorded activation."
    },
    {
      "id": "activation",
      "topic": "mint",
      "value": "2021-10-23T18:04:15+00:00",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "verified",
      "note": "Postdates the first mint, so it does not mark the first acceptance of a mint."
    },
    {
      "id": "public-opening",
      "topic": "mint",
      "value": "2021-10-28T19:00:00+00:00",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S01"
      ],
      "status": "verified",
      "note": "Index start_datetime. The collection page renders this instant locally and displays 29 October 2021."
    },
    {
      "id": "completion",
      "topic": "mint",
      "value": "2024-02-20T02:10:11+00:00",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S03"
      ],
      "status": "verified",
      "note": "Same instant as the final mint."
    },
    {
      "id": "sale-duration-days",
      "topic": "mint",
      "value": 844.3,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S03"
      ],
      "status": "verified",
      "note": "Endpoints are the public opening 2021-10-28T19:00:00Z and the final mint 2024-02-20T02:10:11Z; the difference in milliseconds divided by 86400000."
    },
    {
      "id": "mints-in-charity-window",
      "topic": "mint",
      "value": 70,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S03"
      ],
      "status": "verified",
      "note": "Public mints within 24 hours of the opening. 142 of the 212 public mints fall outside the stated window."
    },
    {
      "id": "distinct-owners",
      "topic": "mint",
      "value": 170,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S03"
      ],
      "status": "verified",
      "note": "Across all 213 tokens at the time of retrieval. The artist address holds invocations 0, 69, 88 and 212."
    },
    {
      "id": "index-price",
      "topic": "mint",
      "value": "0.1 ETH",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "reported",
      "note": "A single price with no auction schedule anywhere in the description. No sale mechanism is asserted by this package."
    },
    {
      "id": "licence",
      "topic": "rights",
      "value": "CC BY",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S08"
      ],
      "status": "reported",
      "note": "A family name with no version, no jurisdiction and no link. The least specified licence value in this batch."
    },
    {
      "id": "artist-site",
      "topic": "conception",
      "value": "unreachable",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S06"
      ],
      "status": "verified",
      "note": "https://lasteven.xyz failed to load on two browser navigations and three cross-origin fetch forms. The link of record is dead."
    },
    {
      "id": "artist-interview",
      "topic": "conception",
      "value": null,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "verified",
      "note": "The indexed artist_interview field is null and no dated development account was located."
    },
    {
      "id": "held-token",
      "topic": "work-context",
      "value": "182000181",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S03",
        "S04",
        "S05"
      ],
      "status": "verified",
      "note": "The only token in this edition held by an address in the refreshed AB5D linked-wallet set, minted nearly nine months after the opening."
    },
    {
      "id": "audio",
      "topic": "construction",
      "value": "silent by construction",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S06"
      ],
      "status": "verified",
      "note": "No audio call in the program, no audio or video elements in the renderer page, and p5.SoundFile undefined in the running instance."
    }
  ],
  "examples": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "182000181",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/182000181",
      "sourceIds": [
        "S03",
        "S04",
        "S06"
      ],
      "selectionNote": "The Art Blocks 500 holding, and the token on which all four published controls were exercised.",
      "observationNote": "Three lobes of fine triangular hatching on a near-white ground, red, green and magenta meeting at a dark node. Its live palette was hues 149, 299 and 359, which is the published base hue of 149 with split-complement offsets applied. Continuously animated across the whole observation window, and the four quality keys set the resolution scale and canvas size exactly as the description claims."
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "182000037",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/182000037",
      "sourceIds": [
        "S03",
        "S04",
        "S06"
      ],
      "selectionNote": "One of exactly two ghost tokens in 213, and the token that makes the undefined stroke-weight defect visible.",
      "observationNote": "A white wireframe knot on pure black, a torus of fine circles folded through itself twice. Zero of 24,843 sampled pixels were chromatic. The stroke-weight global read undefined and the canvas line width read 1, so the token draws in hairlines that do not scale with the canvas. Its published base hue of 146 is discarded by the palette branch."
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "182000161",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/182000161",
      "sourceIds": [
        "S03",
        "S04",
        "S06"
      ],
      "selectionNote": "The edition's other ghost token, observed to settle whether both greyscale palettes occur.",
      "observationNote": "Live palette read identically to token 182000037, white and mid-grey over black with a screen blend, with the same undefined stroke-weight global and the same zero chromatic pixels. Both ghost tokens are the same branch, so the black-on-white palette was never drawn in the edition."
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "182000008",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/182000008",
      "sourceIds": [
        "S03",
        "S04",
        "S06"
      ],
      "selectionNote": "Carries the rarest brush, present on 7 of 213 tokens, which turns the hatched ribbon into solid lobes.",
      "observationNote": "Two large lobes of densely overlapped discs, crimson above and blue-green below, joined at a dark waist on a near-white ground. Live palette hues 220, 340 and 100, which is the published base hue of 220 with triad offsets applied. The most literally amoeba-like token of the four."
    }
  ],
  "codeInspection": {
    "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
    "locator": "HTTP POST, named operation ProjectBySlug, variables {\"slug\":\"amoeba-by-last-even\"}, selecting script and scripts{index script}; identity corroborated by the returned composite id 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-182",
    "sha256": "835b79ebfb2da2b3de118e6dbe02d4346b5f1b52301f5452abcf5510d26f3eaf",
    "bytes": 3259,
    "retrievedAt": "2026-09-18T07:47:45.489Z",
    "runtime": "p5@1.0.0",
    "method": "Index retrieval over HTTPS, not a direct read of contract storage; no block reference pinned. SHA-256 over the UTF-8 bytes of the returned script field. The whole program was read; coverage of seed handling, parameter selection, rendering sequence, time and interaction behaviour and external dependencies is itemised in evidence.json.",
    "executed": true,
    "executionDisclosure": "Read in full from the retrieved text without local execution. Separately executed by the official Art Blocks renderer during the token observations, where its global variables were read to validate the reimplementation; not run by the researcher in any other environment.",
    "chainBlock": null
  },
  "editorialExceptions": [
    {
      "id": "licence-version-unstated",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The licence value is the bare family name 'CC BY' with no version, no jurisdiction and no link. The difference between versions is material for a catalogue that intends to reproduce images. Do not silently upgrade it to 4.0 in any published caption."
    },
    {
      "id": "unpublished-motion-parameter",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "Four of the five motion tables become published traits; the fifth, which sets the direction of travel of both placement sinusoids, does not. Any rarity analysis built from the traits alone is missing a quarter of the motion vocabulary."
    },
    {
      "id": "palette-never-drawn",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "One of the four palette branches, black and mid-grey over white with a multiply blend, was drawn zero times in 213 invocations. Both tokens labelled ghost are the white-on-black branch. A dossier describing the palettes should not imply the fourth one is represented in the edition."
    },
    {
      "id": "base-hue-inert-on-ghost-tokens",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The two ghost tokens publish base hues of 146 and 83 that the renderer discards in favour of fixed greys. Sorting or filtering the edition by base hue will file them under colours they do not contain."
    },
    {
      "id": "stroke-weight-undefined-on-ghost-tokens",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "Neither greyscale branch assigns the stroke-weight global, so those two tokens draw at the canvas default of one device pixel while every other token's strokes scale with the canvas. At large display sizes the difference grows. Any decision about print or large-format display should account for it."
    },
    {
      "id": "no-canonical-frame",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The work animates continuously and never settles, so every still is an arbitrary instant chosen by whoever captured it. The artist's only display instruction is to view it live. Prefer the renderer, and label any still as a capture."
    },
    {
      "id": "aspect-ratio-not-fixed",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The index reports an aspect ratio of 1 but the sketch fills the browser window and re-creates the canvas on resize. A square presentation is a crop or a letterbox of something with no fixed proportions."
    },
    {
      "id": "charity-window-expired-early",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The pledge covered the first 24 hours. Seventy of 212 public mints fall inside that window and 142 fall outside it. Repeating the clause without the window overstates the project's charitable footprint by roughly threefold."
    },
    {
      "id": "activated-at-postdates-first-mint",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The index reports activation on 2021-10-23 while the first mint is timestamped 2021-10-15. The same pattern appears on the LIA project in this batch, so it is likely a property of the field rather than of this project."
    },
    {
      "id": "artist-site-dead",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The website of record does not resolve. There is no artist statement, no interview and no process material for this project beyond four sentences of mint text. Any dossier should say so rather than leaving the gap unexplained."
    },
    {
      "id": "sale-mechanism-unstated",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The index reports a single price of 0.1 ETH and the description states no auction schedule. This package declines to assert a fixed-price release; a reviewer wanting to state the mechanism should read the mint transactions."
    }
  ],
  "presentation": {
    "editionSize": 213,
    "maximumEdition": 213,
    "mintDate": "2021-10-28T19:00:00+00:00",
    "mintDateMeaning": "public opening",
    "mintDateLabel": "Mint date",
    "artwork": {
      "project_id": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-182",
      "token_id": "182000181",
      "invocation": 181,
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "preview_asset_url": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/182000181.png",
      "live_view_url": "/series/amoeba-by-last-even/artwork.html",
      "canonicalLiveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/182000181",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/182000181",
      "mode": "live",
      "aspectRatio": 1,
      "interactionNote": "",
      "copyrightStatus": "CC BY",
      "copyrightUrl": null,
      "displayBasis": "This work animates continuously and never settles, so there is no finished state and no canonical frame. The artist's only display instruction is to view it in live mode. Use the original renderer wherever possible; if a still is unavoidable, label it as a capture of one instant."
    }
  },
  "observationImages": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "182000181",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/182000181",
      "sourceIds": [
        "S03",
        "S04",
        "S06"
      ],
      "selectionNote": "The Art Blocks 500 holding, and the token on which all four published controls were exercised.",
      "observationNote": "Three lobes of fine triangular hatching on a near-white ground, red, green and magenta meeting at a dark node. Its live palette was hues 149, 299 and 359, which is the published base hue of 149 with split-complement offsets applied. Continuously animated across the whole observation window, and the four quality keys set the resolution scale and canvas size exactly as the description claims.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/182000181.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/182000181"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "182000037",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/182000037",
      "sourceIds": [
        "S03",
        "S04",
        "S06"
      ],
      "selectionNote": "One of exactly two ghost tokens in 213, and the token that makes the undefined stroke-weight defect visible.",
      "observationNote": "A white wireframe knot on pure black, a torus of fine circles folded through itself twice. Zero of 24,843 sampled pixels were chromatic. The stroke-weight global read undefined and the canvas line width read 1, so the token draws in hairlines that do not scale with the canvas. Its published base hue of 146 is discarded by the palette branch.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/182000037.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/182000037"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "182000161",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/182000161",
      "sourceIds": [
        "S03",
        "S04",
        "S06"
      ],
      "selectionNote": "The edition's other ghost token, observed to settle whether both greyscale palettes occur.",
      "observationNote": "Live palette read identically to token 182000037, white and mid-grey over black with a screen blend, with the same undefined stroke-weight global and the same zero chromatic pixels. Both ghost tokens are the same branch, so the black-on-white palette was never drawn in the edition.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/182000161.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/182000161"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "182000008",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/182000008",
      "sourceIds": [
        "S03",
        "S04",
        "S06"
      ],
      "selectionNote": "Carries the rarest brush, present on 7 of 213 tokens, which turns the hatched ribbon into solid lobes.",
      "observationNote": "Two large lobes of densely overlapped discs, crimson above and blue-green below, joined at a dark waist on a near-white ground. Live palette hues 220, 340 and 100, which is the published base hue of 220 with triad offsets applied. The most literally amoeba-like token of the four.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/182000008.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/182000008"
    }
  ],
  "publication": {
    "date": "2026-09-20",
    "url": "https://ab5d.xyz/series/amoeba-by-last-even/",
    "authorization": "Phil requested website publication on 2026-09-17.",
    "reviewSnapshot": "/docs/series-essays/production/amoeba-by-last-even/record.json",
    "unresolvedResearchQuestionsRetained": true
  }
}
