Skip to content

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.

  • 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.
  1. On the Cryptorg side, open the webhook configurator and copy the URL.
  2. 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 / STOP parameters — as in a regular Crazy bot.
  3. You don’t pass botId — that’s Ghost mode.
  4. 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).
  5. Subsequent signals (modify, average, close) also come without botId — the system matches them to the already open Ghost deal by direction and pair.

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/json

You 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.

actionOperation
openopen a new deal
updatechange parameters of an active deal
averageforce-average
reversereverse the position
closeclose 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"
}
}
}

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"
}
}
}

Adds volume to the position (amount in USDT).

Ghost bot — { action, params } format, no botId.

{
"action": "average",
"params": {
"strategy": "long",
"pairs": ["BTCUSDT"],
"amount": "10"
}
}

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).

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.

Regular CrazyGhost
Need to create the bot in advanceyesno
Deal parametersstored in the bot’s settingssent with each request
botId in the requestrequiredabsent
Where deals are seenin the bot card and active dealsin active deals and history
Who starts the dealthe bot / external signalonly external signal