Lightning - Withdraw to an onchain address

post/api/v2/{coin}/wallet/{walletId}/lightning/withdraw

Withdraw onchain balance from a lightning wallet to a regular onchain address.

Path Parameters

  • coinstringRequired
    A lightning coin name.
    Example: lnbtc
  • walletIdstringRequired
    Example: 59cd72485007a239fb00282ed480da1f
    Pattern: ^[0-9a-f]{32}$

Request Body

passphrase string required
The wallet passphrase.
recipients array[object] required
A list of on-chain recipients with their withdrawal amounts.
amountSat string
The amount to send in satoshis.
address string
The on-chain Bitcoin address of the recipient.
satsPerVbyte string required
The fee rate for the transaction in satoshis per virtual byte.
sequenceId string
Optional sequence ID for the withdrawal transfer.
comment string
Optional comment for the withdrawal transfer.

200 Response

txRequestId string
Transaction request identifier.
txRequestState string
Allowed values: initialized pendingApproval pendingUserCommitment pendingUserRShare pendingUserGShare readyToSend pendingUserSignature pendingDelivery signed delivered canceled rejected failed
pendingApproval object
id string
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
coin string
A cryptocurrency or token ticker symbol.
Example: btc
wallet string
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
enterprise string
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
organization string
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
creator string
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
createDate string <date-time>
infoAny of
stateAny of
Allowed values: pending awaitingSignature pendingFinalApproval pendingCustodianApproval pendingVideoApproval pendingIdVerification
scope string
What kind of entity the Pending Approval is tied to
Allowed values: enterprise wallet
userIds array[string]
All the Users who should see this Pending Approval
Example: 59cd72485007a239fb00282ed480da1f
approvalsRequired integer
Minimum: >= 1
Example: 1
walletLabel string
resolvers array[object]
addressLabels array[object]
Address labels of recipients in this Pending Approval
withdrawStatus object
The status of the on-chain withdrawal transaction.
status string
State of the withdrawal.
Allowed values: delivered failed
txid string
The transaction ID on the blockchain.
failureReason string
The reason for failure, if any.
transfer object
coin string required
A cryptocurrency or token ticker symbol.
Example: btc
id string required
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
wallet string required
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
enterprise string
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
txid string required
The on-chain transaction id
Example: b8a828b98dbf32d9fd1875cbace9640ceb8c82626716b4a64203fdc79bb46d26
txidType string
The type of the transaction id
Allowed values: transactionHash blockHash
height integer required
The height of the block this Transfer was confirmed in (999999999 if unconfirmed)
heightId string
The unique height id of the block
date string <date-time>required
The date this Transfer was last updated
confirmations integer required
The number of blocks that have been confirmed since this Transfer's block was confirmed
type string required
Defines whether or not this Transfer was sent or received by the user
Allowed values: send receive
value integer
The total value (in base units) sent by this Transfer (may be approximate for ETH and other coins where amounts in base units can exceed 2^53 - 1)
valueString string required
The total value (in base units) sent by this Transfer represented as a String
Example: 2000000
Match pattern: ^-?\d+$
intendedValueString string
A string representation (in base units) of the initial value for the transfer. This is present because when a transaction fails on chain, its value is mutated to be zero. This string is immutable and will always be the intended value of the initial transfer regardless of the final state of the transaction.
Example: 2000000
Match pattern: ^-?\d+$
baseValue integer
The value (in base units) sent by this transfer, excluding network fees. BitGo is deprecating this field in the future. Instead, use baseValueWithoutFees.
baseValueString string
The value (in base units) sent by this transfer, excluding network fees represented as a string. BitGo is deprecating this field in the future. Instead, use baseValueWithoutFees.
Example: 2000000
Match pattern: ^-?\d+$
baseValueWithoutFees integer
The value (in base units) sent by this transfer excluding network fees.
baseValueWithoutFeesString string
The value (in base units) sent by this transfer, excluding network fees, represented as a string
Example: 2000000
Match pattern: ^-?\d+$
feeString string
The Transfer's fee (in base units) represented as a String
payGoFee integer
The Transfer's BitGo fee (in base units)
payGoFeeString string
The Transfer's BitGo fee (in base units) represented as a String
usd number required
The amount of USD of this Transfer (will be negative if it's a send)
usdRate number required
The USD price at the time this Transfer was created
state string required
Allowed values: confirmed failed initialized pendingApproval rejected removed replaced signed unconfirmed
Example: confirmed
tags array[string] required
The tags to be used on this Transfer (used in Policies)
Example: 59cd72485007a239fb00282ed480da1f
history array[object] required
An audit log of events that have happened to the Transfer during its lifecycle
comment string required
A comment from the user
vSize integer
The size of the transaction
coinSpecific object required
Transfer fields specific to each coin type
sequenceId string
A `sequenceId` is a unique and arbitrary wallet identifier applied to transfers and transactions at creation. It is optional but highly recommended. With a `sequenceId` you can easily reference transfers and transactions&mdash;for example, to safely retry sending. Because the system only confirms one send request per `sequenceId` (and fails all subsequent attempts), you can retry sending without the risk of double spending. The `sequenceId` is only visible to users on the wallet and is not shared publicly.
entries array[object]
An array of objects describing the change in address balances made as a result of this Transfer
usersNotified boolean
Whether BitGo already sent notifications to the users of the transfer wallet
label string
Address labels (if any) from entries concatenated.
replaces array[string]
Transaction IDs that this transfer replaces.
replacedBy array[string]
Transaction IDs that replace this transfer.
inputs array[object]
If this is a Transfer on a UTXO coin, the array of inputs
outputs array[object]
If this is a Transfer on a UTXO coin, the array of outputs

400 Response

One of
error string required
Human-readable error message
requestId string required
Client request id
context object
Properties that apply to a specific error name
name string required
Error code