Fully on-chain · ERC-721 · 1 / 1

Build your own mosaic,
minted fully on-chain.

Sixty-three tiles, a four-by-four field. Compose a scene, mint it, and the artwork is stored on-chain as SVG. No IPFS, no server.

63tiles
4 × 4field
100%on-chain
0IPFS
Santorini

How it works

Tile, to byte, to on-chain art

Every mosaic is just 16 bytes. The contract turns those bytes back into the exact SVG you composed, entirely on-chain.

1

Pick a tile

Choose one of 63 hand-set tiles for each of the 16 cells, and rotate the geometric ones.

rot<<6 | tile
0x99
2

It becomes a byte

Each cell is packed into one byte, tile index plus rotation. Sixteen bytes are your token's DNA.

3

The contract renders it

tokenURI reads the DNA and rebuilds the SVG and metadata on demand. No IPFS, no server.

The Studio

Lay up your mosaic

Pick a tile, drop it into a cell, rotate the geometric ones. The preview is the exact image your token will carry. Your Harmony score decides whether you mint free.

Curated scenes
0Harmony

Reach Harmony 100 to unlock the free mint.

Editing cell 1

Rotate
Paid mint 0.0002 ETH
Mint a Box · 10 random 0.0018 ETH

Connect a wallet to mint. Free mints require a one-time pass from the project, minting direct from the contract can never duplicate an existing mosaic. A Box mints 10 unique random mosaics in one transaction, 10 for the price of 9.

Holder utility

Forge a Master

Burn four of your mosaics to forge one rarer Master Mosaic, composed on-chain from the tiles you gave up. Fewer mosaics exist afterward, and burned mosaics can never be minted again.

Connect your wallet to load your mosaics.

Select 4 mosaics to preview the Master

No server. No IPFS.

Fully on-chain

01

Stored as code

Every tile, the shared defs and the tessera overlay are written into the chain as contract bytecode via SSTORE2, paid once, readable forever.

02

Rendered deterministically

Your 16-cell DNA assembles the SVG and the ERC-721 JSON inside tokenURI, byte-for-byte identical to this preview. The image is the contract output.

03

Sealed forever

After the library is loaded the owner calls sealLibrary() and the art is frozen, and a guard refuses to seal a half-loaded library.

04

One of one, truly

A canonical-DNA check means two mosaics that render the same can never both exist, and an EIP-712 pass keeps bots out of the free pool.

Good to know

Questions