TraktorAPI
Get API key

Public market and search

Reading market resources and searching tokens over plain HTTP.

Both routes answer anyone, from any origin and with no key, within the limits on their endpoint blocks.

GET /v1/public/market

https://api.traktor.fun

One market resource's committed view, the same body Traktor's own pages read.

Credential
None
  • resourceenumrequiredquery

    Which resource to read.

    One of: flow, tape, marketSwaps, token, quote, tokenHolders, tokenSwapTraders, tokenSignals, tokenTrades, tokenTopBuys, tokenTopTraders, tokenPoolSwaps, tokenCandles, saved, stocks, feed, assets, perps, perpMarket, perpTraders, perpAccount, traderDirectory, traderFlows, trader, traderPortfolio, pool

  • querystringquery

    The resource's parameters as one URL-encoded query string.

Resources

ResourceKeysExample queryWhat it answers
flowthe market keys, views, view, limit, sort, dir, tail, named, offset, minPnl, minWinRate, marks, namedOnlychain=bnb&platform=fomo&window=240&views=tokens&sort=mcap&limit=40The board's combined views over a market query.
tapethe market keys, minPnl, minWinRate, marks, namedOnlychain=bnb&platform=gmgn&side=buy&minTrade=500The newest tracked-app trades by arrival, at most 120, with no summary.
marketSwapschain, address, platform, scope, window, limitscope=market&chain=base&address=0x4444444444444444444444444444444444444444Executions in a token's pools by every app, or only the tracked apps.
tokenchain, address, intervalchain=bnb&address=0x2222222222222222222222222222222222222222&interval=5mOne token's detail and candles.
quotechain, addresschain=bnb&address=0x2222222222222222222222222222222222222222One token's current valuation; a Solana mint keeps its case.
tokenHolderschain, addresschain=bnb&address=0x2222222222222222222222222222222222222222One token's holder list.
tokenSwapTraderschain, addresschain=bnb&address=0x2222222222222222222222222222222222222222What each trader in one token's newest swaps did in the token, as a data provider counts its swaps, keyed by wallet.
tokenSignalschain, addresschain=bnb&address=0x2222222222222222222222222222222222222222One token's signals.
tokenTradeschain, addresschain=bnb&address=0x2222222222222222222222222222222222222222One token's newest tracked-app swaps by block time, each field null when never measured; platform is traktor for a swap the tape booked as fomo's from a wallet Traktor made for one of its accounts.
tokenTopBuyschain, address, sidechain=bnb&address=0x2222222222222222222222222222222222222222&side=allWhat the top 10,000 traders by year profit, the top traders' flow's widest tier, bought or sold of one token over the tape's day, newest first: each trader's buys and sells a minute, the side not read null, the dollars null where none was priced and the tokens null where their rows were not read, with each trader's realized week, month and year as measured, a week or month unmeasured null, and every wallet the directory lists for them.
tokenTopTraderschain, address, window, offsetchain=bnb&address=0x2222222222222222222222222222222222222222&window=60Who among the same top 10,000 traders traded one token over one of the board's windows: each one's priced dollars each way, trades, unpriced trades, apps, last trade, whether their last trade of it over the day was a buy, every wallet the directory lists for them and their PnL in the token where a data provider has answered for each of their wallets, the most bought first, 50 named a page from offset and the rest past it counted; and every one of them added up as the board row's topTradersFlow, with each app's buyers; and others, every other wallet's buys over the same minutes added up the same way, null where the server's held trades don't reach back over the window, after its syncs spoiled two reads of them running, or when the read fails. A trader nobody names has a null name, never their address as one.
tokenPoolSwapschain, addresschain=bnb&address=0x2222222222222222222222222222222222222222One token's swaps on its market pool from the every-swap feed, newest first: the post-swap dollar price the chart's live candle rolls from (swaps), and the pool's newest swaps priced or not, each with its transaction and the wallet that made it where the chain proves one (listed); feed is none where the feed does not cover the pool.
tokenCandleschain, address, interval, limit, beforechain=bnb&address=0x2222222222222222222222222222222222222222&interval=5mOne token's price candles; before, in Unix seconds, pages back.
savedtokens, windowtokens=bnb:0x2222222222222222222222222222222222222222&window=60A watchlist's rows.
stocksthe market keys, rank, stock, offset, sort, dirrank=volumeStock-paired tokens grouped by their stock.
feedthe market keys, since, limit, types, tierslimit=50The signal feed.
assetsnoneThe verified stock registry.
perpsviews, limit, window, rank, coin, minVolume, minOi, minLev, funding, side, minTrade, delistedviews=markets&limit=50The perps board; refused with invalid_query while the service runs without perps.
perpMarketcoin, windowcoin=BTC&window=60One perp market; refused with invalid_query while the service runs without perps.
perpTraderssort, dir, vaults, minValue, minVolume, offset, limitsort=pnlWeek&limit=50The top 1,000 perps accounts by 30-day perps profit among those the tape has seen trade $50,000 in a day, screened, sorted and paged: each one's rank among the users and subaccounts, its perps profit and volume over a day, a week, 30 days and all time as last scored, its account value, its largest position and how many it holds while it is followed, its win rate once its fills are read, and its page code (code, null until its next score writes one), a figure not measured null. A vault has no rank and keeps its documented name, and no other account is named. Refused with invalid_query while the service runs without perps.
perpAccountcodecode=Ab3dEf6hIj9kOne ranked perps account's page, found by the code its row on perpTraders carries, never by an address: its rank, its perps profit and volume over the four windows as last scored, its account value, every position it holds while it is followed, its win rate once read, and the fills our tape saw it take over the last day as the aggressor, by hour, by market and by minute, the newest 100 minutes. A code no ranked account carries answers missing, and what it took is null until the day's takers are all counted. Refused with invalid_query while the service runs without perps.
traderDirectorysort, dir, chain, platform, window, q, side, minVolume, minTrades, minHoldings, minPnl, minWinRate, minAvgTrade, minActiveHours, launchpad, dex, fees, pair, minMcap, maxMcap, minLiq, maxLiq, minLiqPct, minHolders, minFomoHolders, minHeldPct, minAth, maxAth, maxAge, minAge, minCurve, maxCurve, offset, limitsort=pnl&limit=50The traders directory, screened and paged. With any of the Board's token filters, only traders with a year measured who traded a passing token in the window are listed, their window, day and active hours counted in those tokens alone, their year, holdings and dates the account's.
traderFlowstop, window, chain, platform, side, offset, launchpad, dex, fees, pair, minMcap, maxMcap, minLiq, maxLiq, minLiqPct, minHolders, minFomoHolders, minHeldPct, minAth, maxAth, maxAge, minAge, minCurve, maxCurvetop=10000&window=60What the traders directory's best by year profit bought and sold over the window, token by token: the busiest 48, and the 10 bought and the 10 sold the most by net, each with its market on the Board's day, and how many they netted each way. With side, a page of 20 of that side by net instead. Lists only the tokens the Board's day lists, and takes the Board's token filters.
traderwalletwallet=0x1111111111111111111111111111111111111111One wallet's profile.
traderPortfoliowalletwallet=0x1111111111111111111111111111111111111111The trader page's read of one wallet and its fomo account's wallet of the other kind, from a data provider: their performance, holdings, newest trades and every token they traded, with the account.
poolchain, tokenchain=bnb&token=0x55d398326f99059ff775485246999027b3197955One token's pool depth: state: "ok" with the deepest readable pool's price ranges, price and caps, or state: "error" and a code.

