# Webhook to Bybit — send crypto signals from your own code

Source: https://pipsync.io/en/webhook-to-bybit
Last updated: 2026-06-08

To send a webhook to Bybit, POST a flat JSON payload to your unique PipSync webhook URL: PipSync validates the secret token and saves the payload as a signal for you to review, 24/7. A webhook from your own system is never traded automatically: it always becomes a signal for your approval. Only alerts that TradingView itself sends can auto-trade, and only after an opt-in on the Advanced plan; Bybit accounts are not auto-traded for now, because they are gateway-connected and the risk of a crypto trade cannot be measured on them — the alert is only recorded as a signal and cannot be placed there from PipSync for now. Telegram and Discord signals still execute on Bybit.

This route is source-agnostic: any system that can make an HTTPS POST — a Python script, a backtesting bot, a serverless function or a no-code automation — can send signals through the same JSON contract. PipSync runs the layer in the cloud with signed outbound webhooks for feedback, so you keep your own strategy logic.

## Webhook to Bybit at a glance

| | |
|---|---|
| Source | Any system that can HTTPS POST flat JSON (scripts, bots, serverless, no-code) |
| Destination | Telegram and Discord signals execute on Bybit; a webhook from your own system is saved as a signal for your approval |
| Payload | Flat JSON: instrument, direction, entry, sl, tp1 — all required; there is no close action |
| API key | Your own trade-only Bybit key, withdrawals disabled; never used for transfers |
| Order safety | A webhook signal always waits for your approval; sizing and limits apply to Telegram and Discord signals |
| Feedback | Signed outbound webhooks (HMAC-SHA256) plus REST read API; requests are rate-limited, 429 means back off and retry |
| Auto-trade | Never for a webhook from your own system; only TradingView's own alerts can auto-trade (opt-in, Advanced plan), and not on Bybit accounts for now: crypto risk cannot be measured there |
| Price | Webhook integration needs a plan that includes it (the Advanced plan) |

## How do I connect a webhook to Bybit?

Wire your own code or automation to PipSync, which gives you a tokenised webhook URL and saves each payload as a signal for your approval; a webhook from your own system is never traded automatically.

1. **Create your PipSync account and subscribe to a plan** — Sign up at app.pipsync.io (the $0 Free plan needs no card but only parses signals), then subscribe to a plan that includes webhook integration (payment method required), so you can generate the webhook URL and check Recent alerts.
2. **Create a trade-only Bybit API key** — For Telegram and Discord signals, generate a trade-only Bybit API key (withdrawals disabled) and paste it into PipSync under Trading Accounts → Add account. Bybit accounts are gateway-connected, so for now the risk of a crypto trade cannot be measured on them: an alert is not auto-traded there; it is only recorded as a signal and cannot be placed there from PipSync for now.
3. **Generate your webhook URL** — In PipSync, go to Settings → Advanced → TradingView Alerts and click Generate webhook URL. PipSync issues a unique URL, shown only once, whose secret token is the credential — keep it secret: with auto-trade on, anyone who has the URL can trigger trades. Regenerate it if you suspect a leak.
4. **Configure server-side risk rules** — Sizing, min/max lots and max open positions apply to signals that are executed (Telegram and Discord); webhook signals wait for your review.
5. **POST your first JSON payload** — From your script or automation, send a flat JSON body with instrument, direction, entry, sl and tp1 to the webhook URL, using real prices above 0. Other fields such as lots are ignored.
6. **Verify with Recent alerts, then start small** — Check Recent alerts under Settings → Advanced → TradingView Alerts to confirm PipSync interprets your payloads correctly, and start with small size before scaling up.

## What does the JSON payload for a Bybit webhook look like?

The payload is a single flat JSON object — no nesting — that becomes a signal. It has five required fields: instrument, which should be Bybit's contract name, direction ("buy" or "sell"), entry, sl and tp1.

Prices are absolute values above 0 — a 0 is rejected, not read as market or omit. Other fields such as lots and comment are ignored.

- instrument: the Bybit contract name (e.g. a USDT perpetual; crypto spellings such as BTCUSD or XBTUSD are normalised to BTCUSDT)
- direction: buy or sell (long and short also work); there is no close action
- entry: absolute entry price, above 0
- sl: absolute stop-loss price, above 0
- tp1: at least one absolute take-profit price, above 0
- other fields: ignored, including lots and comment

## Why use a trade-only API key for Bybit?

A trade-only API key lets PipSync use your Unified Trading Account without ever being able to move funds off the exchange. You create the key in Bybit with withdrawals disabled, so even if the credential were exposed it could not initiate a transfer.

Your own code never has to embed Bybit keys either — you POST to a PipSync webhook URL whose secret token is the only credential your scripts hold. PipSync stores the exchange key server-side, separating your strategy code from your account access.

## Can a webhook to Bybit trade automatically?

A webhook from your own system — a bot, a script or another tool — is never traded automatically: it always becomes a signal for your approval. Only alerts that TradingView itself sends, from its published sender addresses, can auto-trade, and only after you opt in.

Auto-trade is opt-in and off by default. It needs the Advanced plan: you set it up under Settings → Advanced → TradingView Alerts with an explicit consent (Set up auto-trading), then link your accounts and switch auto-trade on under Accounts & auto-trade. Bybit accounts are gateway-connected, so for now the risk of a crypto trade cannot be measured on them: an alert is not auto-traded there; it is only recorded as a signal and cannot be placed there from PipSync for now. Telegram and Discord signals still execute on Bybit.

Keep the webhook URL secret: with auto-trade on, anyone who has it can trigger trades. Regenerate it if you suspect a leak.

## Can a webhook close or reduce a Bybit position?

Not through the webhook: PipSync does not close positions from webhooks or alerts, there is no close action, and a direction other than buy or sell is rejected. Exits happen by stop loss, take profit or by you.

This matters on the Unified Trading Account, where unified margin and perpetuals make exposure easy to flip: keep sl and tp1 realistic in every payload, because they are what protects the position.

## How do I get execution feedback from Bybit trades?

PipSync gives you three feedback channels so your system always knows what happened. Signed outbound webhooks fire on trade.opened, trade.closed, tp_hit and sl_hit events, each carrying an HMAC-SHA256 signature in the X-PipSync-Signature header and retried up to five times with backoff. A REST read API (GET /v1/signals and GET /v1/trades, documented via OpenAPI 3.1) lets you poll state on demand, and the dashboard shows every parsed signal and order on all plans.

Inbound webhooks are rate-limited. If you receive an HTTP 429, back off with jitter and retry, and your bursts will settle cleanly. The read API is part of the Enterprise plan.

## Does the webhook run 24/7 without a server of my own?

Yes. PipSync's webhook is fully cloud-based and runs 24/7, which matches crypto markets that never close. There is no VPS, no plugin and no terminal to keep open — once your webhook URL is generated, it keeps working whether your laptop is on or off.

Because the route is source-agnostic, the same setup works for a cron-driven script, a hosted bot or an event-driven function. Your job is to POST valid JSON; PipSync handles authentication and saves the signal.

## FAQ

### What is the difference between a webhook to Bybit and using the Bybit API directly?

Calling the Bybit API directly means your own code handles authentication, signing, retries, rate limits and error handling. A webhook to Bybit through PipSync lets you POST a simple flat JSON payload and get a signal you review, with signed feedback events. Your scripts hold only a webhook token, not your Bybit keys.

### Can any system send a webhook to Bybit, or only TradingView?

Any system that can make an HTTPS POST can send signals — the route is source-agnostic. That includes Python scripts, backtesting bots, serverless functions, no-code automations and TradingView alerts. They all use the same flat JSON contract and the same tokenised PipSync webhook URL. Only alerts that TradingView itself sends can auto-trade, after an opt-in; a webhook from your own system always becomes a signal for your approval.

### Is PipSync a signal provider or giving trading advice?

No. PipSync turns your own alerts into reviewable signals. It is not a signal provider, not a strategy vendor and not investment advice. You supply the trading logic.

### Which Bybit account type does PipSync use?

For Telegram and Discord signals executed on Bybit, it uses the Unified Trading Account, connected with your own trade-only API key that has withdrawals disabled. A webhook from your own system is saved as a signal for your approval.

### How do I close a Bybit position from my code?

You cannot, from a webhook: there is no close action, and a direction other than buy or sell is rejected. PipSync does not close positions from alerts or webhooks: exits happen by stop loss, take profit or by you.

### Can a webhook from my own system trade on Bybit automatically?

No. A webhook from your own bot, script or tool is never traded automatically: it always becomes a signal for your approval. Only alerts that TradingView itself sends, from its published sender addresses, can auto-trade, and only after you opt in.

### Do TradingView alerts auto-trade on Bybit?

Not for now. Auto-trade is opt-in and needs the Advanced plan, but Bybit accounts are gateway-connected, so the risk of a crypto trade cannot be measured on them: an alert is not auto-traded there; it is only recorded as a signal and cannot be placed there from PipSync for now. Telegram and Discord signals still execute on Bybit.

### What happens if I send too many webhooks to Bybit at once?

Inbound webhooks are rate-limited. If you send too many at once you get an HTTP 429; back off with jitter and resend.

### Do I need a VPS or server to keep the Bybit webhook running?

No. The route is fully cloud-based and runs 24/7 with no VPS, plugin or open terminal required. Once your webhook URL is generated, PipSync keeps receiving your POSTed signals even when your own computer is off.

## Related

- [Webhook to Binance — send crypto signals from any system via JSON](https://pipsync.io/en/webhook-to-binance)
- [Telegram signals to Bybit — executed automatically](https://pipsync.io/en/telegram-to-bybit)
- [TradingView to Bybit — alerts become signals you review](https://pipsync.io/en/tradingview-to-bybit)
- [Crypto signal copier — automate signals on Binance Futures and Bybit](https://pipsync.io/en/crypto-signal-copier)
- [Server-side risk management — trading rules enforced before your broker](https://pipsync.io/en/server-side-risk-management)
- [Signal copier with no VPS — execution runs in the cloud](https://pipsync.io/en/signal-copier-no-vps)

---

PipSync is a signal execution tool. It does not provide trading signals, does not guarantee any trading results and is not investment advice. Trading leveraged products involves substantial risk of loss.
