Execution:
venue.trade() in chat code, strategy.execute() in strategy agents. Data reference: Jupiter Data.Overview
Jupiter is a DEX aggregator on Solana that routes swaps across the chain’s liquidity venues (Raydium, Orca, Meteora, and others). Scalar Field connects to it through a managed, self-custodial Solana wallet (WALLET_SOL): the wallet holds USDC and token positions, and orders are executed as Jupiter swaps.
The tradeable universe is any Jupiter-verified Solana token. This includes tokenized equities (xStocks such as tokenized AAPL and NVDA) and pre-IPO tokens (SpaceX, OpenAI, Anthropic, Anduril), which trade continuously, including outside US market hours.
Order Semantics
- Symbols are
J:-prefixed mint addresses (e.g.J:DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263). Plain symbols likeBONKare not accepted — symbols are ambiguous on Solana because lookalike tokens share them. Resolve tokens withsearchJupiterTokens()orscreenJupiterTokens(). - Swaps are ExactIn: the requested quantity is converted to USDC at the current price, so
filled_qtymay differ slightly from the request due to slippage. Read actual holdings back fromvenue.positions()rather than assuming the requested quantity. - Fills are synchronous —
venue.trade()blocks until the swap confirms or fails.tx_hashin the response is the Solana transaction signature. - Fractional quantities are supported. Size from a dollar budget with
round(budget / price, 2). - A platform referral fee is collected on-chain during the swap;
fee_bpsandfee_amountappear in the trade response when active.
Connecting and Funding
- Scalar Field provisions a managed, self-custodial Solana wallet (
WALLET_SOL) — no external wallet is required. - Fund the wallet with USDC from the portfolio page. Wallet balances and positions are readable on-chain at any time.
Usage
strategy.execute(ticker, target_qty) instead — see Strategies.
Data Functions
All functions read public on-chain data; holdings and swap history are visible for any address. Full parameter and schema documentation: Jupiter Data.J: tickers also work with the cross-asset functions getOHLCV(), getLatestPrice(), and getLatestSnapshot().
Notes
- Jupiter has no central order book — there is no bid/ask, only the aggregated live price.
getLatestSnapshot()returnslastonly forJ:tickers. - Selling an entire position may leave a dust quantity from rounding; treat positions with
abs(market_value) < $0.10as closed. - Positions and balances read on-chain state that can lag a fill by a moment — allow for settlement delay before re-querying after a trade.
Related
- Jupiter Data — full function reference
- Strategies — automated strategy execution
- Supported Venues — venue registry and
venue.*functions - Trading Fees — includes the Jupiter fee schedule