{
  "schema": "ab5d-series-essay/1",
  "identity": {
    "chainId": 1,
    "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
    "projectId": 18,
    "slug": "gen-2-by-dca",
    "title": "Gen 2",
    "artistCredit": "DCA",
    "artistDossierUrls": [
      "https://ab5d.xyz/artists/daniel-calderon-arenas/"
    ]
  },
  "revision": 2,
  "researchCutoff": "2026-09-17",
  "status": "published-with-research-limitations",
  "facts": [
    {
      "id": "invocations",
      "topic": "mint",
      "value": 256,
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Current indexed observation; not independently replayed from chain events."
    },
    {
      "id": "max_invocations",
      "topic": "mint",
      "value": 256,
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Current indexed observation; not independently replayed from chain events."
    },
    {
      "id": "first_token_minted_at",
      "topic": "mint",
      "value": "2021-02-15T00:38:11+00:00",
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Current indexed observation; not independently replayed from chain events."
    },
    {
      "id": "second_token_minted_at",
      "topic": "mint",
      "value": "2021-02-15T03:43:09+00:00",
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Current indexed observation; not independently replayed from chain events."
    },
    {
      "id": "activated_at",
      "topic": "mint",
      "value": "2021-02-15T03:24:20+00:00",
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Current indexed observation; not independently replayed from chain events."
    },
    {
      "id": "completed_at",
      "topic": "mint",
      "value": "2021-02-15T05:56:45+00:00",
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Current indexed observation; not independently replayed from chain events."
    },
    {
      "id": "start_datetime",
      "topic": "mint",
      "value": "2021-02-15T03:43:09+00:00",
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Current indexed observation; not independently replayed from chain events."
    },
    {
      "id": "price_per_token_in_wei",
      "topic": "mint",
      "value": "150000000000000000",
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Current indexed observation; not independently replayed from chain events."
    },
    {
      "id": "opening-price",
      "topic": "mint",
      "value": null,
      "observedAt": "2026-09-17",
      "sourceIds": [],
      "status": "unknown",
      "note": "Current price setting is not historical launch-price evidence."
    },
    {
      "id": "original-maximum",
      "topic": "mint",
      "value": null,
      "observedAt": "2026-09-17",
      "sourceIds": [],
      "status": "unknown",
      "note": "Current maximum is not launch-era announcement evidence."
    },
    {
      "id": "mint-allocations",
      "topic": "mint",
      "value": null,
      "observedAt": "2026-09-17",
      "sourceIds": [],
      "status": "unknown",
      "note": "Public, reserved and administrative mints not independently separated."
    }
  ],
  "rights": {
    "artwork": {
      "reportedLabel": "NIFTY",
      "category": "unknown",
      "termsUrl": null,
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "note": "Reported label only; operative text and historical terms unresolved.",
      "unresolvedConflicts": []
    },
    "code": {
      "reportedLabel": null,
      "category": "unknown",
      "termsUrl": null,
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S02"
      ],
      "note": "No separate artist-code reuse grant identified.",
      "unresolvedConflicts": []
    },
    "thirdParty": [
      {
        "reportedLabel": "LGPL-2.1",
        "category": "custom",
        "termsUrl": "https://raw.githubusercontent.com/processing/p5.js/1.0.0/license.txt",
        "observedAt": "2026-09-17",
        "sourceIds": [
          "S09"
        ],
        "note": "p5.js 1.0.0 library licence; distinct from artwork and artist script.",
        "unresolvedConflicts": []
      }
    ]
  },
  "sections": [
    {
      "id": "work-context",
      "heading": "The work and its context",
      "bodyMarkdown": "Gen 2 makes an image look as though it contains several incompatible resolutions at once. Fine coloured specks fill rectangular patches, larger pixel patterns repeat across the ground, and a central formation seems to bend those same hard-edged marks into a ribbon. In the four editions inspected here, the apparent depth comes from repetition and overlap. The pictures can suggest a damaged display, an early computer game or a woven surface, while remaining precise arrangements produced by a program.[^S05][^S06][^S07][^S08]\n\nDCA, Daniel Calderon Arenas, released the project in Art Blocks Playground in February 2021. The platform lists 256 works. His project description identifies two related structures: a bitmap matrix and a colour matrix derived from the token hash, combined into an image that becomes material for the larger composition. This is an unusually direct account of the work's construction. A small image is both a component and a source of visual complexity.[^S01]\n\nThe live works add a further distinction. The four selected editions first appeared as still arrangements. Clicking opened their overlapping side layers and exposed more of the central formation, which then moved gently against its surroundings. An animated work can therefore have a deliberately quiet initial state. Its interaction belongs to the composition, rather than functioning only as a control attached to an otherwise complete picture.[^S02][^S05][^S06][^S07][^S08]"
    },
    {
      "id": "conception",
      "heading": "Conception and development",
      "bodyMarkdown": "The title expands to Generative System 2 in the artist's description. It presents the project as an installment in an ongoing procedural practice, without requiring each installment to repeat the same visual style. The [DCA artist dossier](https://ab5d.xyz/artists/daniel-calderon-arenas/) provides the wider context. For this particular release, the inspected material explains the system more fully than it documents a studio chronology. No dated prototype sequence or detailed development interview was recovered.[^S01]\n\nA May 2021 Art Blocks newsletter places Gen 2 after DCA's Curated Genesis and before the discussion of Gen 3. Its author, Druid, associates Gen 2 with the early dial-up internet. That comparison is contemporary reception, not a statement of DCA's intention. The distinction matters because the code's pixel graphics can invite several histories at once. A reader's recognition of an older digital texture should not be converted into an undocumented account of what the artist set out to commemorate.[^S03]\n\nThe platform's August 2021 guide uses Gen 2 #196 to illustrate Playground. It describes the category as a space available to artists after a Curated release, encouraging further experiments. The project's place there is thus documented in both the current collection record and a period account. Playground supplies an institutional context for the change in appearance; it does not make the work's construction less deliberate or its result less open to close examination.[^S04]\n\nDCA's short description is enough to establish a central artistic decision: the hash becomes an image-making resource at more than one level. It determines the small unit and also helps organise the composition built from it. The code and the four live examples allow that decision to be followed in detail. What remains missing is the sequence of revisions through which this particular combination of pattern, depth and interaction emerged.[^S01][^S02]"
    },
    {
      "id": "construction",
      "heading": "How the work was constructed",
      "bodyMarkdown": "The complete indexed artist script was read for this essay. It uses p5.js 1.0.0, creates a square canvas sized to the smaller browser dimension, requests fifteen frames per second and disables smoothing. The hash is split into thirty-two numeric byte values. The first sixteen are added to produce the seed used by the random functions. Other decisions read individual hexadecimal characters or indexed byte values directly. The system therefore combines a repeatable random sequence with explicit hash-based choices.[^S01][^S02]\n\nThe ordinary branch generates a bitmap matrix, a small array whose entries refer to colours. Ten labelled bitmap styles use different rules: selected rows or columns, arithmetic patterns, hash lookups and seeded random choices. Some cells refer to the transparent palette entry. When this matrix is converted into an image, the placement of transparent and coloured cells determines what can remain visible through repeated copies. Empty space is part of the unit's design.[^S02]\n\nA separate branch uses predefined sprite matrices. The source names Heart, Mushroom, Star, Hero, Plumber, Cherry and Eth. These are supplied pixel patterns, rather than images downloaded from elsewhere during drawing. The inspected four-example group contains no sprite edition, so their appearance and animation are not described here as direct observations. Finding a branch in the program establishes its availability, not its frequency across the minted collection.[^S02]\n\nThe colour generator builds arrays of red, green, blue and alpha values. Its lookups depend on the hash and an offset that changes during construction. The first palette entry is transparent, while the others receive full opacity. Further branches select monochrome or rainbow treatments. Palette cycling adds a fixed amount to colour channels and wraps their values, creating related but shifted versions of the same bitmap. The repeated unit can consequently change colour without changing its underlying arrangement of cells.[^S02]\n\nSeveral offscreen graphics buffers build the composition. One repeats the bitmap across a field. Others place repetitions within rectangular regions allocated to left, right and middle groups. Another routine stamps the bitmap at positions governed by sine and cosine as an angle advances through a full turn. It does not require a three-dimensional mesh to make the central shape look curved. Many displaced copies of a flat pixel image can create the impression of a folded or extruded body.[^S02]\n\nThe radial routine also applies different tint and palette treatments. In one branch it inverts the completed buffer, corresponding to a light accent. Elsewhere, translucent stamping and colour cycling can produce a ghost treatment. These mechanisms explain why a central formation can have a different apparent material from its background even though both originate in the same small image. The feature labels describe aspects of the process; they cannot replace inspection of how those aspects meet in one output.[^S02]\n\nThe drawing loop layers the prepared buffers in a fixed order. Clicking a nonsprite edition enables movement and toggles an opening state. A counter gradually shifts the left and right groups outward or inward, while trigonometric offsets move the field and central layer by different amounts. The result resembles a curtain exposing another space. This is an interpretation supported by both the named counter in the code and the observed opening, rather than evidence of a literal stage represented in the image.[^S02][^S05][^S06][^S07][^S08]\n\nAdditional controls are present. Uppercase H toggles the display of a bitmap component; uppercase Q toggles a palette display. Lowercase h or q restores those auxiliary displays to their hidden settings. After more than fourteen clicks, the script enables small moving sparkle marks. These findings come from code inspection; the four-example comparison tested the opening click, not every keyboard combination and repeated-click state. The program's requested frame rate is not a guarantee of identical timing on every device.[^S02]\n\nThe original downloaded script was inspected rather than independently executed. The official live renderers were viewed separately. No pinned-block comparison was performed. For preservation, the hash, script, library version, initial state and interaction sequence are all relevant: two screenshots of the same token can differ because one records the closed arrangement and the other records an opened, moving state.[^S02][^S09]"
    },
    {
      "id": "mint",
      "heading": "The mint",
      "bodyMarkdown": "The platform dates the release to 15 February 2021. Its current index records the first mint at 00:38:11, activation at 03:24:20 and the second mint at 03:43:09 that day. The scheduled-start field matches the second mint. These fields document different events. In particular, the earlier first token should not be silently substituted for an independently established public-sale opening.[^S01][^S05][^S06]\n\nCompletion is recorded at 05:56:45 on the same date. The current record reports 256 invocations against a maximum of 256 and a price setting of 0.15 ETH. Those observations are retained in full in the evidence record, including timestamp offsets. The current price is not proof of the original advertised price or the amount paid for every token. The present maximum likewise does not reconstruct all earlier configuration changes.[^S01]\n\nThe available material does not classify every mint as public, artist, reserved or administrative, nor establish pauses during the release. This essay therefore does not turn subtraction between two indexed timestamps into an exact public sellout duration. The contemporary newsletter helps place the work in the platform's early sequence, but its charitable discussion concerns Gen 3. It does not establish that Gen 2 shared that later project's donation arrangement.[^S01][^S03]"
    },
    {
      "id": "rights",
      "heading": "Copyright and licensing",
      "bodyMarkdown": "The indexed artwork licence label is NIFTY, with no terms URL. The label is recorded as reported, with its operative terms unresolved. It is not treated as a Creative Commons designation or as an unrestricted right to copy or commercialise the work. Identifying the applicable text and its historical version remains necessary before making a more specific claim about permissions.[^S01]\n\nNo separate reuse grant for the artist's script was identified in the inspected material. The p5.js 1.0.0 repository supplies an LGPL version 2.1 licence for the library, which is a different component. That licence does not automatically extend to DCA's program or the images it generates. The presence of familiar-looking sprite designs likewise cannot establish the rights to every reference. This essay analyses the code without republishing it; AB5D's CC0 dedication applies to the original prose.[^S02][^S09]"
    },
    {
      "id": "examples",
      "heading": "Close reading of four outputs",
      "bodyMarkdown": "The sample consists of editions 0, 1, 10 and 20, selected in advance as an early-edition comparison. Their token identifiers are 18000000, 18000001, 18000010 and 18000020 on Ethereum contract 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270. The canonical renderers were inspected before and after one click each. The sample supports comparisons of particular images and interactions, not a distributional claim about all 256 works.[^S05][^S06][^S07][^S08]\n\nIn #0, rectangular patches of granular colour initially cover much of a green-and-lavender central formation. A bright yellow-green area at upper left competes with a darker, densely speckled rectangle on the right. Below them, curved bands remain visible, suggesting that another order continues behind the foreground. After the click opens the side groups, the formation becomes much easier to follow: a broad looping ribbon fills the frame, its green bands separated by lavender steps and narrower repeated marks.[^S05]\n\nThe change in #0 is not simply an increase in empty space. It changes which scale of pattern dominates. In the closed view, the eye moves among small specks and abrupt rectangular boundaries. In the open view, the long bends gather those details into a larger continuity. A vertical strip near the centre still interrupts the ribbon, keeping the image from becoming one smoothly modelled object. The visible pixel steps maintain a tension between coarse units and apparently curved space.[^S05]\n\nIn #1, blue and acid-green texture forms the ground, with peach-and-blue checks along the upper and right regions. Before opening, a tall blue patterned panel and a large aqua rectangle obscure much of the centre. Afterwards, a green formation sweeps diagonally downward and right, its inner curve marked by a dark blue line. This direction gives the image a stronger lateral thrust than #0. The two share indexed bitmap and colour-variant labels, but the labels do not capture the difference in balance.[^S06]\n\nIn #10, black grid divisions make the repeated ground unusually legible. Small diagonal units appear inside those divisions, while the central form combines purple, green, pink and muted gold stripes. Opening the side groups exposes a broad, curling formation with an almost stepped perimeter. The dark ground remains visible through and around it. Compared with #0's speckled competition, this image makes the relationship between a regular supporting grid and an irregular-looking central body more explicit.[^S07]\n\nIn #20, a much lighter field is filled with tiny multicoloured marks. Its central form resembles a folded stack of short coloured strips, with pale edges catching the eye before the individual hues settle into place. After opening, more of its lower-left end becomes visible and the folds read as one connected, bending body. Beside #10, the change is striking: dark gaps articulate the rainbow work, while pale edges and busy surrounding texture organise #20. Both derive spatial suggestion from accumulated flat units.[^S08]"
    },
    {
      "id": "significance",
      "heading": "Significance and limitations",
      "bodyMarkdown": "Gen 2 makes repetition do two jobs. It exposes the small pixel structure from which the image is built, and it uses enough overlapping copies to suggest a much larger body. The opening interaction changes the balance between those readings. Its importance within early Art Blocks lies in this specific relation between generative variation and an encounter that continues after the first image appears. The token selects a system configuration; the viewer still has something to do within it.[^S02][^S05][^S06][^S07][^S08]\n\nUnresolved research questions:\n\n- Recover dated development material, prototype versions and the artist's account of this particular release.\n- Establish launch-era price and edition announcements and any configuration changes.\n- Classify mint allocations and pauses before calculating public-sale duration.\n- Recover the operative NIFTY terms and any separate artist-code licence.\n- Compare the script with a pinned chain retrieval and inspect sprite, keyboard and repeated-click states beyond this four-work sample."
    }
  ],
  "examples": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "18000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000000",
      "sourceIds": [
        "S05"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Canonical live renderer inspected in square frames at successive times; closed states and movement after one click each observed.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000000.png",
      "indexedFeatures": {
        "Gen 2": "Standard",
        "Bitmap Style": 10,
        "Color Accent": "Dark",
        "Color Variant": 1
      },
      "mintedAt": "2021-02-15T00:38:11+00:00",
      "mintTransactionHash": "0xa7f92f677e912adfc4a9d923c0e3ac4eb09d1eaa77a2c509cb1abc7e313cf3b9"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "18000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000001",
      "sourceIds": [
        "S06"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Canonical live renderer inspected in square frames at successive times; closed states and movement after one click each observed.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000001.png",
      "indexedFeatures": {
        "Gen 2": "Standard",
        "Bitmap Style": 10,
        "Color Accent": "Dark",
        "Color Variant": 1
      },
      "mintedAt": "2021-02-15T03:43:09+00:00",
      "mintTransactionHash": "0xeed268bd8531e242446d9a185aebc7e9fdf5fab9b96b6c3ee244dc167c33cecd"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "18000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000010",
      "sourceIds": [
        "S07"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Canonical live renderer inspected in square frames at successive times; closed states and movement after one click each observed.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000010.png",
      "indexedFeatures": {
        "Gen 2": "Rainbow",
        "Bitmap Style": 3
      },
      "mintedAt": "2021-02-15T03:53:31+00:00",
      "mintTransactionHash": "0x3e11a5d668c814cc26bb4ce411e635854eded03e2d1722e67f5e61304e7271cb"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "18000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000020",
      "sourceIds": [
        "S08"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Canonical live renderer inspected in square frames at successive times; closed states and movement after one click each observed.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000020.png",
      "indexedFeatures": {
        "Gen 2": "Standard",
        "Bitmap Style": 4,
        "Color Accent": "Light",
        "Color Variant": 3
      },
      "mintedAt": "2021-02-15T04:08:08+00:00",
      "mintTransactionHash": "0xdab65ad5cf7ee8f4e8e11846557ce8d79a4c81f79b36cb7c3bc252ae1753b9ee"
    }
  ],
  "mediaIds": [],
  "provenance": {
    "operator": "Phil (@maxand98), commissioning user",
    "agent": "OpenAI Codex",
    "model": "gpt-6-astra",
    "modelVersion": null,
    "tools": [
      "Art Blocks Hasura GraphQL",
      "Web source reading",
      "Static original-script inspection",
      "Canonical live-renderer visual inspection"
    ],
    "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",
    "generation": {
      "schema": "ab5d-essay-generation/1",
      "model": "gpt-6-astra",
      "displayName": "GPT-6 Astra",
      "scope": "Gen 2 source research, code inspection, interactive-image comparison and drafting period, including overlapping Spectron publication checks and progress recording. Earlier metadata retrieval and later build/deployment excluded.",
      "essayCount": 1,
      "perEssayUsage": null,
      "usage": {
        "inputTokens": 5554351,
        "cachedInputTokens": 5488384,
        "outputTokens": 9208,
        "reasoningOutputTokens": 882,
        "totalTokens": 5563559
      },
      "usageSummary": "across the Gen 2 research and drafting period, including overlapping publication checks.",
      "usageDetail": "Measured session interval, not an isolated per-essay cost. Includes cached context, sources, full code inspection, four live comparisons, held-artwork verification, drafting and packaging, plus overlapping Spectron publication verification and progress recording.",
      "accounting": "Cached input is included in input tokens; reasoning output is included in output tokens. Total is input plus output.",
      "source": "Local Codex session cumulative telemetry difference between recorded boundaries",
      "baselineAt": "2026-09-17T08:44:38.774Z",
      "recordedAt": "2026-09-17T08:51:24.291Z"
    }
  },
  "codeInspection": {
    "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
    "locator": "projects_metadata.script filtered by slug gen-2-by-dca",
    "sha256": "eb5bc6b89ea8beaecfd047bc916fdbaed49c60432560a06931df27f4aa91e5a7",
    "retrievedAt": "2026-09-17",
    "method": "Indexed script static inspection",
    "executed": false,
    "chainBlock": null
  },
  "editorialExceptions": [
    {
      "id": "historical-evidence",
      "status": "pending",
      "reviewer": "Phil",
      "reason": "Historical price, allocation and rights gaps explicitly qualified; indexed script not pinned to chain block."
    }
  ],
  "presentation": {
    "editionSize": 256,
    "maximumEdition": 256,
    "mintDate": "2021-02-15T00:38:11+00:00",
    "mintDateMeaning": "First indexed mint",
    "artwork": {
      "project_id": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-18",
      "token_id": "18000159",
      "invocation": 159,
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "preview_asset_url": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000159.png",
      "live_view_url": "/series/gen-2-by-dca/artwork.html",
      "primary_asset_url": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000159",
      "minted_at": "2021-02-15T05:11:03+00:00",
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "chainId": 1,
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000159",
      "mode": "live",
      "copyrightStatus": "NIFTY (reported; terms unverified)",
      "copyrightUrl": null,
      "displayBasis": "Canonical live renderer for verified AB5D holding; automatic animation observed.",
      "interactionNote": "Live artwork. The opening starts automatically. Click to open or close the layers.",
      "canonicalLiveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000159"
    }
  },
  "observationImages": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "18000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000000",
      "sourceIds": [
        "S05"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Canonical live renderer inspected in square frames at successive times; closed states and movement after one click each observed.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000000.png",
      "indexedFeatures": {
        "Gen 2": "Standard",
        "Bitmap Style": 10,
        "Color Accent": "Dark",
        "Color Variant": 1
      },
      "mintedAt": "2021-02-15T00:38:11+00:00",
      "mintTransactionHash": "0xa7f92f677e912adfc4a9d923c0e3ac4eb09d1eaa77a2c509cb1abc7e313cf3b9",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000000"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "18000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000001",
      "sourceIds": [
        "S06"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Canonical live renderer inspected in square frames at successive times; closed states and movement after one click each observed.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000001.png",
      "indexedFeatures": {
        "Gen 2": "Standard",
        "Bitmap Style": 10,
        "Color Accent": "Dark",
        "Color Variant": 1
      },
      "mintedAt": "2021-02-15T03:43:09+00:00",
      "mintTransactionHash": "0xeed268bd8531e242446d9a185aebc7e9fdf5fab9b96b6c3ee244dc167c33cecd",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000001"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "18000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000010",
      "sourceIds": [
        "S07"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Canonical live renderer inspected in square frames at successive times; closed states and movement after one click each observed.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000010.png",
      "indexedFeatures": {
        "Gen 2": "Rainbow",
        "Bitmap Style": 3
      },
      "mintedAt": "2021-02-15T03:53:31+00:00",
      "mintTransactionHash": "0x3e11a5d668c814cc26bb4ce411e635854eded03e2d1722e67f5e61304e7271cb",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000010"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "18000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000020",
      "sourceIds": [
        "S08"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Canonical live renderer inspected in square frames at successive times; closed states and movement after one click each observed.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000020.png",
      "indexedFeatures": {
        "Gen 2": "Standard",
        "Bitmap Style": 4,
        "Color Accent": "Light",
        "Color Variant": 3
      },
      "mintedAt": "2021-02-15T04:08:08+00:00",
      "mintTransactionHash": "0xdab65ad5cf7ee8f4e8e11846557ce8d79a4c81f79b36cb7c3bc252ae1753b9ee",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/18000020"
    }
  ],
  "publication": {
    "date": "2026-09-17",
    "url": "https://ab5d.xyz/series/gen-2-by-dca/",
    "authorization": "Phil requested website publication on 2026-09-17.",
    "reviewSnapshot": "/docs/series-essays/production/gen-2-by-dca/record.json",
    "unresolvedResearchQuestionsRetained": true
  }
}
