Hello there
I am currently building a trading automation workflow connected to Binance Testnet. Despite several attempts and adjustments, I keep encountering an issue with my HTTP Request (5) node. Here’s the error message:
“Bad request - please check your parameters
Mandatory parameter ‘symbol’ was not sent, was empty/null, or malformed.”
What I’ve Tried:
-
Ensured proper data flow:
TheCode (2)
node outputs the correct structure, including all necessary parameters:symbol
,side
,type
,timeInForce
,quantity
,price
,timestamp
, andsignature
. -
Validated the JSON body:
I used JSONLint to validate the JSON body in the HTTP Request (5) node. The structure is valid and looks like this:
{
"symbol": "BTCUSDT",
"side": "BUY",
"type": "LIMIT",
"timeInForce": "GTC",
"quantity": 0.01,
"price": {{$node["Code (2)"].json.price}},
"timestamp": {{$node["Code (2)"].json.timestamp}},
"signature": "{{$node["Code (2)"].json.signature}}"
}
-
Checked URL correctness:
The node is configured to send a POST request tohttps://testnet.binance.vision/api/v3/order
. -
Verified credentials and headers:
TheX-MBX-APIKEY
header is set up correctly in theSend Headers
section of the node, referencing a valid API key. -
Synchronized timestamps:
I confirmed that the timestamp generated in the workflow aligns with Binance’s server timestamp. The difference is consistently below 500ms. -
Tested with cURL:
A similar request using cURL produces the same error message, indicating the issue is not limited to n8n.
Questions and Context
- Has anyone encountered a similar issue with Binance Testnet and n8n?
- Could this be related to how n8n processes dynamic expressions in the JSON body?
- Is there an alternative approach for passing query parameters (e.g., via
Send Query Parameters
instead ofSend Body
)?
I would appreciate any insights or suggestions to resolve this issue. If additional details are needed, let me know.
The workflow
Thanks a lot for your help in advance!
Information on my n8n setup
- n8n version: 1.67.1
- Database (default: SQLite): default
- n8n EXECUTIONS_PROCESS setting (default: own, main): default
- Running n8n via (Docker, npm, n8n cloud, desktop app): cloud
- Operating system: MacOS 10.13.6