Tokens

Token Detail

GET
/api/v1/tokens/{address}
Get full details for a single token: its main and pair asset, its kind, the registry facts, 24 h volume, liquidity, and prediction options if applicable. Price, supply, liquidity and depth come from the database (the indexed balances and the latest synced trade); the floor of a factory token is the one live read.
Auth: API Key required

Response

Response
{
  "data": {
    "id": 1,
    "address": "0x...",
    "name": "Will BTC hit 200k?",
    "symbol": "BTC200K",
    "description": "...",
    "dev": "0x...",
    "image": "https://...",
    "multiplier": 50,
    "isPrediction": true,
    "predictionType": "public",
    "predictionStatus": "active",
    "endTime": "2026-06-01T00:00:00.000Z",
    "eventType": "public",
    "website": null,
    "telegram": null,
    "twitterx": null,
    "createdAt": "2026-01-01T00:00:00.000Z",
    "lastActivityAt": "2026-03-15T00:00:00.000Z",
    "projectedVetted": false,
    "predictionOptions": [
      { "index": 0, "name": "Yes" },
      { "index": 1, "name": "No" }
    ],
    "chainId": 4663,
    "main": "0x...",
    "pairAsset": "0x...",
    "pairDecimals": 6,
    "pairSymbol": "USDG",
    "kind": "market",
    "reversed": false,
    "hybridMultiplier": 50,
    "rewardsEnabled": false,
    "frozen": false,
    "presaleTarget": "0",
    "presaleComplete": true,
    "listed": true,
    "creator": "0x...",
    "host": "0x...",
    "volume24hUsdE18": "1520000000000000000000",
    "creatorFeeBps": 0,
    "rewardsFeeBps": 0,
    "liquidityUsdE18": "25000500000000000000000",
    "depthUsdE18": "26200500000000000000000",
    "virtualLiquidityUsdE18": "1200000000000000000000",
    "autoVest": { "enabled": false, "durationDays": 0, "gradual": false },
    "presale": null
  }
}
200 OK404 Token not found503 Not deployed on this network

Token fields

FieldMeaning
mainThe main token this token trades against; a main names itself. pairAsset / pairDecimals / pairSymbol: that main's pair asset.
kindmain, token, reversed, market, marketPrivate, updownPool. Null until the token is indexed.
reversedA reversed curve. With reversed true, multiplier 1–50 is Meme+, 51–99 is Yolo+ and 100 is Yolo (fixed supply; the floor stays at the launch price in the paired token). With it false, 1–49 is Floor+, 50–99 is Utility+ and 100 is Stable+.
rewardsEnabled / frozen / listedRegistry facts: holder rewards on (fixed at creation), whitelist-only trading still in force, listed on the dapp.
presaleTarget / presaleCompleteThe presale target in main-token units (18 decimals, decimal string; 0 = no presale) and whether it has bonded. The presale block adds completedAt (the amount sold so far is FACTORYTOKEN.presaleSold() on chain); autoVest gives the auto-vesting setting.
creator / hostThe creating wallet, and the host contract of a market or pool token (null for a plain token). For those tokens the on-chain DEV is the host.
creatorFeeBps / rewardsFeeBpsThe token's creator and rewards fee in basis points, from the newest fee-set event; 0 when never set.
volume24hUsdE18USD × 1e18 traded on this token in the last 24 h (every non-protocol leg; a market also counts its AMM bets and book fills).
liquidityUsdE18From the latest synced trade: real one-sided liquidity (the quote reserve minus the virtual launch reserve), in USD × 1e18 through the token's main and the main's pair asset; null when that pair asset has no USD source. The quote reserve is in main tokens (18 decimals) on a factory token and in raw pair asset on a main. depthUsdE18: the whole quote reserve, virtual part included: the figure to size a trade against. virtualLiquidityUsdE18: the virtual launch reserve.
priceSource / supplySourceAlways index (or null when unknown): the price is the latest synced trade of the token and its main, the supply the sum of the indexed balances. They can trail the chain by one unsynced trade. Exact live values: getCurveReserves(), getLiquidity(), totalSupply(). Cash a contract holds is ERC20(pairAsset).balanceOf(token) on chain.

Prediction market fields

FieldMeaning
predictionTypepublic markets live on the ATrancheMarket host (marketTrading in /contracts.json); private markets on the ATrancheMarketPrivate host (creator-managed; eventType says whether access is private). On-chain calls must target the matching host: reading a market through the other host returns a zeroed struct, and buys revert.
endTimeMarket close time. null = open-ended (endTime = 0 on-chain). An open-ended market stops taking AMM bets once a result is proposed (public host) or the first resolution vote is cast (private host); an EARLY reset re-opens a public one. Order-book fills stay open on both hosts until the market resolves.
predictionStatusIndexed lifecycle status: active, awaiting_proposal, proposed, proposed_closed, voting, veto_window, disputed, vetoed, awaiting_finalize, resolved, invalidated, unknown. An EARLY reset returns a public open-ended market to active. Community-resolved: active → awaiting_proposal → proposed → proposed_closed | voting → veto_window → disputed | vetoed → resolved | invalidated; creator-resolved: active → awaiting_proposal → voting → awaiting_finalize → resolved | invalidated; unknown before the first read. AMM buys close when a result is proposed (public) or the first vote is cast (private); order fills stay open until resolution. Only bet on active markets.
Example Code
// Get single token with prediction options
const res = await fetch(
  "https://launchonbasis.com/api/v1/tokens/0xTokenAddress",
  { headers: { "X-API-Key": "bsk_your_key" } }
);
const { data } = await res.json();