Skip to main content
Python functions: searchJupiterTokens(), screenJupiterTokens(), getJupiterOHLCV(), getJupiterPrice(), getJupiterHoldings(), getJupiterTokenTrades(), getJupiterTokenHolders(), getJupiterWalletTrades(), screenJupiterWallets(), getJupiterTokenTopTraders()

Product Overview

Overview

Jupiter Data provides comprehensive access to the Solana token universe through Jupiter, Solana’s dominant DEX aggregator. The dataset spans ten functions covering token discovery, price history, live pricing, wallet holdings, trade tape, holder analysis, and trader leaderboards. Because everything on Solana is public on-chain data, this dataset goes far beyond price feeds: you can inspect any wallet’s holdings and swap history, see who is buying or selling a token right now, and rank traders by realized PnL — no authentication needed. That is the raw material for copy-trading, whale-watching, and flow-driven strategies that are impossible to build on centralized-exchange data. The universe includes a distinctive asset class: tokenized equities and pre-IPO tokens (xStocks like tokenized AAPL and NVDA, and pre-IPO tokens for SpaceX, OpenAI, Anthropic, Anduril). These trade 24/7 on-chain, giving price discovery for hours when traditional markets are closed — and for companies that are not publicly listed at all.

Functions at a Glance

Data Sources

Data flows through the Scalar Field data server, which proxies two upstream sources:
  • Jupiter APIs (Price v3, Tokens v2, Ultra): live aggregated prices, 24h stats, liquidity, token metadata, verification status, organic scores, and wallet balances. Jupiter aggregates liquidity across all major Solana DEXes (Raydium, Orca/Whirlpool, Meteora, and more), so prices reflect the whole on-chain market rather than a single pool.
  • Birdeye (Solana DeFi analytics): OHLCV candles aggregated from on-chain swaps per token mint, token trade tape with trading wallets, top holders, per-wallet swap history, top traders, and the trader PnL leaderboard.
Wallet holdings and swaps are public on-chain data — any address works, no authentication needed.

Ticker Convention

Jupiter tokens use the J: namespace prefix, consistent with other Scalar Field asset classes (H: Hyperliquid, X: crypto, I: indices, C: forex). The canonical (and only) form is J:<mint_address>: Symbols are not accepted — they are ambiguous on Solana (lookalike tokens share symbols). Always resolve tokens to their mint via searchJupiterTokens() or screenJupiterTokens(). Bare mint addresses are also accepted as input. J: tickers also work directly with the cross-asset functions getOHLCV() and getLatestPrice(), and with venue.trade() on the WALLET_SOL (Jupiter) venue — so a signal built here can be executed without ticker translation. See Trading on Jupiter DEX for order semantics and connection steps, and Strategies for the automation framework.

Querying the Data

searchJupiterTokens()

Search for verified tokens tradeable on Jupiter DEX by name, symbol, or mint address. This is the entry point of every Jupiter workflow — it resolves a human-readable name to the canonical J: ticker used by every other function. Strategy angle: the resolver step of any strategy. A pre-IPO exposure strategy starts with searchJupiterTokens("spacex"); a pairs trade between tokenized and real equities starts by resolving the xStock mint for "AAPL".

Parameters

Return Schema


screenJupiterTokens()

Discover tokens by market-activity category (trending, most traded, highest organic score, recently listed) or by tag (verified, liquid staking tokens). Rankings come from the Jupiter Tokens v2 API. Strategy angle: universe selection for flow-driven strategies. A momentum strategy screens toptraded over the last hour; a new-listing strategy watches recent with liquidity filters to catch tokens early while avoiding illiquid traps; the organic_score (0–100 real-activity score) helps filter wash-traded tokens out of any universe.

Parameters

Return Schema


getJupiterOHLCV()

OHLCV candles for Jupiter tokens at daily, hourly, or minute granularity, aggregated by Birdeye from on-chain swaps across all Solana DEXes. Accepts multiple tokens per call. Omit start and end for live mode (latest bar). Minute data is limited to 20 days per request. Strategy angle: the backtesting backbone. For tokenized equities specifically, the 24/7 on-chain session opens strategies unavailable in traditional markets — e.g. trade the reaction to after-hours earnings through the xStock and exit before NYSE opens, or study weekend drift in tokenized SPY as a Monday-open signal. For pre-IPO tokens, daily bars are the only continuous price history that exists for those companies.

Parameters

Return Schema

Returns Dict[str, pd.DataFrame] keyed by token. Each DataFrame:

getJupiterPrice()

