Official multi-language SDK for Kaleidoswap — a decentralized exchange for Bitcoin and RGB assets on the Lightning Network.
Beta Software — Use at Your Own Risk
This SDK is under active development and currently intended for testnet/signet use only. It is not considered safe for mainnet or production environments. APIs may change without notice. The authors assume no responsibility for any loss of funds or damages arising from the use of this software. Use it at your own risk.
The SDK provides two sub-clients for interacting with the Kaleidoswap protocol:
| Sub-client | What it does |
|---|---|
client.maker |
Kaleidoswap market API — assets, pairs, quotes, swap orders, LSP |
client.rln |
RGB Lightning Node — wallet, channels, payments, RGB asset operations |
| Language | Package | Status | Docs |
|---|---|---|---|
| TypeScript | kaleido-sdk |
README | |
| Python | kaleido-sdk |
README |
npm install kaleido-sdkimport { KaleidoClient } from 'kaleido-sdk';
const client = KaleidoClient.create({
baseUrl: 'https://api.signet.kaleidoswap.com',
});
const assets = await client.maker.listAssets();
const pairs = await client.maker.listPairs();pip install kaleido-sdkfrom kaleido_sdk import KaleidoClient
client = KaleidoClient.create(base_url="https://api.signet.kaleidoswap.com")
assets = await client.maker.list_assets()
pairs = await client.maker.list_pairs()import { RlnClient } from 'kaleido-sdk/rln';
// Standalone
const rln = new RlnClient({ nodeUrl: 'http://localhost:3001' });
const info = await rln.getNodeInfo();
// Or via KaleidoClient
const client = KaleidoClient.create({
baseUrl: 'https://api.signet.kaleidoswap.com',
nodeUrl: 'http://localhost:3001',
});
const channels = await client.rln.listChannels();specs/kaleidoswap.json
specs/rgb-lightning-node.yaml
|
+--> scripts/generate_python_sdk_models.sh --> python-sdk/kaleido_sdk/_generated/
|
+--> scripts/generate_typescript_types.sh --> typescript-sdk/src/generated/
Each SDK is implemented natively in its language and consumes generated types/models from the same OpenAPI source of truth. Never edit the generated files directly — regenerate them from the specs instead.
- Python 3.10+
- Node.js 18+
- pnpm
- uv
make build # Build all SDKs
make build-typescript # TypeScript only
make build-python-sdk # Python onlymake test # Run all tests
make test-typescript # TypeScript only
make test-python-sdk # Python onlymake check # Format, lint, and typecheck all SDKs
make fix # Auto-fix format and lint issues
make pre-commit # Same checks as CImake generate-models # Regenerate all models from specs
make regenerate # Download latest specs + regeneratemake versions # Show current SDK versions
make sync-version VERSION=0.2.0 # Sync version across all SDKs- Python SDK
- TypeScript SDK
- OpenAPI-driven model generation
- WebSocket support
- Rust SDK (
kaleidoswap-core— WIP) - Swift SDK for iOS/macOS
- Kotlin SDK for Android
MIT License. See LICENSE.
- Documentation: docs.kaleidoswap.com
- Specs: kaleidoswap.json, rgb-lightning-node.yaml
- RGB Lightning Node: kaleidoswap/rgb-lightning-node
- Website: kaleidoswap.com