BTC Deposit Addresses
Each combination of destination chain, recipient address, and Partner ID receives a unique Bitcoin deposit address. These addresses are generated through the SDK and support multiple deposits.
Key Characteristics
- Bound to specific destination chains, partner IDs, and recipients
- Support multiple deposits — each processed independently
- Connected to authorization signatures on Ethereum Mainnet
- Addresses never expire (but fee authorization signatures may)
Generating a Deposit Address
const sdk = createLombardSDK(config);
const stake = sdk.chain.btc.stake({
destChain: Chain.ETHEREUM,
assetOut: AssetId.LBTC,
});
await stake.prepare({
amount: '0.1',
recipient: '0x1234567890abcdef1234567890abcdef12345678',
});
await stake.authorize();
const depositAddress = await stake.generateDepositAddress();
// depositAddress: 'bc1q...'Checking Existing Addresses
Use the API to check if a deposit address already exists:
const existingAddress = await sdk.api.depositAddress(
recipientAddress,
chainId
);This helps avoid unnecessary regeneration for returning users.
Address Reusability
Once generated, a single deposit address can receive multiple deposits. Each deposit is processed independently, eliminating the need to create new addresses for subsequent transactions.
Signature Expiration
While deposit addresses persist indefinitely, fee authorization signatures for Ethereum Mainnet may expire after a defined period. When expiration occurs, re-authorization becomes necessary before generating a replacement address.
Multi-Chain Support
Different destination chains require separate deposit addresses. Execute the generation workflow independently for each target blockchain.