Trades API
The REST history side of the live trades feed: recent tracked-wallet trades across all wallets, newest first. It returns the same concealed payload the live WebSocket feed pushes, so you can backfill what happened before you connected and then keep the table live over the socket without reshaping anything.
This endpoint requires your API key (Authorization: Bearer <API_KEY>) and costs
heavier credits, the same as /tokens/{mint}/swaps.
Use this endpoint to load a starting page (and to page back through older trades). For real-time trades as they happen, subscribe to the WebSocket feed instead of polling.
Recent trades
GET /trades
One page of recent tracked-wallet trades, newest first. Cursor paginated.
curl "https://api.prysmatic-sol.xyz/trades?limit=25" -H "Authorization: Bearer <API_KEY>"
Query parameters
| Name | Type | Default | Description |
|---|---|---|---|
limit | int | 25 | Number of rows to return (1..100). |
cursor | string | none | Cursor from the previous response's next_cursor. |
Response
{
"count": 1,
"limit": 25,
"has_more": true,
"next_cursor": "eyJ0IjoxNzgxNDA0NTExLCJpIjo5MzQyfQ",
"items": [
{
"block_time": 1781404511,
"wallet": "W240",
"side": "buy",
"mint": "4Sm4YsjRrvSRQ4x1P86ncqumV3ZVgXxtFMKjiL8vpump",
"token_amount": "20415437641764",
"decimals": 6,
"sol_amount": 4.063765757,
"quote_mint": "So11111111111111111111111111111111111111112",
"quote_amount": "4063765757",
"program": "pump.fun"
}
]
}
| Field | Meaning |
|---|---|
block_time | Trade time (unix seconds). |
wallet | Wallet alias (never a real address). |
side | buy or sell. |
mint | The traded token (memecoin). |
token_amount | Raw token amount (divide by 10 ^ decimals). |
sol_amount | Already in SOL (not lamports); 0 when the quote is not WSOL. |
quote_mint | The quote coin (WSOL / USDC / USDT), or null. |
quote_amount | Raw quote amount. For WSOL it is lamports (/ 1e9 for SOL). |
program | The DEX / launchpad the swap routed through. |
This is the exact shape of the WebSocket trades payload,
so the same parsing works for both surfaces.
Pagination
The response is keyset paginated. When has_more is true, pass the returned
next_cursor to fetch the next (older) page:
curl "https://api.prysmatic-sol.xyz/trades?limit=25&cursor=eyJ0IjoxNzgxNDA0NTExLCJpIjo5MzQyfQ" -H "Authorization: Bearer <API_KEY>"
Keep following next_cursor until has_more is false. The cursor is opaque —
treat it as a token, do not parse it. A malformed cursor returns 400 invalid_cursor.
New trades always arrive at the head of the first page; paging with the cursor walks strictly backwards in time, so it never skips or repeats a trade even as fresh trades come in.