Hi, I’m getting invalid signature error for batchOrders: {'code': -1022, 'msg': 'Signature for this request is not valid.'}
The code below works for regular orders, and I’m not sure why it doesn’t work for batch. Any help is appreciated:
def sign(query_string):
return hmac.new(secret.encode('utf-8'), query_string.encode('utf-8'), hashlib.sha256).hexdigest()
def finalizeBatch(payload):
payload['timestamp'] = int(time.time() * 1000)
params = urlencode(payload)
payload['signature'] = sign(params)
return payload
def send(payload):
payload = finalizeBatch(payload)
return requests.post(f"{url}/fapi/v1/batchOrders", params=payload, headers={'X-MBX-APIKEY' : key})
This is the payload that is passed to the finalizeBatch
function
{
"batchOrders":[
{
"symbol":"BTCUSDT",
"side":"BUY",
"quantity":0.1,
"timeInForce":"GTC",
"type":"LIMIT",
"price":29998,
"reduceOnly":false
},
{
"symbol":"BTCUSDT",
"side":"SELL",
"quantity":0.1,
"timeInForce":"GTC",
"type":"STOP",
"price":29992.0,
"reduceOnly":true,
"stopPrice":29994.0
}
],
"timestamp":1649466929400
}