Capabilities
This section covers the full tool and action reference for both packages, including the curated system prompt shipped with sdk-agent.
Tool descriptions include a “use when” hint where it’s not obvious from the name.
sdk-agent tool families
Balances and asset lookup
Read balances, exchange rates, APY, and resolve unknown tickers to canonical Lombard assets.
Native BTC deposits
Generate BTC deposit addresses, check fee authorization, track confirmations, claim notarized deposits to mint LBTC.
Stake, unstake, redeem
EVM-side conversions between BTC.b, LBTC, and native BTC. Cross-chain and same-chain variants.
Bitcoin Earn (vaults)
Discover strategies, deploy LBTC, monitor positions, request and cancel withdrawals.
Portfolio and rewards
Aggregated portfolio summary and current-season Lux reward points for an address.
Morpho Blue
Markets, supply LBTC as collateral, borrow, repay, and read live position health.
Balances, rates, and asset lookup
| Tool | Description |
|---|---|
get_lbtc_balance | LBTC balance for a wallet on any supported chain. |
get_btcb_balance | BTC.b balance for a wallet on any supported chain. |
get_balance | Both LBTC and BTC.b in one call. |
get_token_balance | Any ERC-20 balance by contract address. |
get_token_info | Resolve a Lombard-related asset (LBTC, BTC.b, BTCe, LBTCv, …) by symbol, alias, or address. Use before telling a user a token is unknown. |
get_exchange_rate | Current LBTC/BTC rate and minimum stake amount. |
get_lbtc_apy | Current LBTC base staking APY. |
Native BTC deposits
| Tool | Description |
|---|---|
get_deposit_btc_address | Get an existing BTC deposit address, or instructions to generate one. |
check_fee_authorization | Check fee authorization status before address generation. |
prepare_btc_to_lbtc_deposit | Generate a BTC deposit address that mints LBTC on the destination EVM chain. |
prepare_btc_to_btcb_deposit | Generate a BTC deposit address that mints BTC.b on the destination EVM chain. Use when the user wants BTC.b, not yield-bearing LBTC. |
get_deposit_status | Track deposit confirmations and claimability (covers both LBTC and BTC.b deposits). |
prepare_claim_lbtc_deposit | Claim a notarized deposit to mint LBTC. |
Stake, unstake, and redeem (EVM)
| Tool | Description |
|---|---|
prepare_btcb_to_lbtc_stake | BTC.b → LBTC stake transaction. |
prepare_lbtc_to_btc | Cross-chain LBTC → native BTC redemption. Requires a Bitcoin recipient address. |
prepare_lbtc_to_btcb | Same-chain LBTC → BTC.b redemption. No Bitcoin recipient needed; BTC.b is credited to the caller’s wallet on the same EVM chain. |
prepare_redeem_btcb | BTC.b → native BTC redemption. Use when going BTC.b → BTC. prepare_lbtc_to_btc operates on LBTC only. |
get_redemption_status | Track unstake and redemption progress. |
Bitcoin Earn (vaults)
| Tool | Description |
|---|---|
get_earn_strategies | List yield strategies with APY and TVL. |
get_lbtc_defi_opportunities | Browse LBTC DeFi opportunities across protocols. |
get_earn_positions | Check Bitcoin Earn positions (shares + LBTC value). |
prepare_earn_deposit | Deploy LBTC into Bitcoin Earn. |
prepare_earn_withdrawal | Request a withdrawal from Bitcoin Earn. Only one active withdrawal per user per vault. |
prepare_cancel_earn_withdrawal | Cancel an active Bitcoin Earn withdrawal that has not yet been processed. |
get_earn_withdrawals | All Bitcoin Earn withdrawals for an address: open, fulfilled, cancelled, expired. |
Portfolio and rewards
| Tool | Description |
|---|---|
get_lux_points | Current-season Lux reward points for a wallet address (holding, protocol, referral, badge). |
get_positions_summary | Aggregated portfolio summary for a wallet address: total BTC value, profit/loss, and a breakdown of individual holdings and DeFi positions. |
Morpho Blue (lending and borrowing)
| Tool | Description |
|---|---|
get_morpho_lbtc_markets | Markets where LBTC is collateral. |
prepare_morpho_supply_collateral | Supply LBTC as collateral. |
prepare_morpho_borrow | Borrow against LBTC collateral. |
prepare_morpho_repay | Repay borrowed assets. |
get_morpho_position | Collateral, borrows, LTV, and health. |
Curated system prompt
LOMBARD_SYSTEM_PROMPT is the curated default system prompt shipped with sdk-agent. It teaches the model:
prepare_* tool with placeholder or inferred values; on valid: false, surface the listed errors and re-prompt the user.prepare_earn_withdrawal reports an existing active withdrawal, offer prepare_cancel_earn_withdrawal instead of retrying.The Lombard asset glossary (LBTC, BTC.b, BTCe, LBTCv) is auto-appended from assets.ts. Use the prompt as-is, or compose:
import { LOMBARD_SYSTEM_PROMPT } from '@lombard.finance/sdk-agent';
const system = `${LOMBARD_SYSTEM_PROMPT}\n\nAdditional product context: ...`;sdk-agentkit actions
Write actions
| Action | Description |
|---|---|
stake_btcb_to_lbtc | Stake BTC.b to receive LBTC. Approval and fee authorization handled automatically. |
unstake_lbtc_to_btc | Unstake LBTC to native BTC (cross-chain). Requires a Bitcoin recipient. For same-chain LBTC → BTC.b use redeem_lbtc_to_btcb. |
redeem_lbtc_to_btcb | Same-chain LBTC → BTC.b conversion. |
deploy_to_earn | Deploy LBTC into a Bitcoin Earn vault. |
claim_lbtc_deposit | Claim a notarized BTC deposit to mint LBTC. |
Read actions
| Action | Description |
|---|---|
get_lbtc_balance | LBTC balance for any address on the current chain. |
get_btcb_balance | BTC.b balance for any address on the current chain. |
get_lbtc_exchange_rate | Current LBTC/BTC rate and minimum stake amount. |
get_deposit_status | All deposits (pending, claimable, claimed, failed). |
get_redemption_status | All unstake and redemption operations. |
What the provider does for you
WalletProvider to an EIP-1193 provider for the Lombard SDK.Network IDs
| AgentKit network ID | Chain | Environment |
|---|---|---|
ethereum-mainnet | Ethereum | Production |
ethereum-sepolia | Ethereum Sepolia | Testnet |
base-mainnet | Base | Production |
base-sepolia | Base Sepolia | Testnet |
Friendly aliases are also accepted: ethereum, eth, mainnet, sepolia, base, base-sep.
Helper utilities:
import {
resolveNetwork,
resolveChainName,
isLombardSupportedNetwork,
} from '@lombard.finance/sdk-agentkit';
isLombardSupportedNetwork(network); // boolean
resolveNetwork(network); // { chainId, env, networkId }
resolveChainName('ethereum'); // { chainId: 1, env: 'prod', networkId: 'ethereum-mainnet' }