TENSILE

TensileInk V2, issued on Ink

2,000 works, painted in layers

TensileInk V2 is a fixed run of 2,000 hand painted works. Each one is assembled from five traits, and the combination is decided by a salt that is committed before the claim window and revealed after it.

Works
2,000
Traits
5
Tiers
5
Royalty
10%

Fixed at deployment. No further works can be added.

The run replaces the first collection. How the migration works

A TensileInk V2 work, painted in layered bands and line work
Collection
TENSILEINK V2
Ink · chain 57073

The window

A 24 hour window

A snapshot block is fixed before the window opens. A holder of the first collection claims one place per work held at that block, and the window stays open for 24 hours. Whatever nobody claims is burned.

The traits of every work are set before the window and cannot be chosen by anyone claiming. They can be verified by anyone afterwards.

Migration to V2

Two thousand works,
one place each

reading the contract

The new collection holds 2,000 works. One work held in the first collection at the snapshot earns one place in it. Connecting the wallet that held them is all that is asked: the contract answers for that address, and nothing is signed until you claim.

Wallet

Not connected

Held at snapshot
n/a
Places taken
n/a
Places left
n/a
Claimed supply not published yet

Claim window, UTC

The dates are published with the contract.

One transaction takes up to ten places. A holder with thirty works presses the button three times.

The Collection

Five tiers, six plates

Every work carries five traits. Their weights add up to a rarity score, and the score places the work in one of five tiers. The counts below are the counts for the full run of 2,000.

See the run

Traits are drawn on chain from keccak256(salt, tokenId). The salt is committed before the window and revealed after it, so no work can be picked in advance and any trait can be checked afterwards.

Mechanism

Fixed, then revealed

Committed

Before the window opens, a salt is committed on chain. The commitment fixes the whole set of traits without showing any of them.

Revealed

After the window closes the salt is published. Each work then resolves to its five variants, and the same salt always gives the same answer.

Checked

Anyone can recompute the hash and reach the same traits, the same rarity score and the same tier. Nothing is retouched by hand.

Studio

Painted in layers

TensileInk V2 is 2,000 works, each assembled from five painted traits: Palette, Crown, Pendant, Gear and Scale. The layers are made by hand. The combination is decided by the hash.

Works
2,000
Traits
5
Royalty
10%
Registry
not published yet

Find the works

Issued on Ink · Chain 57073

The registry address is published with the contract.

Works

The run,
as it fills

The collection holds 2,000 works. What is shown below is read from the V2 contract itself: the supply cap and the number claimed so far. Nothing is cached and no list is kept here.

Claim

One work held,
one place taken

The claim is the migration. There is no separate permit to fetch and no second list to join. A wallet that held works in the first collection claims one place in TensileInk V2 for each work it held at the snapshot block.

Migration

The only way in

Stage not open yet
Eligibility

One place for each work held in the first collection at the snapshot block.

Window

24 hours. The dates are published with the contract and stated in UTC.

Unclaimed

Burned when the window closes. Nothing is held back or reoffered.

Traits

Fixed before the window by the salt commitment and verifiable after the reveal.

Connect the wallet that held the works. The contract answers for that address.

Go to the migration card

The card on the home view reads the contract directly. It opens on its own once the V2 address is published.

Documentation

The rules of a
layered work

TensileInk V2 is a fixed run of 2,000 works on Ink. This page documents how the traits are drawn, how rarity is scored, how the salt is committed and revealed, and how the migration from the first collection works. Everything described here runs on chain and can be read without this site.

Contents
01. Overview

A fixed run,
drawn from a hash

TensileInk V2 holds 2,000 works. Each is painted in layers and assembled from five traits: Palette, Crown, Pendant, Gear and Scale. The combination is not a studio choice. It is read from the hash of a salt and the token id, so the set resolves the same way for everyone who checks it.

The run replaces the first collection. Holders of that collection claim their places in this one, and the traits of every work are fixed before the first claim is made.

02. The five traits

Five traits, one byte each

Each trait reads one byte of the work's hash. The byte selects a variant, and every variant has its own drawing in the artwork.

TraitValuesVariants
Palette
Violet, Green, Amber, Azure, Crimson
5
Crown
None, Halo, Corona
3
Pendant
Dot, Orb, Sun
3
Gear
Grid, Mesh, Weave, Spiral
4
Scale
Calm, Taut, Warped, Ruptured
4
03. Rarity tiers

