[Passed] Dual-side PyBot gateway on Poloniex and Bittrex

Given all the discussions I thought it to be good to also chip in with a draft proposal:

https://discuss.nubits.com/t/discussion-liquidity-operations-a-paradigm-shift/1?source_topic_id=3412
and the really stressful one:
https://discuss.nubits.com/t/reminder-absence-of-flot-member-and-current-poloniex-nubot-operator/1?source_topic_id=3412

I decided to offer a dual side Pybot gateway in order for FLOT to provide liquidity at their discretion. As most of you are aware I’m already running multiple PyBots to monitor LiquidBits. Adding another bot is simple and doesn’t require a lot of work. I can’t guarantee monitoring for 24/7, but will check it daily. Advantage of using PyBot over NuBot is that it immediately places orders when received.

I have only a tier 1 subscription with Poloniex (up to 2k withdrawal limit). I’m fine to apply for tier 2 when this passes which allows me to withdraw $7k/day which should be more than adequate given the intended scale of this operation.

My location is in New Zealand (GMT+12).

Given the limited efforts I will only ask 50 NBT/month assuming no more than weekly withdrawals.
Now, lets do some copy paste from MoD’s and Zoro’s motions/grants :smile:

Edit 14-Feb-2016 Full proposal is also published on Daology: https://daology.org/proposals/9703bd96f4cc6754cf6b98431315a9133bb564cf
Daology Hash: 21cc7b3ee02aba45e464a81e75e32784c2827302

B7jeGVDdsd4eE5ZGGmv8xXn2QgkS9nAPUC , 100

Please add the above to your client if you like to support this.

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

Intro

@Cybnate - below called “the operator” - will run a PyBot on Poloniex and Bittrex. 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.
The spread is fixed to the maximum spread (0.7%) allowed and broadcast by the LiquidBits operations. The maximum fillside is 2000 NBT on Poloniex and 500 NBT on Bittrex. Only the fillside is propagated as Tier 1 liquidity.

Availability

The operator offers to check for Pybot’s operation on a daily bases. This translates in a response time of at least 24 hours worst case.

Begin of operation

Operation begins on the day NuBot puts the first deposit of funds by FLOT on the Poloniex order 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).
The remaining grant fees will be burned or send to a FLOT’s NBT address.
If for any reason the operator has to stop PyBot for a period of time or permanently before the end of the contract, it will be communicated at least 7 days in advance.

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 @cybnate charges 100 NBT for 60 days of operation in advance. This saves another round of voting for a relative small amount.

Reasoning for compensation

PyBot will be running on an existing VPS together with other PyBots used to monitor LiquidBits operations. The compensation is mainly for weekly (or less) manual withdrawals and general monitoring of operations of the bot.

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 ##=##=##=##=##=##=

I am also eager to see more grants like this in order to limit and decentralize the funds’ risk.

3 Likes

If this becomes a trend Nu liquidity provision will change its landscape

I’d also like to see you, @masterOfDisaster, @zoro and @Nagalim keep it an option to deal with a T3 custodian rather than strictly with the FLOT. The FLOT is still very clumsy compared with the speed liquidity swings.

1 Like

I think already posted that somwhere - might search for it later: T3 custodians can just fill a NuBot side that is in danger of running dry, if there’s no request for a deal or the funds from a deal don’t appear at the necessary place.
The T3 custodian deposits and gets the deposited funds (fee on top, he lives off of that) from FLOT back later.
A singlesig T3 custodian will always beat multisig when it comes to speed of signing a transaction.
So a T3 custodian can be the buffer he was thought out for - even if no LP requests a trade.

My point is that the draft in OP does not mention T3 and uses FLOT literally. Dealing with T3 could be a break of contract.

I’m not talking about dealing with T3 - how will you prevent a T3 custodian from depositing funds into your account?
Especially Nu funded T3 custodians make that easy.

The responsibility of a sufficient funding level must not be put on NuBot operators’s shoulders alone.
They don’t need to make a deal to have a low side supported.
Everyone can monitor that looking at the custodial address from time to time.
ALix can be upgraded to track that and even send alerts.
There only needs to be some funds deposited, if a side is about to run dry.

