[Passed] motion to permit dual side NuBot on Poloniex

Continuing the discussion from Current Liquidity:

TL;DR
Have a custodian run a dual side NuBot on Poloniex with Nu funds to create a buffer and support the peg.
This is a band-aid solution until e.g. T3 custodians and fixed cost compensation have eased the liquidity situation and improved the reliability of the peg.
Poloniex as the exchange with biggest NBT trading volume is very important for customers evaluating the peg.
/TL;DR

Assessment / Reasoning

This motion draft is trying to solve a problem Nu currently faces:
there’s too much friction in the flow between tiers, especially T4 and the lower tiers.
That caused the activation of the Poloniex gateways several times.

More than once the liquidity situation first required funding the sell side gateway and after a swing, funding the buy side gateway - or vice versa.
It may be that the amount of money that was injected in the gateway was too much and caused that swing. One might think that if too much funds would have been put into the gateway, they wouldn’t have been traded.
The spread is high enough to put the funds rarely in the front line of the order book.
But as NuBot was configured in “gateway mode”, all proceeds were siphoned from the market (the intention of the gateway) and not available for future trades.
So having a dual side NuBot might ease the situation.

Road map

In the very near future T3 custodians, LPs getting familiar with NuLagoon Tube, improved incentives for liquidity provision with fixed cost (or variations of it) should help mitigating liquidity issues.

Need for action now

Until then the FLOT is overburdened with the needs to keep an eye on the liquidity (especially at Poloniex) and act very fast if a side is in danger to run dry.
I’m not saying that it’s very much effort to craft a tx using Cointoolkit and sign it.
Kudos to @ttutdxh; without Cointoolkit I dare say the peg would have been in severe danger several times in the last weeks!
But NSR holders might underestimate the burden to have the FLOT be effectively responsibe for real-time activity.
That is not what the FLOT was created for. It will burn out FLOT members and it’s not reliable. If the FLOT is only a few hours too late, damage might be done.

Solution

Create a buffer on Poloniex in addition to the liquidity that is “contracted by paying liquidity providers” and introduce a kind of liquidity providing custodian again.
Have a sufficient buffer (e.g. 10,000 USD equivalent) on Poloniex to have an increased resiliency for swings in NBT demand.
Create a new Poloniex account to operate a dual side NuBot.

Constraints and drawbacks

Funds (e.g. 10,000 USD equivalent) on exchange create a risk due to exchange default, theft, etc.
As the used Poloniex account is using 2FA and the API credentials aren’t allowed to withdraw funds, the main risks seem to be:

  • exchange default
  • the custodian steals the funds

These risks can hardly be calculated. The costs (total risk * funds at stake) can only be estimated.
They are higher as with gateways as funds stay for an extended time on the exchange.

Last words

I won’t provide a collateral as I don’t intend to make money with the dual side gateway.
The only reason for adding a compensation clause is that I don’t want to establish this dual side NuBot as permanent solution.
Other solutions that need to come will cost money.
If this solution is for free, NSR holders make the wrong choice.

I’m unhappy about doing it anyway, but see no other chance to arrive at a future, more sound, lower friction scheme of liquidity provision without losing the peg on one of the most important exchanges on the way to it.

Motion RIPEMD160 hash: 6a2fdd44881be1d64ee5c03517525b52f607342c

=##=##=##=##=##=## Motion hash starts with this line ##=##=##=##=##=##=

Intro
@masterOfDisaster - below called “the operator” - will run a NuBot on Poloniex. The liquidity is being broadcast using a custodial address to allow tracking the liquidity situation of the bot.
The operator promises to send all funds to a FLOT multisig address upon request of a majority of the FLOT members or by a passed NSR holder motion.

Availability
The operator offers no guarantee for anything - neither the availability of NuBot nor the operator’s avialability nor malfunctions of NuBot nor outages of the internet access nor the funds on the exchange as the operator doesn’t intend to earn money with this operation.

Begin of operation
Operation begins on the day NuBot puts the first deposit of funds by FLOT on the order book.
In case NuBot is on standby (not running) and the FLOT deposits funds, operation will begin on the day NuBot gets started and puts orders on the book.

End of operation
Operation is ceased by request of withdrawal of all funds or if operator sends all funds to FLOT multisig address(es). NuBot is put on standby afterwards.

