At the moment you can only use NuBot if you control the funds, you’d need to run an MLP, which is something completely different and requires either using own funds or account management.
ALP doesn’t require control over the funds (by the pool operator) that are used for liquidity providing.
The parts of the ALP software (server.py) that needed to be adjusted to make fc_server.py were small (on client side there’s no change required!):
diff server.py fc_server.py
39,40c39,40
< _wrappers = {'bittrex': Bittrex, 'cryptsy': Cryptsy, 'poloniex': Poloniex, 'ccedk': CCEDK, 'bitcoincoid': BitcoinCoId, 'bter': BTER,
< 'testing': Peatio}
---
> _wrappers = {'bittrex': Bittrex, 'poloniex': Poloniex, 'ccedk': CCEDK, 'bitcoincoid': BitcoinCoId, 'bter': BTER,
> 'testing': Peatio, 'cryptsy': Cryptsy}
141c141
< def liquidity(self, bid, ask):
---
> def liquidity(self, bid, ask, identifier):
146a147,150
>
> tier:pair:exchange:botsessionid
>
> Example of a valid identifier : 2:BTCNBT:ccedk:nubotsession3
149,150c153,155
< self.rpc.liquidityinfo('B', bid, ask, self.address)
< self.logger.info("successfully sent liquidity: buy: %.8f sell: %.8f", bid, ask)
---
> self.rpc.liquidityinfo('B', bid, ask, self.address, identifier)
> self.logger.info("successfully sent liquidity: buy: {0} sell: {1} "
> "identifier: {2}".format(bid, ask, identifier))
153c158
< self.logger.error('NuRPC: client not initialized')
---
> self.logger.error('NuRPC: liquidity client not initialized')
471c476
< maxrate = config._interest[name][unit][side]['rate']
---
> # maxrate = config._interest[name][unit][side]['rate']
481a487
> imprate = float(config._interest[name][unit][side]['rate'])
482a489
> maxrate = imprate * 10000000 / mass
599c606
< curliquidity = [0, 0]
---
> curliquidity = {}
602a610,614
> exchange = repr(keys[user][unit].exchange)
> if exchange not in curliquidity:
> curliquidity[exchange] = {}
> if unit not in curliquidity[exchange]:
> curliquidity[exchange][unit] = [0, 0]
604,605c616,621
< curliquidity[0] += sum([order[1] for order in keys[user][unit].liquidity['bid'][-(s + 1)]])
< curliquidity[1] += sum([order[1] for order in keys[user][unit].liquidity['ask'][-(s + 1)]])
---
> curliquidity[exchange][unit][0] += sum([order[1] for order in
> keys[user][unit].liquidity[
> 'bid'][-(s + 1)]])
> curliquidity[exchange][unit][3] += sum([order[1] for order in
> keys[user][unit].liquidity[
> 'ask'][-(s + 1)]])
607,609c623,631
< curliquidity = [curliquidity[0] / float(config._sampling), curliquidity[1] / float(config._sampling)]
< _liquidity.append(curliquidity)
< nud.liquidity(curliquidity[0], curliquidity[1])
---
> for exchange in curliquidity:
> for unit in curliquidity[exchange]:
> liquidity = [curliquidity[exchange][unit][0] / float(config._sampling),
> curliquidity[exchange][unit][4] / float(config._sampling)]
> _liquidity.append(liquidity)
> identifier = "1:{0}:{1}:{2}".format('NBT'+unit.upper(),
> exchange,
> config._pool_name)
> nud.liquidity(liquidity[0], liquidity[1], identifier)
788c810
< if curtime - lastsubmit >= 60:
---
> if curtime - lastsubmit >= 5: