The BTC Deposit action converts native Bitcoin to BTC.b (wrapped Bitcoin) on Solana. The flow is similar to depositing to an EVM chain, but uses Solana wallet signing for address confirmation instead of EIP-712 fee authorization.
Send BTC to the returned deposit address. BTC.b will be minted to the Solana recipient address after confirmation.
Parameters
Deposit Options
Parameter
Type
Required
Description
destChain
Chain
Yes
Solana destination chain
assetOut
AssetId
Yes
Output asset (AssetId.BTCb)
sourceChain
Chain
No
Bitcoin network (defaults to signet on stage/dev)
Prepare Parameters
Parameter
Type
Required
Description
amount
string
Yes
Amount in BTC
recipient
string
Yes
Solana wallet address (base58)
referralCode
string
No
Referral code for attribution
Supported Routes
Source Chain
Destination Chain
Environment
Asset Out
BITCOIN_SIGNET
SOLANA_DEVNET
stage, dev
BTC.b
How It Differs from EVM Deposits
Solana deposits differ from EVM deposits in two ways:
No fee authorization step. EVM deposits to Ethereum mainnet require an EIP-712 fee authorization signature. Solana deposits use a Solana wallet signature for address confirmation, which is handled automatically when generateDepositAddress() is called.
Recipient address format. The recipient must be a valid Solana public key (base58-encoded, 32 bytes). EVM deposits accept hex addresses.
Claiming BTC.b
After the Bitcoin transaction is confirmed, BTC.b must be claimed on Solana. This step is handled at the lower level using the @lombard.finance/sdk-solana package:
The rawPayload and proofSignature are provided by the Lombard backend after the Bitcoin deposit is confirmed. The claim function handles the full on-chain flow: consortium validation, payload verification, and BTC.b minting.
Important: The payload selector (0xce25e7c2) determines the claim type. BTC.b deposits use the direct mint path via the Asset Router program.
Status Flow
The NEEDS_FEE_AUTHORIZATION status does not apply to Solana deposits. Address confirmation is handled automatically when calling generateDepositAddress().
With Referral Code
Error Handling
Common errors for Solana deposits:
Error
Cause
INVALID_CHAIN
Destination chain is not a supported Solana chain
INVALID_ASSET
Asset is not BTC.b (Solana deposits only produce BTC.b)
ROUTE_NOT_FOUND
Route not available for the current environment
INVALID_PARAMETER
Recipient is not a valid Solana address
Provider Setup
The Solana provider must be registered when creating the SDK instance.