Envelope
Integration

Indexing and pricing

The launch event to index, and how to price the pools it points at.

Every launch is announced by a single event on the launchpad factory. Index that one event and you have the full set of tokens and pools.

event Launched_(
  address indexed token,
  address indexed creator,
  address pairToken,   // eUSD or USDC, the quote token
  address pool,        // the Uniswap v3 pool
  uint256 positionId
)

The pools are ordinary Uniswap v3

There is no custom AMM, no bonding curve, and no proxy. Each pool is a standard Uniswap v3 pool at the 1% fee tier (10000), so existing v3 tooling works unmodified. Read slot0() for sqrtPriceX96 and derive the price as you would for any other v3 pool.

Mind the token ordering

token0 and token1 sort by address, so the launched token is not always token1. Compare the addresses before deciding which side of the price you are reading.

Launched tokens have 18 decimals and a fixed supply of 1,000,000,000, while the quote token has 6, so scale by 10^12 when converting a raw price.

const P = (Number(sqrtPriceX96) / 2 ** 96) ** 2; // raw token1 per raw token0
const tokensPerQuote = P * 1e6 / 1e18;           // quote is 6dp, token is 18dp
const priceUsd = 1 / tokensPerQuote;
const marketCap = priceUsd * 1e9;

Pricing in dollars

Treat eUSD as $1. It is backed one for one by USDC held in the Base vault and redeems one for one, so a pool quoted in eUSD is already priced in dollars and needs no oracle. Pools quoted in USDC work the same way.

When eUSD-quoted pools migrate to USDC, the pairToken changes. Read it from the factory rather than assuming it stays constant.

Or just read our API

If you would rather not index anything, the same data is served over HTTP:

GET https://api.envelope.trade/launchpad-api/api/launchpad/tokens?sort=age&limit=100
GET https://api.envelope.trade/launchpad-api/api/launchpad/tokens/{token}
GET https://api.envelope.trade/launchpad-api/api/launchpad/tokens/{token}/candles?interval=5m

Token responses carry marketcap_usd, liquidity_usd, volume_24h_usd and change_24h_pct alongside the pool and pair addresses. Prices are read live from the pools on each request.