A formula could not be evaluated. Check for division by zero, incompatible types, invalid math function arguments, or an unsupported integer passed to round() as a rounding mode (use rounding.* names or integers 1–8). See invalid-formula-runtime in the reference manual.
The formula parsed successfully but failed during evaluation. Common causes:
abs, ceil, floor, max, min, or round.round() must be a rounding.* property or an integer from 1 to 8. Other integers (for example 99) are rejected.Runtime failures occur after references resolve; if a field name is wrong, you may get invalid formula reference instead.
Typical error details (webhook log)
The formula in field
limitPricefailed to evaluate. Check for issues like division by zero or incompatible types.
The formula in field
xcalls abs() with an invalid value. Expected a number, but got a string.
The formula in field
xpasses 99 as a rounding mode to round(), which is not supported. Use a rounding.* name (for example rounding.halfEven) or an integer from 1 to 8.
Incorrect (division by zero)
{
"ticker": "SPY",
"action": "buy",
"qty": "0",
"x": "=1 / signal.qty"
}
Fix — guard with a conditional or send a non-zero literal
{
"ticker": "SPY",
"action": "buy",
"qty": "10",
"x": "=1 / signal.qty"
}
Or use a ternary (for example default to 0 when signal.qty == 0) so the divisor is never zero.
Incorrect (invalid rounding mode integer)
{
"ticker": "SPY",
"action": "buy",
"x": "=round(2.5, 0, 99)"
}
Use a named mode:
{
"ticker": "SPY",
"action": "buy",
"value": "2.5",
"x": "=round(signal.value, 0, rounding.halfEven)"
}
Incorrect (incompatible types for the operation)
Ensure numeric strings are valid numbers (commas in numbers are stripped the same way as elsewhere in signal parsing). Boolean coercion recognizes true / false string literals.
Adjust the expression or the payload values, then resend the webhook. See invalid formula syntax for allowed functions and invalid formula reference for rounding mode names.
Free 7-day trial
Set-up in 3 minutes
Paper account for testing
Your browser didn't send the information this action needs.
That usually means a privacy tool, ad blocker, or other browser extension changed the page before you clicked. Nothing is wrong with your account.
What to try: allow this site in your ad blocker or privacy extension, use a private window with extensions turned off, or reload the page and try again.
Still stuck? Contact support and we can help.