Check server connection
true if the wallet can reach the server and retrieve its configuration, false otherwise. The background daemon checks the server connection every second, so this reflects the most recent known state.
Response
Create a wallet
Request body
ark_server(string, required) - The Ark server URLnetwork(string, required) - Network:mainnet,signet,mutinynet, orregtestchain_source(object, required) - Chain source configuration (see below)mnemonic(string, optional) - BIP39 seed phrase. If omitted, a new one is generatedbirthday_height(integer, optional) - Block height to start syncing from
Response
Get Ark server info
Response
Errors
404- Wallet not connected to an Ark server
Get next round time
Response
Errors
404- Wallet not connected to an Ark server
Generate Ark address
Response
Example
Get Ark address by index
Path parameters
index(integer, required) - Address derivation index
Response
Example
Get wallet balance
/sync before this endpoint.
Response
Example
List VTXOs
all=true to include all VTXOs regardless of state.
Query parameters
all(boolean, optional) - Return all VTXOs regardless of state. Default:false
Response
Example
Get wallet history
Response
List round participations
refresh endpoints and persists until the round’s funding transaction is confirmed on-chain (two confirmations on mainnet, one on testnet). The list can contain multiple entries—for example, a previous round awaiting on-chain confirmation alongside a newly submitted round waiting for the next server round to start. Confirmed and failed rounds are removed automatically by the background daemon.
Response
Send a payment
amount_sat field is required for Ark addresses and Lightning addresses but optional for invoices and offers that already encode an amount. Comments are only supported for Lightning addresses. To send to an on-chain bitcoin address, use /send-onchain instead.
Request body
destination(string, required) - Ark address, BOLT11 invoice, BOLT12 offer, or Lightning addressamount_sat(integer, optional) - Amount in satoshis. Required for Ark addresses and Lightning addressescomment(string, optional) - Comment (only supported for Lightning addresses)
Response
Examples
Errors
400- Invalid destination format or missing required amount
Refresh specific VTXOs
/rounds endpoint to track progress.
Request body
vtxos(array of strings, required) - VTXO IDs to refresh
Response
Errors
400- No VTXO IDs provided or invalid VTXO ID404- One of the VTXOs wasn’t found
Refresh all VTXOs
/rounds endpoint to track progress.
Response
Example
Refresh received VTXOs
/rounds endpoint to track progress.
Response
Errors
404- No VTXOs to refresh
Offboard specific VTXOs
/send-onchain instead.
Request body
vtxos(array of strings, required) - VTXO IDs to offboardaddress(string, optional) - Destination bitcoin address. If omitted, a new address is generated
Response
Errors
400- No VTXO IDs provided, invalid VTXO ID, or invalid address404- One of the VTXOs wasn’t found
Offboard all VTXOs
/send-onchain instead.
Request body
address(string, optional) - Destination bitcoin address. If omitted, a new address is generated
Response
Send on-chain from Ark balance
/offboard/vtxos or /offboard/all instead.
Request body
destination(string, required) - Bitcoin addressamount_sat(integer, required) - Amount in satoshis
Response
Example
Sync wallet
sync forces all of them to run immediately.
Response
Returns200 on success with no body.
Example
Import a VTXO
Request body
vtxos(array of strings, required) - Hex-encoded VTXOs to import
Response
Errors
400- Invalid VTXO hex or VTXO not owned by wallet