Skip to content

API reference

Driven by openapi.json (also available as openapi.yaml). Each endpoint shows its request schema, response schema, and try-it-now panel.

Authenticate

POST
/sweetspot.api.v1.AuthService/Authenticate

Parameters

Header Parameters

Connect-Protocol-Version*
Type
number
Required
Valid values
1
Connect-Timeout-Ms
Type
number

Request Body

application/json
JSON
{
  
"pubkey": {
  
  
"key": "string"
  
},
  
"signature": {
  
  
"signature": "string"
  
}
}

Responses

Success

application/json
JSON
{
  
"sessionToken": "string",
  
"makerId": {
  
  
"id": 0
  
},
  
"expiresAt": {
  
  
"micros": 0
  
}
}

Playground

Headers
Body

Samples


Challenge

POST
/sweetspot.api.v1.AuthService/Challenge

Parameters

Header Parameters

Connect-Protocol-Version*
Type
number
Required
Valid values
1
Connect-Timeout-Ms
Type
number

Request Body

application/json
JSON
{
  
"pubkey": {
  
  
"key": "string"
  
}
}

Responses

Success

application/json
JSON
{
  
"nonce": "string",
  
"expiresAt": {
  
  
"micros": 0
  
}
}

Playground

Headers
Body

Samples


Revoke

POST
/sweetspot.api.v1.AuthService/Revoke

Parameters

Header Parameters

Connect-Protocol-Version*
Type
number
Required
Valid values
1
Connect-Timeout-Ms
Type
number

Request Body

application/json
JSON
{
  
"sessionToken": "string"
}

Responses

Success

application/json
JSON
{
}

Playground

Headers
Body

Samples


sweetspot.api.v1.BalanceService

Per-maker balance queries + streaming. Every RPC requires a session token
via authorization: Bearer <token> metadata.


Get

POST
/sweetspot.api.v1.BalanceService/Get

Parameters

Header Parameters

Connect-Protocol-Version*
Type
number
Required
Valid values
1
Connect-Timeout-Ms
Type
number

Request Body

application/json
JSON
{
  
"spotIds": [
  
  
{
  
  
  
"id": 0
  
  
}
  
]
}

Responses

Success

application/json
JSON
{
  
"balances": [
  
  
{
  
  
  
"makerId": {
  
  
  
  
"id": 0
  
  
  
},
  
  
  
"spotId": {
  
  
  
  
"id": 0
  
  
  
},
  
  
  
"balance": 0,
  
  
  
"slot": 0,
  
  
  
"ts": {
  
  
  
  
"micros": 0
  
  
  
}
  
  
}
  
]
}

Playground

Headers
Body

Samples


sweetspot.api.v1.HistoricalService

Historical (ClickHouse-backed) queries. Every RPC requires a session token
via authorization: Bearer <token> metadata. Hard limits: 30-day window;
GetTrades.limit capped at 1000; GetCandles capped at 10_000 rows.
FAILED_PRECONDITION when the archiver is not configured.


GetCandles

POST
/sweetspot.api.v1.HistoricalService/GetCandles

Parameters

Header Parameters

Connect-Protocol-Version*
Type
number
Required
Valid values
1
Connect-Timeout-Ms
Type
number

Request Body

application/json
JSON
{
  
"pair": {
  
  
"base": {
  
  
  
"id": 0
  
  
},
  
  
"quote": {
  
  
  
"id": 0
  
  
}
  
},
  
"interval": "string",
  
"start": {
  
  
"micros": 0
  
},
  
"end": {
  
  
"micros": 0
  
}
}

Responses

Success

application/json
JSON
{
  
"candles": [
  
  
{
  
  
  
"ts": {
  
  
  
  
"micros": 0
  
  
  
},
  
  
  
"open": 0,
  
  
  
"high": 0,
  
  
  
"low": 0,
  
  
  
"close": 0,
  
  
  
"volume": 0
  
  
}
  
]
}

Playground

Headers
Body

Samples


GetTrades

POST
/sweetspot.api.v1.HistoricalService/GetTrades

Parameters

Header Parameters

Connect-Protocol-Version*
Type
number
Required
Valid values
1
Connect-Timeout-Ms
Type
number

Request Body

application/json
JSON
{
  
"pair": {
  
  
"base": {
  
  
  
"id": 0
  
  
},
  
  
"quote": {
  
  
  
"id": 0
  
  
}
  
},
  
"start": {
  
  
"micros": 0
  
},
  
"end": {
  
  
"micros": 0
  
},
  
"limit": 0
}

