{
  "schema": "ab5d-series-essay/1",
  "identity": {
    "chainId": 1,
    "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
    "projectId": 45,
    "slug": "gravity-grid-by-eliya-stein",
    "title": "Gravity Grid",
    "artistCredit": "Eliya Stein",
    "artistDossierUrls": [
      "https://ab5d.xyz/artists/eliya-stein/"
    ]
  },
  "revision": 2,
  "researchCutoff": "2026-09-17",
  "status": "published-with-research-limitations",
  "facts": [
    {
      "id": "invocations",
      "topic": "mint",
      "value": 81,
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Current indexed observation; not independently replayed from chain events."
    },
    {
      "id": "max_invocations",
      "topic": "mint",
      "value": 81,
      "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-04-05T01:14:03+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-04-12T16:00:38+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-04-11T14:41:35+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-04-21T15:28:11+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-04-12T16:00:38+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": "100000000000000000",
      "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 License",
      "category": "unknown",
      "termsUrl": null,
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "note": "Reported label only; operative text, version 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 dependency licence, separate from artist-code rights.",
        "unresolvedConflicts": []
      }
    ]
  },
  "sections": [
    {
      "id": "work-context",
      "heading": "The work and its context",
      "bodyMarkdown": "Gravity Grid makes a stable ordering device behave like an unstable field. Squares and circles remain recognizable, yet their relationships refuse to stay fixed. Chains of pale boxes sweep across coloured surfaces; fine lines spread through them like competing systems of measurement. At some moments the picture is almost diagrammatic. At others, broad overlapping strokes turn it into a luminous mass. The four early editions examined here share this movement between readable components and a field that overwhelms their separateness.[^S05][^S06][^S07][^S08]\n\nEliya Stein released the project through Art Blocks Factory in April 2021. The current record identifies 81 minted works. The artist describes a grid inspired by Go, imagined as a psychedelic board pulled apart near a black hole. That description offers an image through which to approach the work, rather than a specification of its mathematics. The deployed program constructs its motion through repeated transformations and drawing operations. It does not calculate gravitational forces.[^S01][^S02]\n\nGo supplies a useful point of comparison. The American Go Association's 1991 rules describe the customary nineteen-by-nineteen board and place stones on its intersections. In Gravity Grid, the spacing associated with nineteen divisions becomes material for a changing composition. No player is choosing moves, enclosing territory or following the game's turn sequence. The work borrows the visual promise of an ordered board, then makes that promise difficult to maintain.[^S03][^S02]"
    },
    {
      "id": "conception",
      "heading": "Conception and development",
      "bodyMarkdown": "The strongest available account of conception is the artist's project description. Its board and black-hole imagery joins two opposed expectations: a bounded field whose positions can be counted, and a force that seems to pull those positions out of alignment. The description also says that editions begin at different stages and invites the viewer to click and hold. Both claims have identifiable counterparts in the inspected code, although neither establishes a complete history of how the work was developed.[^S01][^S02]\n\nThe starting difference is a numerical offset derived from the token hash. Motion adds the running frame count to that offset. This means that the initial image is already situated within a changing procedure. A mint does not simply choose a palette and preserve one arrangement forever. Nor should a screenshot taken shortly after loading be treated as the definitive composition of that edition.[^S02]\n\nThe [Eliya Stein dossier](/artists/eliya-stein/) provides the broader artist context. For this project, no development notebook or dated sequence of prototypes was recovered in the research reviewed here. The code can show how the deployed work operates, but it cannot tell us which experiment came first or why every threshold was selected. The distinction matters particularly for a short program: compactness makes the mechanism inspectable without making the history of its invention transparent.[^S01][^S02]"
    },
    {
      "id": "construction",
      "heading": "How the work was constructed",
      "bodyMarkdown": "The program reads its token hash in three related ways. Individual hexadecimal characters become integers; their parity supplies switches; pairs of characters become byte values. These arrays govern colour, optional marks, stroke widths and the initial offset. Several values are multiplied to construct that offset, with conditional adjustments for especially small or large results. The frame count is then added. The procedure is repeatable from the same input and frame position, subject to the renderer and viewing environment.[^S02]\n\nThe canvas is a square based on the smaller window dimension. Setup requests twenty-four frames per second and disables filled shapes. That request is a target rather than a guarantee of browser performance. Each drawing cycle begins with a black background. Consequently, the dense bands visible in one frame are not necessarily traces retained from earlier frames. Many marks are being drawn and overlapped within the current cycle.[^S02]\n\nTwo nested passes organize the drawing. The first steps horizontally by one nineteenth of the canvas size and vertically by one fiftieth. It draws points, connecting lines and squares whose sizes depend on their coordinates. The second uses nineteenth-based spacing in both directions and introduces further lines, circles, squares and conditional triangles. Describing the result simply as a nineteen-by-nineteen board would conceal the different sampling and drawing operations that transform the reference.[^S02]\n\nRotation is the crucial complication. The program repeatedly changes the coordinate system while moving through the loops. Many of these rotations occur outside the local push-and-pop pairs that isolate drawing settings. They therefore accumulate within the frame. The p5 documentation explains this distinction: rotations change the coordinate system, successive transformations combine, and push and pop can preserve a local state. The default origin remains significant because the inspected program does not translate the whole drawing to a central pivot.[^S02][^S04]\n\nThis helps explain the curved chains. A series of squares need not have its centres explicitly placed on a circle. Repeated rotation changes where successive drawing commands appear. The eye can read the resulting sequence as an orbit or a ribbon even though the program contains no particles with mass, velocity or mutual attraction. The gravitational language belongs to the work's visual proposition; the operative mechanism is geometric.[^S02][^S01]\n\nBroad colour fields also emerge from strokes. Although setup calls noFill, a branch can assign a very large stroke width, including a literal width of 255. Other widths scale with the canvas. Overlapping outlines can therefore become substantial surfaces rather than delicate boundaries. The distinction between an outlined shape and an apparently filled region is less secure than the initial instruction might suggest.[^S02]\n\nColour depends on both token values and drawing coordinates. Some channels change with the time variable modulo 255; others incorporate horizontal or vertical positions. Several passes use transparency. These relationships make it unsafe to describe an edition by one permanent palette. They also mean that changing the canvas size can affect more than the scale of an otherwise identical picture, because coordinate values enter the colour calculations directly.[^S02]\n\nHolding the mouse can alter triangle width, rotation and square colour in selected branches or regions of the drawing loops. Some effects depend on token switches. The interaction is not a physical hand dragging the board, and its code conditions should not be mistaken for hit-testing a particular visible square. A press was tested during the edition-zero inspection, but the animation continued throughout; this review does not claim a controlled measurement separating every input effect from ordinary temporal change.[^S02][^S05]"
    },
    {
      "id": "mint",
      "heading": "The mint",
      "bodyMarkdown": "The official collection page gives 12 April 2021 as the release date. The index records the first token on 5 April at 01:14:03, activation on 11 April at 14:41:35, and both the second mint and scheduled start on 12 April at 16:00:38. These are separately named events. An earlier token does not by itself move the public release date, and activation is not interchangeable with the first purchase. Full timestamps and offsets remain in the research record.[^S01]\n\nThe current index reports 81 invocations against a maximum of 81, with completion on 21 April at 15:28:11. Its recorded price setting is 0.1 ETH. These observations establish the present indexed state, not a verified account of the opening price, every price change or the amount paid for each token. The current maximum also does not independently prove what was announced before minting began.[^S01]\n\nNo complete classification of artist, reserved, administrative and public mints was recovered. Subtracting the second-mint field from completion would produce an interval between records, not an audited public sellout duration. The essay therefore preserves the chronology without converting it into a stronger sales claim. A launch-era announcement or contract-event reconstruction would materially improve this part of the record.[^S01]"
    },
    {
      "id": "rights",
      "heading": "Copyright and licensing",
      "bodyMarkdown": "The exact artist-set artwork label in the inspected metadata is NIFTY License. The record supplies no terms URL. This essay retains that label but classifies the operative permissions as unresolved: the words alone do not establish the version, commercial permissions, restrictions or transfer conditions that apply. No permission is inferred from AB5D's ownership of a token.[^S01]\n\nThe renderer identifies p5.js 1.0.0. Its tagged repository includes the GNU Lesser General Public License version 2.1. That is a dependency licence, distinct from the artwork label and any rights in Stein's own script. No separate grant for the artist code was identified in the inspected material. The original program was examined for this essay but is not republished as part of its prose source package.[^S01][^S02][^S09]\n\nAB5D's CC0 dedication applies to the original essay text. The artwork caption preserves the reported NIFTY label and the uncertainty about its terms. The header presents the original renderer for the held edition, allowing its movement to remain part of the encounter rather than replacing the work with an invented animation.[^S01][^S02]"
    },
    {
      "id": "examples",
      "heading": "Close reading of four outputs",
      "bodyMarkdown": "The comparison uses editions 0, 1, 10 and 20, selected as a small early-edition group. Their full token identifiers are 45000000, 45000001, 45000010 and 45000020 on Ethereum contract 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270. Each canonical renderer was observed at more than one moment. The descriptions concern those observed states, not fixed palettes or representative frequencies across all 81 works.[^S05][^S06][^S07][^S08]\n\nIn #0, an early observed state spreads bright green behind a diagonal band of large blue circles, with red appearing along the left side. Later, magenta sectors and a dark lower region change the balance. Pale square chains provide a second rhythm against the finer circles. The important contrast is one of scale: a broad surface can dominate first, then release attention to a sequence of small outlines. The board is encountered through these intermittent opportunities to recover its components.[^S05]\n\nIn #1, blue and cyan angular bands overlap beneath thin circular marks and pale, ladder-like sequences. A black upper-left region interrupts the brightness. In a later state, green becomes dominant and dark diagonals cut through the field. That change is not merely a colour filter applied to an unchanged composition; the positions and relationships of the chains also shift. The eye repeatedly tests whether it is seeing separate panels, a folded surface or several incompatible grids projected together.[^S06]\n\nIn #10, one observed state is comparatively light: cyan, blue and lavender support translucent square chains, while a fine yellow-green circular cluster gathers at the upper left. Later the field becomes muted green, and overlapping pale squares form conspicuous curved sequences. Thin blue lines pass across those sequences without adopting their rhythm. This produces a productive disagreement between two kinds of continuity: the chain of discrete boxes and the uninterrupted straight line.[^S07]\n\nIn #20, the darker field makes individual components unusually legible during the observed interval. White and pink square chains cross a web of fine green, cyan and blue lines, with open circles distributed between them. A later view changes the curvature and position of those chains while retaining a relatively open, dark character. Beside the broad fields in #1 and #10, this edition makes the work's construction easier to follow locally, although the accumulated directions still prevent the whole from settling into one readable board.[^S08]\n\nAB5D's held #61 was separately checked for the header. Its observed states included magenta stepped bands on green, followed by violet bands against cyan and blue. Fine lines and circles remained visible across the larger surfaces. The original animation started without a click. This fifth observation supports the presentation choice; it does not enlarge the four-work comparison into a survey of the edition.[^S10]"
    },
    {
      "id": "significance",
      "heading": "Significance and limitations",
      "bodyMarkdown": "Gravity Grid is most persuasive where it keeps order visible while making order unstable. A circle remains a circle and a square remains a square, but their repetition produces a field that cannot be read as a single stationary diagram. Its economy is procedural: a short sequence of transformations can make many marks participate in a much larger perceptual event. The work rewards watching long enough for an apparently dominant structure to give way to another.[^S02][^S05][^S06][^S07][^S08]\n\nThe Go reference sharpens that experience because a board normally offers positions that remain available for inspection. Here, those positions are continually transformed. The loss is not simply disorder. Repetition creates new, temporary organizations: chains, fans, ribbons and meshes. The viewer is asked to recognize them without assuming that the next moment will preserve them.[^S01][^S03][^S02]\n\nUnresolved research questions:\n\n- Recover development notes or a contemporary artist account beyond the project description.\n- Establish the original public price, announced edition limit and classification of mint transactions.\n- Locate the operative NIFTY terms and any separate artist-code licence.\n- Compare the indexed script with a pinned chain retrieval and test its appearance across viewport sizes and rendering environments.\n- Extend timed observation beyond the four early editions without turning a small sample into a distribution claim."
    }
  ],
  "examples": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "45000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000000",
      "sourceIds": [
        "S05"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Green field, blue circular band, later magenta sectors and black lower region with pale square chains. Multiple temporal states observed.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000000.png",
      "indexedFeatures": {
        "Wash": "False",
        "Offset": 0,
        "Widener": "Static",
        "Pre-Wash": "False",
        "Cell Alpha": 89,
        "Accelerator": "True",
        "Ring Expander": "True"
      },
      "mintedAt": "2021-04-05T01:14:03+00:00",
      "mintTransactionHash": "0x9e4add53ff548f1f497190f7dec13eb346e6d40b9e9d70c366c80eb539f17069"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "45000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000001",
      "sourceIds": [
        "S06"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Blue/cyan angular bands and pale ladder-like sequences, black upper-left; later green with dark diagonals. Multiple states observed.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000001.png",
      "indexedFeatures": {
        "Wash": "False",
        "Offset": 1971,
        "Widener": "Random",
        "Pre-Wash": "False",
        "Cell Alpha": 66,
        "Accelerator": "True",
        "Ring Expander": "True"
      },
      "mintedAt": "2021-04-12T16:00:38+00:00",
      "mintTransactionHash": "0xcd2a0d68eb7a5f669f259fc8463424a483ada3bc1a0d5271ed9ffd2e811f2972"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "45000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000010",
      "sourceIds": [
        "S07"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Pale cyan/blue/lavender, circular cluster upper-left; later green with curved overlapping pale square chains and fine blue lines. Multiple states observed.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000010.png",
      "indexedFeatures": {
        "Wash": "False",
        "Offset": 5082,
        "Widener": "Static",
        "Pre-Wash": "False",
        "Cell Alpha": 68,
        "Accelerator": "True",
        "Ring Expander": "True"
      },
      "mintedAt": "2021-04-12T16:33:29+00:00",
      "mintTransactionHash": "0xd9a8daaac17f80ba57bb3ab4c957e21b33fee9f19bb034ba9399fe2d630519b4"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "45000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000020",
      "sourceIds": [
        "S08"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Dark open field, white/pink square chains with fine green/cyan/blue lines and circles; later chain curvature changed. Multiple states observed.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000020.png",
      "indexedFeatures": {
        "Wash": "True",
        "Offset": 2405,
        "Widener": "Random",
        "Pre-Wash": "True",
        "Cell Alpha": 153,
        "Accelerator": "False",
        "Ring Expander": "True"
      },
      "mintedAt": "2021-04-12T19:03:05+00:00",
      "mintTransactionHash": "0x8136e7ff96296eb38936387edcbe8b3ef891829659b2c380551f3572dca8ebd0"
    }
  ],
  "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": "Gravity Grid research, manuscript, source package and presentation preparation, plus final Algobots checks.",
      "essayCount": 1,
      "perEssayUsage": null,
      "usage": {
        "inputTokens": 6569696,
        "cachedInputTokens": 6477184,
        "outputTokens": 9572,
        "reasoningOutputTokens": 659,
        "totalTokens": 6579268
      },
      "usageSummary": "across Gravity Grid research and drafting, plus final Algobots checks.",
      "usageDetail": "Measured shared interval including cached input. Work covered by preceding shared intervals is not counted again here. This is not an isolated per-essay cost. Later deployment excluded.",
      "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-17T17:51:19.365Z",
      "recordedAt": "2026-09-17T17:58:21.272Z"
    }
  },
  "codeInspection": {
    "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
    "locator": "projects_metadata.script filtered by slug gravity-grid-by-eliya-stein",
    "sha256": "84a4e09a6819731fda7eb9ed27c7de44ea4054c7f9576a1582bf072b9bce5980",
    "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": 81,
    "maximumEdition": 81,
    "mintDate": "2021-04-05T01:14:03+00:00",
    "mintDateMeaning": "First indexed mint",
    "artwork": {
      "token_id": "45000061",
      "invocation": 61,
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "preview_asset_url": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000061.png",
      "live_view_url": "/series/gravity-grid-by-eliya-stein/artwork.html",
      "features": {
        "Wash": "False",
        "Offset": 16146,
        "Widener": "Static",
        "Pre-Wash": "False",
        "Cell Alpha": 7,
        "Accelerator": "False",
        "Ring Expander": "False"
      },
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "chainId": 1,
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000061",
      "mode": "live",
      "copyrightStatus": "NIFTY License (terms unverified)",
      "copyrightUrl": null,
      "displayBasis": "Canonical held61 animation observed across multiple moments, confirming autoplay. Native renderer preserves original behaviour.",
      "canonicalLiveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000061",
      "interactionNote": "Click and hold to explore the artwork’s interactive effects."
    }
  },
  "observationImages": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "45000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000000",
      "sourceIds": [
        "S05"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Green field, blue circular band, later magenta sectors and black lower region with pale square chains. Multiple temporal states observed.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000000.png",
      "indexedFeatures": {
        "Wash": "False",
        "Offset": 0,
        "Widener": "Static",
        "Pre-Wash": "False",
        "Cell Alpha": 89,
        "Accelerator": "True",
        "Ring Expander": "True"
      },
      "mintedAt": "2021-04-05T01:14:03+00:00",
      "mintTransactionHash": "0x9e4add53ff548f1f497190f7dec13eb346e6d40b9e9d70c366c80eb539f17069",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000000"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "45000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000001",
      "sourceIds": [
        "S06"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Blue/cyan angular bands and pale ladder-like sequences, black upper-left; later green with dark diagonals. Multiple states observed.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000001.png",
      "indexedFeatures": {
        "Wash": "False",
        "Offset": 1971,
        "Widener": "Random",
        "Pre-Wash": "False",
        "Cell Alpha": 66,
        "Accelerator": "True",
        "Ring Expander": "True"
      },
      "mintedAt": "2021-04-12T16:00:38+00:00",
      "mintTransactionHash": "0xcd2a0d68eb7a5f669f259fc8463424a483ada3bc1a0d5271ed9ffd2e811f2972",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000001"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "45000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000010",
      "sourceIds": [
        "S07"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Pale cyan/blue/lavender, circular cluster upper-left; later green with curved overlapping pale square chains and fine blue lines. Multiple states observed.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000010.png",
      "indexedFeatures": {
        "Wash": "False",
        "Offset": 5082,
        "Widener": "Static",
        "Pre-Wash": "False",
        "Cell Alpha": 68,
        "Accelerator": "True",
        "Ring Expander": "True"
      },
      "mintedAt": "2021-04-12T16:33:29+00:00",
      "mintTransactionHash": "0xd9a8daaac17f80ba57bb3ab4c957e21b33fee9f19bb034ba9399fe2d630519b4",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000010"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "45000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000020",
      "sourceIds": [
        "S08"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Dark open field, white/pink square chains with fine green/cyan/blue lines and circles; later chain curvature changed. Multiple states observed.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000020.png",
      "indexedFeatures": {
        "Wash": "True",
        "Offset": 2405,
        "Widener": "Random",
        "Pre-Wash": "True",
        "Cell Alpha": 153,
        "Accelerator": "False",
        "Ring Expander": "True"
      },
      "mintedAt": "2021-04-12T19:03:05+00:00",
      "mintTransactionHash": "0x8136e7ff96296eb38936387edcbe8b3ef891829659b2c380551f3572dca8ebd0",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000020"
    },
    {
      "tokenId": "45000061",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000061.png",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000061",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/45000061"
    }
  ],
  "publication": {
    "date": "2026-09-17",
    "url": "https://ab5d.xyz/series/gravity-grid-by-eliya-stein/",
    "authorization": "Phil requested website publication on 2026-09-17.",
    "reviewSnapshot": "/docs/series-essays/production/gravity-grid-by-eliya-stein/record.json",
    "unresolvedResearchQuestionsRetained": true
  }
}
