Skip to main content
The Pari API is a read-only HTTP API. It serves tokens, trades, wallet positions and protocol data as JSON. It takes no key, and it cannot build or send a transaction. To write, use the SDK or the CLI. Pari is live on Solana and built to run on more chains. The API serves devnet only today.

Base URL

Every route lives under https://api.pariprotocol.xyz. Try it:
The examples below use a real token and wallet. Set them once:

Reading the numbers

  • Amounts are decimal strings in base units, so they never lose precision.
  • Each token states its quote: the mint, symbol and decimals of the asset its amounts are in.
  • Token balances have 6 decimals.
  • Times are Unix seconds.
  • USD fields are null when no price is known.
  • finalized is true once the data comes from a final slot.

Paging

List routes return one page:
  • limit sets the page size. The default is 50 and the most is 100. A larger value is lowered to 100.
  • cursor asks for the next page. Pass the next value from the page before.
  • next is null on the last page.
  • A cursor is opaque. Do not build or change one.

Errors

Every error has the same body:
Browsers can only call the API from the Pari site. Call it from your own server or script.

Data and analytics

Tokenized stocks are not offered to US persons.

Tokens

GET /v1/tokens takes these filters:
For what the fee data means, see Fees.

Trades

candles takes these parameters and returns at most 1000 buckets per call:

Wallet positions

A SOL token’s rewards wait in its vault until the holder takes them; the row carries what a claim needs. A stock token’s rewards are sent by the protocol, and status reports where each leaf is: waiting, queued, delivered, recommit-pending, recommitted or cancelled.

Live feed

GET /v1/stream is a live feed of server-sent events. It stays open and sends each event as it happens.
Each event has an event name, an id and JSON data. The feed can also send three control events:
  • retract withdraws earlier events.
  • reset means you fell too far behind. Fetch the data again.
  • slow means your client read too slowly. The server then closes the connection, so reconnect with after.
The SDK reads this feed for you and reconnects when it drops.