Alerts
Alerts for key events that allow for profitable trading or effective risk management, or to feed into your own proprietary signals.

Arbitrage Alerts

Coming Soon
Receive an alert when there is a detected arbitrage in any subscribed currency pair for your selected fee level. By default, this is the taker fee of entry tier of the given exchange for that instrument but it can be amended as part of the subscription call.
1
# Subscribe to arbitrage alerts on BTCUSD perpetual instruments
2
ws.send({action: 'subscribe', channel: ['BTCUSD perpetual.alert.arbitrage']})
3
4
# Subscribe to arbitrage alerts on ETHUSD spot instruments
5
ws.send({action: 'subscribe', channel: ['ETHUSD spot.alert.arbitrage']})
6
7
# Pattern Subscribe to arbitrage alerts on all spot instruments
8
ws.send({action: 'subscribe', channel: ['*spot.alert.arbitrage']})
Copied!
You can adjust for your own fee cut-off levels if you are eligible for incentive programmes to only receive alerts when your target level is reached:
1
exchanges_fees = {
2
'bitmex': -0.0005,
3
'deribit': 0,
4
'binance': 0
5
}
6
7
payload = {
8
action: 'subscribe',
9
channel: ['BTCUSD spot.alert.arbitrage'],
10
fees: exchange_fees
11
}
12
13
ws.send(payload)
Copied!

Fees Parameters

Parameter
Type
Required
Description
exchange
string
no
Exchange name
fee
numeric
no
Relevant fee expressed as a percentage (e.g. 0.075% (7.5bp) would be 0.00075)
The arbitrage amount is calculated as an aggressor, crossing the spread (i.e. selling at the bid, buying at the offer) over the two exchanges. As such, the arbitrage amount is given by:
bid(1bidfee)ask(1+askfee)bid * (1 - bidfee) - ask * (1 + askfee)
You will receive a response from the API including the following information:
1
{
2
"type":"arbitrage_alert",
3
"asset": 'BTCUSD spot',
4
"bidAsset": 'btcusd',
5
"askAsset": 'BTC-USD',
6
"bestBidPrice":49077.43,
7
"bestAskPrice":49073.82,
8
"bidExFee": 49324.05,
9
"askExFee": 48829.67,
10
"bestBidAmount":0.02036575,
11
"bestAskAmount":0.00087747,
12
"arbitrage":3.610000000000582,
13
"bidExchange": 'bitstamp',
14
"askExchange": 'coinbase'
15
}
16
Copied!

Large Trade Alerts

Coming Soon
Receive a notification every time there is a large trade, based on a custom level you set or our standard cut-off of 75th percentile. You can subscribe to a single asset on a single exchange, a normalized asset across all exchanges, all assets on a single exchange or all assets on all exchanges - with each alert tailored to the prevailing standard trade size in that asset.
1
# Subscribe to large trade alerts on deribit's BTC-PERPETUAL instrument
2
ws.send({action: 'subscribe', channel: ['deribit.BTC-PERPETUAL.alert.largetrades']})
3
4
# Subscribe to large trade alerts on BTCUSD perpetual instruments (75th percentile)
5
ws.send({action: 'subscribe', channel: ['BTCUSD perpetual.alert.largetrades']})
6
7
# Subscribe to large trade alerts on ETHUSD spot instruments (75th percentile)
8
ws.send({action: 'subscribe', channel: ['ETHUSD spot.alert.largetrades']})
9
10
# Pattern Subscribe to large trade alerts on all spot instruments (75th percentile)
11
ws.send({action: 'subscribe', channel: ['*spot.alert.largetrades']})
Copied!

Breakout Detection

Receive a notification when a price breakout occurs in a given instrument or a given asset across any exchange on which it trades. Breakout Detection is based on an ensemble of on-line statistical breakout detection algorithms. This is useful for market makers looking to receive a notification when there is a price breakout in an instrument on one exchange so they can amend their position on other exchanges - even if the first exchange is one where they have no active data collection or trading activity.
1
# Subscribe to breakout alerts on deribit's BTC-PERPETUAL instrument
2
ws.send({action: 'subscribe', channel: ['deribit.BTC-PERPETUAL.alert.breakout']})
3
4
# Subscribe to breakout alerts on BTCUSD perpetual instruments across
5
# all exchanges
6
ws.send({action: 'subscribe', channel: ['BTCUSD perpetual.alert.largetrades']})
Copied!

Moving Average Alerts

Receive a notification when there is a Moving Average crossover in any asset. You can provide any short-term and long-term average components in the following format:
1
sma.[short run minutes].[long average mnutes]
Copied!
:For example, the below are common SMA alert subscription calls:
Short-run average
Long-run average
Argument
1 minute
5 minute
sma.1.5
1 minute
15 minute
sma.1.15
1 minute
30 minute
sma.1.30
5 minute
15 minute
sma.5.15
5 minute
30 minute
sma.5.30
5 minute
60 minute
sma.5.60
15 minute
60 minute
sma.15.60
15 minute
120 minutes
sma.15.120
30 minute
120 minutes
sma.30.120
1
# Subscribe to SMA(5,60) alerts on deribit's BTC-PERPETUAL instrument
2
ws.send({action: 'subscribe', channel: ['deribit.BTC-PERPETUAL.alert.sma.5.60']})
3
4
# Subscribe to SMA(30,120) alerts on BTCUSD perpetual Combined Orderbook
5
ws.send({action: 'subscribe', channel: ['BTCUSD perpetual.alert.sma.30.120']})
Copied!
Last modified 6mo ago