Skip to content

Reference token

Use a real launch to validate your integration end-to-end. Launches move fast, so grab whatever is newest instead of hard-coding an address:

GET {INDEXER_URL}/coins?filter=new&limit=1

The response is { "filter": "new", "coins": [ { … } ] }; read coins[0].

  1. Discover. Confirm the coin carries dex: "v4", a 32-byte poolId, a full poolKey (the token as currency1, a hook address), decimals: 18, and a non-null priceWeth.
  2. Verify the launch. Find the coin’s TokenLaunchedV4 event on the factory and confirm the poolId and positionId match the API.
  3. Price. Take the latest PoolManager Swap for the poolId, apply the conversion (always invert: the token is currency1), and confirm it lands near the API’s priceWeth. Then quote a small buy through the v4 quoter with the poolKey and confirm the quote is below spot by roughly the buy fee.
  4. Fees. Read the coin’s manifest (or its LaunchManifest event) and confirm hook.feeRate(poolId, false) sits between the floor and the start.
  5. Metadata. Follow the coin’s metadataUrl and confirm logo and socials resolve.

Because every launch is a canonical Uniswap pool, once a token trades it is also auto-indexed by GeckoTerminal and DexScreener with no submission, so you can cross-check price there too.

If you want a coin that will never disappear rather than whatever is newest, use TEST, the team’s own first token. It is a V3-generation coin, so it exercises the V3 read path: details on Earlier generations.