The market keys: window, chain, platform, wallets, launchpad, dex, fees, pair, side, minTrade, minBalance, minNet, maxNet, minVolume, minBuyers, minSellers, minTrades, minRatio, minChange, maxChange, minTopTraders, minMcap, maxMcap, minLiq, maxLiq, minLiqPct, minHolders, minFomoHolders, minHeldPct, minAth, maxAth, maxAge, minAge, minCurve, maxCurve.

flow bounds:

  • viewslistquery

    Views to build, comma-separated; all builds every one. Send views or view, not both.

    Default allAny of: all, summary, tokens, series, tape, rotation, wallets

  • viewlistquery

    The same as views; send one of the two.

    Any of: all, summary, tokens, series, tape, rotation, wallets

  • limitintegerquery

    Token rows, read only with tokens or all; with no limit, a read gets 100 when views is left out, is exactly all or names tokens, and no default limit when it lists all beside other views without tokens.

    Default 1001–1,000

  • sortenumquery

    Token ranking, read only with tokens or all.

    Default volumeOne of: volume, net, pressure, turnover, conviction, bought, sold, buyers, trades, avg, price, change15m, change1h, change4h, change24h, mcap, held, fomoPnl, heldPct, liquidity, liqRatio, age, fomoHolders, holderTrend, ath, graduation, holders, topTraders

  • direnumquery

    Ranking direction, read only with tokens or all.

    Default descOne of: asc, desc

  • tailbooleanquery

    Includes both ends of the ranking, as 1, 0, true or false; the far end holds only rows that have the ranked figure, and it cannot go with offset.

    Default false

  • namedbooleanquery

    Keeps only tokens with a name, as 1, 0, true or false.

    Default false

  • offsetintegerquery

    Token rows to skip before the page of limit rows, read only with tokens or all; it cannot go with tail, and where limit has no default, as with all listed beside other views without tokens, it needs a limit sent with it.

    Default 00–100,000

  • minPnlnumberquery

    Keeps trades by wallets that realized at least this over the last year, in USD, which may be negative; a wallet with no year measured within the day never clears it. Only with views=tape, and it narrows the tape alone.

    -1,000,000,000,000–1,000,000,000,000

  • minWinRatenumberquery

    Keeps trades by wallets whose win rate over the last year is at least this, in percent; a wallet with none measured never clears it, even at 0. Only with views=tape, and it narrows the tape alone.

    0–100

  • markslistquery

    Keeps trades by wallets a source labels with any of these. Only with views=tape, and it narrows the tape alone.

    Any of: kol, smart_money

  • namedOnlybooleanquery

    Keeps trades by wallets some source names, as 1, 0, true or false. Only with views=tape, and it narrows the tape alone.

    Default false

