Protocol explorer

Buyer WETH has entered the position.

The bid depth below was deposited by real purchases. It is the depth a seller can reach, at the prices buyers put it in at. It is not a guarantee of exit.

RELICS launched through a single-sided Uniswap v4 position containing the complete genesis $RELICS inventory and no seeded WETH. The pool was initialized at a deterministic starting price. Buyers introduced WETH as they acquired $RELICS, creating the bid reserve available to subsequent sellers. At genesis, the pool had an initialized price and executable asks, but no pre-funded bid depth.

10,000 $RELICS entered a single-sided v4 position with zero seeded WETH. WETH depth entered through buyers.

Launch phase
MAINNET_LIVE
Resolved fail-closed. A requested phase may narrow what the committed evidence supports, never widen it.
Network
Ethereum Mainnet (chain 1)
Block height
25,689,400
Generated
2026-08-05T14:43:58.215Z

Price and valuation

The initialized price is the deterministic pool price from sqrtPriceX96 at initialization. It is not a market-established price.

Initialized price
0.00024911768873 WETH per $RELICS
The hook reverts UnexpectedInitialPrice unless the pool opens at exactly this value, so its stored expectation IS the realised initialization price. It is not a market-established price.
RelicsV4Hook.expectedSqrtPriceX96(), squared and oriented by relicIsCurrency0().
Current pool price
0.01947139126388 WETH per $RELICS (78.1614x of initialized)
StateView.getSlot0(poolId).sqrtPriceX96, converted identically. Never falls back to the initialized price: showing the launch price as 'current' would misreport a moved market as an unmoved one.
Initialized tick
-82980
Spacing-aligned at spacing 60.
RelicsV4Hook.expectedInitialTick(), a signed int24.
Current tick
-39391
43589 ticks above launch.
StateView.getSlot0(poolId), second return value, signed int24.
Initialized FDV
2.4911768873 WETH
Initialized FDV is not a market capitalization.
Total supply x initialized price. An arithmetic product, not a valuation, and not market-validated.
Circulating market cap
169.4424695998 WETH
Circulating $RELICS x current pool price. Zero whenever circulating is zero — never the initialized FDV.
sqrt price matches tickPASS

getSqrtRatioAtTick(-82980) recomputed here and compared with the hook's stored value.

Initialization matches the committed genesis layoutPASS

Tick -82980, as committed.

Liquidity and depth

Executable ask liquidity is the $RELICS inventory available to WETH buyers at or above the initialized price. Buyer-created bid depth is the WETH deposited into the position by real purchases.

Executable ask liquidity
1119.796190508043671391 $RELICS
getAmountsForLiquidity from the position's L, its tick range read from PositionManager.getPoolAndPositionInfo, and the live sqrt price; $RELICS leg, rounded down. All three inputs are chain reads — the committed layout is only what they are compared against. Deliberately NOT balanceOf(PoolManager): the v4 singleton commingles every pool.
Buyer-created bid depth
19.337724642762340784 WETH
Deposited by real purchases, at the prices those buyers filled at.
The same composite, WETH leg. Principal only: uncollected LP fees are a separate line and are never summed into it. An RPC failure here withholds the whole row rather than printing a zero, because zero and unknown mean opposite things.
Active liquidity (pool-wide)
L = 156256278825715992766
StateView.getLiquidity(poolId) — in-range liquidity across every provider.
Genesis position liquidity
L = 156256278825715992766
Current genesis position liquidity, read from chain. The genesis mint settled L = 157834625076480800773.
PositionManager.getPositionLiquidity(tokenId) for the genesis position id in custody.
Third-party liquidity
L = 0
No other provider has added in-range liquidity.
Pool-wide L minus the genesis position's L, and only while the current tick sits inside the genesis range. StateView.getLiquidity returns IN-RANGE liquidity; getPositionLiquidity returns the position's L regardless of range, so outside the range the two are not commensurable and the difference is not a quantity.
Held by the Uniswap v4 PoolManager
1197.875570191504983954 $RELICS
Pool inventory available to buyers, not an inaccessible holding.
RelicsToken.balanceOf(PoolManager). The singleton commingles all v4 pools, so a second $RELICS pool's inventory would be indistinguishable at the ERC-20 layer.
Position range matches the committed layoutPASS

