[Draft] Proposal for liquidity provision on fiat pairs (LiquidBits.net)

Not at the moment. Creon and Nagalim explained options above, but they require a lot of changes in the code.

I see. Tks for the clarification.

It is difficult to compensate USD depositors more than NBT depositors. This is because the very peg we are attempting to support makes it so easy to go back and forth between USD and NBT so if one is more compensated custodians will always trade to get back to the higher compensation side. We don’t want custodians initiating trades on NBT/USD. If gaming the system is as easy as pushing a button and paying a small trading fee, it’s not a question of ‘if’ people cheat.

That said, there must be a way to accomplish this goal. We’ll just need to talk about it more but in the meantime we want liquidbits to go forward…

1 Like

I hoped somehow that ./client-ccedk-usd would take into argument pool-ccedk-usd.conf automatically but it did not work out.
Had to do: ./client.py …/unix/pool-ccedk-usd to start the bot on ccedk’s nbt/usd pair.
Not sure if it s the right way to do with liquidbits.
Alternatively, since I was used to nupool’s ./client, I edited pool.conf :smile: and could run the bot with just ./client .
Anyway the bot places a sell order.
I have also 0.15 usd but it does place a buy order.

Is there any intrinsic min requirement?

This changes the dynamic somewhat, but I think it’s nice and implementable and superficially solves the problem.

getting now:DEBUG: exception caught in trading bot: ‘usd’ on ccedk’s nbt/usd

I’ll look into that today. What actions preceeded the error?

nothing in particular i think.

Line preceding the error:
INFO: ccedk - balance: 0.00374018 rate: 0.33% ppm: 0.00000298 efficiency: 100.00% rejects: 0 missi
ngs: 0 - usd - ask: 1.3000 x 0.33% - XXXX

I have something like 0.5 usd in ccedk by the way but somehow the bot does not put them on the buy side.

Will see if I can find something in the server logs. Haven’t seen that before myself.

Edit: nothing on the server logs except a small number of rejects which is not too bad. Likely to be something which happened on client side, will also start running USD pair as I have ran EUR pair in last 2 days without a problem except some missed handshakes. But they are not persistent, more like glitches in connections.

Thank you very much for continuing the great work that @creon has paved the way for!
I’ve just started participating in the beta test for liquidbits.
I thought you might be interested in a tester on linux.

It works like a charm and I only rarely have errors like:

  • 2015/04/29-21:21:05 ERROR: submit: server response invalid
  • {u’pagination’: False, u’errors’: False, u’response’: {u’entity’: {u’order_id’: 492755, u’transaction_id’: 1088990}}}

The first one occurs from time to time, can’t find a pattern…
The second one upon startup of the pool client, in a repeatable manner. It looks like it precedes placing an order.

And I have found a tiny glitch in version nu-pool-0.96LB:
the script unix/client-ccedk-usd tries to load a file pool-ccedk-usd.conf which doesn’t exist.
Workaround: open a shell, change to the unix directory and execute:

sed -i -e s/pool-ccedk-usd.conf/pool-ccedk-usd/ client-ccedk-usd

Afterwards you can edit pool-ccedk-usd:

sed -i -e s/"address = xxxxxxx"/"address = yourNuBitsAddress"/ pool-ccedk-usd
sed -i -e s/"apikey = xxxxxxx"/"apikey = yourApiKey"/ pool-ccedk-usd
sed -i -e s/"apisecret = xxxxxxx"/"apisecret = yourApiSecret"/ pool-ccedk-usd

Remark: the quotation marks in the expression are needed; don’t remove them.
You can for sure use an editor, but as I run this on my headless RaspberryPi, I prefer using the shell anyway…

Now you are fine to run

./client-ccedk-usd

If you want to connect to your machine to check the status, I recommend tools like “screen”.
screen is by man page a “screen manager with VT100/ANSI terminal emulation”

1 Like

@masterOfDisaster Remove this line: https://github.com/Cybnate/nu-pool/blob/master/python/exchanges.py#L400

@Cybnate why are you always checking some boolean by asking “if b is True:” and not just “if b:”?

1 Like

Thank you.

sed -i -e '400d' exchanges.py 

effected. Error messages gone. Awesome support!

Not getting “getting now:DEBUG: exception caught in trading bot: ‘usd’ on ccedk’s nbt/usd” any more.
Right now the bot is not placing my nbts into sale but perhaps it is because the target has been reached.

Getting “DEBUG: exception caught in trading bot: ‘usd’ on ccedk’s nbt/usd” once again.

1 Like

Thanks Creon. Will make a new release soon.

Yes, thanks for checking it. Will updated the Linux configs with next release. Just a lack of proper testing and setup time from my side. Linux still takes me a lot of time.

Can confirm them now, I have a handful of them in the last 24h.
They follow a time-out on the order book:

2015/04/30-01:50:05 ERROR: unable to retrieve order book for eur on ccedk: exception caught:
2015/04/30-01:50:31 DEBUG: exception caught in trading bot: 'eur’
Will need Woolly to have better look at why this happens occasionally, seems to be ccedk specific

That is a question for @woolly_sammoth. I pulled that from his repo. I’m not into the intricate details of Python.

As there might be a risk of pools clashing on Bittrex and I don’t want to take the risk of disturbing Nu-pool’s operation, I like to ask you to not test on Bittrex using liquidbits.net. I will remove that pair over the weekend from the configuration as a server restart would be needed and I like to complete my testrun with the server . Appreciate your cooperation.

All other pairs can still be used.

1 Like

Thank you @Cybnate.
Unless @creon want’s to interject, I’m not 100% sure that two different pools will recognise each other and avoid their walls colliding when out of sync. Until I can verify that that is or isn’t the case, this is the safest way to go.

That’s just a bad habit of mine. I prefer to be explicit and find this method more readable when scanning the code. That said, the PEP8 style guide considers me the worst of the worst for doing so so maybe it’s a bad habit worth breaking :slight_smile:

Non-mandatory release 0.97LB https://github.com/Cybnate/nu-pool/releases/tag/0.97LB

Fixed:
Updates on Unix config files, corrected wrong file references
Pulled a number of small fixes from Nu-pool/ Inuit repo (Thanks Woolly)

Known issue:
CCEDK timeout on orderbook, resulting in occasional exception report on both EUR and USD pair

Usually running multiple pools on the same exchange is fine. The only problem in real operations is that users could send their requests to both servers and get paid twice for the same liquidity. But since this is just beta, its not a problem.

However, on Bittrex this indeed will lead to a problem because of their specialized attempt to make the API calls (their wrapper differs in many ways from other exchanges). This will lead to a problem if you are using the same account in Cybnates pool and in the nupool.

If you use different accounts then everything should be fine.

3 Likes