Live prices with 24h change and liquidity. Jupiter is a swap aggregator with no central order book, so there are no bids/asks — just the aggregated live price across all pools. Strategy angle: the pre-trade check for every on-chain strategy. The liquidity field matters as much as the price: a strategy should size positions relative to pool liquidity (e.g. cap orders at a small fraction of it) to keep swap slippage economic.

Parameters

Return Schema

Returns Dict[str, dict] keyed by token:

getJupiterHoldings()

Token balances for any Solana wallet — native SOL plus all SPL token balances, priced live and sorted by USD value. Balances are public on-chain data; no authentication needed. Strategy angle: the portfolio X-ray of a copy-trading pipeline. Once screenJupiterWallets() or getJupiterTokenTopTraders() surfaces an interesting wallet, this shows its full current book — snapshot it on a schedule and trade on the changes (new positions appearing, old ones shrinking).

Parameters

Return Schema

One row per holding, sorted by usd_value descending:

getJupiterTokenTrades()

Recent swaps for a token across all Solana DEXes, with the trading wallets. This is the live tape: who is buying and selling right now, in what size, on which venue. Strategy angle: flow analysis and wallet discovery. Compute net buy-minus-sell flow over the recent tape as a short-horizon pressure signal; filter for large trades (min_usd_value) to isolate informed flow; and feed the discovered wallets straight into getJupiterHoldings() to see what else the buyers hold.

Parameters

Return Schema

Trades sorted newest first:

getJupiterTokenHolders()

Top holders of a token, ranked by balance, with USD value and share of total supply. Strategy angle: the concentration-risk screen. Before entering any small-cap token position, check what share of supply the top 10 wallets control — a token where a handful of wallets hold most of the float can be dumped on you at any moment. Persistent accumulation by top holders across snapshots is conversely a bullish structural signal.

Parameters

Return Schema


getJupiterWalletTrades()

Swap history for any Solana wallet across all DEXes. Each swap has two legs; the row describes the “traded token” — the non-SOL/USDC/USDT leg when one exists — with the other leg as counter symbol/amount. Strategy angle: where copy-trading gets precise. Holdings tell you what a wallet owns; the swap history tells you when and how it got there — does the trader scale in, chase pumps, or accumulate quietly? Grouping buys by symbol reveals what a profitable wallet is currently accumulating, which is often the actionable signal.

Parameters

Return Schema

Swaps sorted newest first:

screenJupiterWallets()

Trader PnL leaderboard for Solana wallets, with realized/unrealized breakdown, volume, and trade count over the selected window. Strategy angle: the discovery step of a copy-trading pipeline. Rank by PnL, then audit the shortlist with getJupiterWalletTrades() (is the edge repeatable, or one lucky trade?) and getJupiterHoldings() (what do they hold now?). The realized/unrealized split matters: a wallet whose PnL is mostly unrealized in one illiquid token is a very different copy candidate than one with steady realized gains.

Parameters

Return Schema

Wallets sorted by PnL descending:

getJupiterTokenTopTraders()

The most active wallets in a token by volume over a chosen window, with buy/sell breakdowns and Birdeye wallet tags (e.g. 'whale', 'bundler'). Strategy angle: complements the raw tape (getJupiterTokenTrades()) and static balances (getJupiterTokenHolders()) with who is moving size right now. Net buyers among tagged whales is a strong accumulation signal; a token whose top traders are mostly bundlers is a red flag for manufactured volume.

Parameters

Return Schema

Traders sorted by volume descending:

Strategy Playbook

Concrete ways to combine these functions into a strategy:
  • Copy-trading. screenJupiterWallets() to shortlist profitable traders, getJupiterWalletTrades() to audit their realized edge and style, then poll getJupiterHoldings() on a schedule and mirror position changes via venue.trade() on the Jupiter venue.
  • Tokenized-equity hours arbitrage. xStocks trade 24/7 while the underlying stocks trade 9:30–16:00 ET. Use getJupiterOHLCV() on the xStock alongside equity OHLCV on the underlying to study overnight/weekend divergence, and trade the on-chain leg when traditional markets are closed.
  • Pre-IPO exposure. searchJupiterTokens("spacex") and friends give continuous price discovery for private companies. Combine daily OHLCV with holder concentration (getJupiterTokenHolders()) to size positions responsibly in these thinner markets.
  • Whale-flow momentum. getJupiterTokenTopTraders() and getJupiterTokenTrades(min_usd_value=...) surface large net buying in a token; confirm with rising organic_score and liquidity from screenJupiterTokens(), then enter with size capped against getJupiterPrice() liquidity.
  • New-listing screens. screenJupiterTokens(category='recent') with min_liquidity and holder-concentration checks builds a filtered feed of tradeable new tokens while screening out honeypots and bundler-driven volume.