Exchange API
Canonical REST endpoints for the Liquidity.io ATS
All exchange data flows through a single ATS (Alternative Trading System) binary. No per-service microservice endpoints. One API, one contract.
Base URL: https://api.{env}.satschel.com/v1
Navigation
GET /v1/navigationReturns the market rail and category structure for the exchange UI.
{
"rails": [
{
"id": "public",
"label": "Public",
"categories": [
{ "id": "stocks", "label": "Stocks" },
{ "id": "fixed-income", "label": "Fixed Income" },
{ "id": "commodities", "label": "Commodities" },
{ "id": "forex", "label": "Forex" }
]
},
{
"id": "private",
"label": "Private",
"categories": [
{ "id": "privates", "label": "Privates" },
{ "id": "pre-ipo", "label": "Pre-IPO" }
]
},
{
"id": "digital",
"label": "Digital",
"categories": [
{ "id": "crypto", "label": "Crypto" }
]
}
]
}Asset List
GET /v1/assets?marketRail={rail}&category={category}&tradeable=true| Param | Type | Description |
|---|---|---|
marketRail | string | public, private, digital |
category | string | stocks, crypto, privates, etc. |
tradeable | boolean | Filter to tradeable assets only |
search | string | Full-text search by symbol/name |
Response:
{
"data": [
{
"id": "AAPL",
"symbol": "AAPL",
"name": "Apple Inc. Common Stock",
"type": "stocks",
"exchange": "NASDAQ",
"status": "APPROVED",
"price": 249.93,
"change": -4.30,
"changesPercentage": -1.69,
"image": "https://..."
}
],
"message": "ok"
}Asset Detail
GET /v1/assets/{id}Returns full asset detail including market data, metadata, and offering info.
{
"data": {
"id": "AAPL",
"symbol": "AAPL",
"name": "Apple Inc. Common Stock",
"type": "stocks",
"exchange": "NASDAQ",
"change": -4.30,
"changesPercentage": -1.69,
"accreditationType": null,
"offeringType": "Retail (Non Accredited)",
"marketData": {
"perDay": [
{
"timestamp": "2026-03-18T04:00:00Z",
"open": 252.625,
"high": 254.94,
"low": 249,
"close": 249.94,
"volume": 36035199
}
]
}
}
}Real-Time Quote
GET /v1/assets/{id}/quoteReturns latest quote. Frontend should poll every 5 seconds.
{
"assetId": "AAPL",
"last": 249.93,
"open": 252.61,
"high": 254.91,
"low": 249.01,
"prevClose": 254.23,
"change": -4.30,
"changePercent": -1.69,
"volume": 979956,
"timestamp": "2026-03-19T00:34:44Z"
}Chart Data
GET /v1/assets/{id}/chart?range={range}&interval={interval}| Param | Values |
|---|---|
range | 1d, 5d, 1m, 3m, 6m, 1y, 5y |
interval | 1m, 5m, 15m, 1h, 1d |
Response:
{
"data": [
{
"time": 1773820800000,
"open": 255.00,
"high": 255.01,
"low": 255.00,
"close": 255.01,
"volume": 1084
}
]
}Order Book
GET /v1/assets/{id}/bookReturns current bid/ask depth. Frontend should poll every 3 seconds.
{
"assetId": "AAPL",
"bids": [{ "price": 239.87, "size": 100 }],
"asks": [{ "price": 265.40, "size": 100 }],
"timestamp": "2026-03-19T00:34:45Z"
}Authentication
All authenticated endpoints require:
Authorization: Bearer {iam_access_token}
tenant-authorization: {tenant_jwt}IAM tokens are obtained via:
POST https://iam.{env}.satschel.com/api/login/oauth/access_token
Content-Type: application/x-www-form-urlencoded
grant_type=password&client_id=liquidity-exchange-client-id&username={phone}&password={otp}&scope=openid+profile+email+phoneAccreditation Enforcement
Per SEC Regulation D and the Liquidity.io Secondary Private Resale Disclosure:
Asset accreditationType | Buyer Requirement |
|---|---|
506c | Verified accredited investor (Simplici) |
506b | Self-certified accredited investor |
Retail / null | No accreditation gate |
The backend enforces this on ALL order creation paths (standard, pre-IPO, order updates).
Resale Restrictions
| Regulation | Default Hold | Exemptions |
|---|---|---|
| Reg D 506(b/c) | 12 months | Unsolicited sale to accredited investors |
| Reg CF | 12 months | Sale to accredited investors; family member exemption |
| Reg S | 12 months (US investors) | Free trading among non-US investors |
| Reg A / Retail | None | Freely tradeable |
Legacy Endpoints (Being Deprecated)
These v1 endpoints are served by ATS for backwards compatibility. Do NOT use in new code -- use the canonical endpoints above.
| Legacy | Canonical Replacement |
|---|---|
/v1/exchange-explorers | /v1/assets?... |
/v1/exchange-assets/{id} | /v1/assets/{id} |
/v1/stock-summaries | /v1/assets?category=stocks |
/v1/exchange-orderbook | /v1/assets/{id}/book |
/v1/asset-chats | /v1/assets/{id}/chart |
/v1/fortress-account-info | /v1/account |
/v1/fortress-transactions | /v1/transactions |