Modes of withdrawal
NSR holders can request withdrawal by motion.
FLOT members can request withdrawal to a FLOT multisig address for which they are signer by posting in the forum.
The number of FLOT members to request a deposit to a FLOT multisig address equals the number of FLOT members to execute transactions from this address.
The operator may withdraw funds to a FLOT multisig address by discretion.

Compensation scheme
The operator charges no fee for this operation for the first 45 days of operation.
If the operation hasn’t been ceased by request of either NSR or FLOT after those 45 days passed, a fee of daily 15 NBT applies for the next 30 days, increasing 5 NBT per day each subsequent 30 days.
The fee will be taken from funds on the exchange account if sufficient funds are available or raised by grant.
If the operation is ceased by FLOT or NSR holder request and started again afterwards, this grace period won’t be applied again.

Reasoning for compensation scheme
Having no fee at all for this operation is expected to hinder the creation of more sound solutions (e.g. T3 custodians who need to charge a fee).
So it mustn’t stay free forever and on the contrary has a high daily compensation.
On the other hand this motion isn’t meant to skin Nu and therefore has an extended grace period.

Premature activation
If the FLOT deposits funds at the operator’s exchange account, they will be used by the operator as if this motion already passed.

=##=##=##=##=##=## Motion hash ends with this line ##=##=##=##=##=##=

Verify. Use everything between and including the <motionhash></motionhash> tags.

I was thinking about including the deposit addresses to the motion, but as they might change (I don’t know why, but who knows) I rather put them here:
BTC deposit address of Poloniex account: 1BEFcbS5VmSh4MbB7xZMtKjtQ4aqKF2YkL
NBT deposit address of Poloniex account: BTZMCt5LvAnVCtPxpmh9dtnUDp5M9W3KKy

I have not yet a dedicated custodial address for this operation. If this motion is put up for voting, I’ll request a custodial address (grant with value 1).
For a premature start of the operation, I consider using “BETwD8nSjtj9ADSvej2na34xmsMYwPRymv”, which belongs to the NBT entry gateway, if there are no objections.

The part of the config I’m going to use for the dual side NuBot that deals with the order placement is:

Any comments on that?
An explanation of the config paramenters can be found here: https://bitbucket.org/JordanLeePeershares/nubottrading/src/7dea551e0794f102b8bc904268e4c42e6e48b064/docs/SETUP.md?at=master


Reference:



4 Likes

You should request a fee, even a small one 50-100nbt/month for your operating efforts. The free of charge is not always a good thing.
Perhaps i could make a grant of my own if i find time to learn about Nubot and
get confident using it :wink:

3 Likes

I intend to do that, but as a delayed fee, that - if everything pans out - never kicks in.
I forgot to include that part from the post where I spawned this topic from:

Thank you for reminding me of that important part!
OP has been updated accordingly.

I highly encourage you to do that.
This motion is despite its verbosity dealing with a bandaid solution.

1 Like

In the end this is a blank check for FLOT for liquidity operations like we used a year ago. It eases the problem of withdrawal availability of gateways by providing dual support, so it seems like it would be useful. However, we need to discuss the compensation.

Is it 30 or 45?

This is clear, but can be contentious and hard to achieve, especially within a 1 month period.

This is important. What is a withdrawal request? Can they ask for 1 NBT back to reset the fees? How about asking for all of it back, then sending more the next day? Does asking for a withdrawal end operation? Because that means FLOT can never rebalance and this is a 1 shot deal that actually ends up being very similar to a gateway with a limited contract.

1 Like

It’s 45. I will adjust that. I had it first at 30, but thought that’d be too little time.

I was in a hurry when I wrote that draft.
Thank you for pointing out passages that lack precision.
I’ll rephrase the draft later.

The idea is:
that dual side NuBot can remain idle forever without causing costs for Nu. It doesn’t cost me anything but approximately 50 Wh per day or less than 1 kWh each fortnight running this on a RaPi - unless I need to buy a new one or anything breaks.
If I manage to solve the issues with the immense log file size, I don’t even need to regularly stop NuBot to archive/purge logs.

Once the account gets provided with funds from a FLOT multisig address, the clock begins to tick.

The first 45 days are free of charge.

After that the daily fee applies, which is intentionally high after a decent free period to provide an incentive to develop alternative solutions as replacements for this bandaid and to not hinder alternative solutions that can’t compete with one free of charge (albeit not free of costs, because of the risks).

With “withdrawal” I had no balancing, but termination of operation in mind.
A “final withdrawal”, if that makes things more clear.
As long as this “final withdrawal” hasn’t been requested, the fee applies.
After the final withdrawal the operation is ended, NuBot gets finally shut down.

