Pair assets
What your coin can be priced in. This is the part that replaces a hardcoded list of tickers with a measurement.
The published list
Twenty-three assets, in three buckets, offered by name in the interface:
| bucket | what is in it |
|---|---|
| Large cap | the gas token and Avalanche's two dollars — WAVAX, USDC, USDt — the two bridged majors BTC.b and WETH.e, then USDT.e, USDC.e, AAVE.e, USDe, sAVAX, WBTC.e and LINK.e |
| Avalanche eco | JOE (LFJ), PNG (Pangolin), XAVA (Avalaunch), QI (Benqi) |
| Memes | COQ, HUNDRED, BRO, FATE, HON, HEFE, FLD |
Each was measured by the gates themselves before being written down — 91 candidates scanned against live state, 20 cleared — and nothing is listed with less than two and a half times its bar: an asset that only just clears it drops out on an ordinary withdrawal, and the first anyone would know is a launch reverting.
Two assets clear the bar and are left off on purpose, because they are "dollars" that are not. UST
(Axelar's wrapped UST) measures about $57,000 and is a bridged claim on a stablecoin that stopped
being one in 2022; MIM measures about $83,000 and trades near seven cents. The depth is real in
both cases — and a ticker in a picker is a promise about what a creator is pairing with. Either can
still be pasted in by address, where the interface shows the price it found.
Anything else
You are not limited to the list. Paste any address and it goes through the same measurement — it just has to clear a higher bar, because nobody has looked at it.
| bar it must clear | |
|---|---|
| on the published list | $10,000 |
| pasted in by address | $25,000 |
Both numbers are depth in USD on the anchor side of the pool, and both are read live at the moment of the launch. Being on the list lowers the bar; it never removes it. A listed asset whose market dies stops being launchable on its own, without anyone intervening.
The bars are set against Avalanche, not copied from anywhere else. Its book is deeper than a young chain's and far more scattered: the same coin is quoted on five venues, and what decides whether it can be paired against is the deepest one of them. Seven memecoins clear the curated bar today, and the seventh measures about $28,000.
Stocks and gold: allowlisted, not measured
Eleven assets are offered on a different footing from everything above. The protocol's owner has allowlisted them, which means the registry answers "allowed" without measuring anything. That is the one place this protocol takes someone's word instead of reading the chain, so here is exactly what the word is worth.
Ten stock tokens — AAPL, AMZN, CRCL, META, MSFT, NVDA, SPCX, SPY, TSLA, USO. These are not issued on Avalanche by Robinhood or by anyone regulated to do so. They are TEK's LayerZero bridge of Robinhood Chain's stock tokens: the original is locked in a contract on Robinhood Chain and a copy is minted here. We checked the backing for AAPL and it was one for one. What you are trusting is a third party's bridge, with both ends controlled by a single key, and a market of roughly $4,000 to $10,000 per stock in one Pharaoh pool against USDC — under both of the depth bars above, which is why no gate would pass them. A thin market means a buyer of your coin may struggle to get the stock to buy it with, and that its price here can sit some way from the real share price.
Tether Gold (XAUt0) — issued and bridged by Tether itself. Its market is real, about $25,000, but it is on LFJ's Liquidity Book, a venue none of the gates can read. It is allowlisted for that reason and no other.
No native tokenised stock on Avalanche has a market at all: of 264 that have a contract here, 17 have any supply and none has a pool. If that changes, those belong on the measured list, not this one.
The allowlist can be withdrawn by the owner for future launches. It cannot touch a coin already launched: its pool and its locked liquidity are its own.
How depth is measured
Not by asking a price feed, and not from a single number a launcher could have arranged. What the gate reads depends on what the venue keeps.
Venues that keep an oracle
Uniswap V3, Pharaoh and Pangolin V3 write their own history as they trade. The gates read it over a 30-minute window:
tickCumulativesgives an arithmetic mean tick — a manipulation-resistant pricesecondsPerLiquidityCumulativeX128gives the harmonic mean of in-range liquidity
and those two convert into the depth sitting on the anchor side of the pool. Faking that means actually holding the liquidity for the whole window.
That alone would still be gameable: a very tight range turns a few hundred dollars into an enormous liquidity figure, because it describes depth at the current price and says nothing about what the pool holds. So the reading is capped by the anchor tokens actually in the pool. Spot balance is inflatable with a flash loan; time-weighted liquidity is inflatable with a tight range — but not the same way. Passing requires beating both at once, which is indistinguishable from being a real market.
Venues that keep nothing
A constant-product pair — LFJ's V1 pools, Uniswap V2, Pangolin, SushiSwap, Pharaoh's classic pools —
never had an oracle. There is no history to read, so the gate reads the pair as it stands:
getReserves is simply what the contract holds, read rather than balanceOf so that tokens sent to a
pair without being synced in do not count.
What a live reading cannot do, stated plainly rather than buried: it describes this instant, and
this instant is one flash loan away from saying anything — borrow, deposit as liquidity, be measured,
withdraw, repay, all inside one transaction. The machinery to defend against that exists and is
switched off. It samples the pair over a window and takes the minimum, which is expensive to fake
because nobody controls when the next reading happens; it is one owner call
(setRequireWitness(true)) away, with no redeployment. It is off because the certain cost falls on
the wrong people: every legitimate coin would wait half an hour — and on Avalanche that is not a
corner of the catalogue, it is most of it. Seventeen of the twenty assets that cleared the bar are
visible only on a constant-product pair. That cuts both ways, and it is the single setting on this
deployment most worth revisiting: the live reading is carrying far more of the list here than it
ever did on the chain this was ported from.
Depth is measured against five anchors: WAVAX, USDC, USDt, BTC.b and WETH.e.
Where it looks
Every venue the gates can read, and the best answer wins — never the sum, because depth on two venues is not depth you can trade through at once.
| venue | how it is read | where it matters |
|---|---|---|
| Uniswap V3, every fee tier | the pool's own oracle | LINK.e, USDe, WBTC.e |
| Pharaoh (concentrated), every tick spacing | the pool's own oracle | sAVAX, PHAR — the ve(3,3) incentivised markets |
| Pangolin V3, its own fee ladder | the pool's own oracle | a second market for PNG and the majors |
| LFJ V1, Uniswap V2, Pangolin, SushiSwap | reserves | the memecoins and the ecosystem coins — most of the list |
| Pharaoh's classic AMM, stable and volatile | reserves | a few long-tail pairs |
Pharaoh and Pangolin V3 are both Uniswap V3 forks and are read the same way, with one wrinkle each. Pharaoh keys a pool by tick spacing rather than fee, and its factory cannot list the spacings it enables, so the gate is told the range and probes it. Pangolin V3 keys by fee like Uniswap, on a ladder of its own — 0.01%, 0.05%, 0.25%, 0.8% — and a pool's live fee can drift off the tier it was opened at.
What is not read, and what that costs
Two venues with real volume are invisible to every gate today, and this is a limit of the deployment rather than a property of those markets:
- LFJ's Liquidity Book. The largest venue on the chain by pair count. It is a bin AMM, not a tick
one — no
observe, no tick oracle — so it needs a gate of its own.GUN, whose only market is a Liquidity Book pair, measures as zero. - Blackhole. Algebra-shaped: its oracle lives in a plugin contract rather than on the pool.
Either can be added without redeploying anything else — CompositeQuoteGate.setSources takes a new
source whenever one is written. Until then a coin deep only on those venues has to be allowlisted by
the owner, or not used.
Uniswap V4 is deployed on Avalanche too — it is where every coin launched here trades — and is not read: a V4 pool keeps no oracle, and no gate here witnesses one.
Coins launched here
A coin launched here trades in its own Uniswap V4 pool, and a V4 pool is the one kind of market above that the gates cannot read. So its launch pool, however deep it gets, does not make it a pair asset. Nothing about it is special-cased in either direction: it goes through the same path as everything else, and what that path measures is a market on one of the venues in the table.
Its liquidity being permanently locked in the vault is a real extra guarantee, but it is not what
makes a coin eligible — measurable depth is. A coin launched here becomes usable as a pair asset
once it has $25,000 of real backing in a pool the gates can read — one somebody opened for it on
Uniswap V3, LFJ, Pangolin or Pharaoh — or once the owner allowlists it, and not before. A gate that
witnesses V4 pools the way V2QuoteGate witnesses reserves could be added through
CompositeQuoteGate.setSources without redeploying anything else; there is not one today.
Why an asset gets refused
| code | meaning |
|---|---|
| 1 | not an ERC-20 |
| 2 | decimals outside 6–18 |
| 3 | no reference pool against the anchors |
| 4 | the pool's oracle does not reach a full window back |
| 5 | not enough depth |
| 6 | no anchor price available right now — transient, retry |
Code 4 only comes from the oracle venues, and it is common on Avalanche: blocks arrive about every
second, and many pools keep a buffer of a single observation, which cannot answer a half-hour
question once the pool has traded. NYA holds some $70,000 of WAVAX in its Uniswap V3 pool and cannot
be measured for that reason; Pharaoh's own PHAR pool keeps ten slots, and read twice minutes apart
it measured $76,000 and then nothing. It is fixable by anyone: primeObservations grows a pool's
buffer permissionlessly, and the asset becomes measurable once the window has elapsed. That is why
neither is on the list today.
