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

BSIP 85: Maker order creation fee discount #240

Closed
abitmore opened this issue Oct 13, 2019 · 7 comments
Closed

BSIP 85: Maker order creation fee discount #240

abitmore opened this issue Oct 13, 2019 · 7 comments

Comments

@abitmore
Copy link
Member

abitmore commented Oct 13, 2019

BSIP: 0085
Title: Maker order creation fee discount
Author: Abit More <https://github.com/abitmore>
Status: Draft
Type: Protocol
Created: 2019-10-13
Discussion: https://github.com/bitshares/bsips/issues/240
Worker: TBD

Abstract

This BSIP proposes a protocol change so that the committee can define
different fee rates for maker orders and taker orders.

Motivation

To improve liquidity of the BitShares DEX.

Rationale

The maker-taker fee model is adopted widely in centralized exchanges and
helped them to attract trading activities.

In the BitShares DEX, for each filled order, the owner of the order need to
pay an order creation fee and conditionally a market fee.
BSIP 81 described
a way to apply the maker-taker fee model to the market fee. This BSIP
describes a way to apply the maker-taker fee model to the order creation fee.

Specification

Add a new global parameter maker_fee_discount_percent which can
be updated by the committee only after the protocol upgrade.
Initial value of that parameter is 0.
Valid range of that parameter is [0, 100%].

When a limit order is filled or partially filled for the first time,
technically, when its deferred_fee field is non-zero,

  • if the order is a take order, process the deferred fee as before;
  • if the order is a maker order,
    • if the order creation fee was paid in BTS, return
      round_down(deferred_fee * maker_fee_discount_percent) to the owner,
      then process the remaining deferred fee as before;
    • if the order creation fee was paid in another asset, return
      round_down(deferred_paid_fee * maker_fee_discount_percent)
      to the owner, return
      round_down(deferred_fee * maker_fee_discount_percent) to
      the fee pool of the asset, then process the remaining deferred fee
      and deferred paid fee as before.

Discussion

As of writing, to incentivize market making, the limit_order_create
operation fee is very small. However, since there is only one fee,
the fee for consuming liqudity is also very small.
This BSIP gives the committee a tool to increase fee for consuming
liquidity while still keeping a low cost for market makers to provide
liquidity.

Copyright

This document is placed in the public domain.

@abitmore
Copy link
Member Author

@froooze

@abitmore
Copy link
Member Author

@ryanRfox I guess this BSIP can be assigned with number 84?

@ryanRfox
Copy link
Contributor

Looks "done" enough to assign a BSIP number. However, I just assigned 84 for Issue #81 . Let's assign BSIP85 to this one. See PR #241 for README updates.

@abitmore abitmore changed the title New BSIP: Maker order creation fee discount BSIP 85: Maker order creation fee discount Oct 14, 2019
@abitmore
Copy link
Member Author

Created PR #243.

@froooze
Copy link

froooze commented Oct 15, 2019

@abitmore
Is it not better to use two different fees for maker and taker, instead of doing a refund for maker?

@abitmore
Copy link
Member Author

@froooze technically refunding is much easier to implement and not hard to understand.

@abitmore
Copy link
Member Author

Done with #243.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants