# A wallet's SOL and tokens

`GET https://api.getchord.xyz/v1/sol/trade/holdings`

Source: https://getchord.xyz/docs/api-reference/operations/soltradeholdings/

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.

## Parameters

| Name | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `wallet` | query | yes | string |  |

## Response 200

Example (captured from the live API):

```json
{
  "wallet": "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM",
  "lamports": "11175972108683952",
  "slot": 457371002,
  "more": 3059,
  "tokens": [
    {
      "mint": "BZLbGTNCSFfoth2GYDtwr7e4imWzpR5jqcUuGEwr646K",
      "amount": "9110839995100000",
      "decimals": 8,
      "symbol": "IO",
      "name": "IO",
      "image": "https://bafkreicnqsbhpzxiasdm5esr7fqi3vcjvcbfefo4sq4y3ff747rfqf7w7i.ipfs.nftstorage.link",
      "priceUsd": 0.16689062068413946,
      "valueUsd": 15205137.417361211
    },
    {
      "mint": "2qEHjDLDLbuBgRYvsxhc5D6uDWAivNFZGan56P1tpump",
      "amount": "305126997000000",
      "decimals": 6,
      "symbol": "Pnut",
      "name": "Peanut the Squirrel",
      "image": "https://ipfs.io/ipfs/QmNdTtJauw39u4DzGyTaZ35rRx4VgAxqb91wE89zjyHWd2",
      "priceUsd": 0.04610248419139405,
      "valueUsd": 14067112.555560041
    }
  ]
}
```

- **400**: `BAD_ADDRESS`.
- **503**: `TRADE_NOT_ENABLED` (the lane is off on this deployment, or not open to this caller yet) or `TRADE_UNAVAILABLE` (the Solana box did not answer). Retry later; do not read it as "no route".
