kaleido-sdk (TypeScript) and kaleido_sdk (Python) are generated from the same Maker API and RGB Lightning Node specs, then wrapped with handwritten clients:
client.makerfor KaleidoSwap market, swap, and LSPS1 endpointsclient.rlnfor RGB Lightning Node wallet, channel, payment, and swap endpoints
For which SDK version works with which API, see Maker API Compatibility and RLN API Compatibility.
Installation
Requirements
- TypeScript
- Python
- Node.js 18 or higher
- TypeScript 5.x recommended
Basic Setup
KaleidoClient.create() is synchronous in both SDKs. Do not await client creation.Configuration
TypeScript
KaleidoClient.create() accepts a KaleidoConfig object:
baseUrl?: Maker API base URL. Defaults tohttps://api.signet.kaleidoswap.comnodeUrl?: RGB Lightning Node URLapiKey?: optional API keynodeApiKey?: optional bearer token for authenticated RLN node requeststimeout?: request timeout in secondslogLevel?: SDK log levellogger?: custom logger implementation
Python
KaleidoClient.create() accepts keyword arguments:
max_retries: retry budget for the HTTP clientcache_ttl: cache TTL in secondslog_level: standard Python logging level
Environment Variables
The SDK does not auto-load environment variables, but these names are used by the examples and work well as a convention:Available Environments
Pass the API URL asbaseUrl / base_url; the SDK appends the /api/v1 path itself. No API key is required on the test networks.
Sub-Client Architecture
Node Configuration Checks
TypeScript exposesclient.hasNode() and always returns an rln client instance. Python exposes client.has_node(), and client.rln raises NodeNotConfiguredError if node_url is missing.