Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR upgrades the fee structure. So far it was very basic: the seller locks a hold invoice for X, the buyer submit an invoice of 0.998*X. The overall fee for a trade is 0.2%.
This is functional, however the fee load is fully applied to the buyer (...well the market can accommodate it by shifting the equilibrium premium). However, we would prefer to use a proper fee structure to incentivize liquidity providers to use the platform.
So the fee structure changes from:
To:
The total trade fee remains the same (0.2%), but now we align the maker/taker incentives to better fit the platform's need of makers.
Why exactly that split between maker/taker? This split is taken from the predominant BTC p2p market (Bisq): https://bisq.wiki/Trading_fees . The fees on Bisq are: 0.1% maker fee and 0.7% taker fee. There seems to have been a lot of deliberation around this split for Bisq (makers pay a fraction of 0.125 of the total fees), so it makes for a very a good initial value for RoboSats.
It all boils down to a new hparam:
MAKER_FEE_SPLIT=0.125
(It is implicit that TAKER_FEE_SPLIT = 1 - MAKER_FEE_SPLIT)