Ghost bot
In the cabinet: Bots → Webhook (Ghost)
Link: Open ↗
Ghost bot is a special mode of the Crazy engine where deals are created from external signals without a pre-configured bot. External services (TradingView, your own software, any source of signals) send a webhook to Cryptorg, and the platform itself creates the deal with the required parameters on behalf of Ghost.
When it’s handy
Section titled “When it’s handy”- You already have a TradingView strategy (Pine Script) and want to call
alert()with a webhook without duplicating logic inside Cryptorg. - Signals come from an external script or service (your own analytics bot, an ML model, a third-party provider).
- The strategy changes often — editing Pine Script is easier than manually reconfiguring a bot.
- You want a shared “receiver” for different directions and pairs without creating N bots for each scenario.
How it works
Section titled “How it works”- On the Cryptorg side, open the webhook configurator and copy the URL.
- On the external service side (e.g., TradingView), configure a POST request to that URL with a JSON body, specifying:
strategy— direction (LONG / SHORT);pairs— trading pairs (or a single pair);OPEN/DCA/CLOSE/STOPparameters — as in a regular Crazy bot.
- You don’t pass
botId— that’s Ghost mode. - On receiving the signal, Cryptorg looks for matches by direction and pairs and opens the position — it shows up in Active deals under the name «Ghost» (Ghost does not appear in the general bot list).
- Subsequent signals (modify, average, close) also come without
botId— the system matches them to the already open Ghost deal by direction and pair.
Webhook format
Section titled “Webhook format”Ghost webhooks use an envelope: action sets the operation, params its parameters. botId is not sent — Cryptorg matches commands to active Ghost deals by direction (strategy) and pairs (pairs). The URL comes from the webhook builder:
POST https://api3.cryptorg.net/crazy/hook/{accountId}:{token}Content-Type: application/jsonYou don’t have to write the JSON by hand: both the regular bot (in the bot form) and Ghost (in the webhook builder) have a visual constructor — set the parameters via the form and the ready JSON updates on the fly, just copy it.
action | Operation |
|---|---|
open | open a new deal |
update | change parameters of an active deal |
average | force-average |
reverse | reverse the position |
close | close the deal |
Reverse (reverse) — flipping the position — is available only for Ghost webhooks; the regular bot doesn’t have it.
All sections: open (first order), dca (averaging), close (Take Profit), stop (Stop-Loss).
Ghost bot — { action, params } format, no botId.
{ "action": "open", "params": { "strategy": "long", "pairs": ["BTCUSDT"], "open": { "orderVolume": "10", "leverage": 10, "marginType": "cross", "orderType": "Market" }, "dca": { "enabled": true, "max": 10, "active": 3, "volume": "10", "percent": "0.3", "multiplierVolume": "1", "multiplierPrice": "1" }, "close": { "enabled": true, "event": "percentage", "value": "0.3" }, "stop": { "enabled": true, "event": "percentage", "value": "5" } }}Update
Section titled “Update”Without the open section — updates averaging (dca) and/or close (close, stop) of the active deal.
Ghost bot — { action, params } format, no botId.
{ "action": "update", "params": { "strategy": "long", "pairs": ["BTCUSDT"], "dca": { "enabled": true, "max": 10, "active": 3, "volume": "10", "percent": "0.3", "multiplierVolume": "1", "multiplierPrice": "1" }, "close": { "enabled": true, "event": "percentage", "value": "0.3" } }}Average
Section titled “Average”Adds volume to the position (amount in USDT).
Ghost bot — { action, params } format, no botId.
{ "action": "average", "params": { "strategy": "long", "pairs": ["BTCUSDT"], "amount": "10" }}Reverse
Section titled “Reverse”Flips the position to the opposite side (amount is the new entry volume).
Ghost bot — { action, params } format, no botId.
{ "action": "reverse", "params": { "strategy": "long", "pairs": ["BTCUSDT"], "amount": "10" }}closePosition: true closes the position; false cancels the deal while leaving the position open.
Ghost bot — { action, params } format, no botId.
{ "action": "close", "params": { "strategy": "long", "pairs": ["BTCUSDT"], "closePosition": true }}Pairs (pairs) must be specified in every request. Take Profit and Stop-Loss types (event) are the same as for the regular bot: percentage, pnl, and for Take Profit also delay (close by time).
What’s shown in the UI
Section titled “What’s shown in the UI”Ghost does not appear in the general bot list. Ghost deals are visible only:
- in Active deals — positions opened via webhooks (under the name «Ghost»);
- in Deal history — completed Ghost deals.
You can’t manage Ghost via the UI like a regular bot — it’s driven only from outside. You can close an active deal manually via the interface.
Comparison with a regular Crazy bot
Section titled “Comparison with a regular Crazy bot”| Regular Crazy | Ghost | |
|---|---|---|
| Need to create the bot in advance | yes | no |
| Deal parameters | stored in the bot’s settings | sent with each request |
botId in the request | required | absent |
| Where deals are seen | in the bot card and active deals | in active deals and history |
| Who starts the deal | the bot / external signal | only external signal |
Related
Section titled “Related”- Regular bot webhooks — the format with a mandatory
botIdfor an already-created bot. - Bot creation — the regular path if Ghost isn’t right for you.