tape bounds:

  • minPnlnumberquery

    Keeps trades by wallets that realized at least this over the last year, in USD, which may be negative; a wallet with no year measured within the day never clears it.

    -1,000,000,000,000–1,000,000,000,000

  • minWinRatenumberquery

    Keeps trades by wallets whose win rate over the last year is at least this, in percent; a wallet with none measured never clears it, even at 0.

    0–100

  • markslistquery

    Keeps trades by wallets a source labels with any of these.

    Any of: kol, smart_money

  • namedOnlybooleanquery

    Keeps trades by wallets some source names, as 1, 0, true or false.

    Default false

marketSwaps bounds:

  • chainlistquery

    Chains to read, comma-separated; empty means every chain it covers, all but ethereum, monad, hyperevm and elysium. A chain it does not cover is refused, and a token address needs exactly one chain.

    Any of: solana, robinhood, bnb, base, arc, arbitrum

  • addressaddressquery

    Narrows to one token's pools; needs exactly one chain, and a Solana mint keeps its case.

  • platformlistquery

    Tracked apps to keep, comma-separated; needs scope=tracked-apps.

    Any of: fomo, gmgn, pump, axiom, coinbase, padre, maestro, bloom, trojan, bonkbot, bankr, photon

  • scopeenumquery

    Every app's swaps, or only the tracked apps'; platform needs tracked-apps.

    Default marketOne of: market, tracked-apps

  • windowintegerquery

    How far back, in minutes; reaches past the board's windows.

    Default 601–10,080

  • limitintegerquery

    Swaps to return.

    Default 1201–120

token bounds:

  • chainenumrequiredquery

    The token's chain.

    One of: solana, base, bnb, robinhood, arc, arbitrum, ethereum

  • addressaddressrequiredquery

    The token's contract address; a Solana mint keeps its case.

  • intervalenumquery

    Candle width.

    Default 5mOne of: 1m, 5m, 15m, 1h, 4h, 12h, 1d

quote bounds:

  • chainenumrequiredquery

    The token's chain.

    One of: solana, base, bnb, robinhood, arc, arbitrum, ethereum

  • addressaddressrequiredquery

    The token's contract address; a Solana mint keeps its case.

tokenHolders bounds:

  • chainenumrequiredquery

    The token's chain.

    One of: solana, base, bnb, robinhood, arc, arbitrum, ethereum

  • addressaddressrequiredquery

    The token's contract address; a Solana mint keeps its case.

tokenSwapTraders bounds:

  • chainenumrequiredquery

    The token's chain.

    One of: solana, base, bnb, robinhood, arc, arbitrum, ethereum

  • addressaddressrequiredquery

    The token's contract address; a Solana mint keeps its case.

tokenSignals bounds:

  • chainenumrequiredquery

    The token's chain.

    One of: solana, base, bnb, robinhood, arc, arbitrum, ethereum

  • addressaddressrequiredquery

    The token's contract address; a Solana mint keeps its case.

tokenTrades bounds:

  • chainenumrequiredquery

    The token's chain.

    One of: solana, base, bnb, robinhood, arc, arbitrum, ethereum

  • addressaddressrequiredquery

    The token's contract address; a Solana mint keeps its case.

tokenTopBuys bounds:

  • chainenumrequiredquery

    The token's chain.

    One of: solana, base, bnb, robinhood, arc, arbitrum, ethereum

  • addressaddressrequiredquery

    The token's contract address; a Solana mint keeps its case.

  • sideenumquery

    The buys, the sells or both; with none named, the buys, and sells is null.

    Default buyOne of: buy, sell, all

tokenTopTraders bounds:

  • chainenumrequiredquery

    The token's chain.

    One of: solana, base, bnb, robinhood, arc, arbitrum, ethereum

  • addressaddressrequiredquery

    The token's contract address; a Solana mint keeps its case.

  • windowenumquery

    The window, in minutes: one of the board's.

    Default 60One of: 5, 15, 30, 60, 240, 1440

  • offsetintegerquery

    Traders to skip before the page, a multiple of 50.

    Default 00–9,950

