[Passed] A grant to make NuBot work with Liquidity Pools

@assistant custodian vote Bdoa6XJzzfFrMgwysASZGmvSMoXGPmQD6R

Hi @desrever

Here are the details for the Custodian Vote on Bdoa6XJzzfFrMgwysASZGmvSMoXGPmQD6R:

###1216.00 NBT.
Blocks: 5316 (53.160000%)
Share Days: 1430034628 (48.947744%)

Weren’t we going to change the code for this so sharedays don’t matter? Can that be part of Nu 2.1? @JordanLee


This grant passed.

I want to thank all shareholders for the trust put in this project. Will start working on it tomorrow and try to keep you posted with weekly updates.

Also, as part of the grant I transferred the additional funds to the multisig address, so now they are out of my control and in the hands of @masterOfDisaster @erasmospunk and @woolly_sammoth



Weekly update #1 :

This week I started designing the integration strategy and closed some old open issues. In the meantime @woolly_sammoth managed to deploy a new version of the ALP server online for testing.

I added four configuration parameters to NuBot that should be sufficient to configure NuBot in pool-mode :

 "poolMode" : false,
 "poolURI" : "host:port",
 "poolPayoutAddress" : "Bxzy..",
 "poolSubmitInterval" : 50

I also implemented the logic to validate the compliance with other parameters (liquidity submission among others) and integrated new options in the frontend and updated the documentation and setup guide with instructions.


Next iteration : now that I have a live server to tinker with I’ll start integrate the logic of the pool registration process. However there is an unforeseen contingency next week which will force me to stay away from computers for 5 days or so… Will likely resume works next weekend.

Stay tuned


After a forced break, I am resuming development today. Thank you for the patience


In the last week I have been (mainly) working to get ALP-NuBot interface communication, which resulted in a java ALP client to access ALP server methods documented here . To play around with the Java client see example usage in TestALP.java

After that I started the integration with NuBot which is now in progress/testing : NuBot now registers to the ALP server at startup and periodically prepares and submit the signed HTTP request to get open orders to the ALP server.

Documentation and setup tutorial are also refined, along with several other improvements and bugfixes.

We will start testing the integration as soon as we have a live exchange on ALPv2 test server, likely in the next couple of days.

Coming week :soon: : ALP user stats, ALP separate logs, new CredentialManager architecture for ALP users, cryptsy and southxchange wrappers and other minor and major open issues I plan to pack within the budget into 0.4.1 if possible.

Stay tuned


Progress has been made in improving the ALP/NuBot interface and the integration of the pool client into nubot.

A major issue that is almost ready to ship is the implementation of a separate thread that collects statistics from the ALP server and displays them into NuBot, both via CLI and UI .

Both the backend and the frontend are ready for live testing :

I also completed and tested Cryptsy wrappers.

Next in the pipeline we have southxchange wrappers, orderbook visualization in the webinterface, other major an minor issue …

Looking good, next week, after live testing, I will be able to provide a reliable completion date.


That’s awesome @desrever!

Integration of NuBot and ALPs is really exciting. Everything I’ve seen so far is very professional looking. I wonder how this will change things for our liquidity providers.

1 Like

The GUI really makes me want to collect fund and restart my liquidity operations.


From my understanding, right now NuBot is almost not used in liquidity operations.
That is a pity since it seems that it is a beautifully crafted piece of software, sophisticated that can be so useful in reducing the costs of liquidity provision from Nu’s perspective.
And its development costs money.
The good news is that that is gonna be changed very soon with the integration to ALP.
I expect NuBot to be the major bot used for liquidity operations.
Is my understanding correct?

By the way, once NuBot is adapted to ALP, I suppose I will be able to use NuBot’s GUI as a pool participant.
Is that correct?

it is being used on poloniex and hitbtc by NuLagoon, as entry and exit gateway by @masterOfDisaster afaik.

1 Like

oops. sorry I was incorrect. tks for telling me.
@henry how do you think the parametric order book is helping Nu reduce the liquidity provision costs?

Right, but incomplete - it’s used by me on hitBTC as well!
I run a NuBot instance on hitBTC to provide liquidity with modPuddle.
And you are right, I run two NuBots on Poloniex: one sell side only, one buy side only that can be used as gateways.
The grants to have a formal approval are up for voting.

The biggest trouble I have with NuBot is the vast amount of logs that is collected.
If not archived or purged frequently, that may crash NuBot, but for sure will crash nud.
This of course only play a role, because I run NuBot on RaspberryPi with an SD card of limited size :wink:
A RaspberryPi2 is capable of running nud and two instances of NuBot without trouble. NuBot causes some CPU load when shifting walls, etc. and I think 3 instances of NuBot might be too much for it. But 2 instances are not bad!
The space consumed by logging plays only a minor role for the gateway NuBots, because they sit more or less idle not having funds to put in the walls and don’t need to log much - and I hope it stays that way!

NuBot is a very sophisticated piece of software. The parametric orderbook allows configuration parameters to have only a limited amount of funds on a very tight spread. If these funds are consumed, only “more expensive” orders remain until the price moves and the orders get cancelled and placed anew.
So only a part of the funds are directly exposed to risks associated with hedging.
This is the reason why discussions about the definition of T1 and T2 have started - with NuBot and due to the parametric order book there can be funds in orders, at a spread that is wider than the tight peg Nu wants to ensure.

1 Like

or symbolic linked to /dev/null

That would be an idea, but for several reasons you might want to have logs.
I stop NuBot from time to time to compress the logs.
I already suggested some improvements to @desrever regarding the logging :wink:

should be fixed in 0.4.1


Stats from liquidity pools are implemented and tested both in front and back-end :

The orderbook design preview is now available right in the webpage, with no need to refresh the page or install java. This is good news for raspberry pi users, and in general users that want to install NuBot as a remote service.

All this tinkering with the front end and the positive comments received encouraged me to take some time to improve the configuration and dashboard page, using bootstrap responsive layouts and components. This should be an attractive point for this release, since we aim to attract as many providers as possible.


##Configuration page

There is still huge room for improvement (wizard setups, advanced mode etc), but for this release I stop here with UI. There are still some issues with ALP server side for the order validation, will keep you posted on this thread.