API
What this is
The wallet daemon (waved) exposes a compact wallet API, WalletService, over both gRPC and REST. It is 14 methods covering the full wallet lifecycle: create and unlock a wallet, send and receive Lightning and on-chain payments, read balance and activity, and exit to a fully self-custodial on-chain position. A companion service, WalletInspectionService, adds one read-only method for inspecting activity entries in detail, for 15 methods total.
This slice is for remote integrations: a backend service that manages a wallet on behalf of your product, an internal dashboard, a monitoring script, or any process that talks to a waved instance you run yourself, rather than embedding a wallet in a browser tab.
API vs SDK
Wavelength ships two different ways to reach the same daemon, and they solve different problems.
- The SDK (What is the Wavelength SDK?) compiles
wavedto run inside your app: to WebAssembly in the browser on web, and into the app binary on React Native. Each of your users gets their own wallet instance, with keys held on their device. There is no server-side daemon to run or operate. - The API documented here talks to a daemon you run, over the network, using gRPC or REST. Use this when the wallet needs to live server-side: a treasury or operations service, a CI job that needs test funds, or any integration that does not run inside an end user’s browser tab.
If you are building a product where each user holds their own keys on their own device, start with the SDK. If you are automating or operating a wallet from a backend you control, this API slice is for you.
How this reference is organized
Every RPC gets its own page, grouped into five sidebar sections by what it does in the wallet lifecycle; Overview holds this page plus the get-started and REST-conventions pages:
- Wallet lifecycle: Create, Unlock, Status
- Sending: PrepareSend, Send
- Receiving: Recv, Deposit
- Balance and activity: Balance, List, SubscribeWallet, InspectActivity
- Exit and sweep: GetExitPlan, Exit, ExitStatus, SweepWallet
Start with Get started to build waved with the wallet API enabled and make your first call, then REST conventions for the shared request, error, and streaming shape across every method.
If you would rather drive the daemon interactively or from a shell script, see the CLI slice: wavecli wraps this same WalletService behind a command-line interface.
Versioning
The API surface is versioned together with the daemon, not independently. Pin a specific daemon version for production integrations.