tokenPoolSwaps bounds:

  • chainenumrequiredquery

    The token's chain.

    One of: solana, base, bnb, robinhood, arc, arbitrum, ethereum

  • addressaddressrequiredquery

    The token's contract address; a Solana mint keeps its case.

tokenCandles bounds:

  • chainenumrequiredquery

    The token's chain.

    One of: solana, base, bnb, robinhood, arc, arbitrum, ethereum

  • addressaddressrequiredquery

    The token's contract address; a Solana mint keeps its case.

  • intervalenumquery

    Candle width.

    Default 5mOne of: 1m, 5m, 15m, 1h, 4h, 12h, 1d

  • limitintegerquery

    Candles to return.

    Default 3001–1,000

  • beforeintegerquery

    Only candles before this Unix time, in seconds.

    from 1

saved bounds:

  • tokenslistquery

    Saved tokens as chain:address, comma-separated, on solana, base, bnb, robinhood, arc or ethereum; an empty list is an empty watchlist.

    up to 200 items

  • windowenumquery

    How far back, in minutes; one of the dashboard's.

    Default 60One of: 5, 15, 30, 60, 240, 1440

stocks bounds:

  • rankenumquery

    How the stock groups rank.

    Default volumeOne of: volume, net, mcap

  • stockstringquery

    Narrows to one stock group: ticker:AAPL, or address:<chain>:<token> on any chain the stock registry reads, a 0x… contract or a Solana mint.

  • offsetintegerquery

    Rows to skip inside the stock group; needs stock.

    Default 00–100,000

  • sortenumquery

    Orders each stock group's tokens, before offset; without it they follow rank.

    One of: volume, net, pressure, turnover, conviction, bought, sold, buyers, trades, avg, price, change15m, change1h, change4h, change24h, mcap, held, fomoPnl, heldPct, liquidity, liqRatio, age, fomoHolders, holderTrend, ath, graduation, holders, topTraders

  • direnumquery

    Direction of sort.

    Default descOne of: asc, desc

feed bounds:

  • sincestringquery

    The cursor a previous read returned, an ISO 8601 time: only signals that landed after it, at most 72 hours back. When more landed than limit, the page holds the earliest and its cursor leads to the rest; signals stored together stay on one page, past limit if they must, though a batch of more than 1,000 keeps only its first 1,000. The most recent arrive on a later read, usually within a few seconds. A read without since can hand back a cursor a few seconds behind its newest signal, so the next read may repeat those.

  • limitintegerquery

    Signals to return.

    Default 1501–400

  • typeslistquery

    Signal types to keep, comma-separated; empty keeps every type. They are kept among the same newest 1,000 stored signals the header's filter reads, before limit, and status.leftOut says whether they left out one the filter kept. A name outside the vocabulary is ignored.

    Any of: net_in, net_out, vol_spike, buyers, buy_pressure, sell_pressure, dip_buy, rotation, whale_buy, whale_sell, top_buy, top_sell, kol_buy, smart_buy, dev_buy, dev_sell, insider_buy, smart_cluster, top_cluster, top_exit, top_early, top_net, holders_up, holder_surge, holder_exodus, supply_share, holder_growth, mcap_up, pump, dump, ath, pump_fade, new_token, graduation, revival, dex_paid, dex_boost, cto, liq_add, liq_pull

  • tierslistquery

    Tiers to keep, comma-separated; empty keeps every tier. Kept as types is.

    Any of: 1, 2, 3

perps bounds:

  • viewslistrequiredquery

    Views to build, comma-separated; there is no default.

    Any of: markets, hot, tape, oi, funding, flow, traders

  • limitintegerquery

    Market rows to return.

    Default 4001–400

  • windowintegerquery

    How far back, in minutes, from 1 to 1,440; read as the longest of 5, 15, 30, 60, 240 and 1,440 that fits, or 5 below it.

    Default 601–1,440

  • rankenumquery

    How the markets rank; oiChange is the size of the window's open-interest change either way.

    Default volumeOne of: volume, oi, oiChange, funding, change, net

  • coinlistquery

    Coins to include, comma-separated; empty means every market. A coin as the venue writes it, like BTC or kPEPE, which is case-sensitive.

    up to 64 items

  • minVolumenumberquery

    Keeps markets with at least this much 24-hour volume, in USD; 0 is no floor.

    0–1,000,000,000,000,000

  • minOinumberquery

    Keeps markets with at least this much open interest, in USD; 0 is no floor.

    0–1,000,000,000,000,000

  • minLevnumberquery

    Keeps markets whose top leverage is at least this; 0 is no floor.

    0–1,000,000,000,000,000

  • fundingenumquery

    Keeps markets by who pays funding: longs above the floor of 0.01% every eight hours (about 11% a year) most markets sit on, shorts below zero, extreme at 50% a year or more either way. A rate nobody read passes none of them.

    Default anyOne of: any, longs, shorts, extreme

  • sideenumquery

    Which side of the tape the trade panels show.

    Default allOne of: all, buy, sell

  • minTradenumberquery

    The tape's smallest trade, in USD; 0 is no floor.

    0–1,000,000,000,000,000

  • delistedenumquery

    1 includes delisted markets, which still trade down.

    Default 0One of: 0, 1

