NuBot releases

#31-10-2014 NuBot development, update #7

This week we have been working on finalising and testing the 0.1.3 release. The Release Candidate build is currently just four issues away to be approved. We aim to make the release it before or during the weekend.


  • Fixed a critical bug that caused the block to get stuck when the connection with one or more pricefeeds failed.
  • Fixed a critical bug that caused CCEDK nonce parameter failing every now and then, causing some ugly malfunctioning.
  • Moved logs assets outside the logging directory to improve separation of concerns.
  • Fixed some bugs that was causing troubles with locale settings different from english.
  • Fixed several small faults that emerged during QA.
  • With more users, more lines of code, more features and more developers coming, we needed some change. For this reason, at project development level, we are working hard to introduce some rigorous processes. We started by switching to git flow, a structured model to develop software which fits our needs: traceability, distributed team, QA PR, mission critical software and issue-tracker driven.
  • We are making the first steps towards fully-automated tests : systematic tests with the support of checklists and tables.

The bot have seen an overall increased stability and reliability.


#09-11-2014 NuBot development, update #8

During the past week we released NuBot v0.1.3, and shortly after we performed a hotfix of a rounding issue that led to a minor v0.1.3a release. All custodians should have the update.


  • Despite previous updates, the current version of NuBot is not (yet) ready for supporting multiple custodians on the same market. Some scenarios emerged during testing that will require a few updates to the bot to declare it risk-free for multiple custodians. Stay tuned.

  • Started working on release 0.1.4 which contains some major improvements.

  • Happily moved to a full gitflow as development workflow.

  • Added support for AllCoin (now testing)

  • Added support for BitSpark (now testing)

  • Set up a dedicated SMTP server for stable and reliable email notifications.

  • Implemented a mechanism that prevents orders to be placed at low price. It does that by using a moving average of 30 datapoints, after verifying reliability of a single price feed.

  • Several minor and major bug fixing and features are in progress. Please check out the public repository and its commits if you are interested in details.

  • Picked up for future use as official website. For the time being it simply redirect to the bitbucket repository.

#18-11-2014 NuBot development, update #9

This week we worked on v0.1.4 which we hope we can release at the end of this week after thorough testing.


  • Ben and Sam are completing a Docker container ready to ship for NuBot development and execution.
  • Sam implemented and tested a system that will help preventing the bot to place orders at low price. The solution is almost ready to be merged into develop branch.
  • BitSpark wrappers tested [ok]
  • AllCoin wrappers tested [ok]
  • Improved HipChat notifications
  • We now use our internal SMTP server for mail notification to custodians.
  • Cancel all orders after price failing to update

###Bug fixes

  • Solved problems while parsing (some) Peatio dates.
  • TX fee taken into account when computing prices at the first execution
  • Fixed an issue that made the bot look frozen on start under particular circumstances .
1 Like

#01-12-2014 NuBot development, update #10

NuBot 0.1.4 release branch is closed and undergoing testing. See the full CHANGELOG .

We expect to release it in the next days or so, asking custodians to update shortly after the announcement.

We started working on the next version, 0.1.5, which will feature most major bug fixing, new exchanges, wrappers, and added functionalities that starts to move into JL proposal for multiple tiers of liquidity.

1 Like

#13-12-2014 NuBot development, update #11

NuBot 0.1.4 has been released after one week of testing and 7 release candidates. Custodians are invited to update and review their configuration file.

New Features:

  • Implemented an additional system to prevent the risk of NuBot placing orders at low price.
  • Added a configuration parameter (“keep-proceeds” ) that lets the custodian specify an amount of proceeds from sale to be put apart. This feature is designed specifically for custodians acting in a way similar to KTm.
  • Added support for multiple custodians on the same non-USD pair.
  • Bitspark API wrappers
  • AllCoin API wrappers


  • On exchanges with a 0 transaction fee, force a price spread of 0.1%
  • Removed the aggregate parameter and made it automatic.
  • NTP Client makes the bots sync.
  • Reset or cancel all orders after price failing to update
  • When computing the initial USD price, take the TX fee into account
  • Computed wait_time on wall shifts
  • Changed the API error-handling system
  • Refactored PriceFeedManager
  • Reduce damount of compulsory option parameters by introducing conditions
  • The bot now uses a dedicated SMTP server to send email notifications
  • Removed debug messages from bterwrapper
  • Removed printing warnings for non-global TX fee
  • Forced order reset on firstTime execution
  • Assigned a name to threads for better runtime debugging
  • Avoid printing buy prices if SELL side only