Learn from my mistakes.

Good point.

Probably not, but unwelcome ‘gifts’ would be returned quickly or even burned when anonymous.

I don’t think allowing Nu funded T3 custodians to use the gateway is a problem. Will take this into consideration. Just need to think about the implications.

It’s on the blockchain - from the T3 custodian address to the well-known exchange account address of the NuBot operator.

All (remaining) deposits will be sent to FLOT (BTC, NBT) or burned (NBT).
Burning NBT in Nu property (Nu funded NuBots, Nu funded T3 custodians) doesn’t hurt.
Collateralized T3 custodians will make sure they make no loss and get their money back :wink:

Cybnate, you are going to use a Pybot? not a Nubot?
Why? and what is the difference?
edit:
i just read the reason in Nagalim’s draft :smile:
I like the plurality of the drafts :wink:

PyBot is used by the ALP software, NuBot is developed by Nu. NuBot is currently being developed to work on future ALP software and is the way to go eventually. NuBot has also more configuration options. But for now PyBot can take this function with minimal effort. I’m used to it and know how it works and it’s tricks/bugs.

As LiquidBits operator it took me 10 minutes to make the gateway work today. Technically I can start the gateway today with minimal effort. Just need to reveal the addresses.

2 Likes

Two things. Firstly, pybot is a supee innefficient way to do this because you’re creating a client-server communication stream that is simply unneccessary if you arent using ALP rewards. Still, you’re right that itll get the job done, it’s just definately not a long term solution.

As far as T3 custodians, a T3 custodian is not allowed to send money until they recieve payment for that money. How does the gateway pay in advance for the funds being sent? It breaches at least the contract im operating under for me to send money without proper advance payment recorded on the blockchain.

I was thinking a protocol could be worked out so that gateway operators could use proceeds to buy liquidity from T2 custodians. recycling funds among gateways and T3 could be much quicker than via FLOT.

Yes, if gateways are looking to rebalance they can use T3 custodians to get a fair price. There would need to be some statement about the markup % used by the T3 custodian or either the custodian or Nu will get taken advantage of. Also, the gateway operator and the T3 custodian should be non-colluding actors, but this requirement is actually fairly weak. (i.e. even if they are both malicious and colluding they can’t really do a lot of harm to Nu without breaking contract)

Are we still back to discussing gateways?
Or is depositing to one side of a dual side NuBot meant, but “gateway” said?
The former gateways were one-way streets, diodes, semipermeable membranes.
Dual side bots are better, because through a feedback loop gateways create problems:

The dual side NuBots eased the situation at Poloniex, don’t you agree?

2 Likes

@Cybnate
will you please prepare it for voting? :wink:

I’m still breeding on the T3 issue.

@nagalim, what would be a reasonable markup from your point of view. I suppose I’ll need to add that into my proposal as a cost factor to the Shareholders which I would need to be compensated for acting in the T1/T2 custodian role.

I’d say 0.3%. Of course, 0.1% goes to Nu by virtue of the T3 contract, then the custodian gets 0.2% for doing the manual trade. On a $5,000 rebalance, that would give the t3 custodian 10 nbt.

In case someone wonders, I’m still experimenting with stable settings for PyBot. I think I’m close now but will have them running for another couple of days to be sure. They can place new orders completely unattended, and I would just return ‘proceeds’ e.g. every week or what FLOT thinks would work best.

Thinking of offering a dual-side gateway on both Poloniex and Bittrex. Could also do CCEDK, if anyone would support that.

Looks reasonable to me. Any reason for using Pybot instead of Nubot here?

Main reason is the ease of use. It wouldn’t add any work to run the bots as they are running off LiquidBits which I need to maintain anyway. Setting up a NuBot would create additional work for me. So using PyBot enables me to do a relatively good offer which only needs to cover the transfer of funds once in a while to FLOT.

1 Like

But you can not take advantage of the parametric order book fearure with Pybot…