[Draft] Proposal for liquidity provision on fiat pairs (LiquidBits.net)

Edit: Check out the beta-test here: [Draft] Proposal for liquidity provision on fiat pairs (LiquidBits.net)

Below a draft proposal for comments. Looking forward to your comments and feedback.

—DRAFT----

Following the success of the Trustless Liquidity Pool/NuPool I like to submit another proposal based on the same software. I have been testing the software in my own environment with a lot of support from the developer (@creon), who I like to acknowledge in this proposal. I’ve also received support from others in the NuPool team which I’m very thankful for.

This new pool will be known as Nu’s LiquidBits.net

The Pool will be available to provide liquidity on fiat/NBT pairs on CCEDK and BTC/NBT liquidity on Bitcoin.co.id.
You will be able to choose the amount and the exchange in your client. You can even run two clients, each on a different exchange and with different pairs. You can also provide liquidity on this pool alongside NuPool.

Exchanges and currency pairs
The reason to add CCEDK is that there is currently no other exchange available with USD/NBT and EUR/NBT pairs. There is a higher risk to operate on this exchange for the users given recent events with hacked exchanges. This proposal tries to compensate for this with a slightly higher compensation to start with, but I hope overtime that this can be lowered. Unfortunately there are no other exchanges offering this service currently.
As an alternative I’ve added the BTC/NBT pool on Bitcoin.co.id. I think this exchange should be supported as it serves a different and important market. When the fiat pairing receives positive feedback and participation I may try to request a fiat pair at this exchange. I think that will be important going forward.

Attracting new users to decentralized liquidity provisioning
I hope that the ability to provide liquidity on fiat/NBT pairs and not being exposed to the BTC fluctuations which are highly speculative, also attracts users who normally wouldn’t think of supporting the network in this way. I think it is important for NuNet to have many smaller liquidity providers to ensure the peg in the long term.

Hopefully the Nupool and LiquidBits can also serve as a template for others who wish to start their own pool in order to create a competitive, but highly decentralised market across multiple exchanges and many currency pairs.

Proposal, fees and compensation
The full proposal can be viewed below. I would like to have the proposal passed before the point at which liquidity provision is started. The main points of the proposal are as follows:

  • Intention to provide 5,000 NBT liquidity on Bitcoin.co.id NBT/BTC pair for 30 days
    With maximum compensation of 7.5% per month (0.25% per day)

  • Intention to provide 5,000 NBT liquidity on CCEDK USD/NBT pair for 30 days
    With maximum compensation of 10% per month (0.33% per day)

  • Intention to provide 5,000 NBT liquidity on CCEDK EUR/NBT pair for 30 days
    With maximum compensation of 10% per month (0.33% per day)

For both exchanges the minimum payout is 1 NBT and automatic payouts are every 24 hours.

200 NBT pool fee which will be shared equally with @creon
1375 NBT compensation payout for liquidity providers
1575 NBT requested in total

Instructions to join the pool can be found here: <link to manuals/thread>

Disclaimer
Liquidity providers remain in full control of their funds throughout the operation of the pool. Liquidity providers also bear the full risk having their funds on the exchange and won’t be compensated by this pool on an exchange default.

The proposed operation is mainly meant to be a test run. Therefore the provided liquidity is relatively low and I won’t guarantee continuing the operations after this 30 day test run. It is meant to be another test run for the software but also for price discovery (interest %), gauging the interest in fiat liquidity provisioning in order to maintain the NuBits peg with the US$ and determining a sustainable compensation for the costs of operations and maintenance of the software.

Proposal
RIPEMD160 hash: tbc

=##=##=##=##=##=##Custodian Hash starts with this line ##=##=##=##=##=##=

Custodial Address: Bxxxxxxxx

Amount Requested: 1575 NBT

@cybnate will start an independent trustless liquidity pool server to provide liquidity on the EUR/NBT, USD/NBT and BTC/NBT markets. A target of 7,500 NBT on the bid and ask side of the order books will be provided by the pool split over 3 currency pairs, resulting in a total maximum liquidity of 15,000 NBT. The operation will end after thirty (30) days.

Liquidity provided by users will be compensated:

  • with up to seven point five percent (7.5%) per month (0.25% per day) on Bitcoin.co.id BTC/NBT pair

  • with up to ten percent (10%) per month (0.33% per day) on CCEDK fiat pairs

using the pool’s calculations to allow a fair distribution of returns amongst liquidity providers. 1,375 NBT of the requested amount in this grant will be held as reserve to make payouts to connected users. Payouts will take part every 24 hours. The minimum payout is 1 NBT. The pool fee is 200 NBT and serves as a contribution for the effort of supporting the pool, @creon’s support and work, supporting the users and the costs of operating the server.

After the operation the shareholders will be provided with detailed information about the liquidity provided by the pool. If the target was not reached during some time, or users provided enough liquidity to allow a lower average interest rate, then the remaining funds will be used to continue operations for up to another 30 days or for continuing operations with another grant or a combination of both until depleted.

If, for some reason, the decision is made to discontinue the pool project after the 30 days term has passed, the remaining NBT from a previous grant will be burned.

The provisioning of the pool is based on best endeavours. No claims can be made by users when the pool server software is not available. Exchange failure or loss of funds caused by exchange operations is the risk of the liquidity provider.

Don’t risk more than you can afford to lose!

=##=##=##=##=##=## Custodian Hash ends with this line ##=##=##=##=##=##=

9 Likes

Great proposal, as discussed before in other threads, I think that a fiat liquidity is very much needed.
My only suggestion would be to consider 10,000 NBT instead of 5,000 for the USD/NBT pair.
Thank you for submitting this proposal.

2 Likes

Considering our current liquidity situation and the increased difficulty to get fiat on an exchange you may want to consider imbalanced interest rates (and maybe even targets) in order to give people a stronger incentive to provide buy side liquidity.

We also already thought about changing the nupool operation in this way via motion, but we fear confusion. In a new grant I probably would not use a completely balanced model again.

2 Likes

I’m very pleased to see this proposal. I think it is fine as is, while at the same time the modifications suggested by @creon and @GLock are reasonable.

I hope it succeeds and that you provide more liquidity after the initial 30 days.

Edit: Actually, I would prefer to see some commitments regarding balancing in the motion. For instance, so long as total liquidity contains at least 25% on each side, you will maintain at least 20% on each side for each pair you support. Balancing would be done once per day, 6 days a week as needed.

I will absolutely vote for this proposal because it is structured appropriately and I trust @Cybnate’s ability to run the pool. It is an important step towards shareholder-funded liquidity operations only existing on USD pairs.

However, I still don’t trust CCEDK given their continued silence around the funds lost from their exchange. I hope your pool will consider transferring the NBT/USD trading pair in the future once a more trusted exchange offers it.

3 Likes

The server knows about the current liquidity so this could even be done “live”, i.e. the server queries the current liquidity, calculates the ratio and multiplies a large maximal interest rate on each side by the corresponding factor.

Example: @Cybnates pool gives 0.33% maximal interest per day. The current liquidity is 13634.5958 buy side vs 63675.2769 sell side, so the buy side makes 17.64% of the total liquidity and the sell side makes 82.36% of the current liquidity.

So the buy side interest rate will be: 0.33% x 82.36% = 0.27%
and the sell side interest rate will be: 0.33% x 17.64% = 0.058%

Note that if you ignore my rounding then the pool will in all cases pay 0.33% as a maximum.

It is not hard to implement this.

1 Like

A thousand times yes! I will most definitely be voting for this motion and will use high fee fiat services to put USD in ccedk if the unbalanced interest rates model is chosen.

My question is what’s the spread? What stops me from selling nbt to get the higher interest rate?

That’s a good point. Currently the maximal allowed spread is 0.5% in any direction. Allowing for a larger spread would not be a good solution, because then honest people won’t be able to sell NBT for ~1 USD anymore.

I really need to think about this, since this as you say doesn’t seem to be stable from a game theoretical perspective. Thanks for the heads up.

Liquidity pools on NBT/crypto pairs are exposed to risk and used as hedging instruments by traders.
Compensation for participants:
What’s the minimal compensation?
What are the probabilities of total loss?

How about auctioning somehow? Like higher rates for a smaller spread, or pay those closer to the $1/nbt point first to generate competition.
We have a good opportunity to do this kind of thing because the price point is static so hedging is limited.

This is already the case with the variable interst rate system :wink: But this doesn’t solve the problem that there is an inventive to switch to the higher payout side. So here are my thoughts so far:

Given a pool with different interest rates on each market side. The buy side interest rate is 10% and the sell side interest rate is 5%.

Problem: As @Nagalim pointed out, anyone on the sell side has a clear monetary incentive to sell all NBT to some other pool participant on the buy side, since it will double the reward. Since pool participants only switch role in this process, the whole situation is the same as before and the newly owned NBT should directly be converted back to the buy side. There is no equilibrium and this will converge to a point where all funds are consumed by exchange fees.