Bug fixes:

  • Bot doesn’t stop when connection lost with Peatio.
  • Solved a problm that led to wrong pricing with a sell-side and a dual-side custodian working on the same market/pair.
  • Solved Peatio wrapper problems while parsing some date
  • Part of the balance was not placed on (buy) order

Next version 0.1.5, is already being developed and probably one week away from QA. Stay tuned.


#09-01-2015 NuBot development, update #12

NuBot 0.1.4a has been released after 3 release candidates. It contains three hotfixes. Custodians are invited to update (no need to review the configuration file.).

Next version (0.1.5) contains some major improvements and upgrades that will be detailed here before release, a couple of weeks from now.

1 Like

#13-01-2015 NuBot development, update #13

NuBot 0.1.4b has been released after 4 release candidates. It contains two hotfixes to adapt to CCEDK renewed effort to provide a more efficient API and a BTER glitch fix. Custodians are invited to update (no need to review the configuration file.).

#16-01-2015 NuBot development, update #14

NuBot 0.1.4c has been released. It contains one hotfix for the AllCoin wrapper.

#16-02-2015 NuBot development, update #15

After 9 release candidates today we released NuBot v0.1.5 :tada:

Download at

:warning: All custodians are invited to upgrade to new version and follow the new setup tutorial. The old JSON configuration files (0.1.4) will not work. :warning:

Beside containing multiple updates, features, refactoring and bug fixes, the most important feature is a temporary way for more than one custodian to co-exist on the same non-USD pair.

Multi-custodian mode will sync with remote NTP and reset orders every three minutes, regardless of the peg price. This mode can be activated by changing this setting :


Please set it to false if you are sure that no other custodian’s bot are active on the same pair, as it will be more efficient.

It has been tested thourougly with good results an no wall collisions. However a wall collision can happen in case one bot stop functioning and leaves the orders up (connection interrupted, machine crash … ) . This is inevitable, but for all other cases I still have 600NBT that are allocated to reimburse TX fees paid on collision.

Full changelog : please read carefully :space_invader:

v0.1.5 Changelog

New Features:

  • Multi-custodian mode will sync with remote NTP and reset orders every three minutes
  • Support for NBT-denominated pairs (swapped logic and pricing)
  • API wrappers
  • API wrappers
  • Added config parameter(s) to manually adjust the maximum wall sizes.
  • The bot accept a list of input json files as input and combines them internally
  • Bitfinex and Bitstamp price feeds
  • Submit liquidity info tier 1 and tier 2 using a different identifier
  • Logging the balance history


  • Reduced time between price-check and wall-shift to close-to-zero
  • Detecting a large price different will pause the bot for one cycle instead of shutting it down
  • BitSpark reporting tool
  • Debug message at the end of order initialization
  • On shift, cancel orders in a random order to avoid revealing the following movement direction
  • Enhance wall_shifts reporting with .json
  • Reset liquidityinfo on quit
  • Implemented getLastTrades for all supported wrappers
  • Reduced wait time during wall shifts
  • Keep 1NBT-equivalent aside to avoid “not enough balance” error
  • Polished build.xml ant script
  • In HipChat and Emails round numbers to two decimal digits
  • Send critical notifications to a different hipchat room
  • Load fiat currencies from database in
  • GetCurrencyPairFromString, add a lookup table for names
  • Refactored the Strategy extracting re-usable methods to a different class
  • Try to cancel all orders before shutting down the bot
  • Cancel existing orders on startup
  • Sleep time parametrized
  • Display bot version number in logs
  • Renamed price-Offset parameter into price-spread (and compute it as 50% per side)
  • Wait random time before placing an order to ensure competitivity with multiple bots
  • LOG timestamp in UTC
  • Logging format improvements
  • In RPC identifier replaced custodianAddress with sessionId

Bug fixes:

  • Looping on moving average detection
  • Bitspark wrong liquidity reported
  • Reporting open orders in wrong unit
  • BTER handle small amounts of orders
  • BitSpark reporting tool ignoring timestamp
  • Other minor issues

