Key Features
- RGB LSPS1 (Lightning Service Provider Specification) Support: Liquidity services and swap functionalities.
- Real-time Market Data: WebSocket-based subscription for price updates.
- Swap Protocol: Taker-maker model for initiating and executing swaps.
- Asset and Trading Pair Management: Comprehensive API for fetching supported assets and pairs.
Two Sub-APIs
The KaleidoSwap API is split into two distinct services:| Sub-API | Base Path | Purpose |
|---|---|---|
| Maker API | /api/v1/ | Market data, quotes, swap orders, and LSPS1 channel operations |
| RLN API | /rln/v1/ | RGB Lightning Node operations — wallet, channels, and payments |
Which API do I need?
| Goal | API | Endpoint group |
|---|---|---|
| Get available assets or trading pairs | Maker API | Market APIs |
| Get a price quote for a swap | Maker API | Market APIs |
| Create or track a swap order | Maker API | Swap APIs |
| Order a Lightning channel from an LSP | Maker API | RGB LSPS1 APIs |
| Stream real-time prices | Maker API (WebSocket) | Swap Protocol |
| Check wallet balance or node info | RLN API | Requires your own node |
| Send/receive BTC or RGB assets | RLN API | Requires your own node |
| Open or close Lightning channels | RLN API | Requires your own node |
The interactive API playground below runs against the Signet environment (
https://api.signet.kaleidoswap.com). Use it for exploration and testing. For production, use the mainnet URL once available.Authentication
Current state: No authentication is required for most Maker API endpoints. Public market data (assets, pairs, quotes) and swap creation are open. Planned: Bearer token authentication (Authorization: Bearer <token>) will be introduced for rate-limited or permissioned endpoints in a future release. The API playground is pre-configured with bearer auth for when it is required.
Base Response Format
All API responses follow a consistent JSON structure. Successful responses return the requested data directly as a JSON object or array. Error responses use the following format:| Status | Meaning |
|---|---|
200 | Success |
400 | Bad request — invalid parameters |
404 | Resource not found |
422 | Unprocessable entity — validation error |
500 | Internal server error |
Rate Limits
Rate limits apply to all API endpoints. Requests that exceed the limit receive a429 Too Many Requests response. Specific limits vary by endpoint and environment. When building integrations, implement exponential backoff for retries and cache static data (assets, pairs) locally where possible.
Using the SDK
Instead of calling the REST API directly, you can use the official KaleidoSwap SDKs that wrap these endpoints with type safety and convenience methods:TypeScript SDK
Auto-generated typed client from the OpenAPI spec with
client.maker.* and client.rln.* sub-clientsPython SDK
Synchronous Python client with Pydantic models, using the same sub-client architecture