perpMarket bounds:

  • coinstringrequiredquery

    A coin as the venue writes it, like BTC or kPEPE, which is case-sensitive.

  • windowintegerquery

    How far back, in minutes, from 1 to 1,440; read as the longest of 5, 15, 30, 60, 240 and 1,440 that fits, or 5 below it.

    Default 601–1,440

perpTraders bounds:

  • sortenumquery

    The ranking: by rank, by a window's perps profit or volume, or by account value; an account whose figure is unmeasured comes last either way.

    Default rankOne of: rank, pnlDay, pnlWeek, pnlMonth, pnlAllTime, volumeDay, volumeWeek, volumeMonth, volumeAllTime, accountValue

  • direnumquery

    Ranking direction: desc puts the largest first, and for rank the first rank.

    Default descOne of: desc, asc

  • vaultsenumquery

    Leaves vaults out, lists them beside the other accounts, or lists them alone.

    Default excludeOne of: exclude, include, only

  • minValuenumberquery

    Keeps accounts worth at least this, in USD; an account whose value is unmeasured never clears it, even at 0.

    0–1,000,000,000,000,000

  • minVolumenumberquery

    Keeps accounts that traded at least this much in perps over 30 days, in USD; an account whose volume is unmeasured never clears it, even at 0.

    0–1,000,000,000,000,000

  • offsetintegerquery

    Accounts to skip before the page.

    Default 00–1,000

  • limitintegerquery

    Accounts to return.

    Default 1001–200

perpAccount bounds:

  • codestringrequiredquery

    The account's page code: twelve letters and digits, from its perpTraders row.