#18-02-2015 NuBot development, update #16

A new release (0.1.5b) with an hotfix is out. It contains a new keystore with updated SSL certificates, a fix in the wall-shift logic, and a fix for renewed trade API.

Download @

#24-02-2015 NuBot development, update #17

A new release (0.1.5c) with an hotfix is out. It contains a new keystore with updated SSL certificates and a FIX that was preventing liquidityinfo to be sent on USD pairs.

Download @

#14-04-2015 NuBot development, update #18

After 8 release candidates today we released NuBot v0.2.0 :tada:

Download at
Sources and docs at

:warning: All custodians are invited to upgrade to the new version.This version requires you to use java 1.8 VM . Please follow and carefully read the new setup tutorial. The old JSON configuration files (0.1.5) will not work.

This upgrade contains many visible and other less-visible upgrades, features, refactoring and bug fixes. It is a major version and several steps forwards have been done thanks to @benjyz.

A new release will come soon, with an alpha Graphical User web-Interface built on top of NuBot. Wait for it.

The full changelog detail is scaled up for the sake of brevity. Please read carefully :space_invader:

v0.2.0 Changelog

New Features:

  • Added Comkort exchange API support
  • Added a unique session id for each instance of the bot
  • Liquidityinfo identifier contains multi-tier informaiton
  • Added script to retrieve updated keystore from bitbucket repository
  • Added an option to set level of incoming email notification (severe, all, none)
  • Added price tracker for HKD and PHP
  • Added price feeds for bitfinex
  • GetLastTrades overall report


  • Ported the project to Gradle (dependencies management and build process)
  • Upgraded to java 8
  • Major refactoring across the codebase
  • Resources files organized and documented
  • Improved logging: changed logger, keeps track of multiple sessions, filters, tests…
  • HipChat API v2
  • Improved HipChat notifications (added uptime on shutdown)
  • Options.toStringNoKeys
  • Options serialization and naming
  • Unit tests inception
  • Automatically write branch name in ‘.nubot’ file
  • Removed
  • Added to allow dev to configure variables
  • Added Parsing custom exception
  • Reafactored strategy and launch
  • Extracted ExchangeFacade and FeedFacade
  • Improved ShutDownHook
  • Simplified Strategy code
  • Added a simple way to trust all SSL certificates
  • improved
  • Changed copyright to Nu Development Team
  • Uncountable minor changes.

Bug fixes:


#17-04-2015 NuBot development, update #19

We identify a subtle run-time exception in 0.2.0 thanks to @henry .

:warning: A new patch-release is available : 0.2.0a .

Download @
, 0.2.0a :

All custodians are invited to upgrade, replacing the jar file is ok.

v0.2.0a Changelog

Bug fixes:

  • Re built using the correct version of gradle.
  • Links in documentation updated
  • Updated with correct names

#27-04-2015 NuBot development, update #20

CCEDK renewed API required an hotfix resulted in a new patch-release is available : 0.2.0b .

Download 0.2.0b @ :

CCEDK custodians are invited to upgrade, replacing the jar file is ok.

v0.2.0b Changelog

Bug fixes:

  • New CCEDK api Wrappers
  • (minor) AllCoin bug in getOrderDetail
  • Updated with correct names

Binary Checksum :

