dutu / poloLender

Free, open source, high performance bot for lending funds on Poloniex exchange
https://github.com/dutu/poloLender
Other
160 stars 47 forks source link

Getting this error : Please do not make more than 8 API calls per second. #25

Closed cj4c0b1 closed 7 years ago

cj4c0b1 commented 7 years ago

Hello

Getting this error :

"notice: returnActiveLoans: Poloniex error 429: Please do not make more than 8 API calls per second."

dutu commented 7 years ago
abletaz commented 7 years ago

Running the latest version of the app, no other API usage, and had to lower the limit to stop the errors.

dutu commented 7 years ago

Poloniex has been under heavy DDoS attacks during the past day and Poloniex server has not been functioning properly. Would you please give feedback again when Poloniex stabilizes (probably in a day or so). Thank you

avoloshko commented 7 years ago

That's what I get notice: returnActiveLoans: Poloniex error 429: Too many requests. Please try again in a moment. notice: returnActiveLoans: Poloniex error 429: Too many requests. Please try again in a moment

How can I reduce the amount of requests? should it be so frequent?

dutu commented 7 years ago

I'm also getting "Poloniex error 429: Too many requests. Please try again in a moment." at times for short periods. Looking at the timestamps and number of events I can see the limit of 8 API calls per second is not reached, yet the error is returned by Poloniex.

I have opened a ticket with Poloniex support asking for explanation. I will update here once I get a response.

rained23 commented 7 years ago

it will be nice to add detection to pause the bot for a while and probably fetch some API for the status of poloniex before resuming the bot, this can help reduce the DDoS issue in poloniex side too.

dutu commented 7 years ago

@rained23, the bot complies with the limit of 8 API calls per second.

Please let me know if you still get the error "Please do not make more than 8 API calls per second" when not using any other API script on the account or any other linked accounts. I haven't seen this error, which makes me conclude the bot is working correctly.

As for the error "Too many requests. Please try again in a moment." I suspect this is due to overload on Poloniex server and not bot behavior. I have an open ticket with Poloniex and once resolved I will give feedback here.

EDIT: I can make the bot working slower, that's not a problem, but the aim here is to utilize maximum resources allowed by Poloniex to lend FIRST at best possible rate. 8 API calls per second cannot be considered a contribution to a DDoS issue.

rained23 commented 7 years ago

@dutu Just my suggestion if we detect there is DDoS issue on Poloniex, we can help reduce their server load, if all our bot stop sending request , this will help Poloniex to mitigate the DDoS faster, currently my bot is running normally. I observed the rate became very low after the DDoS incident because the margin trader stop loaning. So we can say as lender, if Poloniex have trouble we also lose from it.

I think you can let the Advisor to forward DDoS/heavy load status and the bot have config to accept or just ignore the status, because for me, I will stop my bot instead sending more load to Polo.

Anyway it just suggestion.

dutu commented 7 years ago

Here is the response form Poloniex support regarding the error "Too many requests. Please try again in a moment."

"As a measure against the DDOS attacks we had to apply different rate limits temporarily. There hasn't been a particular specification of how this rate limit works as it was a temporary measure and was still being tweaked. This restriction should be lifted now. I am sorry for any inconvenience caused."

I don't see any action needed from the bot side here.

As for the error "Please do not make more than 8 API calls per second" - this has been previously addressed, please update the bot to version 0.7.1 or higher and note that:

Any API use will contribute to the limit, even if it's from a different IP address or using a different API key. If in doubt please check your API keys page to see when each key was last used, maybe this will give clues if something else is running in the background. Also note that linked accounts share the API limit.