Documentation Index
Fetch the complete documentation index at: https://docs.kaleidoswap.com/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The SDK ships generated API models plus a thin handwritten client layer.
- TypeScript exports its request and response types from
kaleido-sdk
- Python exports Pydantic models from
kaleido_sdk
Client Config
TypeScript
import type { KaleidoConfig } from 'kaleido-sdk';
const config: KaleidoConfig = {
baseUrl: 'https://api.regtest.kaleidoswap.com',
nodeUrl: 'http://localhost:3001',
apiKey: process.env.KALEIDO_API_KEY,
timeout: 30,
logLevel: 'info',
logger: console,
};
KaleidoConfig currently supports:
baseUrl?
nodeUrl?
apiKey?
timeout?
logLevel?
logger?
Python
Python does not expose a separate constructor object for normal use. Configure the client via KaleidoClient.create(...):
import logging
from kaleido_sdk import KaleidoClient
client = KaleidoClient.create(
base_url="https://api.regtest.kaleidoswap.com",
node_url="http://localhost:3001",
api_key=None,
timeout=30.0,
max_retries=3,
cache_ttl=60,
log_level=logging.INFO,
)
Common Enums and Models
import type {
Asset,
CreateSwapOrderRequest,
PairQuoteRequest,
PairQuoteResponse,
SwapOrderStatusRequest,
TradingPair,
} from 'kaleido-sdk';
import { Layer, ReceiverAddressFormat } from 'kaleido-sdk';
Layers
The SDK uses the shared Layer enum for routing assets across supported networks.
import { Layer } from 'kaleido-sdk';
const fromLayer = Layer.BTC_LN;
const toLayer = Layer.RGB_LN;
Use ReceiverAddressFormat when creating order-based swaps that need a destination.
import { ReceiverAddressFormat } from 'kaleido-sdk';
const format = ReceiverAddressFormat.BOLT11;
Quote Models
import type { PairQuoteRequest, PairQuoteResponse } from 'kaleido-sdk';
const request: PairQuoteRequest = {
from_asset: { asset_id: 'BTC', layer: Layer.BTC_LN, amount: 100000 },
to_asset: { asset_id: 'USDT', layer: Layer.RGB_LN },
};
const response: PairQuoteResponse = await client.maker.getQuote(request);
Order Models
import type {
CreateSwapOrderRequest,
SwapOrder,
SwapOrderStatusRequest,
SwapOrderStatusResponse,
} from 'kaleido-sdk';
Notable fields used by the current client implementations:
CreateSwapOrderRequest: rfq_id, from_asset, to_asset, receiver_address, min_onchain_conf?
CreateSwapOrderResponse: id, rfq_id, status, access_token, deposit_address?
SwapOrderStatusRequest: order_id, access_token?
Utility Types
TypeScript also exports WebSocket and logging-related types from the package root:
import type { QuoteResponse, LogLevelValue, SdkLogger, SwapCompletionOptions } from 'kaleido-sdk';
Python exposes the polling helper type used by wait_for_swap_completion(...):
from kaleido_sdk import SwapCompletionOptions