openapi.yaml and grouped by tag:
- info —
GET /healthcheck,GET /info/tokens/101,GET /info/liquidity-sources/101 - sor —
POST /sor/quote/v3,POST /sor/assemble(the quote → assemble flow) - rfq —
POST /v1/rfq/quote,POST /v1/rfq/assemble,GET /v1/rfq/{pathId},POST /v1/intents(partner RFQ — parked in v1, return501)
Conventions
- chainId is always
101(Solana mainnet). - Amounts are base units as decimal strings (e.g.
"1000000"= 1.0 for a 6-decimal mint). - Mints are base58 addresses.
- A pathId is valid for ~60 seconds and binds the
userAddrfrom the quote.
Rate limits
Limits are per client IP, as a token bucket — a burst is allowed above the sustained rate, then the bucket refills. Two classes apply:
The pricing class is layered on top of the general one, so a pricing call draws from both.
Over the limit returns
429 with a Retry-After header in whole seconds and a JSON body
naming the class that refused you. Back off for that long rather than retrying immediately —
a retry before the bucket refills just spends another token.
Need a higher limit for an integration? Mail rafael@unblockthechain.com with the pair, expected
request rate, and whether you are polling quotes or quoting on demand.