traderDirectory bounds:

  • sortenumquery

    The ranking.

    Default volumeOne of: volume, net, bought, sold, buyShare, trades, avgTrade, holdings, pnl, pnlMonth, pnlWeek, winRate, active, recent, firstSeen, rank

  • direnumquery

    Ranking direction.

    Default descOne of: desc, asc

  • chainlistquery

    Chains to read, comma-separated, or all; a name outside the vocabulary is refused.

    Default allAny of: all, solana, robinhood, bnb, base, arc, arbitrum, ethereum, monad, hyperevm, elysium

  • platformlistquery

    Trading apps to read, comma-separated, or all; a name outside the vocabulary is refused. Naming some apps keeps only traders with a trade through one of them in the last 24 hours, counts the window on those apps alone, gives the last trade they made and no first trade, and leaves the year and holdings every app's.

    Default allAny of: all, fomo, gmgn, pump, axiom, coinbase, padre, maestro, bloom, trojan, bonkbot, bankr, photon

  • windowenumquery

    The window the flow is measured over, in minutes.

    Default 1440One of: 5, 15, 30, 60, 240, 1440

  • qstringquery

    Searches handles, names and addresses, ignoring case; the first 100 characters are read.

    up to 100 characters; longer text is cut

  • sideenumquery

    Keeps traders who bought more than they sold, or sold more than they bought; a trader whose net is unmeasured, as beside a side that traded with none of its trades priced, clears neither buying nor selling.

    Default allOne of: all, buying, selling

  • minVolumenumberquery

    Keeps traders with at least this much volume in the window, in USD; a trader none of whose trades in the window was priced clears only 0, which is no floor, and a trader whose day went unread clears none.

    0–1,000,000,000,000

  • minTradesintegerquery

    Keeps traders with at least this many trades in the window; 0 is no floor, though a trader whose day went unread clears none.

    0–1,000,000

  • minHoldingsnumberquery

    Keeps traders whose wallets hold at least this much now, in USD; a trader whose holdings are unread or hold nothing valued never clears it.

    0–1,000,000,000,000

  • minPnlnumberquery

    Keeps traders who realized at least this over the last year on every chain, in USD, which may be negative; a trader with no year measured never clears it.

    -1,000,000,000,000–1,000,000,000,000

  • minWinRatenumberquery

    Keeps traders whose win rate over the last year is at least this, in percent; a trader with none measured never clears it.

    0–100

  • minAvgTradenumberquery

    Keeps traders whose average trade is at least this, in USD; a trader with no trades in the window, or none of them priced, never clears it.

    0–1,000,000,000,000

  • minActiveHoursintegerquery

    Keeps traders active in at least this many of the last 24 hours; 0 is no floor, though a trader whose day went unread clears none.

    0–24

  • launchpadlistquery

    Launchpad families, as market.launchpads in GET /v1/meta/filters lists them, each optionally chain-qualified, like bnb:flap; a bare other or unknown is dropped and never narrows the list, though bnb:other is kept, and a name outside the catalogue is ignored.

  • dexlistquery

    DEX signals; a token with any of them matches, and a name outside the vocabulary is ignored.

    Any of: paid, boost, cto

  • feesenumquery

    Whether the token's launchpad shares its fees.

    Default anyOne of: any, shared, not_shared

  • pairlistquery

    Stock tickers the token pairs with, or ANY-STOCK for any stock.

    up to 12 items

  • minMcapnumberquery

    Market cap at least. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • maxMcapnumberquery

    Market cap at most. Tokens with no cap yet are kept — a brand-new one is small by definition. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • minLiqnumberquery

    Pool depth at least — what the token can absorb before price moves. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • maxLiqnumberquery

    Pool depth at most. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • minLiqPctnumberquery

    Depth as a share of market cap — how much of the cap there is real money behind. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • minHoldersnumberquery

    Wallets holding the token on chain, at least, as its data provider last counted them; a token nobody counted is in no band. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • minFomoHoldersnumberquery

    Wallets on fomo still holding a position. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • minHeldPctnumberquery

    Share of circulating supply sitting in fomo wallets — how much of the token the crowd here owns. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • minAthnumberquery

    Multiple back to the all-time high, at least — headroom above the current price. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • maxAthnumberquery

    Multiple back to the high, at most — near its own top. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • maxAgenumberquery

    Younger than, in hours since the token launched on chain, or first traded on our tape where that came first or no launch is dated. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • minAgenumberquery

    Older than, in hours since the token launched on chain, or first traded on our tape where that came first or no launch is dated. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • minCurvenumberquery

    Bonding-curve progress, at least, in percent; a token that has graduated counts as 101. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • maxCurvenumberquery

    Bonding-curve progress, at most, in percent; 100 keeps only tokens still on their curve. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • offsetintegerquery

    Traders to skip.

    Default 00–5,000

  • limitintegerquery

    Traders to return; 0 reads as the default, 100.

    Default 1000–200

traderFlows bounds:

  • topenumquery

    How many traders: the first of the directory's pnl ranking on the chains and apps asked for, among those with a year measured.

    Default 10000One of: 100, 500, 1000, 5000, 10000

  • windowenumquery

    The window, in minutes.

    Default 60One of: 5, 15, 30, 60, 240, 1440

  • chainlistquery

    Chains to rank and count on, comma-separated, or all; a name outside the vocabulary is refused.

    Default allAny of: all, solana, robinhood, bnb, base, arc, arbitrum, ethereum, monad, hyperevm, elysium

  • platformlistquery

    Trading apps to rank and count on, comma-separated, or all; a name outside the vocabulary is refused. Naming some apps ranks only traders with a trade through one of them in the last 24 hours, as the directory does.

    Default allAny of: all, fomo, gmgn, pump, axiom, coinbase, padre, maestro, bloom, trojan, bonkbot, bankr, photon

  • sideenumquery

    Reads a page of one side in place of the map: the tokens netted bought or sold, the most first; a token whose net is unmeasured is on neither.

    One of: bought, sold

  • offsetintegerquery

    Where the side's page starts; only with side. Each page is the next 20, read as the answer is, so a token near a page's edge can show on both or neither.

    Default 00–100,000

  • launchpadlistquery

    Launchpad families, as market.launchpads in GET /v1/meta/filters lists them, each optionally chain-qualified, like bnb:flap; a bare other or unknown is dropped and never narrows the list, though bnb:other is kept, and a name outside the catalogue is ignored.

  • dexlistquery

    DEX signals; a token with any of them matches, and a name outside the vocabulary is ignored.

    Any of: paid, boost, cto

  • feesenumquery

    Whether the token's launchpad shares its fees.

    Default anyOne of: any, shared, not_shared

  • pairlistquery

    Stock tickers the token pairs with, or ANY-STOCK for any stock.

    up to 12 items

  • minMcapnumberquery

    Market cap at least. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • maxMcapnumberquery

    Market cap at most. Tokens with no cap yet are kept — a brand-new one is small by definition. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • minLiqnumberquery

    Pool depth at least — what the token can absorb before price moves. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • maxLiqnumberquery

    Pool depth at most. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • minLiqPctnumberquery

    Depth as a share of market cap — how much of the cap there is real money behind. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • minHoldersnumberquery

    Wallets holding the token on chain, at least, as its data provider last counted them; a token nobody counted is in no band. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • minFomoHoldersnumberquery

    Wallets on fomo still holding a position. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • minHeldPctnumberquery

    Share of circulating supply sitting in fomo wallets — how much of the token the crowd here owns. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • minAthnumberquery

    Multiple back to the all-time high, at least — headroom above the current price. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • maxAthnumberquery

    Multiple back to the high, at most — near its own top. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • maxAgenumberquery

    Younger than, in hours since the token launched on chain, or first traded on our tape where that came first or no launch is dated. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • minAgenumberquery

    Older than, in hours since the token launched on chain, or first traded on our tape where that came first or no launch is dated. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • minCurvenumberquery

    Bonding-curve progress, at least, in percent; a token that has graduated counts as 101. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

  • maxCurvenumberquery

    Bonding-curve progress, at most, in percent; 100 keeps only tokens still on their curve. A plain number, read exactly, on the Board's day, where a token it does not list yet is left out.

    0–1,000,000,000,000,000

