RoboSats charges a 0.2% fee of the total trade amount; this fee is distributed between the order maker and the order taker who pay 0.025% and 0.175%, respectively.
The platform fees are summarized in the table below to emphasize the fee percentage depends on whether you make or take the order:
Note: External fees may be incurred such as Lightning Network routing fees and on-chain transaction fees.
Platform Fees in Practice
The total fee (0.2%) is split between the maker and taker. The taker pays a greater amount (0.175%) than the maker pays (0.025%); this is designed to encourage more makers and subsequently increase available liquidity on the exchange.
In practice, the fees are applied when the user is presented with submitting the trade escrow (seller) or payout invoice (buyer) after the taker bond is locked.
If the order pricing is relative, then the amount of Sats being traded relative to the fiat exchange rate (we’ll call
trade_sats) fluctuates until the taker bond is locked. In cases of explicit order pricing, the amount of Sats being traded is fixed. Refer to Understand > Prices for additional information regarding relative and explicit pricing methods.
Until the taker bond is locked, the order’s price continues to move with the market over time. Once the taker bond is locked for a relatively priced order, the amount of Sats being traded is calculated as follows:
premium_rate = CEX_rate * (1 + (premium / 100)) trade_sats = amount / premium_rate
trade_sats is the Sats to be traded,
premium is what the order maker defined during order creation, and
CEX_rate is the current bitcoin exchange price given the currency you are using.
The platform fees (
fee_sats) associated with your order are calculated using the
- For maker:
fee_fraction = 0.002 * 0.125 = 0.00025 ==> 0.025% fee_sats = trade_sats * fee_fraction
- For taker:
fee_fraction = 0.002 * (1 - 0.125) = 0.00175 ==> 0.175% fee_sats = trade_sats * fee_fraction
fee_fraction combines for a shared total platform fee of 0.2%. As noted hereinbefore, the taker pays a greater amount (0.175%) than the maker pays (0.025%) to encourage liquidity growth with more order makers.
RoboSats then collects fees in the trade escrow (
escrow_amount) and payout invoice (
payout_amount) process by calculating the following:
- For seller:
escrow_amount = trade_sats + fee_sats
- For buyer:
payout_amount = trade_sats - fee_sats
In essence, RoboSats adds to the
escrow_amount, deducts from the
payout_amount, and, depending on whether you are the order taker or the order maker, applies the appropriate
Why Have Fees?
Fees work to improve the platform’s end-user experience through continuing development, offering multilingual support, and building out guides for interacting with the platform.
Fees in turn reward the volunteer GitHub developers and contributors for completing tasks that are elligible for earning bitcoin. Check it out! If you earn Sats for your contributions, then fees incurred while using RoboSats would be sufficiently covered!
Implementing fees also helps mitigate the opportunity for denial of service attacks by malicious bots congesting the RoboSats coordinator.
External platform fees can be incurred when performing on-chain payouts (on-chain swaps) and when routing payments through the Lightning Network.
When choosing to receive bitcoin on-chain, an overview of the mining fee (
fee_mining) and swap fee (
fee_swap) is displayed. The
payout_amount for receiving on-chain is calculated as follows:
payout_amount = trade_sats - fee_sats - fee_mining - fee_swap
The swap fee is an additional fee that RoboSats charges for making the on-chain payment and the mining fee is the on-chain fee rate in sats/vbyte which can be customized to suit your needs. Refer to Understand > On-Chain Payouts for additional information regarding on-chain payouts.
RoboSats leverages the speed and security of the Lightning Network, therefore payments sent through the Lightning Network may incur fees depending on the necessary “path” that payment must take.
Users can receive payments privately through lnproxy, a simple Lightning Network privacy tool, but your routing budget may increase to cover extra fees incurred by the lnproxy server. Refer to Best Practices > Proxy Wallets for more on receiving privately.
The user has the option to specify the Lightning Network routing budget which may help reduce routing failures. Refer to Quick Start > Lightning Network for additional information on routing failures.
You can help improve this page!
Learn RoboSats is a joint effort of the RoboSats community. If you have used RoboSats before, you are already an expert! Help improve this documentation.