Skip to main content
Send BTC to Arkade users, Lightning invoices, or Bitcoin addresses from one wallet balance, including Arkade recipients who are offline.

Setup

Your wallet needs enough available funds to cover the payment and fees. See Receive Payments to add funds.

Sending to Arkade Addresses

Use the send function with an Arkade address, starting with ark1 or tark1, and an amount in satoshis. The recipient does not need to be online.

Sending Assets

To send Arkade Assets, add an assets array to the recipient. Asset amounts are bigint values in base units:
The remaining units stay in your wallet as change. If you omit amount, the recipient’s output holds the dust amount of BTC.

Send with BTC

Add a BTC amount, in satoshis. The recipient receives the BTC and the asset on the same virtual output:

Send Multiple Assets

Add more entries to the assets array to send several assets in one transaction:

Send All Units

Read the spendable amount from availableAssets, then send it:

Pay a Lightning Invoice

Request a provider quote, verify its terms, and fund the payment. Failed payments follow the committed refund path after the deadline.

Pay Lightning

Quote, funding, and the refund path.

Exchange Assets

Exchange BTC and other assets, with both sides settling through Arkade.

Sending to Bitcoin Addresses

To send BTC to a Bitcoin address (bc1 or tb1), use the Ramps class for collaborative withdrawal. The SDK selects eligible Arkade outputs and requests a conventional Bitcoin output at the destination.

Offboarding (Collaborative Exit)

Batched withdrawal with Ramps.
Compare the paths:
  • Arkade addresses (ark1/tark1): available once the transaction is accepted
  • Lightning invoices: quoted provider terms, with a committed refund path
  • Bitcoin addresses (bc1/tb1): collaborative withdrawal and onchain fees
Use the offboarding process when the destination requires a confirmed Bitcoin output.

Finalizing Pending Transactions

Call finalizePendingTxs() after interruption or reconnect:
Pass specific outputs to limit the check: