CRYPTO·ALERTS
Open app Apps Pricing

Manual

Everything the service does, in the order you meet it.

Getting started

  1. Activate. Open the app and paste the licence key from your email. The key lives in that browser or app; the same key works on three devices.
  2. Connect Telegram. Settings → Telegram. This takes a minute and is described below. Without it alerts still appear in the app, but only while it is open.
  3. Create an alert. New → pick an exchange, type a symbol, build the condition, press Create.

Alerts are evaluated on the server every ten seconds, whether or not anything of yours is open. Closing the browser does not stop them.

Exchanges

Eight exchanges, public market data only. The service never asks for an exchange API key and cannot place orders — it reads prices and nothing else.

ExchangeMarketsSymbol looks likeTimeframes
Bybitspot, perpetuals, inverseBTCUSDT1m…1M, 13 of them
Binancespot, perpetualsBTCUSDT1m…1M, 14
OKXspot, perpetualsBTC-USDT1m…1M, 13
Bitgetspot, perpetualsBTCUSDT1m…1M, 12
Gate.iospot, perpetualsBTC_USDT1m…1M, 10
MEXCspotBTCUSDT1m…1M, 10
KrakenspotXBTUSD1m…1w, 8
CoinbasespotBTC-USD1m, 5m, 15m, 1h, 6h, 1d

The timeframe list changes with the exchange. Coinbase has no 4h and no 30m candle; Kraken has no monthly one. The dropdown refills when you switch exchange, and a combination an exchange cannot serve is refused when you save rather than failing quietly afterwards.

Kraken calls bitcoin XBT and dogecoin XDG. Type BTC anyway — it resolves. The pair is still listed under its own name.

Alerts on different exchanges are separate cards even when the symbol reads the same, because BTCUSDT on two venues is two prices.

Symbols and tokens

The symbol field takes two kinds of input, and the difference matters.

A pair — BTCUSDT
Watches exactly that market.
A token — VIRTUAL
Watches every pair of that token on the exchange. Whichever satisfies the condition first is the one reported, and the notification names it. Dollar-quoted pairs are checked first — USDT, then USDC, then USD — so a threshold written as a plain number is judged against a dollar price rather than against a BTC-quoted one.

A symbol that does not exist is rejected as you save. This is deliberate: a typo used to become an alert that sat in the list looking healthy and could never fire.

Building a condition

Every rule has the same shape:

left  operator  right

Each side is one of three things:

A price field
Last price (live), Close, Open, High, Low, Volume. Last price is not a candle field — it is the last trade, read every scan. A rule using it ignores the bar-close setting, because “price above X” almost always means now, not “when this 4-hour candle finally closes”.
An indicator line
Any line of any of the 24 indicators, with your own parameters.
A number
A fixed threshold.

Because both sides are the same kind of thing, “RSI below 30”, “MACD crosses its signal” and “price leaves the Bollinger band” are one mechanism rather than three special cases.

Operators

OperatorFires when
greater than / less thanthe left side is above / below the right, on every bar it holds
crossingthe two sides swap places, either direction
crossing up / crossing downthey swap in that one direction
entering channelthe left side moves from outside the two bounds to inside
exiting channelfrom inside to outside
inside channel / outside channelit is currently within / beyond the bounds
moving up / moving downit changed by at least N over the last few bars
moving up % / moving down %the same, expressed as a percentage

The four channel operators take two right-hand operands — the near and far edge. The form shows the second box when you pick one.

Crossing operators are edge-triggered. They compare the current bar with the previous one and fire on the transition, not for as long as the condition stays true. “Greater than” is the opposite: it holds every bar the price stays above, which is why the firing frequency below matters so much for it.

Indicators

All 24 are computed on this server from the exchange's own candles. Parameters are yours to set; the defaults are the conventional ones.

IndicatorLines you can pickDefaults
SMA / EMA / WMAthe line itselflength 20
VWAPvwap
RSIrsilength 14
MACDmacd, signal, hist12 / 26 / 9
Bollingerupper, middle, lower, %B, widthlength 20, mult 2.0
ATRatrlength 14
Stochastick, d14 / 3 / 3
Stochastic RSIk, d14 / 3 / 3
ADXadx, +DI, −DIlength 14
CCIccilength 20
MFImfilength 14
OBVobv
Williams %Rwillrlength 14
ROCroclength 9
Momentummomlength 10
Keltnerupper, middle, lowerlength 20, mult 2.0, ATR 10
Donchianupper, middle, lowerlength 20
SuperTrendsupertrend, directionlength 10, mult 3.0
Parabolic SARpsarstep 0.02, max 0.2
Ichimokutenkan, kijun, senkou A, senkou B9 / 26 / 52
Volumevolume
Volume SMAvolume_sma, ratiolength 20