Ticks -82980 to 887220, as committed.

Position was minted into the canonical poolPASS

The PoolKey the PositionManager stores for this token id hashes to the pool this page reads.

Supply and capacity

Entombed $RELICS are permanently inaccessible but are NOT burned. RelicsToken has no burn path; totalSupply never falls and remains 10,000.

Total supply
10000 $RELICS
Fixed. RelicsToken has no burn path and totalSupply never falls.
RelicsToken.totalSupply().
Circulating $RELICS
8702.124429808495016003
totalSupply minus the balances at the PoolManager, the entombment address and address(0). All-or-nothing.
Economically inaccessible $RELICS
100.000000000000000043 $RELICS (100000000000000000043 wei)
Entombed $RELICS are permanently inaccessible but are NOT burned. RelicsToken has no burn path; totalSupply never falls and remains 10,000.
The entombment address and address(0). Pool inventory is NOT counted here: it is buyable, therefore accessible.
Deployer balance
0 $RELICS
Fully spendable; this address can never awaken a Relic.
RelicsToken.balanceOf(notMintableAccount). Deliberately NOT excluded from circulating: it can never awaken a Relic, but its $RELICS are fully spendable.
Active Relic count
800
RelicsNFT.totalSupply(), an O(1) storage read.
Forged identities
826
9174 virgin ids remain.
RelicsNFT.forgedSupply(). Identity checked: forgedSupply === active + dormant.
Dormant identities
26
The canonical draw would next take id 329.
RelicsNFT.dormantSupply(), plus nextDormantId() for the id the next awakening draws.
Latent Relic capacity (global upper bound)
7902
Each whole RELICS unit establishes capacity for one active Relic. Up to eight Relics may awaken through an explicitly authorized acquisition flow. Additional capacity remains latent until the holder elects to awaken it.
min(floor(circulating / 1e18) - active, 10000 - forged + dormant), floored at zero. An UPPER BOUND: a sum of floors is at most the floor of the sum, so per-holder remainders are invisible to any aggregate. Exact global capacity requires enumerating holders and is not derivable from constant-time chain reads; RelicsNFT.latentRelicCapacity(address) is exact per address.
Relics awakened at the entombment address
0 at the entombment address, 0 at the custodian
The entombment address is structurally always zero — it is excluded from the whole-unit layer. The custodian count is a live reading.
RelicsNFT.balanceOf(entombment address) and balanceOf(the genesis LP custodian), read live as a falsifiable check rather than assumed.

An unsolicited RELICS transfer cannot force a dormant Relic to materialize.

Observed volume

Volume is recorded on chain by the hook, denominated in $RELICS, and covers the canonical pool only. Swaps on any other venue are not observed. The counter reverts rather than wrapping, so these totals are exact.

Cumulative buy volume
49512.046909641532740213 $RELICS
RelicsV4Hook.getGlobalState().cumulativeBuyVolume. Gross, not netted. A whole-struct read: if it fails, every field derived from it is withheld together.
Cumulative sell volume
40404.363779552047954568 $RELICS
getGlobalState().cumulativeSellVolume, from the same single call.
Net flow
9107.683130089484785645 $RELICS
getGlobalState().netFlow, a signed int128: buys minus sells. Shown beside the gross totals so the pair is not mistaken for a net.
Swaps observed
7784
getGlobalState().swapCount.

Fees and custody

LP fees accrue to the genesis position as the pool trades. Protocol ownership is renounced: no admin, no upgrade, no metadata override, no pool rebinding.

