{
  "schema": "ab5d-series-essay/1",
  "revision": 2,
  "status": "published-with-research-limitations",
  "sections": [
    {
      "id": "work-context",
      "heading": "The work and its context",
      "bodyMarkdown": "CatBlocks is a 512-edition generative art series by the Estonian digital artist Kristy Glas, released on Art Blocks as a Factory project on Ethereum mainnet, contract 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270, project ID 73.[^S01] Each output is a portrait of a cartoon cat, head and shoulders, drawn in clean vector shapes on a flat colored ground. The cats blink, and if a viewer strokes the browser window with a quick mouse movement across the face, the cat responds by narrowing its eyes into a contented squint: it enjoys being petted, as the artist's project text puts it, \"they live entirely on-chain and they just love receiving pets.\"[^S01]\n\nGlas is a self-taught artist who painted seascapes and clouds in oils as a teenager before moving to digital work.[^S04] She entered the NFT space in 2020 after discovering the technology through the Hive blogging community, tokenizing fantasy landscapes of her Adventure Series on KnownOrigin and MakersPlace, each accompanied by her own prose.[^S04][^S05] Her Pixel Cats series on Rarible, an expanding collection of hand-drawn feline characters, developed what a 2020 interview already called a cult following, and CatBlocks translated that motif into a fully generative system the following year.[^S04] Within Art Blocks she is also the artist of Scoundrels, a 2,048-edition character collection released in November 2021.[^S05] The AB5D artist dossier covers the wider practice; this essay documents the CatBlocks series itself.[^S05]\n\nThe series sits in the first wave of Art Blocks Factory releases in May 2021 and makes browser interaction central to its character: the petting gesture was noted by collector Zeneca in June 2021. A ranking among the platform’s earliest interactive works has not been established here.[^S06]"
    },
    {
      "id": "conception",
      "heading": "Conception and development",
      "bodyMarkdown": "The conception joins two threads of Glas's practice. The first is the cat motif itself. In a November 2020 interview she explained that she did not have a cat of her own, \"that's why I draw so many, it's missing in my life,\" and her Pixel Cats had by then become her most recognized work.[^S04] The second is her stated expectation that the NFT medium would move toward \"more interactive art, more collectables,\" with \"more interaction\" between collectors and creators.[^S04] CatBlocks, with its breedable-looking trait system and its petting response, reads as a direct expression of both threads; that connection is this essay's interpretation of her published statements, not a quoted intention for this specific series.\n\nThe project description presents the cats as distinct personalities and invites viewers to pet them.[^S01] In the inspected code, named breeds organize permitted palettes and patterns. Ordinary names such as black, white, tabby, calico and siamese sit alongside alien and zombie. These labels guide variation within one portrait format; no reproductive or breeding interaction appears in the inspected drawing program. The contrast between familiar pets and fantasy characters belongs to the generator’s vocabulary rather than to a simulation of heredity.[^S02]\n\nNo dated development posts or sketches specific to CatBlocks were located in inspected sources; the series appeared on Art Blocks with its public opening on May 25, 2021, about six months after the interview quoted above.[^S01][^S04]"
    },
    {
      "id": "construction",
      "heading": "How the work was constructed",
      "bodyMarkdown": "The full artist script was retrieved from the official indexed project record at the Art Blocks mainnet GraphQL endpoint, filtered by the exact slug catblocks-by-kristy-glas and corroborated against contract 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270 and project ID 73. The retrieved script is 24,904 bytes with SHA-256 digest 489db1f0c1689beb271d99ccfe5d47c594a0d35b6d194ea7cd2b9cb887ab0259 (recorded in evidence.json; the script itself is not redistributed). The indexed runtime is p5@1.0.0, drawing to a square 2D canvas, with no external asset dependencies.[^S01][^S02]\n\nThe generator derives thirty-two random bytes directly from the token hash: the script slices the hash into thirty-two two-character hex pairs and parses each as an integer from 0 to 255.[^S02] The first byte chooses the breed through a weighted table whose odds sum exactly to 256, so every byte value maps to one breed: tabby is the most likely at 100 of 256, followed by black at 51, white at 26, shorthair 20, calico 17, alien 12, siamese 10, and sphynx, sandcat, toyger and zombie at 5 each.[^S02] Subsequent bytes select body and face pattern sets, a palette, head and ear geometry, eyes, pupils, mouth and whiskers. Later bytes control additional features. A tongue appears only if the chosen mouth supports it, byte 15 is below 18, and the breed is neither alien nor zombie. Heterochromia requires byte 12 below 13 and more than one eye colour in the breed’s list; one eye then uses the fixed pale-blue entry and the other a permitted alternative. Separate flags change pattern orientation, swap the calico pattern colours, and exchange eye placement. These thresholds describe code paths, not audited frequencies in the minted edition.[^S02]\n\nThe cat is then assembled from parametric anchor points: each head shape is a small table of forehead, temple, cheek and chin coordinates, and the drawing routines interpolate curves between them with midpoint and lerp helpers, which gives the characters their soft, rounded geometry at any scale.[^S02]\n\nTwo behavior systems run in the draw loop. A blink timer closes the eyes roughly every five seconds for a fraction of a second. The petting system tracks the mouse: a fast stroke across the face region, detected by comparing the mouse position between frames, raises a petting amount that reshapes the lower eyelids into an upward curve, the visual shorthand for a pleased cat; when the stroking stops, the expression relaxes back.[^S02] Independent review opened the original renderer for token 73000347. Its yellow eyes were open at rest. Two pointer drags across the face produced closed, upward-curving eyelids; a subsequent observation after the gesture showed the eyes open again. This verifies the visible response and recovery without relying on a reading of internal browser state.[^S10] Direct inspection found no audio code.[^S02]\n\nThis inspection used the Art Blocks index rather than a historical block-pinned retrieval. The script executes in the browser through p5.js 1.0.0, combining token-derived appearance with elapsed time and pointer movement. The indexed retrieval does not by itself establish the complete storage history of the program or its dependencies.[^S01][^S02]"
    },
    {
      "id": "mint",
      "heading": "The mint",
      "bodyMarkdown": "The dated record, observed in the current Art Blocks index on September 17, 2026, is as follows.[^S01][^S09] The first token, edition 0 (token ID 73000000), was minted on May 25, 2021 at 09:30:14 UTC. The public opening followed the same day at 12:19:52 UTC: the registry's sale-start timestamp coincides exactly with the second token's mint, and the official collection page carries the line \"Released May 25, 2021, 12:19 PM UTC\".[^S01][^S03][^S09] The edition completed on May 29, 2021 at 18:48:49 UTC, giving an interval of about four days and six and a half hours between indexed start and completion. This interval does not independently classify public purchases, reserved mints or pauses.[^S01]\n\nOne registry quirk is preserved rather than smoothed over: the project's recorded activation timestamp, May 27, 2021 at 12:02:46 UTC, falls after the public opening and after many tokens had already been minted. The index does not explain the ordering, and this essay does not speculate; the opening is taken from the sale-start timestamp, the second mint and the collection page, which agree.[^S01][^S03][^S09]\n\nThe current minted count equals the current maximum of 512, and the project is marked complete and locked. The originally announced maximum has not been independently established.[^S01] The currently indexed price is 0.09 ETH per token; no dated 2021 source inspected here states the original mint price, so that figure is reported as the present registry value and the launch price remains unverified, as flagged in the research notes.[^S01] No pauses, pricing changes or technical incidents were found in the inspected record. A later secondary-market note: Zeneca’s newsletter dated 30 June 2021 describes animated eyes and the ability to pet the cats in the generator. That is a contemporary collector account of the interaction, rather than an independent test of every output.[^S06]"
    },
    {
      "id": "rights",
      "heading": "Copyright and licensing",
      "bodyMarkdown": "The project registry reports the artwork licence label \"NIFTY\" and supplies no terms URL.[^S01] Dapper Labs publishes a template called the NFT License, version 2.0, with provisions for personal use, ownership-verified display and limited commercial merchandise. Its adoption instructions require a creator to identify itself in the terms. The generic template does not independently establish which version or provisions apply to CatBlocks. No series-specific adoption record was recovered, so this essay preserves the label without presenting the template’s commercial allowance as a verified permission for CatBlocks owners.[^S07]\n\nRights in the artist's script are separate and unknown: the retrieved script carries no licence header, and its visibility in the public registry is not a reuse grant.[^S02] The p5.js 1.0.0 repository includes the GNU Lesser General Public License version 2.1. That library licence does not establish a reuse grant for Glas’s artist script.[^S16] Owning a CatBlocks token conveys no copyright by itself, and no conflicting licence statements were found in the inspected sources. Images in this essay are referenced through canonical Art Blocks token pages and media rather than republished.[^S09]"
    },
    {
      "id": "examples",
      "heading": "Close reading of examples",
      "bodyMarkdown": "Independent review inspected official previews for editions 0, 1, 10 and 20 and the original live renderer for edition 347. The selection compares different appearances and includes the submitted AB5D-held example; it is not a representative survey of trait frequency.[^S09][^S11]\n\nEdition 0 (token 73000000, minted May 25, 2021) has a white body and face interrupted by a large black patch around the left eye and ear. Its right ear remains white, with pink inside both ears; pale yellow eyes and a pink nose stand out against the periwinkle ground. The asymmetric patch crosses a face whose basic geometry remains bilaterally organized.[^S09][^S12] Edition 1 (token 73000001), the first public mint, is a cream point cat with dark brown ears, slit pupils and a pale ground, a calm, almost haughty counterweight to the first mint's wide-eyed look.[^S09][^S13] Edition 10 (token 73000010) is black with bright green eyes, two small circular white patches beside its pink nose, and a separate white belly patch on a light blue ground. The small muzzle patches leave much more dark area around the mouth than in #347. Eye shape, pupil and surrounding colour work together to give this portrait its expression; eye colour alone does not establish the difference.[^S09][^S14]\n\nEdition 20 (token 73000020) rewards a longer look because it shows the pattern system at full stretch. It is a grey tabby: dark stripes mark the forehead, cheeks and body, the muzzle and chest are white, and the eyes are a pale ice blue under heavy lids that give the cat a sceptical, unimpressed expression. Set beside edition 10,  the two cats share the same underlying head-and-shoulders construction yet read as different animals with different temperaments, one alert and sweet, one dour. That is the generator's design made visible: the breed byte picked tabby with its striped pattern sets, the eye and pupil bytes picked a lidded shape in a cold color, and the palette byte picked greys, and the combination lands as personality. The artist's claim that these cats \"express a wide range of emotions and personalities\" is, in this edition, demonstrably structural rather than decorative.[^S01][^S15]\n\nEdition 347 (token 73000347), the AB5D-held example, is a black-and-white cat with a white blaze, muzzle and chest, yellow eyes and a pink nose on light blue.[^S08][^S09][^S11] Its inspection went beyond the static preview: in the independent live check, after two horizontal pointer strokes across its face the eyes eased shut into the curved, contented squint that the script produces when its petting variable rises, then recovered after the stroking stopped.[^S10] Watching the state change makes clear that the still image circulating on marketplaces is only half of the work; the rest is a small behavioral loop that turns a portrait into a pet. The petting gesture needs no button or instruction, and Zeneca’s June 2021 account independently notes that the cats can be petted.[^S06]"
    },
    {
      "id": "significance",
      "heading": "Significance and limitations",
      "bodyMarkdown": "CatBlocks distinguishes itself by making interaction the artwork's emotional core at a moment when most generative NFTs were static images or self-running animations. The blink and the petting response are tiny mechanisms, but they reframe the token as something that reacts to its owner, anticipating the interactive direction Glas had predicted for the medium six months earlier.[^S04] The breed table, with its exact 256-point odds and its two fantasy breeds hiding among the ordinary cats, also shows a character designer's sensibility applied to generative structure: rarity here serves charm rather than speculation. The broader artist dossier documents Glas’s other Art Blocks work.[^S05] Zeneca’s June 2021 newsletter provides an early collector account of the petting gesture.[^S06]\n\nUnresolved research questions, flagged for review:\n\n- The original mint price at the May 25, 2021 opening is not established by any dated 2021 source inspected here; only the current registry value of 0.09 ETH is recorded.[^S01]\n- The registry's activation timestamp (May 27, 2021) postdates the public opening (May 25, 2021); the index offers no explanation, and none is asserted.[^S01]\n- The exact relationship between the registry label \"NIFTY\" and the NFT License 2.0 text is inferred from the shared name; no CatBlocks-specific licence page was located.[^S01][^S07]\n- No artist-authored development history specific to CatBlocks (sketches, test outputs, dated announcements) was found in inspected sources."
    }
  ],
  "mediaIds": [],
  "identity": {
    "chainId": 1,
    "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
    "projectId": 73,
    "slug": "catblocks-by-kristy-glas",
    "title": "CatBlocks",
    "artistCredit": "Kristy Glas",
    "artistDossierUrls": [
      "https://ab5d.xyz/artists/kristy-glas/"
    ]
  },
  "researchCutoff": "2026-09-17",
  "facts": [
    {
      "id": "minted-count",
      "topic": "mint",
      "value": 512,
      "unit": "editions",
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01",
        "S09"
      ],
      "status": "verified",
      "note": "Current index invocations; equals max_invocations and collection page count."
    },
    {
      "id": "max-edition",
      "topic": "mint",
      "value": 512,
      "unit": "editions",
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01",
        "S03"
      ],
      "status": "reported",
      "note": "Current maximum, not independently established original announced maximum."
    },
    {
      "id": "first-mint",
      "topic": "mint",
      "value": "2021-05-25T09:30:14+00:00",
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01",
        "S09"
      ],
      "status": "verified",
      "note": "Token 73000000 minted_at."
    },
    {
      "id": "public-opening",
      "topic": "mint",
      "value": "2021-05-25T12:19:52+00:00",
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01",
        "S03",
        "S09"
      ],
      "status": "verified",
      "note": "start_datetime equals second token mint; collection page Released May 25, 2021, 12:19 PM UTC."
    },
    {
      "id": "activation-quirk",
      "topic": "mint",
      "value": "2021-05-27T12:02:46+00:00",
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "status": "conflicting",
      "note": "Registry activated_at postdates the public opening; unexplained by the index."
    },
    {
      "id": "completion",
      "topic": "mint",
      "value": "2021-05-29T18:48:49+00:00",
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "status": "verified",
      "note": "Indexed completion; interval from start is not an independently classified public sellout duration."
    },
    {
      "id": "current-price",
      "topic": "mint",
      "value": "0.09",
      "unit": "ETH",
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Current registry price_per_token_in_wei = 90000000000000000. Original launch price unverified."
    },
    {
      "id": "original-price",
      "topic": "mint",
      "value": null,
      "unit": "ETH",
      "observedAt": "2026-09-17",
      "sourceIds": [],
      "status": "unknown",
      "note": "No dated 2021 price source located."
    },
    {
      "id": "script-runtime",
      "topic": "construction",
      "value": "p5@1.0.0",
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01",
        "S02"
      ],
      "status": "verified",
      "note": "Indexed script_type_and_version."
    },
    {
      "id": "script-sha256",
      "topic": "construction",
      "value": "489db1f0c1689beb271d99ccfe5d47c594a0d35b6d194ea7cd2b9cb887ab0259",
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S02"
      ],
      "status": "verified",
      "note": "SHA-256 of the 24,904-byte UTF-8 script."
    },
    {
      "id": "license-label",
      "topic": "rights",
      "value": "NIFTY",
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Registry license field; link_to_license null."
    },
    {
      "id": "ab5d-holding",
      "topic": "collection",
      "value": "73000347",
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S08",
        "S09"
      ],
      "status": "verified",
      "note": "Owner 0xdd19308a9731cdecb67e0d80ca6823394208c045 in AB5D linked wallet set."
    }
  ],
  "rights": {
    "artwork": {
      "reportedLabel": "NIFTY",
      "category": "unknown",
      "termsUrl": null,
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01",
        "S07"
      ],
      "note": "Exact indexed label NIFTY preserved. No linked terms or series-specific adoption record independently establishes NFT License version 2.0 applicability. Generic template is contextual evidence, not verified operative CatBlocks terms.",
      "unresolvedConflicts": []
    },
    "code": {
      "reportedLabel": null,
      "category": "unknown",
      "termsUrl": null,
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S02"
      ],
      "note": "No licence header in script; visibility is not a reuse grant.",
      "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": [
          "S16"
        ],
        "note": "Versioned p5.js 1.0.0 repository licence. Does not establish artist-code permission.",
        "unresolvedConflicts": []
      }
    ]
  },
  "examples": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "73000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/73000000",
      "sourceIds": [
        "S09",
        "S12"
      ],
      "selectionNote": "Edition 0, first mint of the series.",
      "observationNote": "White body and face, black left eye/ear patch, pale yellow eyes, pink nose, periwinkle ground."
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "73000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/73000001",
      "sourceIds": [
        "S09",
        "S13"
      ],
      "selectionNote": "Edition 1, second indexed mint (2021-05-25T12:19:52Z).",
      "observationNote": "Cream face/body, dark ears, yellow eyes with slit pupils, pale ground."
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "73000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/73000010",
      "sourceIds": [
        "S09",
        "S14"
      ],
      "selectionNote": "Contrast in eye color and mood.",
      "observationNote": "Black cat, green eyes, small white muzzle circles and separate belly patch, light blue ground."
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "73000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/73000020",
      "sourceIds": [
        "S09",
        "S15"
      ],
      "selectionNote": "Tabby breed with full pattern system, sustained analysis.",
      "observationNote": "Grey striped cat, low folded-looking ears, pale blue eyes under heavy lids, white muzzle/chest."
    },
    {
      "id": "E05",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "73000347",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/73000347",
      "sourceIds": [
        "S08",
        "S09",
        "S10"
      ],
      "selectionNote": "Verified AB5D-held work, sustained analysis and header.",
      "observationNote": "Original #347 open yellow eyes at rest; two pointer drags closed lids into upward curves, then eyes reopened after gesture."
    }
  ],
  "provenance": {
    "operator": "Kimi Work local agent runtime (commissioned batch batch-002-kimi)",
    "agent": "Kimi",
    "model": "Kimi (Moonshot AI), reviewed and revised by gpt-6-astra",
    "modelVersion": "unknown (not exposed by the runtime)",
    "tools": [
      "curl",
      "Python 3",
      "headless Chrome via puppeteer-core (SwiftShader WebGL)",
      "Art Blocks Hasura GraphQL endpoint",
      "web search/fetch tools"
    ],
    "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",
    "reviewers": [
      {
        "model": "gpt-6-astra",
        "scope": "Independent source and static-image review, token checks, code corrections and visible petting/recovery test; editorial revisions."
      }
    ],
    "generation": {
      "schema": "ab5d-essay-generation/1",
      "model": "Kimi (Moonshot AI), reviewed and revised by gpt-6-astra",
      "displayName": "Kimi (Moonshot AI), reviewed and revised by GPT-6 Astra",
      "scope": "Kimi returned batch-002 essay with independent Astra source, code and artwork review and editorial corrections.",
      "essayCount": 1,
      "usage": null,
      "perEssayUsage": null,
      "usageDetail": "Kimi runtime did not expose token telemetry. Complete review telemetry is also unavailable; no estimate is substituted. Exact Kimi model version was not supplied.",
      "contributors": {
        "operator": "Kimi Work local agent runtime (commissioned batch batch-002-kimi)",
        "agent": "Kimi",
        "model": "Kimi (Moonshot AI)",
        "modelVersion": "unknown (not exposed by the runtime)",
        "tools": [
          "curl",
          "Python 3",
          "headless Chrome via puppeteer-core (SwiftShader WebGL)",
          "Art Blocks Hasura GraphQL endpoint",
          "web search/fetch tools"
        ],
        "humanEditorialInvolvement": "none recorded; draft for human review",
        "originalProseLicense": "CC0-1.0",
        "reviewers": [
          {
            "model": "gpt-6-astra",
            "scope": "Independent source and static-image review, token checks, code corrections and visible petting/recovery test; editorial revisions."
          }
        ]
      }
    }
  },
  "codeInspection": {
    "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
    "locator": "projects_metadata(where slug = catblocks-by-kristy-glas).script; contract 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270 project 73",
    "sha256": "489db1f0c1689beb271d99ccfe5d47c594a0d35b6d194ea7cd2b9cb887ab0259",
    "retrievedAt": "2026-09-17T22:00:31Z",
    "method": "GraphQL POST via curl; full 24,904-byte script read; live renderer executed and petting interaction tested with simulated mouse strokes",
    "executed": true,
    "chainBlock": null
  },
  "editorialExceptions": [
    {
      "id": "EX-01",
      "status": "pending",
      "reviewer": null,
      "reason": "Original mint price at public opening not evidenced by any dated 2021 source."
    },
    {
      "id": "EX-02",
      "status": "pending",
      "reviewer": null,
      "reason": "Registry activated_at (2021-05-27) postdates public opening (2021-05-25); ordering unexplained."
    }
  ],
  "presentation": {
    "editionSize": 512,
    "maximumEdition": 512,
    "mintDate": "2021-05-25T09:30:14+00:00",
    "mintDateMeaning": "First indexed mint",
    "artwork": {
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "token_id": "73000347",
      "invocation": 347,
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/73000347",
      "preview_asset_url": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/73000347.png",
      "live_view_url": "/series/catblocks-by-kristy-glas/artwork.html",
      "mode": "live",
      "copyrightStatus": "NIFTY (reported label; specific terms unverified)",
      "copyrightUrl": null,
      "displayBasis": "Linked original renderer for critical discussion of an AB5D-held artwork. Specific NIFTY terms remain unverified.",
      "interactionNote": "Move the pointer across the cat to pet it.",
      "canonicalLiveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/73000347"
    },
    "publicationEmbedCheck": {
      "observedAt": "2026-09-18T00:51:39.798016+00:00",
      "result": "Original renderer loaded automatically inside local essay wrapper; artwork and first-mint header visually verified. Direct original renderer petting and recovery verified independently. Essay-frame gesture tool rejected fractional coordinates; no claim of gesture verification in this embed."
    }
  },
  "observationImages": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "73000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/73000000",
      "sourceIds": [
        "S09",
        "S12"
      ],
      "selectionNote": "Edition 0, first mint of the series.",
      "observationNote": "White body and face, black left eye/ear patch, pale yellow eyes, pink nose, periwinkle ground.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/73000000.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/73000000"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "73000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/73000001",
      "sourceIds": [
        "S09",
        "S13"
      ],
      "selectionNote": "Edition 1, second indexed mint (2021-05-25T12:19:52Z).",
      "observationNote": "Cream face/body, dark ears, yellow eyes with slit pupils, pale ground.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/73000001.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/73000001"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "73000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/73000010",
      "sourceIds": [
        "S09",
        "S14"
      ],
      "selectionNote": "Contrast in eye color and mood.",
      "observationNote": "Black cat, green eyes, small white muzzle circles and separate belly patch, light blue ground.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/73000010.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/73000010"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "73000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/73000020",
      "sourceIds": [
        "S09",
        "S15"
      ],
      "selectionNote": "Tabby breed with full pattern system, sustained analysis.",
      "observationNote": "Grey striped cat, low folded-looking ears, pale blue eyes under heavy lids, white muzzle/chest.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/73000020.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/73000020"
    },
    {
      "id": "E05",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "73000347",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/73000347",
      "sourceIds": [
        "S08",
        "S09",
        "S10"
      ],
      "selectionNote": "Verified AB5D-held work, sustained analysis and header.",
      "observationNote": "Original #347 open yellow eyes at rest; two pointer drags closed lids into upward curves, then eyes reopened after gesture.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/73000347.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/73000347"
    }
  ],
  "publication": {
    "date": "2026-09-18",
    "url": "https://ab5d.xyz/series/catblocks-by-kristy-glas/",
    "authorization": "Phil requested website publication on 2026-09-17.",
    "reviewSnapshot": "/docs/series-essays/production/catblocks-by-kristy-glas/record.json",
    "unresolvedResearchQuestionsRetained": true
  }
}
