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

Cybnate’s asking if we can use the wrapper on PyBot. I think the answer is ‘no’.

1 Like

Quick update : ALP server is now ready.

I started live testing last week and encountered some minor bugs that needs to be fixed in the software.

I plan to close all the outstanding issues and start testing with 4 exchanges (bter, ccedk, poloniex and bittrex) before releasing.

I am currently on holiday for the christmas break. I expect to be able to release the 0.4.2 around January 14th, along with a proposal for the next steps in development (0.4.3) .

Stay tuned


Long awaited update : finally we have a release candidate (RC1) ready for open testing.

Download 0.4.1-RC1SourceChangelogIssue Tracker

The bot currently connects to the ALP server, submit requests and reads stats. There are two one open instances of ALP v2 that can be used for testing purposes @ http://alp.mj2p.co.uk:80/ .and http://alp-server.herokuapp.com:80. The first is the stable version, the second is the testing version and will always have the latest test code on it. (more on this :soon: @woolly_sammoth )

##Open testing phase

During 10 days I will be accepting bug reports and fix critical issues. Please report directly in this post : only severe bugs will be taken into account, not small fixes or feature requests.

Configuration should be quite straightforward for users that already know how to use the bot (otherwise :warning: readup the updated tutorial : SETUP.md) .

Download the RC, and create your config starting from one pre-esisting example in config/ , for instance sample-options-pool.json :

  "apikey": "xxx",    //For testing purposes please use an account with little funds in it.  
  "apisecret": "xxx",
  "dualside": true,

  "bookSellwall": 1000.0, //Tier1 funds size in USD
  "bookSellOffset": 0.01,  //offset from 1$, in USD - wide for testing

  "bookBuywall": 1000.0,
  "bookBuyOffset": 0.01,

  "poolModeActive" : true, 
  "poolURI" : "http://alp.mj2p.co.uk:80",
  "poolPayoutAddress" : "<NBTaddress>" //Your payout address

and run with

java -jar NuBot.jar -server -skipCredentials

Also notifying the HR department with a tag :wink: @masterOfDisaster, @woolly_sammoth @erasmospunk

and now, question time :

FAQ : Why on earth did you take so long to complete it? It was almost-ready at the end of December!

Many factor : In short, 2016 came with surprises both personally and professionally that prevented me from being able to work on the bot continuously for long hours. The fragmented hours (sometimes minutes) didn’t allowed me to properly get into NuBot and nail down the somehow odd and tricky issues. Other excuses I can bring to it : I also needed to interact with components out of my control. Then a bit of frustration and burn out made the rest. My apologies to all members of the community for the delay. Almost unacceptable.

PS: I used all the hours allocated for the grant.

But here is the software, ready for testing. :checkered_flag:

Lets get this officially out there!


the largest offset supported by the pool isn’t 0.01?

edit: first impression:
very impressive :slightly_smiling:
i guess ‘user rewards’ are not working yet.

1 Like

I am trying to test southX since it is the only exchange without LP support but i am getting an SSL error.

The offset of NuBot leans on this motion:

As far as I remember, you can configure values out of that corridor, but will receive a warning from NuBot at startup.

If you don’t want to provide liquidity for Nu and want to run NuBot as your private trading bot, you can configure whatever you want.

1 Like

Thanks. My question was in relation with the Nupool. I mean if i put an offset > 0.01 i will not get the reward from the pool.

1 Like

In general: if ALP clients place orders outside the range for which compensation is offered, they won’t receive compensation; that’s right.
The allowed SAF might differ depending on operation (pool, trading pair, etc.)

@desrever for the testing period why don’t you make the tolerance like 5% so that testers are not in danger of losing funds due to small spread. (testers should still be using like 0.01 offset)

@masterOfDisaster responded this

Fix coming soon

@Nagalim is right, for testing purposes I reccomend using wider spreads (editing OP) . You can obtain them by changing these config parameters


@zoro I can’t reproduce your issue.

Could you please post your config (make sure to omit api keys) and paste the full log of the error?


PS: have you noticed southxchange uses a swapped pair (NBT-denominated)? This changes the game quite a bit, make sure you set the right params

This is my config:

