supanovasupanovaDOCS
Open Launchpad
Launchpad documentation
Developers

Market data

Work with token discovery, pairs, candles, trades, and the DexTools-compatible data surface.

Use token discovery for Launchpad-style coin lists. Use the Market API for screeners, analytics, and aggregator integrations. Both describe the same product, but their response shapes serve different clients.

Token discovery

GET /api/v1/tokens returns public token cards with launch stages, metadata, prices, and market activity. Its response uses camelCase fields and includes provenance.

bash
curl --fail-with-body --silent --show-error \
  'https://launch-api.supanova.app/api/v1/tokens?limit=24&stages=ignition,near_escape&sort=volume_24h&direction=descending'
RouteUse
GET /api/v1/tokensDiscovery, filtering, and sorting.
GET /api/v1/tokens/summaryAggregate Launchpad counters.
GET /api/v1/tokens/categoriesThe canonical category dictionary.
GET /api/v1/tokens/{slug}One coin by its public slug.
GET /api/v1/tokens/{slug}/candlesCandles denominated in CC.
GET /api/v1/tokens/{slug}/candles/usdHistorical USD candles.
GET /api/v1/tokens/{slug}/holdersPublication-safe holder rows.
GET /api/v1/tokens/{slug}/tradesPublication-safe trade rows.

Discovery defaults to 24 items and accepts up to 100. Pass page.nextCursor as the next cursor while page.hasMore is true. Keep cursors opaque and use the same filters while paging.

Stages are ignition, near_escape, graduating, and in_orbit. An in-orbit token has graduated. Use the response's state rather than deriving the stage from rounded display percentages.

Market API

Use a read key for an integration. The current public deployment requires a key for this surface; deployments that allow anonymous reads apply a separate per-IP budget.

bash
curl --fail-with-body --silent --show-error \
  -H "X-API-Key: $SUPANOVA_API_KEY" \
  'https://launch-api.supanova.app/api/v1/market/info'

The info response identifies the network, quote asset, latest available ledger offset, supported candle intervals, and stream limits.

RouteUse
GET /api/v1/market/tokensToken metadata and headline figures.
GET /api/v1/market/tokens/{assetId}One token by its instrument ID.
GET /api/v1/market/tokens/{assetId}/holdersHolder count and largest holders.
GET /api/v1/market/pairsPairs with price, liquidity, volume, and trade counts.
GET /api/v1/market/pairs/{pairId}A single curve or AMM pair.
GET /api/v1/market/pairs/{pairId}/tradesRecent trades, newest first.
GET /api/v1/market/pairs/{pairId}/candlesCC or USD OHLCV candles.
GET /api/v1/market/tickersCompact price and volume tickers.

Responses use snake_case and decimal strings. A list has items, meta, and page; continue with page.next_cursor while page.has_more is true. Token and pair lists accept a limit up to 200; holder lists up to 100.

Instrument and pair identity

A Canton instrument is identified by its administrator and ID. The Market API publishes these as instrument_admin and asset_id or instrument_id, depending on the response. Do not identify a token only by its symbol.

IdentifierForm
CC assetAmulet, with the network's CC administrator.
Token assetThe token's CIP-56 instrument ID.
Curve pair<instrument-id>:curve
AMM pair<instrument-id>:amm
Ticker market name<TICKER>-CC

A token has separate curve and AMM pairs. After graduation seeds the AMM, the curve pair is marked graduated with zero active liquidity and its last fill price. The AMM pair carries the active market. Both pair IDs return the token's continuous candle history across graduation.

Read figures correctly

FigureDefinition
priceCC per token: the marginal curve price or AMM reserve ratio.
market_cap, fdvPrice multiplied by fixed total supply.
Curve liquidity.ccThe curve's CC reserve available to sells.
AMM liquidity.ccTwice the AMM's CC reserve.
volumeAbsolute net CC reserve change per confirmed fill, in the named trailing window.
price_changePercentage change over the named window.
txnsConfirmed buy and sell fill counts.
USD fieldsCC amounts converted using the reported CC/USD rate; null when no rate is available.

The Market API's volume basis is not the same as gross trader input. A trade's quote_amount is the CC paid on a buy or received after fees on a sell. Preserve this distinction when comparing aggregate volume with execution records.

Maker and holder addresses are publication-safe pseudonyms scoped to a token and network. They are not Canton Party IDs and must not be used as transfer destinations. Some deployments return redacted when an address cannot be published.

Candles

Supported intervals are 1m, 5m, 1h, 4h, and 1d. Requests accept ISO-8601 from and to timestamps and return at most 500 candles. Split longer ranges into bounded requests.

bash
curl --fail-with-body --silent --show-error --get \
  -H "X-API-Key: $SUPANOVA_API_KEY" \
  --data-urlencode 'interval=1h' \
  --data-urlencode 'currency=cc' \
  "https://launch-api.supanova.app/api/v1/market/pairs/$PAIR_ID/candles"

Set PAIR_ID to a pair returned by the API. USD candle history uses historical CC/USD data; do not reconstruct it by multiplying all past CC candles by today's rate.

Freshness and caching

Read meta.as_of, meta.ledger_offset, and meta.cc_usd.stale to describe how current the data is. A missing or stale value is not a zero balance or zero price.

The Market API supports ETag and If-None-Match. Revalidate cached reads and handle HTTP 304 without trying to parse a JSON body. Follow the actual Cache-Control response: key-required deployments use private caching.

DexTools-compatible endpoints

The /api/v1/dextools surface exposes latest-block, block, asset, asset/holders, exchange, pair, and events for the DexTools HTTP adapter contract. It uses camelCase and a different error shape: { code, message, issues }.

For event ingestion, read the latest available block, then request inclusive fromBlock and toBlock ranges within the published limit. Blocks represent Canton ledger offsets. Deduplicate events by block and event index, and persist your cursor only after processing the full response.

Use the API reference for each adapter's required query fields. For streaming trades and tickers, continue with WebSockets.

supanova Launchpad docsDeveloper settings