Is it now clear what my intention was?

So funds deposited in your account are permanent liabilities until you end operation?

I think so. What alternative solution do you see?

You could request a rebalance once in a while, at your leisure. Or a reduction of liability. Either way, you should be able to withdraw basically whenever you see fit.

Is there anything in the propodal that prevents that - withdrawing funds to FLOT mutisig addresses, receiving funds from FLOT during operation?
Would you agree that I can end operation by sending all funds to FLOT (I’d announce that before)?

I wouldn’t like to be responsible for initiating the balancing, though, but I doubt it will be necessary very often anyway.
I perceive this more as a buffer, exactly to reduce intervention.

From my experience with the gateways I dare say: were the gateways no gateways, but dual side NuBots, that had saved the FLOT some efforts.

I see it this way:
If you want to shed liability, you simply withdraw whenever you want to an FLOT address. If FLOT or shareholder majority wants you to withdraw, you will withdraw all and end operation.

1 Like

I edited my last post and inserted e.g. this before I could read your reply:

So let’s say FLOT deposits 30k nbt over the course of a week. All of it gets bought and it looks like we want to sell more. Would you feel obliged to at some point withdraw some of that $30k btc that is now pushing alix out of balance? No FLOT request required, do it in your own time. We trust you (duh).

I can include such a passage in the terms.
As I’m a FLOT member I already keep an eye on the liquidity situation - you might have noticed that :wink:
I hope my efforts make clear that I really care for liquidity and am aware of issues.

The thing is I won’t always be available and this NuBot operation requires me to be balanced.

ALix/liquidity might be pushed out of balance on Poloniex or even overall, but that does just look ugly and doesn’t harm the peg as long as there are sufficient NBT, right?

Trust no one! :stuck_out_tongue:

I’m not asking you to balance, just withdraw. If one side gets to be very large due to actual inflation or deflation of nbt, just take some out when you notice it. Others will mention it, but you’re the one with the account password so you’re the only one that can decide when and how much to withdraw. No obligation, just a clause saying you can withdraw to FLOT (as FLOT can deposit to you) whenever you want without ending contract.

Sounds straightforward.
I will make a comprehensive update of the proposal as soon as find time. Done!

Is there any need for improvement of the draft?
Keep in mind that it’s dealing with a band-aid solution!
I don’t want to delay the start of the motion more than necessary, because there’s gray area to be covered.

ok, do it.
I am also trying Nubot in win7 64 for the first time. Nubot is a piece of art!
The only strange thing i see is with Java SE 1.8. When Nubot running (CLI with browser) , CPU (AMD 4-core) is at 100% so i used affinity:2

1 Like

Why not consider a wider offset, like 0.005, or 0.007?

Right.
I now realize that the total spread of the proposal is not in the range defined by the motion to regulate the spread:

Adjusting it to 0.007 on both sides should result in a SAF of 1%, right?

1 Like

yup, polo has a 0.2% fee, so 0.007 should do it.

2 Likes

After repeated trouble with low liquidity on buy or sell side which made me (ab)use funds (that were waiting for withdrawal), I created this draft.
The intention was to legitimate what I was already doing.

I’m exhausted, deeply tired from continuously monitoring the liquidity situation and doing my best to support the peg.
I already used the gateway as dual side NuBot, but with a time shift in between: first they converted NBT to BTC or vice versa. Then came the need to support the peg and I reversed the config.
At the moment both gateways are running, effectively creating a dual side NuBot, but with a split brain.

If a gateway would run in dual side mode all the time, there would be no need for manual intervention.

As soon as one of the gateways is close to 50/50 balance, I’m going to stop it, convert it to a dual side bot (offset: 0.007, 0.007), start it again and shut down the other gateway.

I’ll put up this draft for voting.done
NSR holders might decide whether they want to have that kind of buffer at the currently most important exchange or not.
For the time being I see no alternatives. T3 custodians and fixed cost are hopefully a game changer.
I hope that my solo can show the easing for the liquidity situation on the way through the voting.

I only see two options from here: either I’m formally allowed to have done automatically what I did manually so far, or I let it be. It feels bad if you are sure to do the right thing, but know that you aren’t allowed to.

If this motion doesn’t pass in an appropriate time, it’s clear that the NSR holders don’t agree with what I do and I’m bound to follow their decision.
I won’t use gateway proceeds, that wait to be withdrawn, to support the peg thereafter.

3 Likes