H

Stained Unravel — Blockade (token 8)

Read 2026-10-15 from harm.work/nft/stained-unravel/8 and from the token's on-chain tokenURI. Wiki page: Stained Unravel.

Token

FieldValue
NameBlockade
Token ID8
Contract0x16c58b6f006d26226be8c1857f1cf93b92a75b60 (Ethereum mainnet)
Created2026-05-15
PartnerNguyen Wahed × Interface Gallery
Imagear://ELz7zq3YcWva-Z3qPF65WE8bJVEB94nXk_KfxAabHWI (Arweave); harm.work copy at https://harm.work/images/stained-unravel/Stained-Unravel--08.png, 1984 × 1984 px
Animationon-chain HTML page; the program is a base64 string of gzip-compressed JavaScript, unpacked in the browser with DecompressionStream and selected by window.__TOKEN_ID__=8. Off-chain mirror: https://stained.harm.work/8

On-chain description (verbatim)

Stained Unravel by Harm van den Dorpel, 2026.

7 + 1 MP tokens

Seven, the series proper, released together — Spring, Game, Night, De Stijl, Stained, Markov's Dream, Mother of Pearl. The series premiered at Nguyen Wahed × Interface Gallery.

The eighth, Blockade, is marked apart as a Museum Proof (MP) — a commissioned work made in response to Herbert W. Franke's Move (Blockade) (1991–94). First shown inside Apple's European Chip Design Center, curated by Margit Rosen, Head of Collections, Archives & Research at ZKM Center for Art and Media Karlsruhe.

harm.work listing (verbatim)

AP in response to the work 'Move (Blockade)' by Herbert W. Franke (1991)

Fully on-chain, by Harm van den Dorpel, 2026

The harm.work listing calls the token an AP and dates Franke's work 1991; the on-chain description calls it a Museum Proof and dates Franke's work 1991–94.

The Blockade preset (verbatim from the decompressed program)

{name:"Blockade",gradients:[[[255,255,255],[0,0,0]],[[0,0,0],[255,255,255]],[[255,146,0],[142,111,26]],[[255,255,255],[255,146,0]],[[255,0,255],[0,0,0]],[[0,0,170],[0,0,255]],[[0,0,0],[0,0,0]],[[0,0,0],[0,146,0]],[[255,255,255],[255,0,255]]],background:[0,0,0],settings:{fps:90,shapeMorphSpeed:.002,postSaturationBoost:1.4,transitionSpeedDiv:1,fadeSpeed:.001,colourEasing:317,ageColourShift:290,automatonChange:10,columnsDivisor:6,presetRandomRatio:0},disabledRuleIndices:[1,3,5,6,7,8,14,15,16,17,18,19,32,33,34,35,36,37,38,40,42,44,45,46,47,48,52,53,20,21,23,29,27,26,25,24,4,10,31,49,30,58,56,51,57,59,60,50,43]}

For comparison, the Spring preset, whose rule list and timing the other six series tokens share:

{name:"Spring",gradients:[[[255,0,0],[0,0,255]],[[255,255,255],[197,143,44]],[[0,0,0],[255,255,255]],[[120,204,203],[255,204,200]]],background:[179,179,179],settings:{fps:60,shapeMorphSpeed:.005,postSaturationBoost:2,transitionSpeedDiv:25,fadeSpeed:.01,colourEasing:100,ageColourShift:600,automatonChange:10,columnsDivisor:4,presetRandomRatio:.5},disabledRuleIndices:[66,65,64,63,62,61,60,59,58,57,56,55,54]}

Settings of all eight presets

TokenGroundfpsshapeMorphSpeedcolourEasingageColourShiftcolumnsDivisorpostSaturationBoostpresetRandomRatiorule-sets in pool
Spring179,179,17960.00510060042.554
Game0,0,060.00510060061.5.554
Night0,0,060.00510060061.5.554
De Stijl226,214,21460.00510060071.5.554
Stained210,205,18360.00510060061.554
Markov's Dream176,176,17660.00510060062.554
Mother of Pearl (preset name in code: "Ice")179,179,17960.00529960051.7.554
Blockade0,0,090.00231729061.4018

transitionSpeedDiv and fadeSpeed are set in every preset but not read anywhere else in this build of the program. automatonChange is 10 in all eight.

How the program uses these settings

Rule-sets in Blockade's pool

Kept from the shared pool (10): Rings, tokens, Confetti, Another 2, Simple, Flippy, block 1, block 2, new cross, xmas.

Used by no other token (8): Herb Cube 1, Herb Cube 2, Herb xj, herb switch, horse 1, horse 2, horse 4, something pretty.

Five more rule-sets that no token uses sit in the same disabled block: Herb 3, herb 4, herb float, herb float 2, herb float 5.

In the eight Blockade-only rule-sets, 65% of the cell kinds named in conditions and results are kind 9, the full square (72% counting kind 10, the diamond). In the 54 rule-sets of the series pool kind 9 is 14%; corner triangles (kinds 1–4) dominate there at 42%. Herb Cube 1, verbatim:

{name:"Herb Cube 1",rules:[{conditions:[{n:[0,2],value:9}],result:9},{conditions:[{n:[2,0],value:9}],result:9},{conditions:[{n:[-2,0],value:9}],result:9},{conditions:[{n:[-1,0],value:9}],result:0}]}

Offsets are [column, row], rows counting downward, and the first matching rule wins. A cell becomes a full square when the cell two rows below, or two columns to either side, is a full square. Failing that, it goes empty when the cell directly to its left is a full square.

Palette

Ground rgb(0,0,0). Nine gradients, start → end:

  1. 255,255,255 → 0,0,0
  2. 0,0,0 → 255,255,255
  3. 255,146,0 → 142,111,26
  4. 255,255,255 → 255,146,0
  5. 255,0,255 → 0,0,0
  6. 0,0,170 → 0,0,255
  7. 0,0,0 → 0,0,0
  8. 0,0,0 → 0,146,0
  9. 255,255,255 → 255,0,255