trader bounds:

  • walletaddressrequiredquery

    The wallet's address; a Solana wallet keeps its case.

traderPortfolio bounds:

  • walletaddressrequiredquery

    The wallet's address; a Solana wallet keeps its case.

pool bounds:

  • chainenumquery

    The token's chain.

    Default robinhoodOne of: robinhood, bnb

  • tokenaddressrequiredquery

    The token's EVM address.

Limits

  • Requests120 a minute, per IP
  • Reads waiting on a build64 at once, per server process
  • Reads waiting on a build8 at once, per IP
  • Reads with a sign-in, once enforced, every /v1/public/ route together1,000 a minute by default, per account

Errors

invalid_query, method_not_allowed, rate_limited, sign_in_required, sign_in_unavailable, stream_capacity, market_unavailable, market_warming, market_fold_pending, filter_too_broad, server_draining

curl -s "https://api.traktor.fun/v1/public/market?resource=tokenTrades&query=chain%3Dbase%26address%3D0x4444444444444444444444444444444444444444"
Response 200
{
  "chain": "base",
  "address": "0x4444444444444444444444444444444444444444",
  "trades": [
    {
      "id": "base:0x5555555555555555555555555555555555555555555555555555555555555555:0",
      "timestamp": "2026-10-03T12:00:00.000Z",
      "side": "buy",
      "platform": "fomo",
      "usdAmount": 250.4,
      "priceUsd": 0.00041
    }
  ]
}
  • The answer is the resource's JSON itself, with no { data, meta } envelope. A key the resource does not take, a key given twice, or a parameter besides resource and query is 400 invalid_query.

  • The market keys read names leniently: a chain or app the vocabulary lacks is ignored, so chain=polygon answers for every chain and chain=bnb,polygon for bnb alone, where the metered routes refuse both. Every other chain key, on marketSwaps, pool, the token resources and the trader resources, refuses a name it does not know.

  • A resource's own keys are bounded on the block, under its name; the market keys are listed there by name alone. Their amounts are plain numbers, so minMcap=150k is 400 invalid_query. Every screen is answered for exactly the number you send, so the rows, totals and nodes are the screen's own and there is no surplus to drop. filter.screens in a flow or tape body echoes the values served. marketSwaps reaches further back than the board's windows.

  • tape takes minPnl, minWinRate, marks and namedOnly to keep the trades of wallets by their own year, the marks a source gives them and whether any source names them. A wallet with no reading clears no floor, and each row of a tape so screened carries walletYear, the figures it passed on. flow takes them only with views=tape, and they narrow its tape alone. A server that has not yet loaded the wallets' figures answers 503 market_warming.

  • Each tape row carries netUsd, its token's net flow over the window, the hour where a market tape names none, as an unscreened tokens row sums it over the same apps: the market's figure, every wallet's, even under wallets. It is absent, never zero, where the server has not yet loaded the window's minute buckets, and null, as its token's row serves it, where a side of that token's flow traded with none of its trades priced.

  • tape, under a launchpad, stock-pair, DEX-signal or fee screen, or a screen on who traded that holds more than 10,000 wallets, fails rather than answer a short list when too many candidates would have to be read.

  • A minBalance floor that selects more than 5,000 wallets is 422 filter_too_broad, over HTTP and as the socket's unavailable code, as the metered routes refuse it: raise the floor. A view already built under a floor that later crosses the limit is served stale instead, as after any failed rebuild.

  • In marketSwaps, each hop of a route is its own execution, so it never totals a user's trade.

  • tokenTrades marks a swap from a block not yet confirmed unconfirmed: true. Once the block is confirmed the swap is listed without the mark, or dropped if the block was replaced. A confirming swap can be missing for one update before it is listed again, so a missing swap alone does not mean its block was replaced.

  • tokenTopBuys answers 503 market_warming while the server ranks no trader with a measured year or holds none of their trades, never an empty list. A trader's week and month are null where they have not been measured, and until the server's first read of them, made once an answer names the trader, lands. A buy's tokens and priceUsd are null where its rows don't count its buys, and until the server's first read of them, made once an answer names the buy, lands. Each trader carries wallets, every wallet the directory lists for them, in the directory's order.

  • tokenTopTraders answers 503 market_warming as tokenTopBuys does, never an empty list. Its summary is the board row's topTradersFlow for the same window, with each app's buyers; traders names 50 at a time, the most bought first: offset, a multiple of 50 up to 9,950, starts the page there, every page carries the whole summary, and more counts the traders past the page. others is every other wallet that bought the token over the same minutes, from the trades the answering server holds: buyUsd (null where none of their buys was priced), buyers (wallets, so one person's two wallets are two), unpriced buys, and apps, each app's priced dollars and the wallets that made a priced buy there. It is null while that server's trades don't reach back over the window, when its syncs interrupted two reads of them running, or when the read fails, never an empty window. A trader nobody names has a null name; every trader, named or not, carries wallets as tokenTopBuys does. A trader's coin is their year in the token: avgEntryUsd and avgExitUsd (dollars a token each way), realizedUsd, and heldBoughtTokens and costUsd to value what they still hold at your price (both null where it can't be costed); it is absent until a data provider has answered for each of their wallets.

  • A failed pool read is still a 200, with state: "error", its code and a sentence for a person, so read state. pool_not_found means the pool directory knows no pool for the token yet, pool_unreadable that none of its pools could be charted, or that the token's own price is refused (a honeypot's, or a cap its pool can't carry), and upstream_failed that the pool directory or the chain failed or ran out of time, or that the server had spent its directory requests for the minute: a read no socket shares, an HTTP poll's, has 10 of them a minute on each server, within the 50 a minute every server spends together, 20 of it left to open pages. Where the token page withholds the token's cap, or the holders' census would withhold the cap the pool's own price makes, the read is still state: "ok", with supply, marketCap, floorMcap and ceilMcap null.

  • An answer carries X-Market-Revision, the answering server's count of the view's changes, which another server, or the same one later, numbers afresh, so compare ETags across answers, never revisions. X-Market-Cursor is the change notification its build started from, and Age the view's age in seconds. x-market-stale: 1 means the last rebuild failed and you got the view built before it, which no cache may keep.

  • A fresh answer carries a weak ETag, a digest of its bytes: send it back as If-None-Match, and any server holding the same bytes answers 304. Some bodies carry the answering server's own clock or reads, such as generatedAt in a token body or sources[].fetchedAt in an assets one: no other server holds those bytes, so only the server that answered can answer 304, and only until a rebuild changes them.

  • No Access-Control-Expose-Headers names those headers, so a script on another origin reads the body but not them.

  • An error comes in the shorter envelope, code and message alone. A price here is not an executable quote. To keep a view current, subscribe to it on the market stream instead of polling.

