
* Update 01-development.md Update Communication Channels channels to reflect removal of Twitter and Telegram, and emphasize SimpleX, Nostr, and Matrix chats * Update 02-languages.md Update Telegram verbiage to reference SimpleX instead. * Update 04-guides.md Update Telegram verbiage to reference SimpleX instead. * Update 05-art.md Update Telegram verbiage to reference SimpleX instead. * Update 06-outreach.md Update Twitter verbiage and reference Nostr instead * Update 00-quicks-start-guide.md Update verbiage slightly. Add more info and links. * Update 01-lightning.md Add rough draft to provide overview of Lightning Network and its relation to RoboSats * Update 02-tor.md Provide rough draft of introduction to TOR. * Update 03-access.md Add access method via Android app APK. Adjust slight typos and some wording for clarity. * Update 01-trade-pipeline.md Add TOC, swap steps and pictures placement, adjust small typos and wording. Picture was swapped with the steps because I think the picture can be slightly overwhelming versus a simple list of steps. The pictures are great but they are a lot to throw at someone right when they open the very first doc under "Understand" to learn about RoboSats. * Update 02-robots.md Clean up hyperlinks, adjust grammar slightly. * Update 03-premium.md Update verbiage, adjust grammar slightly. * Update 03-premium.md Add paragraphs on advice for choosing a premium * Update 04-bonds.md Various changes to verbiage and adding/updating information. Grammar fixes, remove reference to Telegram. * Update 05-trade-escrow.md Clean up hyperlinks, adjust some wording * Update 06-disputes.md Rough draft of disputes section. Committed changes are a placeholder for a longer and more detailed version of the dispute process. * Update 07-wallets.md Fix typos, grammar edits, add new section at bottom * Update 08-limits.md Rough draft of new content in the limits docs * Update 09-swaps.md Adjust "on-chain" to "on chain" and "sats" to "Sats" for consistency across other docs. Slight grammar fixes. * Update 10-telegram.md Small grammar fixes, clean up formatting and add table of contents * Update 12-prices.md Add verbiage note about explicit pricing method, clean up hyperlinks * Update 13-fees.md Clean up hyperlinks, small spelling fixes * Update 14-on-chain-payouts.md Add table of contents, small grammar fixes, adjust formatting * Update 07-wallets.md Change "on chain" to "on-chain" * Update 09-swaps.md Change "on chain" to "on-chain" * Update 02-tor.md Add note when using TOR and experiencing connection issues
5.6 KiB
layout | title | permalink | toc | toc_sticky | sidebar | src | ||||
---|---|---|---|---|---|---|---|---|---|---|
single | Platform Fees | /docs/fees/ | true | true |
|
_pages/docs/03-understand/13-fees.md |
RoboSats charges a {{site.robosats.total_fee}}% fee of the total trade amount; this fee is distributed between the order maker and the order taker who pay {{site.robosats.maker_fee}}% and {{site.robosats.taker_fee}}%, respectively.
The platform fees are summarized in the table below to emphasize the fee percentage depends on whether you make or take the order:
Side | Maker | Taker |
---|---|---|
Buyer | {{site.robosats.maker_fee}}% | {{site.robosats.taker_fee}}% |
Seller | {{site.robosats.maker_fee}}% | {{site.robosats.taker_fee}}% |
Note: External fees may be incurred such as Lightning Network routing fees and on-chain transaction fees.
Platform Fees in Practice
The total fee ({{site.robosats.total_fee}}%) is split between the maker and taker. The taker pays a greater amount ({{site.robosats.taker_fee}}%) than the maker pays ({{site.robosats.maker_fee}}%); 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
where 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 trade_sats
variable:
- For maker:
fee_fraction = 0.002 * 0.125 = 0.00025 ==> {{site.robosats.maker_fee}}% fee_sats = trade_sats * fee_fraction
- For taker:
fee_fraction = 0.002 * (1 - 0.125) = 0.00175 ==> {{site.robosats.taker_fee}}% fee_sats = trade_sats * fee_fraction
where fee_fraction
combines for a shared total platform fee of {{site.robosats.total_fee}}%. As noted hereinbefore, the taker pays a greater amount ({{site.robosats.taker_fee}}%) than the maker pays ({{site.robosats.maker_fee}}%) 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 fee_fraction
calculations.
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 Fees
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.
{% include improve %}