Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Increase BSQ trading fee to get to 0.4% #103

Closed
deltahandler opened this issue Jul 18, 2019 · 16 comments

Comments

@deltahandler
Copy link

commented Jul 18, 2019

This is a Bisq Network proposal. Please familiarize yourself with the submission and review process.

With #99 the stakeholder have voted for the adjustment of the fees to a more realistic value. But it is still below the 0.4% target.

Current BTC maker fee: 0.002 BTC (0.2%)
Current BTC taker fee: 0.006 BTC (0.6%)

Current BSQ maker fee: 8 BSQ (0,0625%)
Current BSQ taker fee: 24 BSQ (0,1875%)

I propose to increase to the following values for the next voting cycle:
Proposed BSQ maker fee: 13 BSQ (0,1015625%)
Proposed BSQ taker fee: 38 BSQ (0,296875%)

With that we would have reached roughly our target fee of 0.4% and I think we should not increase the BSQ fees more in the near future.

The BTC fees can be left IMO as they would still give about 50% discount which should be enough motivation to use BSQ. If we see that BSQ adoption is below expectation we might consider to increase the BTC fee further so that the financial incentive is enough for 80% of the users to use BSQ.

@sqrrm

This comment has been minimized.

Copy link
Member

commented Jul 18, 2019

I agree with the sentiment and percentages but would wait until the end of the cycle to decide the actual BSQ values as they depend both on the BSQ price and BTC price.

@huey735

This comment has been minimized.

Copy link
Member

commented Jul 19, 2019

@deltahandler @HarryMacfinned I need something clarified.

Trading fees

BTC trading fees

The BTC trading fees are calculated in percentage of the trade amount and have a minimum BTC amount. This is what it looked like before #99,

Percentages

20190628_tradingfees

Examples with amounts

20190701_tradingcost-trading-fee

BSQ trading fees

Is the BSQ fee a static number right? I thought it was a percentage of the BTC trading fee. It doesn't make sense to me for it to be a static number when the BTC trading fees are calculated in percentage and the value of BSQ oscillates.

90% discount meant that if a trading fee in BTC is 10 Ksats, the discounted trading fee will be the the equivalent of of 1 Ksat in BSQ at the last BSQ/BTC price, right? So if 1 BSQ is worth 12 Ksats, the trading fee in BSQ = 1 / 12 <=> 0,08 BSQ, right?

Also @devinbileck @sqrrm @ManfredKarrer

  1. Is this where the current value for the trading fees are defined - https://github.com/bisq-network/bisq/blob/master/core/src/main/java/bisq/core/dao/governance/param/Param.java ?
  2. Are the fees automatically updated after the Voting cycle comes to an end?
@deltahandler

This comment has been minimized.

Copy link
Author

commented Jul 19, 2019

In Param.java the start values have been defined. The current value is what was the outcome of voting, its dynamic data. Yes after the vote result the new parameter is applied in the next cycle.

The fees are the amount in BTC or BSQ per 1 BTC trade. With BSQ you need to convert it with the BSQ/BTC price to get a % related to the BTC trade amount.

Current BTC maker fee: 0.002 BTC (0.2%) -> 0.002 BTC of a 1 BTC trade is 0.2%
Current BSQ maker fee: 8 BSQ (0,0625%) -> 8 BSQ is about 0,0008 BTC (@0.0001 BTC/BSQ price) -> 0,0008 BTC of a 1 BTC trade is 0.08%. The 0,0625% above was estimated with USD... As BSQ prices is a moving factor here the % will be not exact.

@huey735

This comment has been minimized.

Copy link
Member

commented Jul 19, 2019

The fees are the amount in BTC or BSQ per 1 BTC trade.

I don't know what that means? It seems like an unnecessary way of putting it. We don't need to reference the 1 BTC measure as that percentage applies to all trades where the trading fee isn't bellow 0.00005 BTC.

The BSQ trading fee should be set in percentage of the trade amount or percentage of the trading fee, not a whole BSQ amount because its value isn't stable. The value of BSQ to traders is how cheaper it allows them to pay for trading fees. "Oh with BSQ I save x percentage".

It's weird to me that the parameter under the proposal in the app appears as a whole value instead of a percentage.

The following formula seems appropriate
BSQ trading fee = (BTC trading fee x current percentage of discount for using BSQ) / last BTC/BSQ price

@deltahandler

This comment has been minimized.

Copy link
Author

commented Jul 20, 2019

To use % you would need to take the BSQ/BTC price which comes from Bisq trades. Manipulating that would be a problems as you can make a self trade and game the price and then the fee. It might be possible once volume is much larger as it becomes then economically irrational to do that.

@huey735

This comment has been minimized.

Copy link
Member

commented Jul 20, 2019

