Stocks
The stock board and the stock registry under a key.
These routes answer with the same views Traktor's stock board reads, in the v1 envelope and drawn from your plan's units.
GET /v1/stocks
The board's tokens that pair with a stock, grouped by the stock they pair with.
- Credential
- API key
- REST units
- 3 units
chainslistqueryChains to include; empty means all.
Any of:
solana,robinhood,bnb,base,arc,arbitrum,ethereum,monad,hyperevm,elysiumplatformslistqueryApps to include; empty means all.
Any of:
fomo,gmgn,pump,axiom,coinbase,padre,maestro,bloom,trojan,bonkbot,bankr,photonwindowMinutesenumqueryThe window, in minutes.
Default
60One of:5,15,30,60,240,1440dexSignalslistqueryDEX signals; a token with any of them matches.
Any of:
paid,boost,ctostockPairslistqueryThe stocks to show, by ticker, comma-separated; empty means every stock.
up to 12 items
minNetmoneyqueryNet flow at least. A negative floor keeps outflow in view rather than screening it away.
maxNetmoneyqueryNet flow at most — set it negative to find only what is being distributed.
minVolumemoneyqueryTraded volume at least, both sides together.
from 0
minBuyersintegerqueryDistinct buying wallets at least — breadth, where volume is only size.
from 0
minSellersintegerqueryDistinct selling wallets at least.
from 0
minTradesintegerqueryTrades at least.
from 0
minRationumberqueryDollars bought per dollar sold — 2 means twice as much buying as selling.
from 0
minChangenumberqueryPrice move across the window, at least. Negative finds what is falling.
maxChangenumberqueryPrice move across the window, at most.
minTopTradersmoneyqueryWhat the top 10,000 traders by year profit bought in the window, at least. Counted over the Board's six windows alone: on any other window, or for a buy with nothing priced, a token is in no band.
from 0
minMcapmoneyqueryMarket cap at least.
from 0
maxMcapmoneyqueryMarket cap at most. Tokens with no cap yet are kept — a brand-new one is small by definition.
from 0
minLiqmoneyqueryPool depth at least — what the token can absorb before price moves.
from 0
maxLiqmoneyqueryPool depth at most.
from 0
minLiqPctnumberqueryDepth as a share of market cap — how much of the cap there is real money behind.
from 0
minHoldersintegerqueryWallets holding the token on chain, at least, as its data provider last counted them; a token nobody counted is in no band.
from 0
minFomoHoldersintegerqueryWallets on fomo still holding a position.
from 0
minHeldPctnumberqueryShare of circulating supply sitting in fomo wallets — how much of the token the crowd here owns.
from 0
minAthnumberqueryMultiple back to the all-time high, at least — headroom above the current price.
from 0
maxAthnumberqueryMultiple back to the high, at most — near its own top.
from 0
maxAgestringqueryYounger than, in hours since the token launched on chain, or first traded on our tape where that came first or no launch is dated. Takes hours above zero, or a duration such as
30m,4hor3d.minAgestringqueryOlder than, in hours since the token launched on chain, or first traded on our tape where that came first or no launch is dated. Takes hours above zero, or a duration such as
30m,4hor3d.minCurvenumberqueryBonding-curve progress, at least, in percent; a token that has graduated counts as 101.
from 0
maxCurvenumberqueryBonding-curve progress, at most, in percent; 100 keeps only tokens still on their curve.
from 0
rankenumqueryHow the stocks are ranked.
Default
netOne of:volume,net,mcapstockstringqueryOne stock's group, as
ticker:<TICKER>oraddress:<chain>:<address>, to page through its tokens.offsetintegerqueryTokens to skip inside the
stockgroup.Default
0from 0
Limits
- Invalid keys30 a minute, per IP
Errors
invalid_parameter, unknown_parameter, duplicate_query_parameter, route_not_found, data_unavailable, market_busy, market_fold_pending, window_out_of_range, screen_conflict, too_many_addresses, missing_credentials, invalid_key, key_revoked, subscription_inactive, key_in_query, method_not_allowed, rate_limited, quota_exhausted, rate_limit_unavailable, internal_error
curl -s "https://api.traktor.fun/v1/stocks?stockPairs=NVDA,TSLA&stock=ticker%3ANVDA" \
-H "Authorization: Bearer $TRAKTOR_API_KEY"const response = await fetch("https://api.traktor.fun/v1/stocks?stockPairs=NVDA,TSLA&stock=ticker%3ANVDA", {
headers: { Authorization: `Bearer ${process.env.TRAKTOR_API_KEY}` },
});
const body = await response.json();import os
import requests
response = requests.get(
"https://api.traktor.fun/v1/stocks",
params={"stockPairs": "NVDA,TSLA", "stock": "ticker:NVDA"},
headers={"Authorization": f"Bearer {os.environ['TRAKTOR_API_KEY']}"},
)
print(response.json())GET /v1/stocks/registry
The issuers' official tokenized stocks, and where the list came from.
- Credential
- API key
- REST units
- 1 unit
Limits
- Invalid keys30 a minute, per IP
Errors
invalid_parameter, unknown_parameter, duplicate_query_parameter, route_not_found, data_unavailable, market_busy, market_fold_pending, missing_credentials, invalid_key, key_revoked, subscription_inactive, key_in_query, method_not_allowed, rate_limited, quota_exhausted, rate_limit_unavailable, internal_error
curl -s "https://api.traktor.fun/v1/stocks/registry" \
-H "Authorization: Bearer $TRAKTOR_API_KEY"const response = await fetch("https://api.traktor.fun/v1/stocks/registry", {
headers: { Authorization: `Bearer ${process.env.TRAKTOR_API_KEY}` },
});
const body = await response.json();import os
import requests
response = requests.get(
"https://api.traktor.fun/v1/stocks/registry",
headers={"Authorization": f"Bearer {os.environ['TRAKTOR_API_KEY']}"},
)
print(response.json())Each answer is the view the server last built for that question, shared with every other reader of it, and meta.asOf dates that build. The board takes the names the market routes take, chains, platforms, windowMinutes, dexSignals, stockPairs and the screens, and reads them as the market filter does: a name it does not know is 400 invalid_parameter, never dropped. stockPairs names the stocks to show, up to 12 at once. The board ranks the stocks by net flow unless rank says otherwise, and stock with offset pages through one stock's tokens. Every key is checked before the request is admitted: a key the route does not take, or a value its grammar refuses, is a 400 with no X-Traktor-Cost.
A view still being built, or one that failed with nothing kept, is 503 data_unavailable, and its units come back, as on the Tokens page.