Skip to Content

BSA Fees

This page summarizes every on-chain fee a BSA depositor or integrator pays, where it is paid (Bitcoin or Ethereum), and who pays it for each protocol flow.

Note The following description assumes a Partner integration for the Lombard BSA protocol. Since some on-chain operations and costs are eased by the Lombard backend, off-chain limitations, quotas or commercial agreements may apply to protocol usage.

FlowFeePaid onPaid by
LockBitcoin miner fee for the lock tx, at the fee rate chosen by the PartnerBitcoinPartner, from the funding transaction
LockGas fee for UTXO information registration on the SAREthereumLombard
Cooperative unlockCooperative unlock fee in native ETH, getCooperativeUnlockFee(utxosCount): a fixed fee plus a fee per UTXO to cover operational costs, including gas for the SAR callEthereumPartner
Cooperative unlockBitcoin miner fee for the vault → depositor txBitcoinLombard, covered by the cooperative unlock fee
Unilateral unlockGas for unilateralUnlock on the SAR. No Lombard feeEthereumPartner
Unilateral unlockMiner fees for 2 transactions: the unlock tx and the spend from the timelock address. A base miner fee is committed in PSBTs at lock phaseBitcoinPartner
RebalanceMiner fee for the rebalance txBitcoinLombard
AO resolutionMiner fee for the challenge-resolution tx committed at lock phase, plus a CPFP bump if the network is congestedBitcoinPartner running the AO

The Bitcoin miner fee committed at lock phase is a protocol instance parameter registered on the Smart Account Registry at getCurrentFee().

Examples

Some examples of expected fees in the most common cases.

Notation

  • D: the deposited BTC amount
  • N: the number of tranches (UTXOs) into which the deposited amount is split
  • Ef: the fee to execute an Ethereum transaction (a constant simplification of the gas fee on Ethereum)
  • Uf: the constant fee to unlock a tranche with Lombard cooperation
  • Ut: the per-tranche fee to unlock a tranche with Lombard cooperation
  • M: the miner fee committed at lock phase from getCurrentFee()
  • Bf: the miner fee needed to send a Bitcoin transaction (a constant simplification of the miner fee at a certain fee rate)
  • Lf: the unlock fee charged by Lombard upon unlocks from the Security Consortium

General BSA protocol instance

This example covers a typical BSA protocol instance. The depositor locks some Bitcoin in a BSA vault, uses it as collateral in their DeFi activity, and exits the vault with a call to the cooperative unlock() function.

  • Lock → Bf, i.e. the miner fee for the funding transaction to the vault sent on Bitcoin
  • Unlock → Uf + Ut · N + Ef, i.e. an unlock fee per UTXO plus the Ethereum gas fee to execute the unlock() call on Ethereum

Rebalanced BSA protocol instance

In this example a depositor’s position was partially liquidated, so Lombard pulled a list of tranches of length K from the vault to cover the supply movement.

  • Lock → Bf, i.e. the miner fee for the funding transaction to the vault sent on Bitcoin
  • Unlock → Uf + Ut · (N − K) + Ef + Lf, i.e. an unlock fee per remaining UTXO after liquidation, plus the Ethereum gas fee to execute the unlock() call on Ethereum, plus the fee to retrieve BTC from the Security Consortium for the partially liquidated amount

If the rebalanced amount does not match the exact value of the tranches rebalanced, the depositor is left partially collateralised in the Security Consortium. Redeeming the remaining funds then requires an additional Ethereum transaction costing Ef.

Protocol instance with unilateral exit

In this example, Lombard minted BTC.b after the tranches were locked according to the BSA protocol rules, but for any reason (e.g. Lombard fee too high, Lombard unavailable, …) the depositor wants to exit without Lombard cooperation.

  • Lock → Bf, i.e. the miner fee for the funding transaction to the vault sent on Bitcoin
  • Unlock → Ef + M + Bf, i.e. the Ethereum gas fee needed to call unilateralUnlock, plus the Bitcoin miner fee committed at lock time in PSBTs for the vault → Unlock Timelock Address (UTA) transaction, plus the Bitcoin miner fee needed to pull funds from the UTA after the timelock expires
Last updated on