The problem appears because the different interest rates are applied to different users. This will ultimately lead to an opportunity for some user to increase the own reward by switching side.

The solution for that would simply be to reward liquidity user-unspecific.

Example: Let’s say there are 20 NBT on the buy side at 10% and 70 NBT on the sell side at 5%. You are joining the pool with 10 NBT on the sell side.

In a user specific reward system, as it is now the case, you would get 5% on your 10 NBT and you absolutely should switch on the buy side in order to get 10%.

In a user-unspecific reward system, as proposed, you would get rewarded according to your contribution to the total liquidity. There are 20 NBT on the buy side which get compensated at 10% (= 2 NBT) and 70 + 10 NBT on the sell side which get compensated at 5% (= 4 NBT). Your total contribution is 10 / 100 = 10% so you will get 0.1 * (2 + 4) = 0.6 NBT, regardless on which side you are.

Advantage:

  • In my opinion a game theoretically stable system to encourage liquidity for one particular side by using different interest rates

Disadvantage:

  • The opportunity for users is smaller. If there is a large sell support but a poor buy support, then adding my BTC will only give me a fraction of the additional reward. So there is a significantly decreased personal incentive compared to an increased group based incentive, which we of course can never count on.

I’d be interested in your thoughts and suggestions. Let me know if the problem is clear to you or if I am missing an obvious solution.

1 Like

Trying to find a solution to address the disadvantage of a user-unspecified system as Creon proposes above. I think this is already a problem as we see with the unbalanced liquidity figures presented in the wallet. So incentives to address that should be high priority.

The only other way I see to address it is to adjust interest rates immediately when users move funds based on the overall pool balance instead of the wallet balance. This might still leave a problem with gaming across pools when other pools are not focussed on balancing.

Edit: this won’t solve the problem either I now understand. As the swap market incentive still exists when bid and ask interest rates are unbalanced.

I love this, honestly. As there is such a bigger fee to deposit USD than NBT, we will probably still see a higher sell side. However, the non-user specific model is definitely a step in the right direction with no downsides compared to the balanced compensation model as far as I can tell.

Will definitely consider this as soon as other fiat/NBT
pairs are becoming available. I really hope that CCEDK will provide some
clarity soon, so we can still continue operations even if alternatives show up.

In the case of the bitcoin.co.id NBT/BTC market there are certainly risks. The minimal compensation can be close to zero as an extreme when the amount of deposits and providers exceed the maximum.
The probabilities of loss are the same as keeping your funds on an exchange (e.g. exchange default/thefts etc.) + that traders may use you as a hedge. This has been discussed in other threads and there is no single answer. When BTC goes down you have the opportunity to remove your funds from the market (from tier 1 to tier 2), only to add them when you think the compensation offered matches the risk of further BTC rate decreases. As most people will do that you will likely receive a higher compensation when BTC rate decrease then when it increases. The pool will adjust automatically up to the interest rate cap (0.25%/day as proposed for the NBT/BTC pair)

I might have to postpone my proposal a bit till a solution is implemented. Thanks Nagalm for raising this.

Edit:

Will take that aboard and will adjust the proposal with unbalanced bid/ask rates. Need to think about what would be a good starting point. For the fiat pairs, as suggested a higher rate for liquidity on USD would make sense given the complexity to deposit this versus a NBT deposit on an exchange.

2 Likes

Nice proposal because this would be the first pool to contribute to NBT/USD which is the pair that really matters, at least from my perspective.

I would be willing to contribute to NBT/USD by depositing USD into CCEDK but it would help a lot if I could use something different from SWIFT. Checking with @ronny right now.

1 Like

I think implementing a mechanism that incentivizes providers to shift sides when sell/buy sides are unbalanced would be a very useful feature.
In other words, the client would display in real time the current reward rate and the rate you would get if you shift manually sides. Or you could delegate to the bot itself to shift sides automatically.

Shouldn’t it be “20 NBT on the buy side which get compensated at 10%” and “70 + 10 NBT on the sell side which get compensated at 5%” ?

I think to sign up any participant to the pool in fair conditions, there must be a clear disclaimer on the risks of loss and on the real expected returns. I hope there will be one on LiquidBits.net

1 Like

I hoped that the disclaimer I added in the proposal and my reply would be good enough, at least for the testrun. The next step would be an investment risk assessment like you see in IPOs from companies. Maybe I will copy and paste some of that in the context of this proposal. Needs more thoughts.

2 Likes

Haha @cryptog is the only one here bothering to check the math! :wink: Thanks, fixed that.

2 Likes

Any progress?