ABOUT
NORMIES GLITCH

Normies are not “just faces”. Each token is a programmable 40×40 canvas where pixels can flip on-chain. Action Points (AP) define how many pixels you’re allowed to mutate per transaction forever without custody leaving your wallet.

UPDATE: RENDERER V1

Renderer V1 upgrades the pass metadata and display logic. Finished artwork now persists visually after a pass is transferred, instead of turning blank when ownership of the originally bound Normie changes.

The pass itself remains the same NFT and keeps the same token ID. Renderer V1 only changes how metadata and SVG output are generated. It also adds a live on-chain Tick Count attribute so collectors can see how far a pass has evolved.

NORMIES AS A STATE MACHINE

Think of a Normie as a state machine: the “state” is the bitmap. When you submit a transform, the contract applies an XOR bitmap on-chain, producing a new state (a new image) that persists.

DIAGRAM
   ┌───────────────────┐
   │   NormiesStorage  │   (original 40×40 bitmap)
   └─────────┬─────────┘
             │
             │ XOR with transform bitmap (40×40)
             ▼
   ┌────────────────────┐
   │   NormiesCanvas    │   (validates AP + delegation)
   │ setTransformBitmap │
   └─────────┬──────────┘
             │ emits PixelsTransformed
             ▼
   ┌───────────────────┐
   │   CanvasStorage   │   (stores transform layer)
   └───────────────────┘

   ┌───────────────────────────────┐
   │  NormiesGlitchPainter (tool)  │
   │  - builds glitch bitmap       │
   │  - calls setTransformBitmap   │
   │  - ticks GlitchPass           │
   └───────────────────────────────┘

   ┌───────────────────────────────┐
   │     NormiesGlitchPass (NFT)   │
   │  - downsample seed from Normie│
   │  - evolves via neighbor swaps │
   │  - renderer outputs SVG       │
   └───────────────────────────────┘
ACTION POINTS (AP)

AP is a per-token budget enforced by the NormiesCanvas contract. A transform bitmap consumes “cost” equal to the number of flipped pixels in that bitmap. If your bitmap flips 120 pixels, you need at least 120 AP for that token to submit the transform.

AP is earned through the burn commit/reveal system. Burned tokens can transfer existing AP, and also mint new AP based on the burned token’s pixel count and tier roll.

GLITCH SEASONS (6 EPOCHS)

The painter uses chain time to choose a “season” every 256 blocks. Each season changes the glitch style (clean scanline, broken scanline, drift, echo, static burst, phase lock). This creates an on-chain rhythm: the same tool behaves differently as the chain advances.

SEASONS (256-BLOCK EPOCHS)
0 — Clean Scanline (long, minimal breaks)
1 — Broken Scanline (CRT fracture)
2 — Tear / Drift (segments slide sideways)
3 — Echo Ghosting (primary + offset echoes)
4 — Static Burst (interference, bounded)
5 — Phase Lock (banded, repeatable in epoch)
WHY THIS EXISTS

Most people paint manually. This tool is infrastructure: programmatic transforms for collectors who want to manipulate their token state without needing to be an artist. Your token stays in your wallet. The chain is the canvas.

CONTRACTS
GLITCH_PASS
0xBBaCA907282d4B5d1F1fC821caB89318Ff679B8a
RENDERER_V1
0x727A67De24364C9440a7f757366a9071dB12a2B9
NORMIES
0x9Eb6E2025B64f340691e424b7fe7022fFDE12438
STORAGE
0x1B976bAf51cF51F0e369C070d47FBc47A706e602
CANVAS
0x64951d92e345C50381267380e2975f66810E869c
PAINTER
0x70f1B5b36D74844E31f7c61A4A77A303c6d52E56
LINKS