q is a full contract or Solana mint, which finds the token on every chain the index holds it on; 0x and six or more hex digits, which finds the contracts that start with them; or a ticker or its start, in any case. A ticker also finds a tokenized stock by its underlying ticker in full (bCOIN by COIN), or, from three characters, by the start of that ticker or of the company's name (tesla, coinbase glob). A ticker or a contract's start leaves out a major, such as a stablecoin or a wrapped or bridged coin, and a token no launchpad we know made, save a stock an issuer verifies, while its full contract still finds either. That rule runs over a bounded read of the closest matches, so a ticker or a contract's start that many such tokens share can come back short. A token's own name is not searched, and a query with anything but one q is 400 invalid_query. Each row dates its market cap as a board row does (Fields and clocks), but its metadataAt is an ISO time where a board row's is Unix milliseconds. Its launchpad is the launchpad the index names for the token, as a board row's is, and null where it names none, never a guess.

Only a full contract or mint the index does not hold is asked of an outside token directory, and that answer comes back apart, under external, with no market cap: its tokens is empty when the directory did not know the address, and null when it could not be asked. An answer says in Cache-Control how long it may be shared, with an ETag, except one whose external.tokens is null, which is no-store. Each server builds its own answer, dated to the millisecond in asOf, and keeps it as long as it may be shared, so a 304 comes only from the server that answered, inside that window. 429 rate_limited and 503 data_unavailable carry Retry-After.

    Public market and search · Traktor API