“apiKey”: “xxxx”,
“apiSecret”: “xxxx”,
“mailRecipient”: “xxxx”,
“exchangeName”: “SouthXChange”,
“dualSide”: true,
“pair”: “nbt_btc”,
“rpcUser”: “zoro”,
“rpcPass”: “xxxx”,
“nubitAddress”: “xxxx”,
“nudPort”: 9091,
“bypassStreaming”: true,
“nudIp”: “”,
“mailnotifications”: “SEVERE”,
“submitLiquidity”: false,
“executeOrders”: true,
“verbosity”: “NORMAL”,
“gitter”: true,
“multipleOperators”: false,
“txFee”: 0.1,
“priceIncrement”: 0.002,
“emergencyTimeout”: 60,
“keepProceeds”: 0.0,
“wallchangeThreshold”: 0.1,
“webport”: 9995,
“bookDisabletier2”: true,
“bookSellwall”: 1500.0,
“bookBuywall”: 1500.0,
“bookSellOffset”: 0.015,
“bookBuyOffset”: 0.015,
“bookSellMaxVolumeCumulative”: 6000.0,
“bookBuyMaxVolumeCumulative”: 6000.0,
“bookBuyInterval”: 0.002,
“bookSellInterval”: 0.002,
“bookSellType”: “EXP”,
“bookBuyType”: “EXP”,
“bookSellSteepness”: “HIGH”,
“bookBuySteepness”: “HIGH”,
“poolModeActive”: false,
“poolURI”: “”,
“poolPayoutAddress”: “”,
“poolSubmitInterval”: 50,
“mainFeed”: “blockchain”,
“backupFeeds”: [

and the standard log:
19:57:14.679 INFO - defined session log path logs/bot_sessions/0.4.1-RC1_1456768634679_4655db - [c.n.n.bot.Global:116]
19:57:14.814 INFO - Session ID = 0.4.1-RC1_1456768634679_4655db - [c.n.n.b.NuBotBase:85]
19:57:14.843 INFO - Set up SSL certificates - [c.n.n.b.NuBotBase:168]
19:57:14.860 INFO - installKeystore. trustall: false - [c.n.n.u.Utils:346]
19:57:14.880 INFO - Reading keystorefile from : /C:/nu/nubot41RC1/res/ssl/nubot_keystore.jks - [c.n.n.u.Utils:361]
19:57:14.908 ERROR - java.lang.NullPointerException - [c.n.n.e.ExchangeFacade:173]
19:57:14.924 INFO - Swapped pair mode : false - [c.n.n.b.NuBotBase:205]

As I said earlier, the pair is swapped :

"pair": "btc_nbt",

EDIT: and lowercase exchange name

"exchangeName": "southxchange",
1 Like

It is working now. The order type and quantity is a little bit weird though :slight_smile:

RC2 available @ https://bitbucket.org/JordanLeePeershares/nubottrading/downloads/nubot-v0.4.1-RC2.zip


I made preparations to release funds from the multisig address as soon as 0.4.1 is considered complete.

Would you call it safe to provide liquidity with 0.4.1-RC2 on Poloniex?
I wouldn’t dare doing that unless I get a go from you, but I have no idea how stable and reliable RC2 is.

Stability wise this would be as safe as 0.3.2a. I can’t and I won’t vouch my life on it, because software is software, but I am confident it will behave. I’ve done tests myself and so did @willy, if I recall correctly.

I’m not asking for your life :wink:

is sufficient for me.

This is new, right?

20:20:54.211 [checkNud] WARN  - Nu client is locked and will not be able to submit liquidity info.
Use walletpassphrase <yourpassphrase> 9999999 to unlock it [c.n.n.R.NudClient:116]


walletpassphrase <yourpassphrase> 9999999 true

is working as well.

Poloniex NuBot upgraded to 0.4.1-RC2 and running:

20:23:32.880 [checkOrders] WARN  - Liquidity info submitted:
        tier=1 buy=1500.00000146 sell=1500.0 identifier=1:NBTBTC:poloniex:0.4.1-RC2_1457381857080_9340b0 response=true
        tier=2 buy=12939.9 sell=4195.9615718 identifier=2:NBTBTC:poloniex:0.4.1-RC2_1457381857080_9340b0 response=true [c.n.n.t.CheckOrdersTask:142]
1 Like

Testing period is over : NuBot 0.4.1 tagged and released.
Will make a write up soon in the release thread.

I also invite 2/3 of the HR department :wink: to execute the payment transaction
(@erasmospunk @masterOfDisaster and @woolly_sammoth ) on BJpNkPBsWpKDpqXh5BMamWeJg5eZ2bbkqi .

Also provide me with a NBT address to pay for this custodian service.


I suppose you needed the full 3,000 NBT, right (It’s in fact only 2999.7128 on the multisg address)?
And I suppose you ask for custodian addresses, because of the 20 NBT fee.

Might we just transfer all funds to you and you distribute the 20 NBT to the custodians and burn leftover funds?
Otherwise I adjust the transaction to send the 20 NBT to the custodians as soon as addresses are available.

Transfer of 2999.7028 NBT to @desrever’s address BJpNkPBsWpKDpqXh5BMamWeJg5eZ2bbkqi; signed 1 of 2/3


Please use my address form the multisg for sending me the 20 NBT (BMuw3ZGFvQd5syVLBz8ywCUin6GXsZbHXN)

1 Like