Skip to main content

Specifications & Clients

OpenAPI Specifications

Versioned specs for the KaleidoSwap APIs, updated on each release. Diff two versions instead of discovering changes at runtime.

TypeScript & Python SDKs

Typed clients generated from those specs, wrapping both the Maker API and your node behind client.maker.* and client.rln.*.

CLI

Drive a node, quote, and swap from the terminal — useful for probing the API by hand before writing a client.

Getting Started

Base URLs, authentication, request format, versioning, and rate limits.

Protocol References

Swap Protocol

The atomic HTLC flow end to end, with the sequence diagram and the endpoints used at each step.

RGB Lightning Node

The node that serves the RLN API and whitelists swapstrings. This is the KaleidoSwap fork; the upstream project is maintained by RGB Tools.

LSPS1 (bLIP-51)

The Channel Requests specification our channel order endpoints implement, extended here with RGB asset allocation.

RGB Protocol Documentation

Client-side validation, asset interfaces, and the specification behind the rgb: contract IDs the API returns.

Environments & Testing

Integrate against Signet before mainnet. No API key is required today, and anonymous requests are still served. Asset IDs are not portable between environments — read them from GET /api/v1/market/assets and key your configuration per environment.

Mutiny Faucet

Get Signet Bitcoin to fund a node and open test channels.

Mutinynet Explorer

Confirm on-chain that a swap settled or a channel open actually confirmed.

Node Hosting

Deployment options for the RGB Lightning Node the swap endpoints require.

Troubleshooting

The three error envelopes, status-code semantics, retry strategy, and a fix per symptom.

SDK Examples

End-to-end code for the atomic swap flow, if you would rather read working code than endpoint tables.

Architecture

Where the maker, the LSP, and your node sit relative to each other.

Glossary

RFQ, swapstring, HTLC, layer, and the rest of the vocabulary these endpoints assume.

Get Help

Check Troubleshooting for errors and the FAQ for questions. For anything else, report a problem through your preferred channel from the options below, including:
  1. Request URL and HTTP method
  2. Request payload (redact any API key)
  3. Full error response, including request_id
  4. Timestamp of the request
  5. Environment (Signet / Mainnet)

Telegram Community

Ask the community.

Email Support

Direct support for urgent issues.