10,000 Throughlines · fully on-chain

One line.
Never lifted.

Each Throughline is a single continuous gesture, generated and drawn entirely inside the contract. There is no IPFS pin and no server behind it; the line lives on-chain, and it moves.

A single unbroken line traced as a wing-shaped Lissajous curve on a deep blueprint ground, an accent pulse travelling its length.
Throughline #0006 · Lissajous · Blueprint

The pen touches down a single time and travels until the whole image exists, then stops.

There is no second stroke to hide behind. No correction, no overpaint. The line is the whole of it, computed from the token's seed and drawn on-chain every time it's read.

Ten thousand Throughlines, each a single continuous identity bound to its tokenId. No two trace the same path, because each is seeded distinctly even where their traits agree. To hold a Throughline is to hold one unbroken gesture.

Cast a Throughline

One gesture, one verdict. The line's path is fixed by its seed the moment it's cast — nothing to preview, nothing to re-roll.

Minted0 / 10,000

Ask, and the line answers. Some gestures it welcomes for nothing; others it asks a small toll — sealed when you ask, paid exactly, never more.

Draw the long line to earn your cast one line · never lifted

press anywhere · keep drawing · never cross · never lift

every span of unbroken line earns one cast · up to 10

Throughlines per cast 1

drawn on-chain · ten to a gesture · twenty to a wallet · one exact payment

Weave: absorb a Throughline

Burn two Throughlines you own and one survives. The kept line stays itself; the other is woven inside it as a smaller nested line. Its Generation rises and the art grows a layer. Deterministic, deflationary, no re-roll.

An open Throughline before weaving, generation 0.
before · gen 0
The same Throughline after absorbing two others, their lines nested inside, generation 2.
after · gen 2 · two nested inside

Connect a wallet to weave your Throughlines.

Your Throughlines

Connect a wallet to see the Throughlines you hold, rendered live from the chain.

No wallet connected.

How it works

Is the art really on-chain?

Yes. Each token stores only a seed. The line is computed with fixed-point math and drawn as an SVG inside tokenURI() every time it's read. There is no IPFS pin and no hosted image: the art is a pure function of the contract.

What does Cast cost?

The line decides. The moment you ask, it seals a verdict for your wallet — some gestures it welcomes for nothing, others it asks a small toll. You send exactly what the verdict names, nothing up front, nothing held, nothing to claim back.

How is the verdict decided?

When you press Cast, the site fetches a sealed ticket for your wallet: a price, a nonce, and a short expiry, signed for the contract. The contract accepts only that exact ticket with that exact payment. If a ticket lapses before you confirm, the site simply asks for a fresh one.

What exactly is Weave?

You burn two Throughlines you own. One survives with its original line intact; the other is absorbed and drawn as a smaller line nested inside the survivor. Generation rises by one. It is deterministic (no re-roll) and deflationary (supply drops by one each weave).

How many times can you weave?

As many as you have the pieces to feed. Each weave raises the survivor's Generation by one, with no hard ceiling. The art nests one absorbed line per generation, drawn up to four deep, so a Generation 4 piece carries four lines inside its own. Past four, the Generation number keeps climbing, rarer and rarer, while the nested pattern holds at its fullest.

Why "Throughlines"?

One line that runs through the whole piece without lifting. The same idea threads this page: a single continuous stroke drawn as you scroll.