That's a great rebuke. I believe that even in larger volumes, traders would have an incentive to pressure the BSQ price downwards in order to save on fees.

Can you explain to me how the BSQ trading fee is arrived at currently? Let's say for the trade volumes of: 2btc and 0,002btc.

@deltahandler

This comment has been minimized.

Copy link
Author

commented Jul 20, 2019

Can you explain to me how the BSQ trading fee is arrived at currently? Let's say for the trade volumes of: 2btc and 0,002btc.

Current BSQ maker fee: 8 BSQ (0,0625%)

So 8 BSQ per 1 BTC -> 2 BTC -> 16 BSQ is maker fee. About 16 USD @ 1 USD/BSQ

Current BTC maker fee: 0.002 BTC (0.2%)
0.002 BTC for 1 BTC trade -> 2 BTC -> 0.004 BTC fee -> About 40 USD @ 10000 USD/BTC

@huey735

This comment has been minimized.

Copy link
Member

commented Jul 20, 2019

Well, the method above still assumes 1 BSQ = 1 USD.

@sqrrm

This comment has been minimized.

Copy link
Member

commented Jul 20, 2019

@huey735 The 1 BSQ = 1 USD assumption is based on the current BSQ market price of 1 USD more or less.

The BSQ fee has to be adjusted according the market price of BSQ as well as the market price of BTC. If the BTC price is unchanged and the price of BSQ goes up to 2 USD then we would have to lower fee by half. If the BSQ/BTC ratio doesn't change there is no need to change the BSQ fee, but the BSQ/BTC ratio hasn't been very stable so I suspect we will have to keep changing the fee as the market moves.

Since we're still using fiat, and specifically USD, as the unit of account it's a bit harder to think about these matters. If we were to use BTC as the unit of account it would be easier to conceptually internalize that the BSQ fee per BTC traded needs to change as the BSQ/BTC rate moves.

Regarding the manipulation of markets, it would be worth pushing the BSQ price up to pay fewer BSQ for a trade. If the manipulation pushed the price to 10% of the market value of BSQ the fee would be 10x as many BSQ, not a great outcome. It's not obvious that this would be a problem from the point of view on the DAO though. The price manipulation would have to pay fees for the trades to register and those fees would likely be higher than the fees saved. I think taking an average over the last X BTC worth of BSQ traded would limit the value of manipulation if X is sufficiently large.

@huey735

This comment has been minimized.

Copy link
Member

commented Jul 20, 2019

The BSQ fee has to be adjusted according the market price of BSQ as well as the market price of BTC.

Is that done automatically or do you mean through voting in each cycle.

Maybe the solution is to make BSQ a pseudo-stablecoin from the point of view of the DAO. The BSQ trading fee would be equal the the USD value of the BTC trading fee minus discount.

@sqrrm

This comment has been minimized.

Copy link
Member

commented Jul 20, 2019

That's done by voting right now.

To make it automatic would be somewhat complicated and prone to manipulation. I don't think it's worth spending time on that compared to the other issues we face.

@MwithM

This comment has been minimized.

Copy link

commented Jul 22, 2019

Maybe the solution is to make BSQ a pseudo-stablecoin from the point of view of the DAO. The BSQ trading fee would be equal the the USD value of the BTC trading fee minus discount.

I think that the sooner we remove from our brain the idea that BSQ is (or should be) a kind of stablecoin, the better.
https://prestonbyrne.com/2017/12/10/stablecoins-are-doomed-to-fail/

I know that a coin that has a similar value over time has its advantages, but it's simply not possible to achieve that, specially without a third party. If something is more valued or thought to be more valued over time, it goes up in price. If the opposite, it goes down.

@huey735

This comment has been minimized.

Copy link
Member

commented Jul 22, 2019

@MwithM my idea was to price the BSQ trading fees in USD and just use that same value in BSQ. So independent of the market, the Bisq Network would only see, for fee purposes 1 BSQ = 1 USD.

@deltahandler

This comment has been minimized.

Copy link
Author

commented Jul 23, 2019

the idea that BSQ is (or should be) a kind of stablecoin

That was never really an idea. Some people started to interpret that but the BSQ design has clearly no indication for that, quite the opposite. I think it just happened as the market was slowly developing and contributors who got the 1 USD per BSQ price before the launch did not want to sell below that price, but that was a purely psychological aspect. BSQ represents the value and profitability of Bisq. If it stays the same it is a sign Bisq is not growing. But luckily Bisq is growing ;-). Quite a lot over the last months....

@deltahandler

This comment has been minimized.

Copy link
Author

commented Aug 7, 2019

Proposal for DAO voting is published....

@deltahandler

This comment has been minimized.

Copy link
Author

commented Aug 17, 2019

Proposal has been accepted in DAO voting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.