{
  "schema": "ab5d-series-essay/1",
  "identity": {
    "chainId": 1,
    "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
    "projectId": 15,
    "slug": "utopia-by-ge1doot",
    "title": "Utopia",
    "artistCredit": "ge1doot",
    "artistDossierUrls": [
      "https://ab5d.xyz/artists/gerard-ferrandez/"
    ]
  },
  "revision": 3,
  "researchCutoff": "2026-09-20",
  "status": "draft-for-human-review",
  "facts": [],
  "rights": {
    "artwork": {
      "reportedLabel": "NIFTY License",
      "category": "custom",
      "termsUrl": null,
      "observedAt": "2026-09-20",
      "sourceIds": [],
      "note": "Observed current label; earlier licence history not independently recovered.",
      "unresolvedConflicts": []
    },
    "code": {
      "reportedLabel": null,
      "category": "unknown",
      "termsUrl": null,
      "observedAt": "2026-09-17",
      "sourceIds": [],
      "note": "Separate artist-code reuse grant not established.",
      "unresolvedConflicts": []
    },
    "thirdParty": [
      {
        "reportedLabel": null,
        "category": "unknown",
        "termsUrl": null,
        "observedAt": "2026-09-17",
        "sourceIds": [],
        "note": "Native browser WebGL facilities; no imported drawing library in inspected artist script. No artist-code grant inferred.",
        "unresolvedConflicts": []
      }
    ]
  },
  "sections": [
    {
      "id": "the-work-and-its-context",
      "heading": "The work and its context",
      "bodyMarkdown": "Utopia is project 15 on the Art Blocks contract `0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270`. The index records 256 invocations against a maximum of 256, the runtime label `js@na` (plain JavaScript, no library), an aspect ratio of 1:1, the licence label \"NIFTY License\" and a price field of 0.15 ETH [^S01]. Art Blocks lists it in the Playground category and in the Art Blocks 500, the platform's closed set of 500 projects from 2020 to 2025 [^S02][^S03].\n\nThe project text is two sentences of science fiction: \"We were succeeding at creating a reflect of the old home place in our new land. We hoped we had not re-created our mistakes\" [^S01]. The unidiomatic \"reflect\" is in the original.\n\nEach output is a real-time WebGL scene. A single monument stands at the centre of a square city of stepped, twisting spires, lit by one of twenty sky colours and three kinds of light. A white shaft of light rises from the monument. The camera slowly orbits, and the viewer can drag, pinch or scroll to fly around and into the city [^S01]. The work was an early example of interactive 3D on Art Blocks, and Druid's \"Art Blocks 101\" guide of April 2021 singled it out: \"Do yourself a favor and look at one of those pieces live\" [^S04]."
    },
    {
      "id": "conception-and-development",
      "heading": "Conception and development",
      "bodyMarkdown": "Gerard Ferrandez, who works as ge1doot, is described by Art Blocks as a \"Toulouse-based generative artist and IT manager in the aerospace industry\" [^S05]. In his Art Blocks interview with Jeff Davis he recalled learning on 8-bit computers from type-in magazine listings, and starting with video games before moving to generative art [^S06]. He described the process he still follows: \"during the coding process, after many empirical 'try-fail-modify' iterations, my code will tend to do its own thing\" [^S06].\n\nThe same interview names his two main technical influences, Chris Coyne's Context Free Art and Mikael Hvidtfeldt Christensen's Structure Synth. Both describe images as recursive grammars of shapes. Ferrandez said he \"ended up developing my own context free ecosystem in pure JS without the need of writing a parser, the rules being stored as native JS objects\" [^S06]. Utopia's program is built exactly that way, as the next section shows (code reading) [^S01]. The interview also reproduces an undated work titled *Our New Land*, which shares the phrase \"new land\" with Utopia's description [^S06][^S07]. No source seen ties the two works together in code.\n\nUtopia was one of Ferrandez's first three Art Blocks projects, all released in January and February 2021 [^S08]. The first, Ignition (project 9), is called in the interview \"the first 3D interactive WebGL NFT fully on-chain, with no external libraries or dependencies\" [^S06][^S09]. Utopia followed in the same self-contained idiom. Anna Wolf's 2021 profile describes his wider output as \"dark factory aesthetic and empty futuristic cities\", and reports work in the ZKM and in the Anne + Michael Spalter Digital Art Collection [^S08]. The ZKM claim is confirmed for his other projects, not for Utopia (see Notable collectors). The Spalter claim could not be confirmed."
    },
    {
      "id": "how-the-work-was-constructed",
      "heading": "How the work was constructed",
      "bodyMarkdown": "The program is a single minified script of 11,937 bytes, SHA-256 `75a12aa0e2193b00c9136f3edd0c9a9230e6d591d73c72d49575f4da24765c2a`. It was retrieved from the Art Blocks index on 20 September 2026 and read in full. No code is reproduced here [^S01].\n\nIt contains everything it needs: a small matrix library, a camera, a pointer and touch controller, two shaders and a rule engine. There is no p5.js or three.js [^S01]. A xorshift generator is seeded from the first fourteen hex digits of the token hash. Its first five draws fix the whole identity of the piece, in this order: the direction of the automatic orbit, the sky entry, the structure, and two hidden 5 per cent switches [^S01].\n\nThe scene is written as a context-free grammar. Each rule is a JavaScript method that places a box, a pyramid or a flat panel and then calls other rules on transformed copies of itself, down to a depth limit [^S01][^S06]. Four square city tiles are laid out around the centre. Each tile subdivides like a quadtree, six or seven levels deep. Every leaf becomes a spire: a stack of slabs that shrink a little and turn by 3 degrees at each storey, continuing with a probability of eight in nine (code reading) [^S01]. That is where the stepped, screw-like towers come from.\n\nI reproduced the generator in Python and ran it on all 256 hashes. The first five draws predict every published trait exactly, with no exceptions [^S01].\n\n| Trait | Rule in the code | Published count of 256 |\n| --- | --- | --- |\n| Structure | uniform draw of 1 in 6: Pyramid, Ether, Skyscraper, Laser tower, Nuclear plant, Generator | 48, 33, 48, 50, 34, 43 |\n| Time | set by the sky entry: 8 of 20 entries are Day, 8 Night, 4 Dawn | 117, 94, 45 |\n| Sky color | 20 entries, 11 names (see quirk 4) | Orange 46 to Cyan 7 |\n| Mystery Feature: UFO | first hidden switch, above 0.95, with exceptions (quirk 1) | 7 |\n\nThe six structures are simple solids made monumental. The Pyramid is a single great pyramid. Ether is two pyramids meeting at a white band, a diamond. The Skyscraper is a recursion of rotating slabs. The Laser tower is a dark block crossed by two white beams that run to the horizon. The Nuclear plant is four tapering towers, each with its own beam. The Generator is a fractal of cubes nested inside cubes (code reading) [^S01].\n\nTime changes the lighting model, not just the colour. Day uses a side light and a warm fog. Night thins the fog, adds a strong specular light and, for about half the city's leaves, a white lit window. Dawn switches every light off, so the city and monument become pure silhouettes against the sky, as in #5 below (code reading) [^S01]. White elements are drawn with a reserved colour value that bypasses lighting and fog. That is why the beams and windows stay bright in every sky [^S01]. The fragment shader adds a vignette and a per-frame film grain, so the live image never quite holds still [^S01]."
    },
    {
      "id": "quirks-in-the-algorithm",
      "heading": "Quirks in the algorithm",
      "bodyMarkdown": "A full read of the program, checked by simulation against all 256 token records, found the following.\n\n1. **\"UFO\" is a flag with two vetoes.** The first hidden switch comes up 5 per cent of the time. When it is on, some spire tops end in a flat dark panel floating above the tower, which fills the sky with hovering plates. Nine hashes set the switch, but the program turns it off for Generators (#120 and #249), and the second hidden switch also suppresses it. The remaining seven are exactly the seven published UFOs: #67, #77, #94, #145, #200, #226 and #230 [^S01].\n2. **An unlabelled structure on three Pyramids.** The second hidden switch, also 5 per cent, is on for seven tokens. On a Pyramid it grows a mass of long, branching chains of boxes that hang and coil above the monument. On Night and Dawn skies these carry white windows. This happens on #102, #221 and #254 [^S01]. The metadata has no trait for it, so the most visually distinctive Utopias in the edition look ordinary to a trait filter.\n3. **The same switch darkens four Night cities.** Wherever the second switch is on, the lit windows of Night are skipped. #102, #149, #190 and #254 are therefore Night scenes without the white window lines that mark the other 90 (code reading, confirmed on the renders of #102 and #254) [^S01].\n4. **Sky names cover different colours, and one entry is doubled.** Day Orange appears twice in the list with identical values, so it has double weight. At 27 tokens, Day Orange is the largest single time and colour pairing [^S01]. \"Blue\" is three different colours, one each for Day, Night and Dawn. \"Orange\", \"Yellow\", \"Green\", \"Purple\" and \"Sepia\" are also shared across times. Cyan, Grey and Black occur only at Night, while Neon and Black & White occur only by Day. Dawn has only four skies: Yellow, Orange, Blue and Sepia [^S01]. The rarest sky, Cyan (7), is a single Night entry.\n5. **A camera setting that is immediately overwritten.** The lighting setup for Night and Dawn levels the camera pitch, but the start-up routine resets the pitch straight afterwards. The line has no effect (code reading) [^S01].\n6. **Nine Utopias turn the other way.** Its very first draw gives 5 per cent of outputs a reversed orbit. They are #16, #77, #105, #114, #115, #123, #175, #234 and #242 [^S01]. Any drag stops the orbit for good. The space bar then restarts it, always in the default direction, so on those nine it reverses the original motion (code reading).\n7. **A hidden wireframe mode.** If the pointer is held down for about 240 frames, some four seconds at 60 frames per second, the solid faces are removed a slice at a time until only line edges remain. Releasing the pointer rebuilds them (code reading) [^S01].\n8. **A coarse random generator.** Each draw is reduced to one of only 1,000 values. The 56-bit seed is also rounded to floating point and then cut to 32 bits, so most of the hash is never read. All 256 seeds are still distinct [^S01].\n9. **An unlabelled light direction.** The Day and Night key light falls from the left or right, 123 and 133 tokens respectively, which mirrors the shading. This choice is not published as a trait (code reading) [^S01]."
    },
    {
      "id": "the-most-coveted-variants",
      "heading": "The most coveted variants",
      "bodyMarkdown": "No public collector survey of Utopia was found. The notes below rest on the published rarities, the program and the renders [^S01][^S10].\n\n**UFO (7 of 256).** The only published rarity above one in twenty. #226, a Day Yellow Laser tower, shows the effect clearly: dozens of dark plates hanging in the air above the city. #77 combines a UFO with a reversed orbit, which makes it the only token with both [^S01].\n\n![Utopia #226: a Laser tower in a yellow sky full of floating dark plates](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000226.png)\n*Utopia #226, Day, Yellow, Laser tower, UFO. Render: Art Blocks media proxy.*\n\n**The chain Pyramids (3 of 256, unlabelled).** #221, #102 and #254 are the only outputs with the coiling chains of quirk 2. #221 sets them against a pale Day Yellow sky. #254 is a Night Green Pyramid whose chains carry lit windows while the city below stays dark [^S01]. Nothing in the metadata or on marketplaces identifies them, so they are a find for collectors who look at the art rather than the trait list.\n\n![Utopia #221: a pale pyramid under a white beam, with thick coiling chains of boxes hanging across a yellow sky](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000221.png)\n*Utopia #221, Day, Yellow, Pyramid, with the unlabelled chains. Render: Art Blocks media proxy.*\n\n![Utopia #254: a green-lit pyramid under dark chains that carry white windows](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000254.png)\n*Utopia #254, Night, Green, Pyramid, with the unlabelled chains. Render: Art Blocks media proxy.*\n\n**Rare skies.** The smallest sky groups are Cyan (7), Black (8), Grey (10) and Black & White (12) [^S01]. #9 is a Cyan Night Generator: a teal haze, with the lit windows drawing white lines across the dark city.\n\n![Utopia #9: a dark Generator block against a cyan sky, with white window lines across the city](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000009.png)\n*Utopia #9, Night, Cyan, Generator. Render: Art Blocks media proxy.*\n\n**Dawn silhouettes (45 of 256).** With the lights off, Dawn outputs read as flat cut-outs, closer to a poster than a model. #5 shows two of the Nuclear plant's four towers black against a blue glow [^S01].\n\n![Utopia #5: two tapering black towers with white beams against a blue dawn sky](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000005.png)\n*Utopia #5, Dawn, Blue, Nuclear plant. Render: Art Blocks media proxy.*\n\n**Ether (33 of 256).** The least common structure, and the most abstract: a floating diamond split by light. #6 is a Day Green example [^S01].\n\n![Utopia #6: a diamond of two pyramids split by a white band, above a green-lit city](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000006.png)\n*Utopia #6, Day, Green, Ether. Render: Art Blocks media proxy.*\n\n**Market data.** At retrieval the index gave a lowest listing of 1.8 ETH, and Art Blocks showed four listings from that price [^S01][^S02]. OpenSea's collection page reported about $554,000 in total volume, a 7.5 per cent creator fee and 79 unique owners [^S10]. The owner count matches the index [^S01]. The same page's list of \"top sales\" named #216 and #21, but their item pages give undated last sales of $1,431.92 and $2,323.05, so the list has not been relied on here [^S10][^S11][^S12]. No auction sale or reported record trade of a Utopia was found. The owners of the rare tokens above are anonymous addresses, and no source names them."
    },
    {
      "id": "notable-collectors",
      "heading": "Notable collectors",
      "bodyMarkdown": "At retrieval the 256 tokens were spread across 79 addresses. The largest held 41, the next two 24 each, and 46 addresses held a single Utopia [^S01]. The 41-token wallet holds runs of consecutive numbers, including #71 to #78, #120 to #130 and #235 to #255 [^S01]. That pattern suggests it bought in bulk around the mint, but the index data used here does not show minters. No source links any of these wallets to a named person or institution.\n\nAB5D holds #4, a Day Yellow Laser tower. The Art Blocks token page shows its owner as AB5D [^S13][^S01]. The artist's address still holds one token, #0 [^S01].\n\n**Institutions.** No institution was found to hold a Utopia. The ZKM in Karlsruhe collects Ferrandez, but through his other Art Blocks projects. Its 2021 show \"CryptoArt: It's Not About Money\" displayed Ignition #268, #390 and #449 and R3sonance #56 and #440 [^S14]. The ZKM's Daniel Heiss has said the museum \"collected the first Art Blocks drops\", naming Ignition among them [^S15]. Ferrandez was then listed among the artists of the ZKM collection show \"Writing the History of the Future\" at the Gwangju Museum of Art (17 December 2021 to 3 April 2022). The listing does not name the work [^S16]. Sotheby's \"Natively Digital\" sale of June 2021 included a 19-work Art Blocks lot with Ignition #185, but no Utopia [^S17]. The Spalter collection's online catalogue returned no ge1doot work in the searches made for this draft."
    },
    {
      "id": "the-mint",
      "heading": "The mint",
      "bodyMarkdown": "Invocation 0 was minted on 7 February 2021 at 14:36:30 UTC, eight minutes before the index's activation time of 14:44:33, and remains at the artist's address [^S01]. The public mint opened at 20:30:30 UTC. The remaining 255 were minted by 20:33:04 UTC, two minutes and 34 seconds later (my computation from the index) [^S01]. The index's price field is 0.15 ETH. No launch announcement confirming the original price was found [^S01][^S07]."
    },
    {
      "id": "copyright-and-licensing",
      "heading": "Copyright and licensing",
      "bodyMarkdown": "The index records \"NIFTY License\" with no link [^S01]. The earlier AB5D essay found no linked terms either [^S07]. Art Blocks' own licensing guide of June 2021 identifies \"NIFTY\" as the NFT License 2.0, drafted by Dapper Labs in 2018 and the licence most used on Art Blocks [^S18]. That text leaves all intellectual property with the creator. It lets owners use the art \"for your own personal, non-commercial use\" and sell merchandise up to \"$100,000 in gross revenue each year\". It forbids modifying the art or using it to promote other products [^S19]. Neither source says that this version applies to Utopia in particular. The program is on-chain and carries no separate code licence. It depends only on the browser's own WebGL [^S01]. Renders in this essay come from the Art Blocks media proxy and are used for reference."
    },
    {
      "id": "significance-and-limitations",
      "heading": "Significance and limitations",
      "bodyMarkdown": "Utopia is an early, complete demonstration of a context-free grammar running as a live 3D scene on Art Blocks, written by an artist who built his own grammar engine [^S06][^S01]. Its sky-and-light system gives the edition a wide range of moods from a small program. Its interactivity, which Druid recommended to new collectors in 2021, is essential: the static render shows one frame of one orbit [^S04].\n\nThe clearest new finding is the gap between the metadata and the program. The published \"UFO\" is a 5 per cent flag with two exceptions. A second hidden flag produces the edition's most dramatic images on three Pyramids, darkens four Night cities, and has no label at all [^S01].\n\nThe limits of this draft are its sources. Beyond one interview, one profile and one beginner's guide, little has been written about Utopia. No market history beyond aggregate figures could be verified.\n\nUnresolved research questions:\n\n1. Did ge1doot intend the chain structure on #102, #221 and #254 as a hidden feature, and did anyone name it? His X account (@ge1doot) is the likeliest source but cannot be read directly.\n2. What is the date of the Jeff Davis interview (the earlier AB5D essay gives 6 January 2021), and is *Our New Land* a study for Utopia? The interview quotations here come from automated WebFetch extraction and should be checked against the page.\n3. What are Utopia's notable sales, with dates? Only undated last-sale figures and aggregate volume were found [^S10][^S11][^S12].\n4. Did Ferrandez choose NFT License 2.0 for Utopia specifically, and was 0.15 ETH the launch price?\n5. Which ge1doot work, if any, does the Spalter collection hold, and which work was shown in Gwangju [^S08][^S16]?"
    }
  ],
  "examples": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "15000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000000",
      "sourceIds": [],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Official static preview visually inspected; no listening-based claims.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000000.png",
      "indexedFeatures": {
        "Time": "Day",
        "Sky color": "Green",
        "Structure": "Laser tower"
      },
      "mintedAt": "2021-02-07T14:36:30+00:00",
      "mintTransactionHash": "0xb8ae1abc381804a48353d8f8acbc237d16cd1efab241555b76a5c5eca95b7614",
      "previousRevisionSourceIds": [
        "S05"
      ]
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "15000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000001",
      "sourceIds": [],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Official static preview visually inspected; no listening-based claims.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000001.png",
      "indexedFeatures": {
        "Time": "Night",
        "Sky color": "Grey",
        "Structure": "Skyscraper"
      },
      "mintedAt": "2021-02-07T20:30:30+00:00",
      "mintTransactionHash": "0x2f4b91f83c5724e61d52d362365fa6bd473daf0bfd11893be368e7add5237f49",
      "previousRevisionSourceIds": [
        "S06"
      ]
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "15000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000010",
      "sourceIds": [],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Official static preview visually inspected; no listening-based claims.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000010.png",
      "indexedFeatures": {
        "Time": "Night",
        "Sky color": "Grey",
        "Structure": "Nuclear plant"
      },
      "mintedAt": "2021-02-07T20:30:40+00:00",
      "mintTransactionHash": "0xf133b89212c8981c2008e3c37f24d83d8c809b6cf0978a931f204d748e3dae4e",
      "previousRevisionSourceIds": [
        "S07"
      ]
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "15000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000020",
      "sourceIds": [],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Official static preview visually inspected; no listening-based claims.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000020.png",
      "indexedFeatures": {
        "Time": "Dawn",
        "Sky color": "Sepia",
        "Structure": "Generator"
      },
      "mintedAt": "2021-02-07T20:30:43+00:00",
      "mintTransactionHash": "0x8bbb6d5b639c15b126da719adc1a56992f155c14f4c445f61ee08578bebe5027",
      "previousRevisionSourceIds": [
        "S08"
      ]
    }
  ],
  "mediaIds": [],
  "provenance": {
    "operator": "Phil (@maxand98), commissioning user",
    "agent": "OpenAI Codex (editorial synthesis)",
    "model": null,
    "modelVersion": null,
    "tools": [
      "Art Blocks Hasura GraphQL",
      "Web source reading",
      "Static original-script inspection",
      "Official preview visual inspection"
    ],
    "humanEditorialInvolvement": "Supplied prose preserved and published at Phil’s request. Sources not independently reinspected during import.",
    "originalProseLicense": "CC0-1.0",
    "revisionAttribution": "AB5D editorial synthesis of the supplied revision and earlier essay. Supplied-revision author and model were not specified. Earlier research provenance is retained in previousRevisionResearch.",
    "revisionUsage": null,
    "generation": null
  },
  "codeInspection": {
    "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
    "locator": "projects_metadata.script filtered by slug utopia-by-ge1doot",
    "sha256": "75a12aa0e2193b00c9136f3edd0c9a9230e6d591d73c72d49575f4da24765c2a",
    "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."
    }
  ],
  "manuscriptFormat": "supplied-markdown",
  "manuscriptPreamble": "# Utopia by ge1doot\n\n*Art Blocks Playground, project 15 · 256 outputs · minted 7 February 2021 · NIFTY License*\n\n![Utopia #4: a dark Laser tower with a white beam above it, crossed by a horizontal white bar, in a city of stepped spires under a yellow sky](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000004.png)\n*Utopia #4, Day, Yellow, Laser tower. Held by AB5D. Render: Art Blocks media proxy.*\n\n",
  "bibliographyMarkdown": "\n### Primary\n\n[^S01]: Art Blocks public GraphQL index, `projects_metadata` for project 15 (including the full program, SHA-256 `75a12aa0...5c2a`) and `tokens_metadata` for all 256 tokens. Retrieved 20 September 2026 via https://artblocks-mainnet.hasura.app/v1/graphql. Trait derivations are my own Python reproduction of the program's generator, checked against all 256 records. Renders: https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/\n[^S02]: Art Blocks, \"Utopia by ge1doot\", collection page. Read 20 September 2026. https://www.artblocks.io/collection/utopia-by-ge1doot\n[^S05]: Art Blocks, \"Gerard Ferrandez (ge1doot)\", artist page. https://www.artblocks.io/artists/gerard-ferrandez\n[^S06]: Jeff Davis, \"In Conversation with Gerard Ferrandez (ge1doot)\", Art Blocks (dated 6 January 2021 by the earlier AB5D essay; no date shown on retrieval). https://www.artblocks.io/articles/in-conversation-with-gerard-ferrandez-ge1doot\n[^S09]: Art Blocks, \"Ignition - ge1doot\", project 9. https://www.artblocks.io/project/9\n[^S13]: Art Blocks, \"Utopia #4 by ge1doot\", token page. https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000004\n\n### Video and audio\n\nNo video, talk or podcast about Utopia, or with ge1doot as a guest, was found. Two videos record his CodePen work. Their titles and channels were confirmed with YouTube's oEmbed service on 20 September 2026, but the videos were not watched:\n\n- \"The Last Experience by Gerard Ferrandez | Codepen\", Yashu Mittal. https://www.youtube.com/watch?v=UViGhzJVl7Y\n- \"A PEN BY Gerard Ferrandez - The Last Experience Part 1\", Тоха aka AntonyBark. https://www.youtube.com/watch?v=w9030tzOxsc\n\n### Criticism, collecting and market\n\n[^S03]: Erick Calderon (Snowfro), \"Introducing Art Blocks 500\", Art Blocks. https://www.artblocks.io/articles/art-blocks-500-complete-collection\n[^S04]: Druid, \"Art Blocks 101: A Beginner's Guide to ArtBlocks.io\", The Link (Medium), 25 April 2021, updated 6 September 2022. https://medium.com/the-link-art-blocks/art-blocks-101-eb32c6d49cc2. Its \"Utopia by ge1doot\" link points to project 9, which is Ignition.\n[^S07]: AB5D, \"Utopia by ge1doot\" (earlier essay), read 20 September 2026. https://ab5d.xyz/series/utopia-by-ge1doot/\n[^S08]: Anna Wolf, \"fx(hash) undercurrents: Gerard Ferrandez (ge1doot)\", Medium, 16 December 2021. https://steplights.medium.com/fx-hash-undercurrents-gerard-ferrandez-ge1doot-a63896457715\n[^S10]: OpenSea, \"Utopia by ge1doot\", collection page. Read 20 September 2026. https://opensea.io/collection/utopia-by-ge1doot\n[^S11]: OpenSea, \"Utopia #216\", item page. Read 20 September 2026. https://opensea.io/item/ethereum/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000216\n[^S12]: OpenSea, \"Utopia #21\", item page. Read 20 September 2026. https://opensea.io/item/ethereum/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000021\n[^S17]: Sotheby's, \"Art Blocks | 19 works\", Natively Digital: A Curated NFT Sale, June 2021. https://www.sothebys.com/en/buy/auction/2021/natively-digital-a-curated-nft-sale-2/19-works\n\n### Institutions\n\n[^S14]: ZKM, \"CryptoArt: It's Not About Money\", 7 April to 18 July 2021. https://zkm.de/en/exhibition/2021/04/cryptoart\n[^S15]: Daniel Heiss, as told to Brian Droitcour, on the ZKM's NFT collection, Outland. https://outland.art/zkm-nft-collection/\n[^S16]: ZKM, \"Writing the History of the Future. Signature Works of the Singular ZKM Media Art Collection\", Gwangju Museum of Art, 17 December 2021 to 3 April 2022. https://zkm.de/en/exhibition/2021/12/writing-the-history-of-the-future\n\n### Licence\n\n[^S18]: Druid, \"Licensing Cheat Sheet\", The Link (Medium), 10 June 2021. https://medium.com/the-link-art-blocks/licensing-cheat-sheet-54223616ea50\n[^S19]: Dapper Labs, \"NFT License, Version 2.0\", last revised 5 November 2018. https://www.nftlicense.org/\n\n### Further reading\n\n- ge1doot on GitHub, including the 3D experiments \"BSPTree\" and \"where-the-shadows-wait\". https://github.com/ge1doot\n- ge1doot on CodePen. https://codepen.io/ge1doot\n- Art Blocks, \"R3sonance by ge1doot\". https://www.artblocks.io/collection/r3sonance-by-ge1doot\n- ZKM, \"Gerard Ferrandez\" (URL returned 404 on 20 September 2026). https://zkm.de/en/person/gerard-ferrandez\n- Art Blocks Community Wiki, \"ge1doot\" (returned 403 on 20 September 2026). https://artblocks.wiki/Artists/ge1doot\n",
  "referenceOrder": [
    "S01",
    "S02",
    "S05",
    "S06",
    "S09",
    "S13",
    "S03",
    "S04",
    "S07",
    "S08",
    "S10",
    "S11",
    "S12",
    "S17",
    "S14",
    "S15",
    "S16",
    "S18",
    "S19"
  ],
  "previousRevisionResearch": {
    "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-07T14:36:30+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-07T20:30:30+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-07T14:44:33+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-07T20:33:04+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-07T20:30:30+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 License",
        "category": "custom",
        "termsUrl": null,
        "observedAt": "2026-09-17",
        "sourceIds": [
          "S01"
        ],
        "note": "Observed current label; earlier licence history not independently recovered.",
        "unresolvedConflicts": []
      },
      "code": {
        "reportedLabel": null,
        "category": "unknown",
        "termsUrl": null,
        "observedAt": "2026-09-17",
        "sourceIds": [
          "S02"
        ],
        "note": "Separate artist-code reuse grant not established.",
        "unresolvedConflicts": []
      },
      "thirdParty": [
        {
          "reportedLabel": null,
          "category": "unknown",
          "termsUrl": null,
          "observedAt": "2026-09-17",
          "sourceIds": [
            "S02"
          ],
          "note": "Native browser WebGL facilities; no imported drawing library in inspected artist script. No artist-code grant inferred.",
          "unresolvedConflicts": []
        }
      ]
    },
    "examples": [
      {
        "id": "E01",
        "chainId": 1,
        "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
        "tokenId": "15000000",
        "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000000",
        "sourceIds": [
          "S05"
        ],
        "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
        "observationNote": "Official static preview visually inspected; no listening-based claims.",
        "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000000.png",
        "indexedFeatures": {
          "Time": "Day",
          "Sky color": "Green",
          "Structure": "Laser tower"
        },
        "mintedAt": "2021-02-07T14:36:30+00:00",
        "mintTransactionHash": "0xb8ae1abc381804a48353d8f8acbc237d16cd1efab241555b76a5c5eca95b7614"
      },
      {
        "id": "E02",
        "chainId": 1,
        "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
        "tokenId": "15000001",
        "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000001",
        "sourceIds": [
          "S06"
        ],
        "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
        "observationNote": "Official static preview visually inspected; no listening-based claims.",
        "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000001.png",
        "indexedFeatures": {
          "Time": "Night",
          "Sky color": "Grey",
          "Structure": "Skyscraper"
        },
        "mintedAt": "2021-02-07T20:30:30+00:00",
        "mintTransactionHash": "0x2f4b91f83c5724e61d52d362365fa6bd473daf0bfd11893be368e7add5237f49"
      },
      {
        "id": "E03",
        "chainId": 1,
        "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
        "tokenId": "15000010",
        "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000010",
        "sourceIds": [
          "S07"
        ],
        "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
        "observationNote": "Official static preview visually inspected; no listening-based claims.",
        "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000010.png",
        "indexedFeatures": {
          "Time": "Night",
          "Sky color": "Grey",
          "Structure": "Nuclear plant"
        },
        "mintedAt": "2021-02-07T20:30:40+00:00",
        "mintTransactionHash": "0xf133b89212c8981c2008e3c37f24d83d8c809b6cf0978a931f204d748e3dae4e"
      },
      {
        "id": "E04",
        "chainId": 1,
        "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
        "tokenId": "15000020",
        "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000020",
        "sourceIds": [
          "S08"
        ],
        "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
        "observationNote": "Official static preview visually inspected; no listening-based claims.",
        "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000020.png",
        "indexedFeatures": {
          "Time": "Dawn",
          "Sky color": "Sepia",
          "Structure": "Generator"
        },
        "mintedAt": "2021-02-07T20:30:43+00:00",
        "mintTransactionHash": "0x8bbb6d5b639c15b126da719adc1a56992f155c14f4c445f61ee08578bebe5027"
      }
    ],
    "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",
        "Official preview visual inspection"
      ],
      "humanEditorialInvolvement": "Commissioned by Phil; no claim of line-by-line human fact checking.",
      "originalProseLicense": "CC0-1.0"
    },
    "codeInspection": {
      "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
      "locator": "projects_metadata.script filtered by slug utopia-by-ge1doot",
      "sha256": "75a12aa0e2193b00c9136f3edd0c9a9230e6d591d73c72d49575f4da24765c2a",
      "retrievedAt": "2026-09-17",
      "method": "Indexed script static inspection",
      "executed": false,
      "chainBlock": null
    },
    "sources": [
      {
        "id": "S01",
        "title": "Utopia project record and Art Blocks index",
        "url": "https://www.artblocks.io/collection/utopia-by-ge1doot",
        "author": "Art Blocks",
        "publisher": "Art Blocks",
        "publicationDate": null,
        "accessedAt": "2026-09-17",
        "accessOutcome": "inspected",
        "accessMethod": "Collection page and live GraphQL POST",
        "archiveUrl": null,
        "evidenceLocators": [
          "Collection page and current index fields in evidence.json."
        ]
      },
      {
        "id": "S02",
        "title": "Utopia artist script",
        "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
        "author": "ge1doot",
        "publisher": "ge1doot",
        "publicationDate": null,
        "accessedAt": "2026-09-17",
        "accessOutcome": "inspected",
        "accessMethod": "Indexed script retrieval and static inspection; not pinned chain retrieval",
        "archiveUrl": null,
        "evidenceLocators": [
          "Seeded S generator; transformation object b; state-copy and rule queue R/I/W; WebGL shaders H; geometry buffer O; camera and input N/V; start/W/B/AS/cs/tw/b rules.",
          "Six central-structure branches; fog and frame-dependent shader noise; special colour value 999 bypasses ordinary lighting/fog; continuous camera rotation and pointer/wheel/touch handlers."
        ],
        "sha256": "75a12aa0e2193b00c9136f3edd0c9a9230e6d591d73c72d49575f4da24765c2a"
      },
      {
        "id": "S03",
        "title": "In Conversation with Gerard Ferrandez (ge1doot)",
        "url": "https://www.artblocks.io/articles/in-conversation-with-gerard-ferrandez-ge1doot",
        "author": "Jeff Davis / Gerard Ferrandez",
        "publisher": "Jeff Davis / Gerard Ferrandez",
        "publicationDate": "2021-01-06",
        "accessedAt": "2026-09-17",
        "accessOutcome": "inspected",
        "accessMethod": "web page read",
        "archiveUrl": null,
        "evidenceLocators": [
          "Iterative coding, context-free systems and Ignition; image caption Our New Land. Prior-practice evidence, not Utopia-specific testimony."
        ]
      },
      {
        "id": "S04",
        "title": "Art Blocks 101",
        "url": "https://medium.com/the-link-art-blocks/art-blocks-101-eb32c6d49cc2",
        "author": "Druid",
        "publisher": "Druid",
        "publicationDate": "2021-04-25",
        "accessedAt": "2026-09-17",
        "accessOutcome": "inspected",
        "accessMethod": "web page read",
        "archiveUrl": null,
        "evidenceLocators": [
          "Live section names Utopia and recommends click/drag viewpoint exploration. Displayed publication 25 April 2021; current text may include subsequent revisions."
        ]
      },
      {
        "id": "S05",
        "title": "Utopia #0",
        "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000000",
        "author": "ge1doot",
        "publisher": "ge1doot",
        "publicationDate": null,
        "accessedAt": "2026-09-17",
        "accessOutcome": "inspected",
        "accessMethod": "Live indexed token metadata and official preview visual inspection",
        "archiveUrl": null,
        "evidenceLocators": [
          "Indexed token record and visually inspected official static preview."
        ]
      },
      {
        "id": "S06",
        "title": "Utopia #1",
        "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000001",
        "author": "ge1doot",
        "publisher": "ge1doot",
        "publicationDate": null,
        "accessedAt": "2026-09-17",
        "accessOutcome": "inspected",
        "accessMethod": "Live indexed token metadata and official preview visual inspection",
        "archiveUrl": null,
        "evidenceLocators": [
          "Indexed token record and visually inspected official static preview."
        ]
      },
      {
        "id": "S07",
        "title": "Utopia #10",
        "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000010",
        "author": "ge1doot",
        "publisher": "ge1doot",
        "publicationDate": null,
        "accessedAt": "2026-09-17",
        "accessOutcome": "inspected",
        "accessMethod": "Live indexed token metadata and official preview visual inspection",
        "archiveUrl": null,
        "evidenceLocators": [
          "Indexed token record and visually inspected official static preview."
        ]
      },
      {
        "id": "S08",
        "title": "Utopia #20",
        "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000020",
        "author": "ge1doot",
        "publisher": "ge1doot",
        "publicationDate": null,
        "accessedAt": "2026-09-17",
        "accessOutcome": "inspected",
        "accessMethod": "Live indexed token metadata and official preview visual inspection",
        "archiveUrl": null,
        "evidenceLocators": [
          "Indexed token record and visually inspected official static preview."
        ]
      },
      {
        "id": "S09",
        "title": "Utopia #4",
        "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000004",
        "author": "ge1doot",
        "publisher": "ge1doot",
        "publicationDate": null,
        "accessedAt": "2026-09-17",
        "accessOutcome": "inspected",
        "accessMethod": "Live indexed token metadata and direct visual observation of canonical generator",
        "archiveUrl": null,
        "evidenceLocators": [
          "Owned token metadata and direct observation of automatic rotation and changed viewpoint after dragging in canonical generator."
        ]
      }
    ]
  },
  "suppliedRevision": {
    "batch": "ab500-essays-for-codex-2026-09-21",
    "date": "2026-09-21",
    "sourceFile": "essays/utopia-by-ge1doot.md",
    "sourceSha256": "de41213b39458cdba6f35e3eec2690e9932109ee703d17d2ef78ca33747dae9b",
    "sourceCount": 19,
    "imageCount": 7,
    "headerLine": "Art Blocks Playground, project 15 · 256 outputs · minted 7 February 2021 · NIFTY License",
    "author": null,
    "usage": null,
    "draftNoticeRemoved": true,
    "importMode": "Supplied prose preserved; footnote labels normalized and draft notice removed under prior user instruction."
  },
  "presentation": {
    "editionSize": 256,
    "maximumEdition": 256,
    "mintDate": "2021-02-07T14:36:30+00:00",
    "mintDateMeaning": "First indexed mint",
    "artwork": {
      "project_id": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-15",
      "token_id": "15000004",
      "invocation": 4,
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "preview_asset_url": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000004.png",
      "live_view_url": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000004",
      "primary_asset_url": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000004",
      "minted_at": "2021-02-07T20:30:30+00:00",
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "chainId": 1,
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/15000004",
      "mode": "live",
      "copyrightStatus": "NIFTY License (reported; terms unverified)",
      "copyrightUrl": null,
      "displayBasis": "Canonical live renderer embedded for verified AB5D holding; automatic rotation and drag response observed.",
      "interactionNote": "Live artwork. Rotation starts automatically. Drag to change the viewpoint."
    }
  },
  "observationImages": [],
  "publication": {
    "date": "2026-09-17",
    "url": "https://ab5d.xyz/series/utopia-by-ge1doot/",
    "authorization": "Phil requested publication of the supplied essays on 2026-09-21.",
    "reviewSnapshot": "/docs/series-essays/production/utopia-by-ge1doot/record.json",
    "unresolvedResearchQuestionsRetained": true,
    "revisionDate": "2026-09-21"
  }
}