Responses

Success

application/json
JSON
{
  
"trades": [
  
  
{
  
  
  
"pair": {
  
  
  
  
"base": {
  
  
  
  
  
"id": 0
  
  
  
  
},
  
  
  
  
"quote": {
  
  
  
  
  
"id": 0
  
  
  
  
}
  
  
  
},
  
  
  
"side": "string",
  
  
  
"price": 0,
  
  
  
"size": 0,
  
  
  
"slot": 0,
  
  
  
"ts": {
  
  
  
  
"micros": 0
  
  
  
}
  
  
}
  
]
}

Playground

Headers
Body

Samples


sweetspot.api.v1.MarketDataService

Public (unauthenticated) market data. Streaming RPCs are also exposed via
the websocket feed for browser clients where gRPC streaming is awkward.


GetBook

POST
/sweetspot.api.v1.MarketDataService/GetBook

Parameters

Header Parameters

Connect-Protocol-Version*
Type
number
Required
Valid values
1
Connect-Timeout-Ms
Type
number

Request Body

application/json
JSON
{
  
"pair": {
  
  
"base": {
  
  
  
"id": 0
  
  
},
  
  
"quote": {
  
  
  
"id": 0
  
  
}
  
},
  
"level": "string"
}

Responses

Success

application/json
JSON
{
  
"l2": {
  
  
"pair": {
  
  
  
"base": {
  
  
  
  
"id": 0
  
  
  
},
  
  
  
"quote": {
  
  
  
  
"id": 0
  
  
  
}
  
  
},
  
  
"metadata": {
  
  
  
"slot": 0,
  
  
  
"ts": {
  
  
  
  
"micros": 0
  
  
  
},
  
  
  
"updateId": 0
  
  
},
  
  
"bids": [
  
  
  
{
  
  
  
  
"price": {
  
  
  
  
  
"value": "string"
  
  
  
  
},
  
  
  
  
"size": {
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
}
  
  
],
  
  
"asks": [
  
  
  
{
  
  
  
  
"price": {
  
  
  
  
  
"value": "string"
  
  
  
  
},
  
  
  
  
"size": {
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
}
  
  
]
  
}
}

Playground

Headers
Body

Samples


ListPairs

POST
/sweetspot.api.v1.MarketDataService/ListPairs

Parameters

Header Parameters

Connect-Protocol-Version*
Type
number
Required
Valid values
1
Connect-Timeout-Ms
Type
number

Request Body

application/json
JSON
{
}

Responses

Success

application/json
JSON
{
  
"pairs": [
  
  
{
  
  
  
"base": {
  
  
  
  
"id": 0
  
  
  
},
  
  
  
"quote": {
  
  
  
  
"id": 0
  
  
  
}
  
  
}
  
],
  
"spots": [
  
  
{
  
  
  
"id": {
  
  
  
  
"id": 0
  
  
  
},
  
  
  
"name": "string",
  
  
  
"mint": {
  
  
  
  
"key": "string"
  
  
  
},
  
  
  
"programId": {
  
  
  
  
"key": "string"
  
  
  
},
  
  
  
"decimals": 0,
  
  
  
"atomsPerLots": 0
  
  
}
  
]
}

Playground

Headers
Body

Samples


GetSponsoredPayers

POST
/sweetspot.api.v1.TxService/GetSponsoredPayers

Parameters

Header Parameters

Connect-Protocol-Version*
Type
number
Required
Valid values
1
Connect-Timeout-Ms
Type
number

Request Body

application/json
JSON
{
}

Responses

Success

application/json
JSON
{
  
"payers": [
  
  
{
  
  
  
"key": "string"
  
  
}
  
]
}

Playground

Headers
Body

Samples


SubmitTx

POST
/sweetspot.api.v1.TxService/SubmitTx

Parameters

Header Parameters

Connect-Protocol-Version*
Type
number
Required
Valid values
1
Connect-Timeout-Ms
Type
number

Request Body

application/json
JSON
{
  
"transaction": "string"
}

Responses

Success

application/json
JSON
{
  
"signature": {
  
  
"signature": "string"
  
},
  
"ts": {
  
  
"micros": 0
  
}
}

Playground

Headers
Body

Samples


Powered by VitePress OpenAPI

Apache 2.0