Home

/

Guides

/

Webhook Troubleshooting

TroubleshootingUpdated 2026-02-07

TradingView Webhook Not Working? Complete Troubleshooting Guide

12 min read

2026-02-07

Quick Checklist: 10 Things to Verify

When a TradingView webhook is not working as expected, start with this checklist. These 10 items cover the vast majority of webhook failures. Work through them in order before investigating further.

  1. Webhook URL is correct and complete. The URL should start with https://flipr.cloud/webhook/ followed by your user ID and webhook token. A single missing character will cause a 404 error.
  2. TradingView plan supports webhooks. Webhooks are not available on the free TradingView plan. You need Essential, Plus, Premium, or Expert. Check your account settings if unsure.
  3. Alert is active and not expired. Open the TradingView Alerts panel and verify the alert shows as active. Essential and Plus plan alerts expire after 2 months. Premium alerts do not expire.
  4. Message format is correct Smart Syntax. Flipr uses plain-text Smart Syntax, not JSON. The message should be readable text like BTCUSDT on Binance_F followed by a command, not a JSON object with curly braces.
  5. Exchange suffix is correct. Use _F for futures, _S for spot, _D for derivatives. Writing Binance without a suffix will cause a parsing error.
  6. API key has Trade permission enabled. Check your exchange API settings. The key must have trading permission. Read-only keys cannot place orders.
  7. API key is not expired or revoked. Some exchanges set expiration dates on API keys. If the key was revoked or expired, Flipr will receive an authentication error from the exchange.
  8. Sufficient balance in the correct wallet. For futures trading, funds must be in your Futures (or Unified) wallet, not your Spot wallet. Transfer funds on the exchange if needed.
  9. Symbol exists on the exchange. Use the exact symbol format the exchange expects. For most exchanges, this is BTCUSDT (no slashes, no colons). Some pairs on TradingView do not have corresponding futures contracts.
  10. Check the Flipr Real-Time Log. The Real-Time Log on your Flipr dashboard shows every webhook received and its result. If nothing appears, the webhook never reached Flipr (TradingView issue). If an error appears, the message tells you exactly what went wrong.

80% of Issues

In our experience, roughly 80% of webhook issues are caught by items 1 through 5 on this checklist: wrong URL, free TradingView plan, expired alert, JSON instead of Smart Syntax, or missing exchange suffix. Start there before investigating more complex causes.

JSON Errors: The #1 Webhook Failure

The single most common cause of webhook failures across the trading automation industry is JSON formatting errors. Most webhook platforms require JSON payloads, and TradingView alert message editor provides no JSON validation, no syntax highlighting, and no error checking.

Common JSON mistakes include missing commas between fields, using single quotes instead of double quotes, unescaped special characters in string values, trailing commas after the last field, and mismatched brackets or braces. Any one of these silently breaks the webhook.

JSON with a subtle error (missing comma on line 5)

{ "action": "buy", "symbol": "BTCUSDT", "type": "market" "amount": "0.01" }

The missing comma after "market" causes a JSON parse error. The receiving server returns a 400 error. TradingView does not retry. The trade never executes. Compare this with the equivalent Smart Syntax:

Smart Syntax - impossible to get this wrong

BTCUSDT on Binance_F market long 0.01

Two lines. No brackets, no commas, no quotes, no structural syntax that can break. This is why Flipr.Cloud uses plain-text Smart Syntax exclusively. The entire category of JSON formatting errors is eliminated by design.

No JSON Required

Flipr.Cloud uses Smart Syntax (plain text) instead of JSON, eliminating the number one cause of webhook failures. If you are coming from another platform that uses JSON, simply replace the JSON payload with the equivalent Smart Syntax commands. No curly braces, no escaping, no debugging invisible characters.

TradingView Webhook Timeout (3 Seconds)

TradingView enforces a strict 3-second timeout for webhook responses. If the receiving server does not respond within 3 seconds, TradingView considers the webhook delivery failed. This is a hard limit set by TradingView that cannot be changed.

Flipr.Cloud responds to webhooks in under 500 milliseconds, well within the 3-second limit. The response is sent back to TradingView as soon as the command is parsed and queued for execution. The actual order placement on the exchange happens asynchronously, so even if the exchange takes longer to confirm the order, TradingView receives a successful response immediately.

