KaleidoSwap SDK Python Bindings
Python bindings for the KaleidoSwap SDK: atomic swaps (Boltz protocol) between Bitcoin, Lightning, and Liquid.
Installation
Public PyPI publishing is not enabled for this release yet, so install a
platform wheel attached to the GitHub v0.1.0 release:
python -m pip install ./kaleidorg_swap_sdk-0.1.0-<platform>.whl
Once PyPI publishing is enabled for a release, the ordinary index works:
python -m pip install kaleidorg_swap_sdk==0.1.0
Python 3.10+ is supported on Linux x86_64/aarch64, macOS x86_64/arm64, and Windows x86_64.
Quick Start
⚠️ WARNING: All examples are only to be used in REGTEST.
import kaleidorg_swap_sdk
import asyncio
async def main():
# Initialize for regtest (do NOT use this example in production)
network = kaleidorg_swap_sdk.Network.REGTEST
boltz_api = kaleidorg_swap_sdk.BoltzApiClientV2.default(network)
# Example: Create a submarine swap (Lightning → Bitcoin)
key_pair = kaleidorg_swap_sdk.KeyPair()
btc_chain = kaleidorg_swap_sdk.btc_chain_from_network(network)
invoice = "lightning-invoice-to-pay"
request = kaleidorg_swap_sdk.CreateSubmarineRequest(
_from=btc_chain,
to=btc_chain,
invoice=invoice,
refund_public_key=key_pair.public(),
)
swap = await boltz_api.create_swap(request)
print(f"Send {swap.expected_amount} sats to {swap.address}")
asyncio.run(main())
Swap Types
- Submarine swaps - Lightning → On-chain Bitcoin/Liquid
- Reverse swaps - On-chain Bitcoin/Liquid → Lightning
- Chain swaps - Bitcoin ↔ Liquid atomic swaps
Examples
Complete working examples are available in the examples/ directory:
reverse.py- Lightning to Bitcoinsubmarine.py- Bitcoin to Lightningchain.py- Bitcoin to Liquid (and vice versa)
Release files for kaleidorg-swap-sdk 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kaleidorg_swap_sdk-0.1.0.tar.gz | 165.9 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| kaleidorg_swap_sdk-0.1.0-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| kaleidorg_swap_sdk-0.1.0-py3-none-manylinux_2_28_x86_64.whl | Python 3 | none | Linux glibc 2.28+ x86-64 | Details |
| kaleidorg_swap_sdk-0.1.0-py3-none-manylinux_2_28_aarch64.whl | Python 3 | none | Linux glibc 2.28+ ARM64 | Details |
| kaleidorg_swap_sdk-0.1.0-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
| kaleidorg_swap_sdk-0.1.0-py3-none-macosx_10_12_x86_64.whl | Python 3 | none | macOS 10.12+ x86-64 | Details |
Total release size: 26.0 MB
Release files / kaleidorg_swap_sdk-0.1.0.tar.gz
| Download URL | kaleidorg_swap_sdk-0.1.0.tar.gz |
|---|---|
| Size | 165.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
619ed84bbbad42f22596ad644532180a1f732ade3db7bbffbe35bd86c1629952
|
|
BLAKE2b-256 checksum How to use checksums |
4f0a7cdf79737af46982d8cc8209b3753017e69db2de030f6c70fd0e5b77f422
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Release files / kaleidorg_swap_sdk-0.1.0-py3-none-win_amd64.whl
| Download URL | kaleidorg_swap_sdk-0.1.0-py3-none-win_amd64.whl |
|---|---|
| Size | 5.1 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
96c35e1d959c8df38215b7350b78c314e763f5ad46dbfd6fe331c408fa83dc8d
|
|
BLAKE2b-256 checksum How to use checksums |
00e548c5a61710ead59a8be693c0bcd3a2b697c1cea1c2a0032c348b0d658a15
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Release files / kaleidorg_swap_sdk-0.1.0-py3-none-manylinux_2_28_x86_64.whl
| Download URL | kaleidorg_swap_sdk-0.1.0-py3-none-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 5.3 MB |
| Tags | Linux glibc 2.28+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
f66346d843b2d6da37b9a153cd8e9f3d236980ed26dd78d88153a82e8e836112
|
|
BLAKE2b-256 checksum How to use checksums |
8e2a10f25ca0bdf27fdd156162e2bc225c9949973fd2f5844c764369fbdcb87c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Release files / kaleidorg_swap_sdk-0.1.0-py3-none-manylinux_2_28_aarch64.whl
| Download URL | kaleidorg_swap_sdk-0.1.0-py3-none-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 5.3 MB |
| Tags | Linux glibc 2.28+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
7283b9a5479c5d8c392e1a548e487e539b6b7ac0d520de784ce416f61ed64852
|
|
BLAKE2b-256 checksum How to use checksums |
8b96c8a0bccc9fbc3dd9ccabc22e79b7f39043ca4b656be61c1a08f923bf20b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Release files / kaleidorg_swap_sdk-0.1.0-py3-none-macosx_11_0_arm64.whl
| Download URL | kaleidorg_swap_sdk-0.1.0-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 5.1 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
7bce0ed5ac2e49ff99368f336d58c9d68e92fd745b2b1dc04a273fd38e6d50b0
|
|
BLAKE2b-256 checksum How to use checksums |
e87ee7113db0acfe425d3342924fe1493912ec30c5f4f0fbd0a8273038321c40
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Release files / kaleidorg_swap_sdk-0.1.0-py3-none-macosx_10_12_x86_64.whl
| Download URL | kaleidorg_swap_sdk-0.1.0-py3-none-macosx_10_12_x86_64.whl |
|---|---|
| Size | 5.1 MB |
| Tags | Python 3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
a73f974f48c1b2a94808382b39eeef598366bc11292c47796517d4bd75a9c806
|
|
BLAKE2b-256 checksum How to use checksums |
7ed02f3747e9c35950421ef854600dea1a5b76fc235a8b7b81343660e1cb3897
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|