Open JSON. No sign-up.

Developer API

The same pair list this site runs on. Three read routes, and that is the whole API. No API key. Fuse never asks for a private key, and no endpoint will sign a launch or a trade.

Quickstart

Call it from a terminal. The host is this site. A browser on another origin can call it too.

curl https://your-fuse-host/api/pairs?launch=true
curl https://your-fuse-host/api/pairs/AAPLx
curl https://your-fuse-host/api/stats

Where the pairs come from

One feed. Jupiter's verified token list. Fuse keeps a pair when the pool is at least $100,000 and, for a meme or an alt, at least $100,000 traded in the last day. SOL, USDC, and USDT stay in regardless. Lend receipts, staked dollars, and dead pools are left out.

That liquidity is Jupiter's total, across the venues it routes, including Raydium, Orca, and Meteora. Fuse does not call those venues itself. A launch is not an API call. The wallet signs it. Prices refresh about once a minute.

GET

/api/pairs

Every token a coin can trade against. SOL, USDC, stocks, memes, and alts that have a real pool.

curl 'https://your-fuse-host/api/pairs?q=apple&launch=true'
NameTypeUse
qstringMatch ticker or name. aapl matches AAPLx and Apple.
launchtrue or falsetrue keeps pairs you can light a coin against.
listedtrue or falsetrue keeps pairs that already have a pool.
providerstringExact provider name, such as xStocks, Backpack, Meme, or Alt.

The body is pairs, count, and syncedAt. syncedAt is unix milliseconds.

{
  "pairs": [
    {
      "ticker": "AAPLx",
      "name": "Apple xStock",
      "mint": "XsbEhLAtcf6HdfpFZ5xEMdqW8nfAvcsP5bdudRLJzJp",
      "icon": "https://xstocks-metadata.backed.fi/logos/tokens/AAPLx.png",
      "usd": 333.69,
      "change24h": 0.0349,
      "provider": "xStocks",
      "launch": true,
      "listed": true,
      "coins": 0,
      "poolUsd": 667576
    }
  ],
  "count": 1,
  "syncedAt": 1791309568735
}
GET

/api/pairs/{ticker}

One pair. The ticker is the symbol on the card: SOL, USDC, TSLAx, AAPLx. Case does not matter.

curl https://your-fuse-host/api/pairs/SPYx
NameTypeUse
tickerpathRequired. The pair symbol.

200 returns pair and syncedAt. 404 means that ticker is not in the catalog.

GET

/api/stats

How many pairs are in the catalog, how many you can light, how many already have a pool, and a count per provider.

curl https://your-fuse-host/api/stats
{
  "catalog": 195,
  "launch": 195,
  "listed": 195,
  "providers": [
    { "name": "Alt", "count": 90 },
    { "name": "Meme", "count": 47 },
    { "name": "xStocks", "count": 20 }
  ],
  "syncedAt": 1791309568735
}

Pair fields

tickerSymbol. Use this when you light a coin and in /api/pairs/{ticker}.
nameDisplay name, such as Apple xStock.
mintSolana mint of the pair token. Always set.
iconLogo URL. It can be empty. Do not block the row on it.
usdPair price in dollars. This is not the price of a coin you light.
change24hFraction, not a percent. 0.0349 means +3.49%. 0 means the feed sent no change.
providerWho issues the token. xStocks, Backpack, Meme, Alt, and others.
launchTrue when Fuse will let you light a coin against this pair. True for every row.
listedTrue when the pair has a real pool. True for every row.
poolUsdPool size in dollars, from Jupiter.
coinsAlways 0. This feed does not count coins lit on the site.

Wick

A new coin uses one wick. These are the numbers the site uses.

Supply1,000,000,000
On the wick793,100,000 tokens can trade before the pool
OpenNear a $4,000 market cap
Graduation18 SOL, or the same dollar value in the pair you chose
After thatThe coin sits in the pool and the tax still applies

Choose a pair, then light the fuse. The first buy, if you make one, comes out of SOL. Connect shows your Solana address. A SOL launch is the step that asks the wallet to sign.

Errors

A failure returns { "error": "..." }. Branch on the status.

404No pair with that ticker.
405Wrong method. These routes are GET only.
503Jupiter did not answer. Wait a minute and call again.

Fair use

Reads are open. There is no paid tier and no key to raise a limit. Responses cache for about half a minute, so polling faster than that does not get you a newer price. If you need a launch button, read launch from /api/pairs instead of hardcoding a list.