dutu / pololender Goto Github PK
View Code? Open in Web Editor NEWFree, open source, high performance bot for lending funds on Poloniex exchange
Home Page: https://github.com/dutu/poloLender
License: Other
Free, open source, high performance bot for lending funds on Poloniex exchange
Home Page: https://github.com/dutu/poloLender
License: Other
Thanks for this very useful project! Is possible to add DASH support?
Also, can you provide an wallet for me to pay you a beer? ๐
Hello,
When the orders are usually at 0.30% for example, then it drops to 0.15%, the bot keeps opening at 0.30% and then we waste a lot of time with open orders ... can you fix it? I would like to donate in bitcoin, how do I?
When deployed on Heroku, following the provided instructions, I get this continuously after starting the app
Sep 28 23:05:55 fast-depths-35755 app/poloLender.1: info: Connected to server safe-hollows.crypto.zone
Sep 28 23:06:20 fast-depths-35755 app/poloLender.1: notice: returnOpenLoanOffers: Please do not make more than 6 API calls per second.
Sep 28 23:06:39 fast-depths-35755 app/poloLender.1: notice: returnOpenLoanOffers: Please do not make more than 6 API calls per second.
Sep 28 23:06:42 fast-depths-35755 app/poloLender.1: notice: returnOpenLoanOffers: Please do not make more than 6 API calls per second.
Sep 28 23:06:46 fast-depths-35755 app/poloLender.1: notice: returnOpenLoanOffers: Please do not make more than 6 API calls per second.
Sep 28 23:06:50 fast-depths-35755 app/poloLender.1: notice: returnAvailableAccountBalances: Please do not make more than 6 API calls per second.
What might be causing this and how can I resolve it?
Thanks.
about 2 days ago the bot start to try to loan with a wrong calculated tax and the result is that no loan offer wold be taken.
Anyone with the same issue ?
maybe u need to make it more simple please , like an installer . thanks
When I started it up, it just placed loans for all the available BTC at the going rate of around 1%, and looking at the site a minute later it looked like one could get loans at 1.3% if it had waited a minute ..... curious what kind of logic is being applied, as doesn't appear to be very optimal from first glance ...
Hi,
Is there a problem with safe-hollows.crypto.zone ?
There doesn't seem to be any data at the moment. :(
Thanks in advance.
Today I started to get the error:
Poloniex error 422: Nonce must be greater than *****. You provided *****.
(I have hidden the actual nonce values for security reasons). I also started to frequently get the error:
Poloniex error 429: Please do not make more than 8 API calls per second.
With poloLender 0.7.1, I usually only get error 429 about every 90 minutes or less, which doesn't seem to be problematic. But for some reason I got error 429 multiple times today within a couple of seconds. Sorry if I should have kept error 429 as a separate issue but I don't know if it's related. I also received this error message:
Poloniex error 429: This IP has been temporarily throttled. Please ensure your requests are valid and try again.
I've attached a small portion of the log in an excel file. I assume this may be an issue with poloniex server but perhaps there is a way poloLender can handle these situations?
Kind regards,
Hey,
so I have been thinking a bit and I think have these 2 things be separate can/is causing sub-optimal rates.
This is because if they where one system when calculating the rate it could consider if a loan is from you or not.
This can lead to the bot trying to undercut itself and I have seen that happen.
So it would be appreciated if you could open source the Advisor so that I may fix this. But since it's not already open I guess you are not planning on changing that. well asking doesn't cost anything.
Hello,
When looking at the logs with papertrail, I can see when the loans are taken but the timezone used is UTC+2, in your code we can see the utcOffset(120) in poloLender.js:
msg = "Loan taken #" + newAC.id + " " + newAC.currency + " " + newAC.amount + " at " + msgRate(newAC.rate) + ", created " + newAC.createdAt.utcOffset(120).format("YYYY-MM-DD HH:mm");
I think it would be better to simply display the time in UTC timezone since Poloniex is using UTC. Or give us the choice through the config vars.
Thank you for your hard work.
Regards,
It would be really nice if max order size setting could be added.
As from my experience having orders limited to 0.1~0.2 btc increases overall return rate
@dutu
I was checking out the code and found some lines regarding Bitfinex.
Is it in your plans? Or it's just a code reusage? :)
I mean their fiat lending platform shows really good returns and I think they have 2nd largest lending pool after Poloniex.
Thx.
Hello,
Today I've seen a lot of logs like this:
notice: returnActiveLoans: Poloniex error 429: Too Many Requests. This IP has been banned for 2 minutes. Please adjust your timeout to 130 seconds.
So I guess Poloniex changed their timeout policy again and the bot needs to be adjusted to this new policy.
Other than that, the bot has been working really nice for more than a week without any interruption for me!
So, thank you again for your hard work!
For some reason, after reinstalling poloLender on different pc/server, module 'request' is not available which I have to install manually by using npm install request --save
It wasn't required before. I don't know why.
@dutu, Could you please add compound Interest info to the report?
smth like: "at 0.193899% (70.77%) (CI 101.24%)"
we know that worst case it will be compounded every 2nd day and it's pretty simple math,
formula and explanation could be found here http://www.thecalculatorsite.com/articles/finance/compound-interest-formula.php
Thank you.
please add bts and doge.
Ability to gracefully return all or part of lent funds by a specific date.
I.e. on May 1st we specified in the GUI that all funds must be returned no later than by June 1st
The app will limit lending to 31 days on May 1st, to 30 days on May 2nd etc.
During last two days, it won't lend anything.
This would be an amazing feature!
Hi,
I got strange error in my log:
notice: returnAvailableAccountBalances: Poloniex error 500: Internal Server Error
notice: returnAvailableAccountBalances: Poloniex error 500: Internal Server Error
notice: cancelLoanOffer: Error canceling loan order, or you are not the person who placed it. (#322231281)
notice: returnActiveLoans: ESOCKETTIMEDOUT
notice: returnAvailableAccountBalances: Unknown error.
notice: returnOpenLoanOffers: Unknown error.
notice: returnActiveLoans: Poloniex error 500: Internal Server Error
notice: returnActiveLoans: ESOCKETTIMEDOUT
notice: returnActiveLoans: Poloniex error 500: Internal Server Error
notice: returnOpenLoanOffers: ESOCKETTIMEDOUT
notice: returnAvailableAccountBalances: ESOCKETTIMEDOUT
notice: returnOpenLoanOffers: Unknown error.
Do you know anything about such behaviour?
Hello, thanks for the update !
I've just updated to version 0.8.3 and got this error, never had one like this on 0.8.2.
Please feel free to close it if it's not a bug.
Hello,
I had a lot of "Poloniex error 429: Too Many Requests." errors during the 2 last days.
After restarting the bot, this error temporary disappeared but I wasn't constantly monitoring papertrail.
Now I'm seeing the following error:
notice: returnOpenLoanOffers: Poloniex error 429: Too Many Requests. This IP has been temporarily throttled. Please ensure your requests are valid and try again in one minute.
So I've stopped the bot and I'll restart it a bit later. Is there a way I could avoid this kind of issue? Doesn't always happen, but when it does, if there is no manual restart, the bot will keep spamming the poloniex API and the API will keep returning this error.
I don't know if there is something we can do about it since it's on the poloniex API side. Maybe a count on this error 429 and if there are more than X in a row, slow down the calls?
Regards,
Edit : I've changed my API key and now I see a lot of "Loan returned" but 0 offer, that's very weird. Especially with holding time > 48h, since all loans are supposed to be 2 days or less.
https://goo.gl/9Mus1j
One tip, if you can add in the Bot it will be very useful, sometimes the bot places an order with a% above those that are available, but some of these are many bitcoins, for example 800,1000 bitcoins, if you can, The bot will calculate how many bitcoins are above our order so as not to take too long to lend
It would be nice to lend for longer periods of time if there is a spike. Maybe, it's reasonable to specify the maximum amount of BTC can be landed for 2+ days in the config file.
What is new in the server folder? need update?
Hello
Getting this error :
"notice: returnActiveLoans: Poloniex error 429: Please do not make more than 8 API calls per second."
Have you any other bot for polo to trade or pumps? or wanna make ?
I was looking throught your code for the following error callback of poloniex.
notice: returnActiveLoans: Nonce must be greater than 1432780392338378. You provided 147013733967300.
Could not reason entirely as to how to slow your api calls to the acceptable threshold.
Would you know about it? Is this known to you?
Regards
Getting this error when I'm running the server right now:
info: Reconnected to server safe-hollows.crypto.zone
info: Connected to server safe-hollows.crypto.zone
notice: Disconnected from server safe-hollows.crypto.zone
info: Reconnecting to server safe-hollows.crypto.zone (1)
info: Reconnected to server safe-hollows.crypto.zone
notice: returnOpenLoanOffers: ESOCKETTIMEDOUT
info: Connected to server safe-hollows.crypto.zone
notice: Disconnected from server safe-hollows.crypto.zone
info: Reconnecting to server safe-hollows.crypto.zone (1)
warning: Error connecting to server safe-hollows.crypto.zone (TransportError: xhr poll error)
warning: Error reconnecting to server safe-hollows.crypto.zone (TransportError: xhr poll error)
info: Reconnecting to server safe-hollows.crypto.zone (2)
Getting Application error
when I visit the website manually too.
While following the instructions for setting up poloLender in Heroku, I attempted to set my environmental variable using the following command:
heroku config:set POLOLENDER_APIKEY={\"key\":\"MYKEY\",\"secret\":\"MYSECRET\"}
This resulted in the following output, which suggested that only the "secret" value was ingested (no "key" value):
Setting POLOLENDER_APIKEY, POLOLENDER_APIKEY and restarting โฌข rocky-atoll-57901... done, v17 POLOLENDER_APIKEY: "secret":"MYSECRET"
Sure enough, "heroku config" shows only the "secret" value. This issue causes app deployment to fail.
and open orders, average interest rate, information on returns, etc ....
I am getting these timeouts every few seconds:
notice: returnAvailableAccountBalances: ESOCKETTIMEDOUT
notice: returnActiveLoans: ETIMEDOUT
notice: returnOpenLoanOffers: ETIMEDOUT
notice: returnActiveLoans: ESOCKETTIMEDOUT
notice: returnActiveLoans: ETIMEDOUT
notice: returnOpenLoanOffers: ETIMEDOUT
notice: returnActiveLoans: ESOCKETTIMEDOUT
notice: returnAvailableAccountBalances: ETIMEDOUT
notice: returnAvailableAccountBalances: ETIMEDOUT
notice: returnOpenLoanOffers: ETIMEDOUT
notice: returnActiveLoans: ESOCKETTIMEDOUT
notice: returnOpenLoanOffers: ESOCKETTIMEDOUT
notice: returnAvailableAccountBalances: ETIMEDOUT
notice: returnActiveLoans: ETIMEDOUT
notice: returnOpenLoanOffers: ETIMEDOUT
notice: returnOpenLoanOffers: ESOCKETTIMEDOUT
notice: returnActiveLoans: ETIMEDOUT
notice: returnActiveLoans: ESOCKETTIMEDOUT
notice: returnOpenLoanOffers: ESOCKETTIMEDOUT
notice: returnOpenLoanOffers: ETIMEDOUT
notice: returnOpenLoanOffers: ETIMEDOUT
The bot creates and get returned loans without problems though.
It's running locally on my machine and I created a new API key for it.
hello, i dont know if is really working fine, and i have some questions, i can pay if you help me... i need disable or enable auto renew on polo?
Hello,
I've started to get these messages in the log about every 1s:
createLoanOffer: Amount must be at least 0.01
I logged into Poloniex and checked my balance. It is less than 0.01, and it won't allow me to manually offer this amount.
Is this the normal operation of the bot?
It would be neat if we could set a minimum lend rate on a per-coin basis. For example, right now XMR lends for 0.015% so it would be more profitable for me to stop offer XMR loans, trade my coins into BTC and offer BTC loans at 0.056%.
I guess you can kill the bot, reconfigure the coin max lend to 0 and then restart it, but it's quite the hassle. Instead, it would be easier if we can set a minimum and handle the exchange and coin transitions manually.
VPS which is running this app located within 1ms latency from poloniex servers, so it shouldn't be an issue. I made a short video of what's transpiring https://media.giphy.com/media/xUPGcjqOkcTOBFYor6/giphy.gif
I'm running it on Windows(prompt), how do I access the web interface?
Hello,
Trying to "npm install" on my computer throws this error:
npm install
npm ERR! Linux 3.10.0-514.16.1.el7.x86_64
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install"
npm ERR! node v6.10.2
npm ERR! npm v3.10.10
npm ERR! file [..]/.npm/big.js/3.1.3/package/package.json
npm ERR! code EJSONPARSE
npm ERR! Failed to parse json
npm ERR! No data, empty input at 1:1
npm ERR!
npm ERR! ^
npm ERR! File: [..]/.npm/big.js/3.1.3/package/package.json
npm ERR! Failed to parse package.json data.
npm ERR! package.json must be actual JSON, not just JavaScript.
Any ideas?
Kind regards,
always at 5% 60days
info: Loan offered #382095222 BTC 0.78305700 at 5.000000% (1825.00%), duration 60 days
Hello,
Getting the following error in the logs using Heroku to run the app:
heroku/web.1: Starting process with command `node server.js`
app/web.1: notice: Environment file doesn't exist: /app/.env
app/web.1: alert: Environment variable POLOLENDER_APIKEY is invalid. Please see documentation at https://github.com/dutu/poloLender/
app/web.1: alert: Application will now exit. Correct the environment variable POLOLENDER_APIKEY and start the application again
heroku/web.1: Process exited with status 1
I used the following format to enter the API Key:
heroku config:set POLOLENDER_APIKEY='{"key":"MY-KEY","secret":"MY-SECRET-KEY"}'
I double checked the key with my polo account and I am 100% positive I am using the right one.
I didn't do the "poloLender Pro configuration" from your readme because it looks like it is for local setup (or maybe I'm wrong but since I already defined the config vars on Heroku I don't think I should do it again).
It is my first time running your app.
Thank you for your help
Hello, why appear this error? notice: returnOpenLoanOffers: Connection timed out. Please try again
Hello,
I feel like there is a strange behaviour and I'm not sure if it is intentional or not.
My last loan was taken at 19h45 UTC (about 1 hours and 15 minutes ago) and my loan offers are still way too high for the current market.
Considering the number of loans that are paid back pretty quickly, wouldn't it be better to lower the rate every X minutes if a loan is not taken?
See my screenshot attached please:
Funny thing though, right after taking the screenshot, these loans have been taken. Still not sure if it's worth it knowing I had these 0.X btc waiting for like 1 hour.
Edit: miscalculation on my part, the question remains the same though.
Edit 2: also, I'm wondering what these logs mean
app/web.1: notice: bfxPublic.ticker: Error: ETIMEDOUT
I didn't find any ETIMEDOUT in your code, so I guess it is from the API or Heroku?
Hi, is it possible to record the best lending rate by a given interval, which can be set in the config?
Hello, I have the same issue than this one #16
I'm running on version 0.7.1
I also get this ESOCKETTIMEDOUT error sometimes
notice: createLoanOffer: Rate must be at least 0.0001%.
notice: createLoanOffer: Rate must be at least 0.0001%.
notice: createLoanOffer: Rate must be at least 0.0001%.
notice: createLoanOffer: Rate must be at least 0.0001%.
notice: createLoanOffer: Rate must be at least 0.0001%.
notice: createLoanOffer: Rate must be at least 0.0001%.
notice: createLoanOffer: Rate must be at least 0.0001%.
notice: createLoanOffer: Rate must be at least 0.0001%.
notice: createLoanOffer: Rate must be at least 0.0001%.
notice: createLoanOffer: ESOCKETTIMEDOUT
notice: returnActiveLoans: ESOCKETTIMEDOUT
notice: createLoanOffer: Rate must be at least 0.0001%.
notice: createLoanOffer: Rate must be at least 0.0001%.
notice: createLoanOffer: Rate must be at least 0.0001%.
notice: createLoanOffer: Rate must be at least 0.0001%.
notice: createLoanOffer: Rate must be at least 0.0001%.
Poloniex is adjusting minimum order amounts and it is causing issues with the poloLender app. See the image below:
The big problem with this is that the poloLender stops iterating through the altcoins when this happens, so the altcoins after the current one never get loan offers created.
I would propose another config variable in the defaultConfigs that has Poloniex's min order amount for each coin, then check that before attempting to create the offer. In addition, I think we will need to remove some of the return
statements because it is stopping the loop from reaching the other currencies.
I can create a PR later today, I just wanted to get this issue out.
hello, I was wondering if you are interested in implementing litecoin support?
If not I can create a pull request, thanks
I get a lot of these messages but I am not sure if that is a problem. I do have some active loans but no open loans or other coins in the lending account.
Hello,
I am wondering how the amount to offer is determined. Because I often see big amounts in offer and I'm not sure if it's the most efficient thing to do. Sometimes the bot lends 0.4 btc for 0.14% and 1 hour later, the bot lends 0.01 btc for 0.26% (a recent example but I've seen it with bigger variance).
The reverse may also happen but people tend not to return the loans earlier when the rates are higher than when they took the loan (from what I saw with my account)
The problem here is that if the big loans are not returned, we can't get the advantage of the spikes.
I am wondering if the best option here would be to split the offers into small amounts, even if we will also lend more often during the bad spikes.
If I'm not wrong in my thoughts and there is a need to test the behavior, maybe add a configuration var to set the maximum amount of btc per loan? so we can all test it the way we want and give you feedback.
I don't know how much work it would be though.
Regards,
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.