TradingView webhooks · 4 exchanges · Free, signups open

Turn TradingView Alerts Into Paper Trades

Point a TradingView alert at your private Vectixs webhook URL. When the alert fires, Vectixs places a paper order on the exchange, symbol and side the alert names, at the live price. No real order is ever placed. It is free, and you need no exchange account and no API key.

No invite needed right now. We are scaling up gradually, so this may change.
WOO Xlive prices Binancelive prices Bitfinexlive prices Bitkublive prices

Any TradingView alert can become a paper trade

One private webhook URL turns your existing TradingView alerts into paper orders. There is no extra charting tool and no copying signals by hand.

Alerts become paper trades

// TRIGGER

Put your Vectixs webhook URL in a TradingView alert's webhook field. When the alert condition is met, it places a paper order at the live price.

TRADINGVIEW PAPER

One private, rotatable URL

// SECURITY

Your webhook URL is generated for your account and shown once. Rotate it any time to invalidate the old one at once if it ever leaks.

TOKEN AUTH SECURE

Live prices from 4 exchanges

// COVERAGE

Route an alert to WOO X, Binance, Bitfinex or Bitkub prices. You choose the exchange in each alert, not once per account.

4 VENUES READY

Every order is paper

// PAPER

Each alert trades your paper balance of up to $1,000,000. Fees are simulated at the exchange's published rates, and no real order is ever placed.

PAPER ONLY PAPER

How the webhook bot works

From first click to your first alert-triggered paper trade, in three steps.

1

Get your webhook URL

Generate a private webhook URL from your account. It is shown once, and you can rotate it any time.

2

Add it to a TradingView alert

Paste the URL into any TradingView alert's webhook field, with the exchange, symbol, side and size in the alert message.

3

Watch the paper trades land

Each time the alert fires, a paper order fills at the live price and shows up in your trade history. Adjust the alert until it behaves the way you intend.

A public URL that trades your paper balance still needs more than a secret

This is the only feature here that anyone on the internet can reach without signing in. Everything about its design follows from that one sentence.

The secret is the gate, and it is rotatable

Each account gets its own webhook address, with a secret token in it. The token is compared in constant time, so a wrong guess cannot be narrowed down by timing how long the reply takes. Rotating the token invalidates the old address at once, which is what you do if one of your alerts ever ends up somewhere public.

Webhooks are off by default and stay off until you enable them. A URL that exists but is disabled does nothing, so turning one on is always a deliberate act.

Every accepted alert becomes a paper trade

An accepted alert places a market order against your paper balance, at the live price of the pair it names, and pays that exchange's taker rate. No order reaches any exchange, and there is no setting that changes that.

A misconfigured Pine Script alert that fires on every bar is a mistake almost everyone makes once. Here it costs a paper balance and an afternoon, and the trigger log shows exactly what each firing asked for.

Trade size is bounded by the server, not by the alert

The alert says what to do; the server decides whether the size is allowed. A default size applies when the alert names none. An alert asking for more than your maximum is rejected outright rather than scaled down, so a typo in a size cannot slip through quietly as a smaller trade.

A cooldown limits how often the same pair and side may fire on one exchange, which is what stands between a runaway alert and a hundred trades in a minute. Every trigger is kept in a rolling log of the last 200, with what it asked for and what actually happened, so a misbehaving webhook can be read rather than guessed at.

The order goes through the same path as a manual one

A webhook trigger does not have a private order path. It calls the same market-order code the Manual Trading screen uses, so every balance check, symbol check and error message applies identically.

The alert must also name the exchange your dashboard currently has selected. An alert aimed at a different exchange is refused, and the log says so, rather than trading prices you were not looking at. Switch the dashboard first, or edit the alert.

The safety limits, and their defaults

Every one of these is enforced on the server. An alert body cannot override any of them.

Setting What it bounds Default
enabled Whether the webhook URL responds at all. Off until you turn it on. off
secret The token in the URL. Rotate it to invalidate the old address immediately. generated
exchange The alert must name the exchange your dashboard has selected, or it is refused. must match
default_trade_size_usd Size used when an alert does not name one. 50
max_trade_size_usd Largest size an alert may ask for. A larger request is rejected, not reduced. 200
cooldown_seconds Minimum gap between accepted triggers for one pair and side. 60
history Rolling log of triggers with what each asked for and what happened. 200 entries

Every account can use TradingView webhooks, free. Each accepted alert is a paper market order, filled at the live price and charged the exchange's taker rate, so testing an alert here costs nothing but time.

An alert can trade paper on any of four exchanges

TradingView charts almost every market. A webhook here can trade a pair on WOO X, Binance, Bitfinex or Bitkub, on paper, at that exchange's live price.

No account on the exchange is needed and nothing is sent to it. The one thing to remember is the selected exchange: an alert naming Bitkub while the dashboard is set to Binance is turned away, and the reason is written to the trigger log.

PINE SCRIPT ALERTS PAPER FILLS ROTATABLE URL 4 EXCHANGES

TradingView webhook bot — FAQ

01 // METHODOLOGY What is a TradingView webhook bot?

A webhook lets TradingView call a private URL the moment an alert fires. Vectixs turns that call into a paper market order on the exchange, symbol and side your alert names, at the live price.

02 // COST Do webhooks cost anything?

No. Vectixs is free and there is nothing to buy. Every account gets its own webhook URL, and every alert it receives places a paper order.

03 // SECURITY Is my webhook URL secure?

It includes a private token unique to your account, shown once when it is generated. Rotate it any time from your account to invalidate the old URL immediately.

04 // PAPER ONLY Does a webhook ever place a real order?

No. Vectixs is paper trading only. Every alert trades a simulated balance against live public prices. There is no exchange account to connect and no API key to paste.

05 // VENUE CONNECTIVITY Which exchanges' prices can a webhook trade against?

WOO X, Binance, Bitfinex and Bitkub. You choose the exchange in each alert. Paper orders fill at the observed price, with no partial fills and no slippage beyond the fee model, so results can differ from live trading.

06 // SETUP How do I connect a TradingView alert to this?

Enable webhooks in your profile, copy the private URL, and paste it into the alert's webhook field in TradingView. The alert message names the exchange, the pair, buy or sell and, optionally, a size in dollars.

07 // SECURITY What if someone finds my webhook URL?

Rotate it, which invalidates the old address immediately. The secret is compared in constant time so it cannot be discovered by timing, and even a valid trigger is bounded by the maximum trade size and the cooldown, neither of which an alert can override.

08 // SIZE Can the alert decide how much to trade?

It can request a size up to your configured maximum. A larger request is rejected rather than reduced, and the log records why. If the alert names no size, the default applies.

09 // PAPER Does a webhook ever place a real order?

No. Every accepted alert is a paper trade against your paper balance. Nothing is sent to an exchange, and no setting changes that.

10 // COOLDOWN What happens if an alert fires twice in a row?

The second trigger for the same pair and side on the same exchange is refused until the cooldown has passed, 60 seconds by default. The refusal goes into the trigger log with the seconds remaining, so a double fire is visible rather than silent.