Pool fee
0.30%
registry.poolFee / 10000. Computed, never hardcoded.
WETH fees collected to date
awaiting record
NOT DERIVABLE. No cumulative on-chain LP fee record exists for this position. Reason: No cumulative on-chain LP fee total exists for this position. Nothing is substituted for it.
Total $RELICS at the entombment address
100.000000000000000043 $RELICS (100000000000000000043 wei)
The balance shown is the genesis rounding dust and any voluntary transfer; it is not a fee total. Entombed $RELICS are permanently inaccessible but are NOT burned. RelicsToken has no burn path; totalSupply never falls and remains 10,000.
balanceOf(entombment address) — exact, O(1) and monotone, so it survives a log-scan failure. The balance is NOT a fee total: the genesis rounding dust arrives there by direct transfer at deploy time.
Claimable now
awaiting record
NOT PUBLISHED. There is no permissionless call whose simulation would define an uncollected-fee figure for this position. Reason: No permissionless fee claim exists to simulate for this position.
Genesis position owner
0x147AECa171a79466Fe9E2c03f21b45155Ff403F8
The genesis liquidity position (id 362253) is held in a third-party liquidity lock (UNCX), owner 0x147AECa171a79466Fe9E2c03f21b45155Ff403F8. Protocol ownership is renounced: no admin, no upgrade, no metadata override, no pool rebinding.
PositionManager.ownerOf(tokenId) checked against the declared custodian. Custody is never assumed from configuration: an unreadable ownership check is not a passing ownership check.
Genesis position owner (on chain)PASS

PositionManager.ownerOf(362253) is 0x147AECa171a79466Fe9E2c03f21b45155Ff403F8. The genesis liquidity position (id 362253) is held in a third-party liquidity lock (UNCX), owner 0x147AECa171a79466Fe9E2c03f21b45155Ff403F8.

Protocol ownership is renouncedPASS

Protocol ownership is renounced: no admin, no upgrade, no metadata override, no pool rebinding. That is independent of where the genesis liquidity is held.

The genesis liquidity position (id 362253) is held in a third-party liquidity lock (UNCX), owner 0x147AECa171a79466Fe9E2c03f21b45155Ff403F8.

Hook binding and phase

Four assertions, all recomputed here rather than trusted from configuration.

Pool binding
bound to pool 0x33d9b4089069272e5aeaeccf24bc710a7ee8cf65f4ecde682187a2fc355531ed
Pool id recomputed from the hook's own PoolKey and matched.
RelicsV4Hook.isPoolBound() and canonicalPoolId().
Hook permissions
0x1440 — afterInitialize, afterAddLiquidity, afterSwap
There is no afterRemoveLiquidity permission, so liquidity leaving the pool is not observed by the hook. Liquidity-drought conditions are not an observed state.
The mined hook address carries its permission flags in its low 14 bits.
Fee and tick spacing
3000 (0.30%) / 60
RelicsV4Hook.poolFee() and poolTickSpacing().
Currency ordering
$RELICS is currency0
RelicsV4Hook.relicIsCurrency0(). Never derived from a local address comparison: every quote direction on this page depends on it.
Hook owner
renounced
No admin, upgrade, metadata or pool power exists.
RelicsV4Hook.owner().
Launch phase
MAINNET_LIVE
Chain 1 — Ethereum Mainnet.
site/config/live.ts resolveLaunchPhase. Pure and fail-closed: a requested phase may narrow what the committed evidence supports, never widen it.
Pool id recomputes from the hook's own PoolKeyPASS

Recomputed 0x33d9b4089069272e5aeaeccf24bc710a7ee8cf65f4ecde682187a2fc355531ed; the hook reports 0x33d9b4089069272e5aeaeccf24bc710a7ee8cf65f4ecde682187a2fc355531ed.

Permission mask is 0x1440PASS

afterInitialize, afterAddLiquidity, afterSwap. There is no afterRemoveLiquidity permission, so liquidity leaving the pool is not observed by the hook. Liquidity-drought conditions are not an observed state.

Fee and spacing are canonicalPASS

The hook reports fee 3000 and spacing 60; the canon is 3000 / 60.

Binding is one-shot and finalPASS

The canonical pool binding is one-shot and the hook owner has renounced; the binding can never be changed.

Executable quotes

Quoted against live pool state at the block shown. Quotes include the pool fee and price impact. They are not commitments.

Executable buy quote

0.01 WETH buys 0.511799239 $RELICS (average 0.01953891140399 WETH per $RELICS, 0.34% price impact, block 25689400)

Executable buy quote

0.1 WETH buys 5.097026181 $RELICS (average 0.01961928317232 WETH per $RELICS, 0.75% price impact, block 25689400)

Executable buy quote

1 WETH buys 48.964400827 $RELICS (average 0.02042300085561 WETH per $RELICS, 4.88% price impact, block 25689400)

Executable sell quote

1 $RELICS sells for 0.019395708303737274 WETH (average 0.01939570830373 WETH per $RELICS, block 25689400)