$ openssl sha1
SHA1( 7c84add02a9e67dbd9c347012e64581dac271b27

#29-04-2015 NuBot development, update #21

A new patch version has been released with a hotfix : 0.2.0c .

Download 0.2.0c @ :

All custodians are invited to upgrade, replacing the jar file is ok.

v0.2.0c Changelog

Bug fixes:

  • Prevent wallshifts to be executed if an order reset is already in place
  • wrapper bug fixes

Binary Checksum :

$ openssl sha1
SHA1( 6d8faff5941d52537a7abca8260b36d68caa895a

#09-05-2015 NuBot development, update #19

After 4 release candidates today we released NuBot v0.3.0 :tada:

It started as a minor release to provide a graphical interface to setup the bot. It ended up being a bold major release with almost 800 commits in three weeks.

NuBot As A Service : WebGUI

Custodians have now the option of running NuBot as a service and access a web dashboard to configure,run and monitor the bot’s execution.

This upgrade required a deep refactoring and codebase improvement (see full changelog) and the implications are far from being aesthetics-only : now NuBot can now be run on a remote VPS and be controlled from a smartphone (to name one possibility).

I put together a small screencast demonstration.

The GUI is in alpha/MVP version with a minimal set of funcionalities, please forgive us for the low attention to UX : we focused in making client-server interaction as solid and extensible as possible. Future versions will contain a proper fully operation dashboard and much more.


Binary Checksum :

$ openssl sha1
SHA1( 6a74f5efad4581460ec21972ca96230fe2c41b01

Sources and docs at

Notes for custodians :

:warning: All custodians are invited to upgrade to the new version. Please follow and carefully read the new setup tutorial. The old JSON configuration files will not work.

  • Option parameters have changed: use maxbuyvolume instead of maxbuyordervolume.

  • All parameters are compulsory.

  • Case is ignored for parameter name.
    Launch string changed to

    $ java -jar NuBot.jar -cfg=<path/to/config.json> [-GUI]

Also, double click the The old CLI mode is still available as usual, by omitting the -GUI flag.

The full changelog detail is scaled up for the sake of brevity. Please read carefully :space_invader:

v0.3.0 Changelog

New Features:

  • Optionally launch a web-server with a front end to manage nubot, both locally than remotely.
  • web-gui | - Responsive dashboard to control basic functioning of the bot.
  • web-gui | - Basic functionality to configure the bot’s launch parameters : see/change/save/reset/validate
  • web-gui | - Start/Stop the bot via toggle button
  • web-gui | - Shutdown server via button
  • web-gui | - When bot is running, display open orders and balances.
  • web-gui | - Display real time messages from std-ouput in the bot’s dashboard
  • web-gui | - Browse up-do-date HTML documentation automatically generated at build time
  • web-gui | - Jar launcher : Launch the bot by double clicking this new executable file distributed with the bot
  • web-gui | - Automatically launch browser (if available) on bot dashboard in GUI mode
  • web-gui | - Show confirmation dialogs for important operations
  • web-gui | - Show progressbar in startup and shutdown sequence
  • web-gui | - Show status, uptime and session timestamp.
  • web-gui | - Obscure secret fields
  • New price feeds for fiat rates (GoogleOfficial)
  • Sandbox enviroment created to simulate a live exchange
  • BalanceManager and OrderManager handles their own logic separately from Strategy
  • Finally the verbose configuration parameter has the runtime impact expected. Set it to true to enable DEBUG level messages
  • Colored output : Display errors in red, warnings in blue (trading) everything else default
  • Bittrex wrapper ready (not fully integrated into the bot)
  • Created NuStringEncrypt simple standalone tool that uses scrypt as a key derivation to AES encrypt strings
  • Test credential validity before starting the bot by trying to fetch balance
  • Report uptime on shutdown
  • Validate Options before running or throws Exception
  • Documented exchange names in


  • Refactored Trading Strategy code extracing methods to Order and Balance Manager objects
  • Introduced Utils.formatNumber
  • Handle concurrent requests to remote API correctly
  • A new SessionManager class to manage session correctly
  • Log messages improved both in std output and in files
  • Session handles MODES of the bot , starting up, running, paused, shutting down, etc…
  • Shutdown sequence improved consistently
  • script updated
  • Refactored Strategy code to make it cleaner
  • old metafile (.nubot) file moved to a new file in res/.info
  • Separated fetch/get logic for remote calls
  • Automatically handle large log files size
  • Added thread name to logging
  • Ignore case in configuration parameters
  • Added thread name to HTML logs as a column
  • Ported time duration using Joda as a proper handler
  • Externalised - where possible - the sign() method from API wrappers
  • In documentation, replaced all internal links with a static resource URI
  • During build, warn if using a different version of gradle
  • Resized image files for correct visualisation of the readme
  • Restructured duplicate folder-file structure in
  • Refactored ~md/ in ~docs/
  • Standardised CLI arguments using GNU-style and apache Commons CLI
  • Deprecated NuPriceMonitorTask
  • Added market info on hipchat debug message
  • Systematically reformatted all the code base using shared code standards

Bug fixes:

  • Wrong count of locked peg balance on
  • Prevent wallShifts if an order reset is already happening
  • wrappers various fix (runtime exceptions)
  • Poloniex wrong nonce issues fixed with a retry loop
  • Replaced System.getProperty(“user.dir”) with a more adequate custom method :FileSystemUtils.getBotAbsolutePath()
  • Corrected URL in script
  • Corrected Feed names in documentation to match the code
  • Uncountable minor and major fixes.

For the upcoming 0.3.1 version, we are shifting our focus away from webservice and going back to trading logic. Stay tuned for next announcement.


#11-06-2015 NuBot development, update #20

After 7 release candidates today we released NuBot v0.3.1 :tada:

Pushing price updates through websockets

NuBot can connect to a streaming server (if available) using a websocket and listen and react to commands received from the Server. In this scenario we have two actors : the server (Streamer) and the clients (Subscriber).

This feature has been long awaited, as it now allows multiple custodians to consume a reliable pricefeed and subscribe to push updates. Wall-shifts will now happen simultaneously across exchanges and custodians. Risks derived from wall collisions are significantly reduced (to near 0).

The push service architecture we implemented is robust and each client autonomously performs sanity checks on the price received before acting. It allows hot-swaps of server machines and a load balancer drives the traffic in the right direction. The Streamer tracks the price of multiple fiat and crypto-currencies, and also suggest a price offset to clients (now statically, in the future dynamically).

The full documentation of this service is available on bitbucket.


Binary Checksum :

$ openssl sha1
SHA1( 0e961b0c81b17211b7a21840d8434e36f0dea292

Sources and docs at

Notes for custodians :

:warning: All custodians are invited to upgrade to the new version. Please follow and carefully read the new setup tutorial. The old JSON configuration files will not work.

  • Introduced default configuration parameters. We suggest leaving most options as default.
  • Deleted configuration parameter : verbose (boolean)
  • Added configuration parameter : verbosity (string)
  • Added configuration parameter : bypassStreaming (boolean)
  • Added configuration parameter : streamingServer (string)
  • Removed configuration parameter : hipchat (boolean)
  • Added configuration parameter : gitter (boolean)
  • Added configuration parameter : webport (int)

Changed default web port from 4567 to 8889.

Apply for a credential token : since the bot uses external services that require authentication, you’ll need to apply for a valid auth-token file that is not distributed with the bundle for obvious reasons.
If you are applying as custodian, use this form to request a valid key. You can also skip this step if you plan to manually configure tokens/keys.

Launch string changed to accomodate new optional CLI flag -skipCredentials.
GUI flag renamed to -sever

java -jar NuBot.jar -cfg=<path/to/config.json> [-server] [-skipCredentials]

Please read carefully :space_invader:

v0.3.1 Changelog

New Features:

  • Price-feed streaming service implementation and deployment. Details are documented here)
  • Bot consume price-feeds via web-sockets (instant shift, synchronised)
  • Integration of NuStringEncrypt and NuBot
  • Basic HTTP API to interact with bot at runtime
  • Obscured keys via CredentialManager
  • Log trades for each bot session
  • Implemented getOrderBook method for available exchanges
  • Introduced default values for configuration parameters
  • Checks for latest version on startup and issue warning
  • Added testExchange() method to run a startup
  • Graceful failure thrown if another GUI session detected
  • Created a ExchangeControlPanl GUI to test entry points
  • Control logging verbosity level via configuration parameter (high,normal,low)
  • Gitter notifications


  • Reduced code duplication in PriceFeeds
  • Shutdown hook improved
  • Each currency now dinamically loads price feeds via currencies.csv
  • Gradle build task
  • Improved script
  • TestPriceFeeds load dinamically all feeds available for each currencies
  • Add TestMultipleOrders to TestWrappers
  • Zip the build with correct naming
  • Each bot session logs to its own subfolder
  • GUI javascript refactoring
  • Moved static CCEDK utils to CCEDK Wrapper
  • web-gui | on build auto compile html also into .mustache files
  • web-gui | Closing the webpage should prompt for “do you want to terminate server?”
  • Introduced PriceBatch class
  • added CLI flag -skipCredentials
  • Added minimal-configuration-sample.json file to distributed package
  • Change port of webserver (allowing multiple GUIs at the time)

Bug fixes:

  • web-gui | page responsiveness adjustment
  • CCEDK ticker
  • Poloniex ticker
  • startupduration -1
  • Uncountable minor and major fixes.

For the upcoming 0.3.2 version, we are shifting our focus away from priceservice and going to integrate parametric order books into the trading strategy. Stay tuned for next announcement.


#08-10-2015 NuBot development, update #21

After 9 release candidates today we release NuBot v0.3.2 :tada: . It packs a bunch of improvements, bug fixes, new wrappers and features. Among changes the most import is the introduction of parametric order books.

Parametric orderbooks

Up until NuBot v0.3.1, all the available liquidity was put up on a large single order, according to the initial design outlined in the whitepaper. Starting from NuBot v0.3.2 and following the evolution of liquidity operation the bot implements the multi-tier liquidity model.

In this model, NuBot places the vertical walls at the best price (Tier1) along with a tail of orders distributed at premium prices and controlled by bot operators: the parametric order book.

By managing liquidity this way operators can mitigate risks of being exposed to volatility and malicious actors while still providing a solid 1$ peg.

The model is simple and at the same time flexible enough for making it fit in different market scenarios.

  • The model can be configured by the custodian using the configuration file or directly in the UI.
  • The model is dynamic, in the sense that its parameters can be manipulated at runtime.
  • NuBot will implement capabilities to autonomously adapt parameters to best fit market conditions.
  • The buy and sell liquidity can be modelled separately
  • If you launch NuBot with the GUI, you will be able to change parameters and see a real time preview of how changing parameters affects the shape of your orderbook.
  • Once the bot detects that most of tier1 liquidity has been consumed, it will replenish it. (in following version this dynamic will undertake radical changes , with market-aware orderbooks)



Binary Checksum :

$ openssl sha1
SHA1( d8f4b895ccf83543a4ec195d61d089ceaaecea1e

Sources and docs at

Notes for custodians :

Several changes has been made to the way the bot is configured. We reccomend reading the updated setup tutorial

  • Added configuration parameters for configuring the orderbook ( see setup tutorial )
  • Removed configuration parameters : spread (now offset), maxsellordervolume (now bookSellwall) , maxbuyordervolume (now bookBuywall)
  • Added configuration parameter for disabling tier2 liquidity : bookDisabletier2 (boolean)
  • When setting spread operator is asked to stay between the set (0.007$,0.052$) suggested in motion 0ec0be7f113a0bf6ff603545a974cd6410458e00

Launch string changed to accomodate new optional CLI flag -noBrowser.

java -jar NuBot.jar -cfg=<path/to/config.json> [-server] [-noBrowser] [-skipCredentials] 

Please read carefully :space_invader:

v0.3.2 Changelog

New Features:

  • Implemented parametric orderbooks to distribute liquidity ( see docs )
  • Define parametric orderbooks via configuration parameters
  • Defined three standard models for liquidity distribution : linear, exponential and logarithmic
  • Defined default liquidity distribution model
  • Implemented a flag that can be used to turn off liquidity distribution
  • Implemented a parameter to allow custodian to reserve part of the balance
  • Implemented a mechanism that replenished Tier1 liquidity when needed
  • The bot saves a report of executed orders at the end of each session
  • Instead of overwriting new configuration files they are saved into config.json.bak1, config.json.bak2
  • Enforce motion 0ec0be7f113a0bf6ff603545a974cd6410458e00
  • Added -noBrowser CLI flag to force the bot to avoid opening the browser while allowing launching it in servermode
  • Submit liquidityinfo identifier tier:pair:exchange:sessionid
  • Added price trackers of hkd and a php
  • Added HitBTC wrapper
  • Added several pricefeeds to track price of LTC,ETH and XRP in view of new markets
  • web-gui | added orderbook preview
  • web-gui | Visualize active Tier1 and Tier2 properly
  • web-gui | added tooltips in configuration parameters


  • Tier2 and Tier1 separated management (added methods to retrieve T1 and T2 separately)
  • Added possibility to opt to receive only important notifications
  • Refactored config file loading
  • Wrapped options into json object
  • Session file mechanism improved
  • web-gui | Added checkbox to stop Automatic Scrolling
  • Encapsulated orders management into OrderManager
  • Encapsulated balances management into BalanceManager
  • Separate testWrappers from runTests()
  • Refactored SecondaryStrategy code
  • Separated methods that reads from exchanges with a fetch/read logic
  • Replaced spreads with offsets (separated buy and sell side)
  • Implemented method to check integrity of active orders
  • Adapted shiftWalls method to new liquidity distribution
  • Added and implemented a method that takes and places multiple orders sequencially
  • Added and implemented a method that takes and places multiple orders in parallel using multiple apikeys
  • Documented the bot’s new modus operandi (, readme and dedicated file)
  • Revised the way liquidity is reported with new liquidity distribution models
  • Revised the way orders are logged new liquidity distribution models
  • Avoid creating a new Service object for each API call
  • Added SSL test for exchanges to test validity of keystore
  • Compute the fee paid for trades on poloniex in the report
  • Improved with instruction for raspberry
  • Build process generate a correctly named zip file ready to ship
  • web-gui | when server is stopped, add a detailed message
  • Improved logging filesize (rotation) and live logging

Bug fixes:

  • New SSL certificates pack
  • Classpath loader bug
  • Config parameter naming conflicts
  • Load settings returned null
  • Removed duplicated clearOrders method
  • Poloniex retries for any failure, not just wrong nonce’s related errors
  • Catch NoRouteToHostException

Stay tuned for following versions, roadmap is undergoing some changes


#19-11-2015 NuBot development, update #22

NuBot 0.3.2a has been released and contains just a simple hotfix that corrects a bug in pricing that only affected sell-side mode.

Upgrade recommended for current 0.3.2 bot users : no need to change anything in your config, replacing NuBot.jar is enough .

#09-03-2016 NuBot development, update #22

After 2 release candidates today we release NuBot v0.4.1 :tada: . It packs a bunch of improvements, bug fixes, new wrappers and features. Among changes the most import is the introduction of communication with Automated Liquidity Provision servers (ALP v2) .

Activate it via config parameters of UI

 "poolMode" : false,
 "poolURI" : "",
 "poolPayoutAddress" : "xxx",
 "poolSubmitInterval" : 60

It also comes with some UI revamp and functionalities .

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.

Improved 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


Binary Checksum :

SHA1( 827231567bdce6e2c438d5f97878a952af54873a

Sources and docs at


v0.4.1 (2016-mar-09)

Notes for custodians :

Several changes has been made to the way the bot is configured. We recommend reading the updated setup tutorial

  • Liquidity Pool configuration options have been added.
  • multiplecustodians parameter renamed to multipleoperators

New Features:

  • Pool mode for ALP users integrated into nubot (config/ui/strategy)
  • UI to access users’s pool stats in realtime
  • Added SouthXChange wrapper
  • Added Cryptsy (RIP) wrapper
  • OrderBook preview in HTML front-end (so available also remotely)
  • Visualize current sessionID in UI dashboard
  • Reduced log file size (circular buffer)
  • Swapped pairs working with parametric orderbooks


  • Streamer - added and deployed new currencies, each with their changeTreshold
  • Improved
  • UI revamp
  • Nud HTTP interface, removed deprecated libraries
  • If nud RPC fails, print out a more friendly message with troubleshoot
  • Orderbook preview, scale x axis
  • Subdivide UI of options in bootstrap panels and improve UI
  • Verbose live logging, remove millisecond from timestamp no need to
  • Updated SSL certificates
  • Documented pool mode
  • make port 80 default for ALP servers
  • Prepare a default config for pool user to reduce at minimum the friction of operating NuBot
  • HItBTC - Improve the getOrderDetail method adding new entrypoint param
  • Add note about raspi2 on
  • documentation how to run multiple bots per machine
  • new CredentialManager architecture for ALP users

Bug fixes:

  • Image visualization on documentation
  • Default port in sample options for streaming server changed to 5556
  • Fixed bug with the SSL update script
  • Zipping folder was preventing executed trades from getting saved
  • if fails checking communication with exchange UI gets unresponsive/broken
  • lockfile not found on startup
  • On session start, cant create some files
  • TXfee not taken into account When giving the alert message and previewing orderbook