An indicator needs history before it means anything: RSI(14) has no value on the first fourteen candles. Enough candles are always fetched, so this only affects very new listings.

When it fires

Whether the condition is true and whether you should be told again are two different questions. Mixing them is what produces alert storms, so they are set separately.

Frequency
once — fires and switches itself off.
once per bar — at most one alert per candle, intrabar allowed.
once per bar close — evaluates closed candles only, at most one each. The default, and the quietest.
once per minute — at most one a minute for as long as it holds.
every time — every scan the condition is true, roughly every ten seconds. Use with cooldown.
Cooldown
Minutes of silence after a firing, on top of the frequency. Fractions are allowed: 0.5 is thirty seconds.
On bar close only
Ticked, the rule reads the last closed candle — no half-formed values. Unticked, it reads the candle still forming. A rule using Last price (live) ignores this setting entirely.
Priority
low, normal, high. High plays a more insistent sound and shows more prominently on the devices that support it.

Making your own Telegram bot

Alerts are sent through a bot you own. Nobody else uses it, its token is yours, and you can revoke it at any moment without asking anyone. It takes about a minute.

  1. Open @BotFather in Telegram. It is the official bot for making bots; check for the blue verified tick.
  2. Send /newbot.
  3. Give it a display name when asked — anything you like, spaces allowed. For example My Crypto Alerts. This is what you will see at the top of the chat.
  4. Give it a username. This one has rules: it must be unique across all of Telegram and must end in bot. For example sergey_alerts_bot. If it is taken, BotFather asks for another.
  5. Copy the token. BotFather replies with a line like 123456789:AAE-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. That is the token — the whole line, including the digits before the colon.
  6. Paste it into Settings → Telegram → Bot token and press Save token.
  7. Message your own bot. Open the chat with it and send anything — /start or a full stop will do. Telegram does not let a bot write to you until you have written to it first.
  8. Press “Find chat” in Settings. It reads the message you just sent and fills in your chat id.
  9. Press “Send test”. A message should arrive within a second.

If the test does not arrive

“no chats found”
You have not written to the bot yet, or you wrote to a different bot. Send your bot a message and press Find chat again.
“Unauthorized”
The token is wrong or has been revoked. Ask BotFather for /mybots → your bot → API token, and paste it again.
Nothing arrives, no error
Check you are looking at the right chat, and that you have not muted or blocked the bot.

The token is stored on the server and never sent back to any client — not to the app, not to this page, not in any API response. The field shows whether one is saved, never the value. Losing it is not a problem: ask BotFather to revoke and reissue, then paste the new one.

Other ways alerts reach you

Four channels, ticked per alert, independent of each other.

Telegram
Your own bot, as above. The only channel that works with everything of yours closed and nothing installed.
Popup and sound
In the browser, a panel inside the page while it is open. In the macOS app, a window that sits above fullscreen applications — it is meant to be impossible to miss.
Browser push
Notifications while the tab is closed. Subscribe once per browser in Settings. This is for browsers only: the macOS and Android apps carry their own connection and do not need it, so they do not offer it.
The apps
The Android app keeps its own connection and posts system notifications that appear as banners. The macOS app does the same and raises its overlay window. Both keep working with their window closed.

Backtest

The Backtest button on the builder runs your rule across recent history and reports how often it would have fired, and when. It is there because how noisy a rule will be is nearly impossible to guess from its settings.

A rule that fired forty times in three hundred bars will do the same to you. Either raise the threshold, or switch to once per bar close and add a cooldown.

A rule using Last price (live) is backtested against each bar's close, since tick history is not available from a candle endpoint. Treat that result as indicative rather than exact.

Limits

TrialPaid
Symbols1050
Triggers40200
Devices on one key13
Triggers on one symbol20

A “trigger” is one condition. Several triggers on the same symbol share one card in the list.

Activating a fourth device frees the one you have used least recently rather than refusing you — you are never locked out of your own account. Signing out in Settings releases a slot deliberately.

When something is wrong

An alert shows error
Hover it for the reason. Usually the symbol no longer trades on that exchange, or was renamed. Edit the alert and fix the symbol.
It never fires and shows no error
Backtest it. If it never fired historically either, the condition is stricter than you meant.
It fires far too often
You likely used greater than with every time. That combination is true on every scan for as long as the price stays above. Use crossing up, or switch to once per bar close.
Alerts stopped altogether
Check the licence in Settings — an expired key stops evaluation. The engine indicator in the header shows whether scanning is running.
Something else
support@volametric.com. Include the symbol and exchange; it saves a round trip.