# Wavelength SDK

> A TypeScript SDK for embedding self-custodial Bitcoin and Lightning wallets in web and mobile apps without running a node.

Wavelength SDK is an open-source toolkit from Lightning Labs for adding self-custodial Bitcoin and Lightning payments to web and mobile apps. The wallet runs in-process, as WebAssembly in the browser or as a native module in React Native, so there is no backend wallet process to operate. The latest listed release is v0.2.0, and the code is MIT licensed.

## What It Is

Wavelength is a typed client SDK over the wavelength wallet daemon. Developers create a wallet engine with `createWebWalletEngine()` or `createNativeWalletEngine()`, then drive it through the `WavelengthClient` contract. In React, a `WavelengthProvider` and hooks such as `useWallet`, `useWalletBalance` and `useWalletSend` expose wallet state and actions. Users keep their own keys on their own devices, with no node to run, no channels to open and no inbound liquidity to manage.

## Payment Layers and Wallet Model

The SDK offers one API across on-chain Bitcoin, Lightning and Ark. Lightning payments are handled as swaps, and balances are held as VTXOs (virtual UTXOs) on Ark. The docs say users can always exit unilaterally to on-chain Bitcoin, and that wallet access can use platform passkeys on web and mobile.

## Integration Paths

The documentation lists five ways in: a Web SDK, a React Native SDK, native iOS and Android (Kotlin and Swift), a gRPC/REST API, and a CLI. There is also an agents section for building with AI agents. The packages are wavelength-core, wavelength-web, wavelength-react-native and wavelength-react.

## Setup Path

The web path uses npm packages plus self-hosted wasm runtime assets, referenced through `runtimeBaseUrl`. React Native is New Architecture only, Expo apps need a development build rather than Expo Go, and the native binaries are staged separately from npm. `defaultConfig` provides presets for signet and testnet. Regtest and mainnet configs must be built by hand.

## Features
- Self-custodial wallet with keys kept on the user's device
- Lightning payments via swaps with no channel management
- Ark VTXO-based off-chain payments
- Unilateral exit to on-chain Bitcoin
- Passkey authentication on web and mobile
- WebAssembly runtime for the browser
- React Native Turbo Module
- React provider and hooks
- Native iOS and Android support
- gRPC and REST API and CLI access
- Demo apps for web and React Native

## Integrations
React, React Native, Expo, Loop, Esplora, Vue, Svelte

## Platforms
WEB, IOS, ANDROID, API, CLI, DEVELOPER_SDK

## Pricing
Open Source

## Version
v0.2.0

## Links
- Website: https://wavelength.lightning.engineering
- Documentation: https://wavelength.lightning.engineering/introduction/what-is-wavelength-sdk/
- Repository: https://github.com/lightninglabs/wavelength-sdk
- EveryDev.ai: https://www.everydev.ai/tools/wavelength-sdk
