I have been having a weird error when trying to process an order with my web application I built in ASP.NET/C#. The interesting thing is the other calls work, like getting your account balance. So I found a website that goes through some things to fix this issue like making sure your computer clock is good and that you have the proper parameters, which still did not fix the issue. here is the url I am sending:
/api/v3/order?symbol=BTC-ETH&side=SELL&type=LIMIT&timeInForce=GTC&quantity=0.183&price=0.07726200&recvWindow=5000×tamp=1529340658943&signature=signature_str
the signature_str is a big array of characters. I also include the api key using the header: X-MBX-APIKEY.
I originally had the symbol as ETHBTC instead of BTC-ETH and still did not work. I am assuming that the other calls work, that this is not really a code issue, but maybe for one of the parameters I am missing something. If you need to look at the code I can add in some as an edit. Thank you!
I know, that with this answer I am winning the golden shovel of Internet Explorer, however recently, I have faced the same issue.
The root cause on my side was the precision of quantities and prices in my requests. If anyone is getting 400 Bad Request on Buy/Sell requests in Binance API and hits this question, please check the precisions with Binance trading application. Reducing the amount of decimal places in my requests solved the issue.
Regards