A score, then a tier

Each variant carries a weight. The five weights of a work add up to a rarity score between 6 and 17, and the score places the work in one of five tiers. The counts below are the counts for the full run.

TierScoreWorksShare of the run
Common
6 to 11
1,109

More than half the run.

Uncommon
12 to 13
624

Just under a third.

Rare
14
152

152 works in the whole run.

Epic
15
86

86 works in the whole run.

Legendary
16 to 17
29

29 works in the whole run.

04. The salt

Committed before, revealed after

At deployment the contract stores a commitment: the hash of a salt, and nothing else. The salt itself stays private while the claim window runs.

When the window closes the salt is revealed. The contract checks it against the commitment and rejects anything that does not match, so the committed salt is the only one that can ever be used. From then on the traits of a work are the first five bytes of keccak256(salt, tokenId), and anyone can recompute them.

traits = keccak256(abi.encodePacked(salt, tokenId))
05. Migration

One work held, one place taken

A snapshot block is fixed before the window opens. The balance of every address in the first collection is frozen at that block, and the whole list is committed as a single Merkle root. After the window opens that root can no longer change.

Claiming mints exactly one new work for each eligible place, less whatever the address has already taken. The place count and a proof travel with the claim, so only the address the snapshot recorded can take them. claim(count, proof) mints the whole remaining entitlement in one call. claimUpTo(count, proof) mints a bounded batch for an address with a large entitlement.

The window stays open for 24 hours. Once it closes, the unclaimed places are burned: each one is minted to the contract and immediately destroyed, so the id can never be used again. Circulating supply then equals exactly what was claimed.

06. Royalty

Ten percent, to the project

The contract implements ERC-2981. On a secondary sale it reports a royalty of ten percent of the sale, paid straight to the project wallet. There is no treasury contract in between and no claim step: the royalty goes to that address when the sale settles.

The holder trading share is currently zero. No part of a sale is accrued to holders at present, and the contract reports that setting publicly.

07. Supply

Two thousand, fixed

Cap
2,000

MAX_SUPPLY, a constant

Traits
5

Palette, Crown, Pendant, Gear, Scale

Tiers
5

Common to Legendary

No function can create a token beyond the cap. totalSupply counts the works that exist now, and because unclaimed places are burned it can settle below 2,000. The cap itself never moves.

08. The window

Twenty four hours, once

Migration is the only way into this collection. There is no public sale and no second route. The window opens at a date set in the contract, stays open for 24 hours, and closes for good. An address that held works at the snapshot can claim at any point inside it, and an address that held nothing has nothing to claim.

StepWhenWhat happens
Snapshot
before the window
The balance of each address in the first collection is read at a fixed block, and the whole list is committed as one Merkle root.
Commitment
before the window
The salt is committed on chain. The traits of all 2,000 works are fixed from that moment, though none are visible yet.
Claim
24 hours
Holders connect the wallet they held with and claim one place per work. claimUpTo takes a batch of up to ten.
Reveal
after the window
The salt is published and checked against the commitment. Traits and tiers can then be read and verified by anyone.
09. Reading it yourself

Trust nothing here

Every claim on this page can be checked without asking us. The V2 contract answers these calls directly, and the Works view reads its supply from the first two.

CallAnswers
MAX_SUPPLYThe cap of the run, 2,000.
totalSupplyHow many works exist now.
claimWindowOpenWhether the migration window is open.
eligibleRootThe single root the snapshot list is committed to.
traitHashThe hash a work's traits are read from.
rarityOfThe rarity score of a work, 6 to 17.
royaltyInfoThe receiver and the royalty for a sale.
10. Questions

Asked plainly

Can the art be chosen in advance?

No. The traits are derived from a salt that stays private until the window closes, and the commitment is fixed before the first claim.

What happens to places nobody claims?

They are burned when the window closes. The ids cannot be minted again.

Can supply pass 2,000?

No. MAX_SUPPLY is a constant and no function can create a token beyond it.

Where does the royalty go?

Ten percent of a secondary sale, paid straight to the project wallet. No claim step is involved.

Is a holder trading share paid now?

No. The holder share is currently zero, and the contract reports that value publicly.