Blockflow Index

Mid price and executable depth, read from every pool on every DEX.

Swap

Method

How the prices are made

Every price comes from the exact curve of every pool that trades the token, on Elexium, Ayin and Powfi, read live from the chain.

Depth measured
within 1%average fill, on each curve
Price floor
1 ALPHof depth for a pool to count
Longest route
3 poolsfrom ALPH
Refresh
2 minevery pool, re-read
Method
2.1.0changes are versioned

How a price is made

Three steps, for every token, on every refresh.

Mid price

Each pool’s price is read straight from its curve: the rate the smallest possible trade would get, before fees.

The reserve ratio for constant-product pools, the invariant’s derivative for Elexium’s stable pools, and the pool’s own square-root price for Powfi’s concentrated liquidity.

Depth

How much you could trade before your average price is 1% worse than that rate.

A trade that size moves a constant-product pool’s own price about 2%. For concentrated liquidity, depth is measured at the current price, where trades actually fill. A pool needs 1 ALPH of depth to count.

One price

Each pool counts in proportion to its depth, so the deepest markets set the price.

The published price is the mean of every pool’s mid, weighted by its depth in ALPH. Tokens are priced outward from ALPH, up to three pools away: a token without its own ALPH pool is priced through tokens that have one, and a pool between two tokens the same distance out counts toward both. Quotes routed through one token are capped, together, at that token’s depth.

Confidence

A score from 0 to 1 for how far a price can be trusted. Deep markets whose pools agree, trading directly against ALPH, score highest.

confidence = depth × agreement × directness

depth

ln(1 + depthAlph) / ln(1 + 10000), capped at 1

How deep the market is. Logarithmic, because the step from 10 to 100 ALPH matters far more than the step from 10,000 to 100,000.

agreement

1 / (1 + (dispersionBps + 100 / effectivePools) / 100)

How closely independent pools agree: a spread of 1% (100 bps) scores 0.5. A single pool’s price counts as 100 bps until independent pools confirm it, each counted by weight: effectivePools = (Σw)² / Σw².

directness

0.8 ^ (hops − 1)

How directly the token trades against ALPH. A direct ALPH pair scores 1.0, and each further pool multiplies it by 0.8.

A price from one pool scores up to 0.5 on agreement, and independent pools that agree raise it. The dashboard’s Spread column shows how closely they do.

Two dollar prices

The USD column converts at ALPH’s market rate: the mid price of ALPH/USDT on Gate, MEXC and Bitget, its three main exchanges, each weighted by its share of their 24-hour volume. Beside it, the dashboard shows the rate this chain’s own dollar-pegged pools imply, taking each at $1.

Market rate
—Gate, MEXC and Bitget, by volume
On-chain rate
—dollar-pegged pools, each at $1
Difference
—large when stables trade off peg

They are usually close. When they differ, bridged stables are trading off peg, and the dashboard shows it.

Tokens without a price

Every token the index sees is listed. One with no market to price it from is marked, with the reason.

no liquidity

Every pool holding it has an empty side, or none holds 1 ALPH of depth, or no route of three pools or fewer connects it to ALPH through priced tokens.

unidentified

Its contract gives no usable name, symbol or decimals. The dashboard lists these when you switch them on.

Staking, beside the market

xALPH’s mint rate is shown beside its market price, for comparison. Minting is one-way, with unstaking vesting over weeks, so the price comes from the markets.

Principles

Three rules every number follows.

Always current

Every number is the current state of the chain.

Every price comes with its depth, which says what it would cost to move it.

Read from contract fields

Reserves come from each pool’s own state.

They are exactly what the pool trades with. The pool’s own deposit, which sits in the same token balance, is left out.

Only fresh prices

A price older than 10 minutes is never served.

The API waits for the next refresh, and an open dashboard keeps its last table, dimmed, with a banner giving its age, until fresh prices arrive.

Questions

How do you read concentrated-liquidity pools?

In most pools, the two token balances tell you the price. In a concentrated-liquidity pool — Powfi’s Concentrated pools — they don’t. Liquidity providers choose the price range their funds cover, so much of a pool’s balance can sit in ranges far from today’s price, where no trade touches it. The balance shows what a pool holds; depth shows what you can trade. So we read the pool itself:

  • Price. The pool stores its current price exactly, and we read it: the rate for an infinitely small trade, before fees.
  • Liquidity. We ask the pool to simulate a large trade in each direction, both at the same moment. The simulation reports every point where the available liquidity changes, and how much is available after it — the shape of the pool around the current price.
  • Depth. With the same maths the pool uses to fill trades, we work out the biggest trade whose average price stays within 1% of the current price. Our calculation matches the pool’s own simulation exactly, and a trade that would run past the part of the pool we read is under-counted, never over-counted.

What that changes, measured on 23 September 2026: Powfi’s ALPH/USDTeth pool held about 390,000 ALPH, but only about 13,800 ALPH could be traded within 1%. Its ALPH/xALPH pool held about 856,000 ALPH, and because that liquidity sat tightly around the price, about 374,000 ALPH could.

Depth is also each pool’s weight when several pools are combined into one price, so every price follows the liquidity.