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 hashParameters
Unstake Options
| Parameter | Type | Required | Description |
|---|---|---|---|
sourceChain | Chain | Yes | EVM chain holding LBTC |
destChain | Chain | Yes | Bitcoin network (mainnet/signet) |
assetIn | AssetId | Yes | AssetId.LBTC |
assetOut | AssetId | Yes | AssetId.BTC |
Prepare Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
amount | string | Yes | Amount in LBTC |
recipient | string | Yes | Bitcoin address to receive BTC |
Status Flow
IDLE → NEEDS_APPROVAL → READY → CONFIRMING → COMPLETEDEvent 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