Live on Ethereum mainnet · Uniswap v4 hook

The market becomes the forge.

Two on-chain layers. $RELICS is the fungible resource you buy; Relics are the artifacts you awaken from it. Buying never mints one — and every awakened artifact keeps evolving from real Uniswap v4 market history.

$RELICS · ERC-20
The resource you buy. Whole units create awakening capacity.
Relics · ERC-721
The artifacts you awaken. Buying never mints one.
Relic 0831, a Ritual Machine artifact rendered from Ethereum state
Relic 0831 · Ritual MachineCurated archive render
$RELICS Burnedawaiting record

Awakening is a separate transaction only you can sign, and it never spends your $RELICS — your whole units back the Relics you hold. Not ERC404, no wrapper, no taxes or lists. Read the full lifecycle in under a minute.

Supply10,000 fixed
PoolUniswap v4 · 0.30%
Genesissingle-sided
Ownerrenounced

Civilization heartbeat

A quiet readout of the awake civilization, taken from chain state.

Phase
Mainnet awake
mainnet readings active
Chain
Mainnet
canonical registry
Block
awaiting
live RPC surface
Epoch
awaiting
counts from mainnet genesis
Whole-unit holders
awaiting
≥ 1 $RELICS — explorers also count dust
Entombed
awaiting
whole units at the tomb — supply never falls
tokenURI
awaiting
computed on chain at the 0.30% pool

The capacity model

Buying gives you the right to awaken. Awakening is your own deliberate act.

An unsolicited RELICS transfer cannot force a dormant Relic to materialize. A receive of $RELICS — including a swap output — performs no ERC-721 work of any kind. There is exactly one mint site in the contract, it sits inside awaken(), and its recipient is always the caller. A dormant Relic identity preserves its DNA and history but is not an active ERC-721 until an eligible holder explicitly awakens it.

01

You buy $RELICS

The swap settles like any ERC-20 swap and your fungible balance arrives immediately. No Relic is minted in that transaction. Buys materialise zero Relics — that is the design, not a delay.

02

Your latent capacity rises

Each whole RELICS unit establishes capacity for one active Relic. Latent capacity is derived from your balance and is never stored anywhere. It is the right to awaken a Relic, held by you and spendable only by you. It is not an owned NFT and should never be counted as one.

03

You awaken, in a second explicit transaction

Read nextAwakening(you) to see exactly which identities you will receive, then call awaken with them. Up to eight Relics may awaken through an explicitly authorized acquisition flow; additional capacity remains latent until you elect to awaken it. Call again for the next batch.

04

They are ordinary ERC-721 tokens

From that moment the Relics are transferable, listable, and visible on any marketplace, with no wrapping step and no cost to become visible. balanceOf and ownerOf are OpenZeppelin's, unmodified.

You choose the identities

Ids are not chosen by you and not chosen by the contract either. The dormancy pool is a set drawn at its minimum, so nobody can steer which identity surfaces next. Because the draw is public and deterministic, awaken() makes you restate it: you name the identities you will receive, and a pool head that changed between your preview and your transaction cannot hand you one you did not name. It gives you fewer than you asked for, or — below the floor you set — nothing at all.

The disclosed cost of that

An earlier all-or-nothing form of awaken() reverted every pending awakening whenever the head moved — including from an ordinary holder’s market sell, with no attacker involved. That is fixed. awaken() now carries a floor you set, and materialises the longest run of the draw you actually named; it only reverts below that floor, and a refused call writes nothing at all. Independently re-verified by an auditor who did not write the change.

One consequence is on us, not on the contract: an interface that only re-reads the preview can still be stalled, because the preview cannot show you the identity that is blocking you. This one reads the blocked identity out of the revert and offers it to you by name — never adding it to your batch without you saying so. Any interface that does not do this stays stalled, and no change to the contract can fix that for it.

Civilization awake

The archive is reading live Ethereum history.

The gate that held this archive closed is satisfied: the canonical mainnet addresses, the pool, an explicit LP-custody declaration with its custody transaction, and the ownership renounce transaction are all on record below.

MAINNET_LIVE
Gate 01
confirmed

Supply rite

10,000 $RELICS are reserved for the genesis pool entry. No hidden civilization outside the ritual.

Gate 02
confirmed

Pool seed

All 10,000 $RELICS enter one canonical RELICS/WETH Uniswap v4 position with ZERO seeded WETH — not one wei. The layout asserts the zero WETH contribution rather than merely intending it.

Gate 03
confirmed

Explicit awakening

The ERC-20 and ERC-721 layers remain separate contracts. A whole $RELICS unit establishes capacity for one active Relic; an unsolicited RELICS transfer cannot force a dormant Relic to materialize.

Gate 04
confirmed

No tax or list control

No transfer taxes, whitelist, blacklist, or permission gate belongs to the launch posture.

Gate 05
confirmed

Single-sided genesis

The entire 10,000-unit supply entered one canonical RELICS/WETH Uniswap v4 position with zero seeded WETH. One position, minted once, never rebalanced.

Gate 06
confirmed

Renounce proof

Protocol ownership is renounced: token and hook owner() are both address(0). No admin, no upgrade, no metadata override, no pool rebinding. The NFT and renderer never had an owner.

Living market civilization

Every artifact remembers what the market did to it.

Liquidity.Volatility.Migration.Collapse.Recovery.

Swaps create pressure. Liquidity changes the weather. Holder growth becomes migration. Volatility leaves scars. Recovery returns as repaired light.

Powered by a live Uniswap v4 hook system.

Uniswap v4 hook path
market activity becomes artifact condition
01 / Swap activity

The pool moves. $RELICS is bought or sold against WETH.

02 / Uniswap v4 hook

`afterSwap` or `afterAddLiquidity` records bounded market memory.

03 / Market-state mutation

Volume, tick, stress, liquidity, volatility, and seed change.

04 / Historical pressure

Collapse, famine, migration, reconstruction, and scar state update.

Live artifact state

Curated renders resolve to live mainnet tokenURI as each read lands.

Curated archive renders stand in until a live read completes. Where a read has landed, the image and its URI digest are computed on-chain by the renderer at read time.

Source / mainnet-tokenURI

Machine civilization chronology

Market behavior translated into historical pressure.

Open timeline
ERA-000

Genesis Era

The first liquidity formed a navigable pressure field. Early artifacts are clean, ceremonial, and under-scarred.

ERA-048

Flood Era

Depth accumulated. Public machines expanded, ritual infrastructure brightened, and holder migrations became visible strata.

ERA-096

Archive Collapse

Volatility broke the archive layer. Living records fossilized into sealed organism-idols.

ERA-144

The Silence

Long stretches without new liquidity or swaps read as drought. Many relics dimmed into burial palettes and reduced signal.

Hero sheets

Internal masterpieces, preserved as exhibition sheets.

Exhibition sheet hero-10
Exhibition sheet hero-25
Exhibition sheet hero-50