Skip to Content

EVM Unstake

Burns LBTC on an EVM chain and releases native BTC to a Bitcoin address.


Basic Usage

import { createLombardSDK, Chain, AssetId } from '@lombard.finance/sdk'; import { config } from './lib/lombard'; const sdk = createLombardSDK(config); const unstake = sdk.chain.evm.unstake({ sourceChain: Chain.ETHEREUM, destChain: Chain.BITCOIN_MAINNET, assetIn: AssetId.LBTC, assetOut: AssetId.BTC, }); await unstake.prepare({ amount: '0.1', recipient: 'bc1q...', // Bitcoin address }); const result = await unstake.execute(); // result.txHash: EVM transaction hash

Parameters

Unstake Options

ParameterTypeRequiredDescription
sourceChainChainYesEVM chain holding LBTC
destChainChainYesBitcoin network (mainnet/signet)
assetInAssetIdYesAssetId.LBTC
assetOutAssetIdYesAssetId.BTC

Prepare Parameters

ParameterTypeRequiredDescription
amountstringYesAmount in LBTC
recipientstringYesBitcoin address to receive BTC

Status Flow

IDLE → NEEDS_APPROVAL → READY → CONFIRMING → COMPLETED

Event Handling

import { UnstakeEvent } from '@lombard.finance/sdk'; unstake.on(UnstakeEvent.StatusChange, (status) => { console.log('Status:', status); }); unstake.on(UnstakeEvent.Completed, () => { console.log('BTC released to recipient'); });
Last updated on