Solana swaps

A wallet's SOL and tokens

SOL and every token the wallet holds (both token programs, accounts summed), at most 50 by value; more = left out. Name, image and price from Chord's tape (null for a token it never saw).

Open to everyone since 2026-10-15, no key needed (an X-API-Key raises the rate limit). /sol/trade/config says whether the lane is on for the caller; when it is off the other routes answer 503 TRADE_NOT_ENABLED.

A quote is SOL against one token, bought or sold. For every quote Chord builds, for your wallet, the transaction of each route — direct (Chord's own router: Raydium AMM v4 / CPMM / CLMM, Orca Whirlpool, Meteora DLMM / DAMM v2, Meteora DBC, Raydium LaunchLab, pump.fun, PumpSwap; up to two pools), jupiter (Jupiter's swap API, no Jupiter fee) and jupiter_meta (Jupiter's order: Metis, its RFQ market makers, DFlow, OKX; Jupiter's fee inside the amount) — simulates each on the chain and returns the one that leaves the wallet with the most: tokens for a buy, SOL for a sell, after every fee. Ties go to direct, then jupiter. A route handing back under half of the input's market value is refused.

Amounts are base units as decimal strings: lamports for SOL, the token's smallest unit otherwise. Addresses are base58, case-sensitive. Chord takes no fee on Solana today. Nothing is signed by Chord: you sign quote.tx unchanged and send it back.

get/sol/trade/holdings

Request

  • Base URL: https://api.getchord.xyz/v1
  • URL: https://api.getchord.xyz/v1/sol/trade/holdings
  • Auth: none declared

Query parameters

walletstring required

Solana address, base58, case-sensitive. Never lower-case it.

Response

walletstring

Solana address, base58, case-sensitive. Never lower-case it.

lamportsstring

Base units as a decimal string (lamports for SOL).

slotinteger
moreinteger

Changes

No recorded changes to this operation across all 2 revisions of this API.