Chord · Schema
SolTradeQuote
One executable quote.
FinanceTradingArtificial IntelligenceCryptocurrency
Properties
| Name | Type | Description |
|---|---|---|
| ok | boolean | |
| route | string | `direct` = Chord's own route (pump pools or Chord's router) · `jupiter` = Jupiter's swap API · `jupiter_meta` = Jupiter's order (RFQ makers, DFlow, OKX). |
| mint | string | Solana address, base58, case-sensitive. Never lower-case it. |
| side | string | |
| inAmount | string | What the wallet puts in: lamports for a buy, the token's smallest unit for a sell. |
| outAmount | string | What the simulation of `tx` delivered to the wallet: tokens for a buy, lamports for a sell (wSOL counted as SOL), after every fee. |
| minOut | string | The least the transaction accepts before it fails, from `slippageBps`. |
| slippageBps | integer | |
| feeLamports | string | Chord's fee. 0 today. |
| feeBps | integer | Chord's fee rate. 0 today. |
| networkFeeLamports | integer | Base + priority fee the wallet pays; 0 when Jupiter or a market maker pays (`gasless`). |
| units | integer | Compute units of the simulation. |
| walletLamportsDelta | string | The wallet's whole SOL change in the simulation, network fee and rent of new accounts included. |
| tx | string | The unsigned v0 transaction, base64 — exactly what was simulated. Sign it unchanged and POST it to `/sol/trade/send`. |
| txBytes | integer | |
| blockhash | string | |
| lastValidBlockHeight | integer | After this block height the transaction can no longer land. |
| simulatedSlot | integer | |
| ms | number | |
| venue | string | `direct` only: where it trades (the largest leg when the order is split): `pumpswap`, `pumpfun`, `raydium_v4`, `raydium_cpmm`, `raydium_clmm`, `orca`, `meteora_dlmm`, `meteora_damm_v2`, `meteora_dbc`, |
| layout | string | `direct` on a pump pool: the instruction layout copied. |
| solBased | boolean | A PumpSwap pool whose base is SOL. |
| pool | string | Solana address, base58, case-sensitive. Never lower-case it. |
| partial | boolean | A pump.fun curve had fewer tokens left than the input buys: the quote takes all it has, for at most `inAmount`. |
| hops | array | The legs: Chord's router (one or two pools) or Jupiter's route plan. |
| router | string | `jupiter_meta`: which router won Jupiter's auction (`metis`, `jupiterz`, `dflow`, `okx`). |
| gasless | boolean | `jupiter_meta`: Jupiter or the market maker pays the network fee; the wallet is a second signer. |
| expireAt | integer | `jupiter_meta` RFQ quotes: Unix seconds the market maker's price lives to. Ask again when under ten seconds are left. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/getchord-xyz/json-schema/getchord-xyz-sol-trade-quote-schema.json",
"title": "SolTradeQuote",
"description": "One executable quote.",
"x-generated": "2026-11-10",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/getchord-xyz-openapi.json#/components/schemas/SolTradeQuote",
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"const": true
},
"route": {
"type": "string",
"enum": [
"direct",
"jupiter",
"jupiter_meta"
],
"description": "`direct` = Chord's own route (pump pools or Chord's router) · `jupiter` = Jupiter's swap API · `jupiter_meta` = Jupiter's order (RFQ makers, DFlow, OKX)."
},
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "Solana address, base58, case-sensitive. Never lower-case it."
},
"side": {
"type": "string",
"enum": [
"buy",
"sell"
]
},
"inAmount": {
"type": "string",
"pattern": "^\\d+$",
"description": "What the wallet puts in: lamports for a buy, the token's smallest unit for a sell."
},
"outAmount": {
"type": "string",
"pattern": "^\\d+$",
"description": "What the simulation of `tx` delivered to the wallet: tokens for a buy, lamports for a sell (wSOL counted as SOL), after every fee."
},
"minOut": {
"type": "string",
"pattern": "^\\d+$",
"description": "The least the transaction accepts before it fails, from `slippageBps`."
},
"slippageBps": {
"type": "integer",
"description": ""
},
"feeLamports": {
"type": "string",
"pattern": "^\\d+$",
"description": "Chord's fee. 0 today."
},
"feeBps": {
"type": "integer",
"description": "Chord's fee rate. 0 today."
},
"networkFeeLamports": {
"type": "integer",
"description": "Base + priority fee the wallet pays; 0 when Jupiter or a market maker pays (`gasless`)."
},
"units": {
"type": "integer",
"description": "Compute units of the simulation."
},
"walletLamportsDelta": {
"type": "string",
"pattern": "^-?\\d+$",
"description": "The wallet's whole SOL change in the simulation, network fee and rent of new accounts included."
},
"tx": {
"type": "string",
"description": "The unsigned v0 transaction, base64 — exactly what was simulated. Sign it unchanged and POST it to `/sol/trade/send`."
},
"txBytes": {
"type": "integer",
"description": ""
},
"blockhash": {
"type": "string",
"description": ""
},
"lastValidBlockHeight": {
"type": "integer",
"description": "After this block height the transaction can no longer land."
},
"simulatedSlot": {
"type": "integer",
"description": ""
},
"ms": {
"type": "number",
"description": ""
},
"venue": {
"type": "string",
"description": "`direct` only: where it trades (the largest leg when the order is split): `pumpswap`, `pumpfun`, `raydium_v4`, `raydium_cpmm`, `raydium_clmm`, `orca`, `meteora_dlmm`, `meteora_damm_v2`, `meteora_dbc`, `raydium_launchlab`."
},
"layout": {
"type": "string",
"description": "`direct` on a pump pool: the instruction layout copied."
},
"solBased": {
"type": "boolean",
"description": "A PumpSwap pool whose base is SOL."
},
"pool": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "Solana address, base58, case-sensitive. Never lower-case it."
},
"partial": {
"type": "boolean",
"description": "A pump.fun curve had fewer tokens left than the input buys: the quote takes all it has, for at most `inAmount`."
},
"hops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "Venue."
},
"pool": {
"type": "string",
"description": "Pool."
},
"percent": {
"type": "number",
"description": "Share of the input, %."
}
}
},
"description": "The legs: Chord's router (one or two pools) or Jupiter's route plan."
},
"router": {
"type": "string",
"description": "`jupiter_meta`: which router won Jupiter's auction (`metis`, `jupiterz`, `dflow`, `okx`)."
},
"gasless": {
"type": "boolean",
"description": "`jupiter_meta`: Jupiter or the market maker pays the network fee; the wallet is a second signer."
},
"expireAt": {
"type": "integer",
"description": "`jupiter_meta` RFQ quotes: Unix seconds the market maker's price lives to. Ask again when under ten seconds are left."
}
},
"required": [
"ok",
"route",
"mint",
"side",
"inAmount",
"outAmount",
"minOut",
"tx"
]
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/getchord-xyz-sol-trade-quote"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.