jaggedsoft / node-binance-api

Node Binance API is an asynchronous node.js library for the Binance API designed to be easy to use.
MIT License
1.57k stars 767 forks source link

getting this error while running the following code: {'code': -1102, 'msg': "Mandatory parameter 'timestamp' was not sent, was empty/null, or malformed."} #870

Open arnob7x41 opened 1 year ago

arnob7x41 commented 1 year ago

import requests import json import hmac import hashlib import time

API endpoint

url = "https://fapi.binance.com/fapi/v1/order"

API key and secret

api_key = "" api_secret = ""

Request parameters

symbol = "BTCUSDT" side = "SELL" type = "MARKET" notional_value = 30 # Notional value in USD timestamp = int(time.time() * 1000) recvWindow = 5000

Fetch last traded price

ticker_url = "https://fapi.binance.com/fapi/v1/ticker/price" ticker_payload = { "symbol": symbol } ticker_response = requests.get(ticker_url, params=ticker_payload) last_price = float(ticker_response.json()["price"])

Calculate quantity

quantity = notional_value / last_price

Create the timestamp

timestamp = int(time.time() * 1000)

Create the signature

message = f"{timestamp}{recvWindow}".encode('utf-8') signature = hmac.new(api_secret.encode('utf-8'), message, hashlib.sha256).hexdigest()

Create the request payload

payload = { "symbol": symbol, "side": side, "type": type, "quantity": quantity, "timestamp": timestamp, "recvWindow": recvWindow, "signature": signature }

Send the request

response = requests.post(url, headers={"X-MBX-APIKEY": api_key}, json=payload)

Print the response

print(response.json())

justwicksapp commented 1 year ago

Even i am facing the same error any possible solution?

i tried setting useServerTime()

drinkthere commented 3 months ago

check this issue, when useServerTime() returns NaN, timestamp in following request will be invalid. maybe it's the reason. https://github.com/jaggedsoft/node-binance-api/issues/472

timetaxy commented 2 months ago

I got same error. Any solution?