If you are using a self-hosted webhook solution or another platform and experiencing timeouts, the issue is typically related to cold starts (serverless functions warming up), slow API processing, or network latency between TradingView servers and your endpoint. Flipr avoids these issues through persistent server infrastructure with connection pooling and pre-warmed exchange clients.

Flipr Execution Timeline

TradingView sends webhook (5-30s after signal) → Flipr receives and parses (under 5ms) → Flipr executes on exchange (50-250ms) → Flipr responds to TradingView (under 500ms total). The entire Flipr pipeline is well within TradingView 3-second timeout.

Alert Frequency Settings

TradingView offers several alert frequency options that significantly affect how many webhooks are sent. Choosing the wrong setting can cause duplicate orders or missed signals.

Once Per Bar Close

Recommended for most strategies. The alert fires once when the bar closes and the condition is confirmed. This prevents false signals from intra-bar price movements. Most DaviddTech and LuxAlgo strategies work best with this setting.

Once Per Bar

The alert fires as soon as the condition is met during the bar, but only once per bar. This gives faster entries than "Once Per Bar Close" but may trigger on signals that are later invalidated before bar close. Good for price-crossing alerts where you want immediate execution.

Every Tick

Use with caution. The alert fires every time the condition is met on every price update. This can send dozens of webhooks per minute if the condition flickers around a threshold. Only use this for conditions that are definitively met once (e.g., price crossing a specific level in one direction).

Duplicate Orders

If you are seeing duplicate orders, the most likely cause is the alert frequency set to "Every Tick" or "Once Per Bar" when the condition oscillates. Switch to "Once Per Bar Close" to prevent this. Also check that you do not have multiple active alerts for the same condition.

Expired Alerts

TradingView alerts do not all last forever. Depending on your plan, alerts may expire automatically after a set period. An expired alert silently stops firing, with no notification or warning.

Essential and Plus Plans

Alerts expire after 2 months from creation. After expiry, the alert becomes inactive and no longer fires webhooks. You need to recreate the alert manually.

Premium and Expert Plans

Alerts do not expire. They remain active indefinitely until you manually delete or disable them. This is one of the key benefits of Premium for automated trading.

To check your alerts, open the TradingView Alerts panel (right sidebar, clock icon). Active alerts show normally. Expired alerts appear grayed out or with an "expired" label. If you find expired alerts, recreate them with the same conditions and webhook settings.

Set Calendar Reminders

If you are on the Essential or Plus plan, set a recurring calendar reminder every 7 weeks to check and recreate your alerts before they expire. This prevents unexpected gaps in your automation where signals go unexecuted.

Exchange-Specific Errors

When a webhook is received and parsed correctly but the exchange rejects the order, the Flipr Real-Time Log shows the specific error from the exchange. Here are the most common exchange-side errors and how to fix them.

IP Not Whitelisted

If you enabled IP whitelisting on your exchange API key, you need to add the Flipr.Cloud server IP to the allowed list. The server IP depends on which exchange you are targeting:

  • EU exchanges (Binance, ByBit, OKX, etc.): Use the Flipr EU server IP
  • APAC exchanges (BloFin, etc.): Use the Flipr Singapore server IP
  • Server IPs are shown on the Flipr API Keys page when you select an exchange

Invalid API Key

  • Re-check that the API key and secret were copied without extra spaces or characters
  • Ensure the key has Trade permission enabled on the exchange
  • Verify the key is for the correct environment (live vs testnet/demo)
  • Use the "Test Connection" button in Flipr to verify the key works

Insufficient Balance

  • Ensure funds are in the Futures wallet, not the Spot wallet
  • Transfer USDT from Spot to Futures on the exchange if needed
  • Account for existing open positions that may be using margin
  • Verify the position size times price divided by leverage does not exceed available margin

Symbol Not Found

  • Use the concatenated format: BTCUSDT, not BTC/USDT
  • Some TradingView symbols do not have corresponding futures contracts on all exchanges
  • Verify the pair is listed on the target exchange futures market
  • Check for typos in the symbol name

Position Mode Mismatch

  • Some exchanges require you to set Hedge Mode or One-Way Mode before trading
  • ByBit and Binance support both modes but require explicit selection
  • Check your exchange account settings and set the position mode before placing orders

Minimum Order Size Not Met

  • Each exchange has a minimum order size per trading pair
  • For BTC futures, minimums are typically 0.001 BTC but vary by exchange
  • For altcoins, check the exchange documentation for the specific pair minimum
  • When using percentage amounts, ensure the calculated size meets the minimum

Testing Your Webhook Endpoint

Before relying on TradingView to fire your webhooks, test the endpoint directly to confirm the entire pipeline works. There are several ways to do this.

Using Flipr Dashboard

The Flipr.Cloud dashboard includes a built-in webhook test feature. Navigate to the Dashboard page and use the "Test Webhook" button. This sends a test command to your account and shows the result in the Real-Time Log. It is the fastest way to verify your setup.

Using curl (Command Line)

You can send a manual webhook using curl from your terminal. Use the balance command for a safe, read-only test that does not place any orders:

Safe Balance Check via curl

curl -X POST "https://flipr.cloud/webhook/{your_user_id}/{your_token}" \ -H "Content-Type: text/plain" \ -d "BTCUSDT on Binance_F balance"

This sends a balance check command to Flipr, which queries your exchange account balance and returns the result. No orders are placed. Check the Real-Time Log on your dashboard to see the response.

For a full order test with the smallest possible position size:

Small Order Test via curl

curl -X POST "https://flipr.cloud/webhook/{your_user_id}/{your_token}" \ -H "Content-Type: text/plain" \ -d "BTCUSDT on Binance_F market long 0.001 sl off 1% tp off 2%"

Balance Command is Safe

The balance command is a read-only operation that never places orders. Use it as your first test to verify the webhook URL, authentication, and exchange connectivity without any risk. If the balance check works, your setup is correctly configured.

Understanding the Real-Time Log

The Real-Time Log on the Flipr.Cloud dashboard is your primary diagnostic tool. It uses Server-Sent Events (SSE) to show webhook activity as it happens, with no page refresh needed.

Green Entry = Successful Execution

The webhook was received, the command was parsed correctly, and the order was placed successfully on the exchange. The entry shows the command that was executed, the exchange response, and the execution time in milliseconds. For market orders, the fill price is also shown.

Red Entry = Error

Something went wrong. The error message is specific and tells you exactly what failed. Common errors include "Insufficient balance," "Invalid symbol," "API key authentication failed," or Smart Syntax parsing errors like "missing prefix for sl." Read the full error message to diagnose the issue.

Execution Time

Each log entry shows the execution time in milliseconds. This measures from when Flipr received the webhook to when the exchange confirmed the order. Typical times range from 50ms to 350ms depending on the exchange. Consistently high times may indicate exchange API issues.

If the Real-Time Log shows no entries when you expect a webhook, the webhook never reached Flipr.Cloud. In this case, the issue is on the TradingView side: check the webhook URL, alert status, and TradingView plan. If the Real-Time Log shows an entry with an error, the webhook was received but execution failed. The error message tells you what to fix.

When to Contact Support

Most webhook issues can be resolved using this guide and the Real-Time Log. However, some situations may require additional help. Here is how to determine where the issue lies and when to reach out.

Real-Time Log Shows Nothing

If you triggered an alert but the Real-Time Log is empty, the webhook never reached Flipr. The issue is on the TradingView side. Verify the webhook URL, check that the alert is active, and confirm your TradingView plan supports webhooks. Try a manual curl test to confirm the Flipr endpoint is reachable.

Real-Time Log Shows a Specific Error

The webhook was received and the error message tells you what went wrong. Most errors (insufficient balance, invalid symbol, API key issues) can be resolved by fixing the configuration on your exchange or Flipr account. Check the Exchange-Specific Errors section above for solutions.

Persistent "Internal Server Error"

If you consistently see "Internal Server Error" responses in the Real-Time Log, this may be a Flipr-side issue. This is rare but can happen if there is a bug in how a specific command or exchange combination is handled. In this case, reach out to support with the exact webhook message you are sending and the error details from the Real-Time Log.

Intermittent Failures

If webhooks work sometimes but fail other times with the same message, the issue is typically on the exchange side (API rate limiting, temporary outages, or maintenance windows). Check the exchange status page. If the exchange reports no issues and the failures persist, contact Flipr support.

Include Diagnostic Info

When contacting support, include: (1) the exact webhook message you are sending, (2) the exchange and symbol, (3) screenshots or text from the Real-Time Log showing the error, and (4) the approximate time the error occurred. This helps resolve issues much faster.

Frequently Asked Questions

Ready to Automate Your Trading?

Set up TradingView webhook automation in under 2 minutes. No JSON required. Works with 15+ exchanges.

Full Pro features • No time limit • No credit card