Development of a Telegram bot for cryptocurrency monitoring with alerts

The market drops at night, and you find out in the morning — decisions are made blindly. We develop turnkey Telegram bots for cryptocurrency monitoring: with configurable thresholds, clear notifications, and an event log. Alert latency is reduced, and false triggers stop distracting the team.

Blockchain Development Services

Frequently Asked Questions

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1376
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1350
  • B2B Advance company logo design
    B2B Advance company logo design
    796
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1088
  • AIDER company logo development
    AIDER company logo development
    1034
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1130

Developing a Telegram Bot for Cryptocurrency Monitoring with Alerts

While the market is calm, a bot on quotes looks healthy: the subscription is alive, messages arrive, price history is smooth.

Everything changes on an impulse — a notification about a level break lands in the chat when the price has already returned, and the decision is made after the fact, not before it.

This is how manual price control and missed market moves become the norm, although formally the bot “works.”

What breaks is not message sending, but the middle of the chain “exchange data — processing — signal delivery.” The quote stream from Binance lags if the bot fetches prices with infrequent requests instead of a persistent subscription: the candle closes before the logic sees it.

After a connection drop, reconnection does not backfill missed bars, and a gap remains in the history at which no level will trigger. With several replicas, the same signal is sent to the chat twice, and the messenger’s message rate limits discard the most important one.

Next is alert delay inside processing. Heavy indicator calculations run in the same thread as data ingestion, and the queue grows exactly when the market is fastest: the signal is generated on time but sits in the queue until sending.

Delayed notifications and duplicates train people to dismiss notifications without reading, and the cryptocurrency monitoring tool stops being noticed.

We examine how this is resolved: separating ingestion, calculation, and messenger notification delivery, data freshness control, duplicate protection, and clear degradation instead of silent signal loss.

What Changes After Implementation: Reaction Time and Failure Classes

The bot is responsible not for reporting but for the reaction loop: it wakes the on-call person only when an event truly requires attention. Below are the effects, each of which is verified against the log after implementation rather than taken on faith.

  • The time from an on-chain event to notification is reduced from minutes to seconds: the signal is sent immediately after transaction confirmation, not on the next polling cycle.
  • The false positive rate drops severalfold: rules account for amount, number of confirmations, and address list, so dust, duplicates, and internal transfers do not wake the on-call person.
  • The on-call workload is decoupled from the number of events: similar signals are collapsed into one, and repeated ones are suppressed by a silence window.
  • Recovery time after a failure is measured in minutes: the job queue survives restart, and undelivered notifications are sent automatically, without manual triage.
  • A separate failure class disappears — signal loss due to channel unavailability. Telegram is only transport here: if delivery fails, the notification is retried, and the delivery failure is visible in the log.
  • Observability appears: for each rule, you can see how many signals fired and how many were useful, so thresholds are tuned based on facts, not guesswork.

Data Collection Approaches: Polling, Streaming Events, Hybrid Scheme

The collection scheme determines two things: the delay between a market event and a chat alert, and the bot’s resilience to connection drops.

There are two basic modes — periodic polling of the exchange interface and subscription to streaming notifications; the third option combines them into a hybrid scheme.

Polling is predictable: the bot requests candles and order book data for a list of instruments at a set interval. The exchange itself limits the frequency, so as the number of pairs grows, the interval has to be increased, and data latency grows with it.

In streaming mode, events arrive over an always-open channel — price or trade is delivered almost instantly, but the channel breaks, and the missed segment has to be backfilled with a separate request.

Option When It Fits Limitations
Exchange interface polling Dozens of instruments, signals on candle close, simple conditions Request rate limits, latency grows with the number of pairs, intrabar movements are lost
Streaming notifications Reaction to price movement within seconds, order book and trade feed Connection drops, reconnection and missed-data backfill required, harder debugging
Hybrid scheme Many instruments and high alert sensitivity More complex to implement: two sources must be reconciled and event duplicates removed

The hybrid scheme uses streaming for fast signals and polling for infrequent checks, missing-data recovery, and historical calculations.

We lock the collection mode at the design stage: for the required alert latency, number of instruments, and allowed number of calls to the exchange interface.

How We Build the Bot: Work Stages from Audit to Handover

The workflow is the same for any scenario — price alert, trading volume alert, portfolio movement alert. We start from load requirements: if the stream scheme has not been tested against real market behavior, it will have to be reworked on an already running bot.

Work Stages

  1. Requirements audit. Quote sources, pairs, trigger thresholds, whom the bot messages and how often. The output is a list of events and their processing rules agreed with your team.
  2. Collection and delivery scheme. The data path from stream ingestion to a chat message: normalization, event detection, queue, sending. Separately — behavior on connection loss and redelivery.
  3. Build. Ingestion service, subscription storage, notification module. We move thresholds and message formats into configuration so they can be changed without code edits.
  4. Historical data validation. We run the rules on a quote archive: how many triggers each threshold produces and what share of them is noise. We filter out false notifications before release to users.
  5. Load testing. Growth in subscribers, volatility spikes, external service request rate limits. We look at the delay between event and message and the queue of unprocessed items.
  6. Handover and team training. Deployment, documentation, access, on-call scenarios, and incident review. We show how to add a new alert type and test it against history.

Each stage leaves an artifact: event list, stream diagram, configurations, validation report. Describe your task — we will come back with an estimate and a plan for these steps.

What the Team Retains: Code, Diagrams, Access Rules, and Procedures

We hand over the project so it can be developed without our team: the owner gets access to a repository with change history, not an archive with the final build. Plus a walkthrough with the engineer who led the work — so the decision context does not remain only in chat history.

  • Source code and configurations — a repository with environment branches, settings files, and a list of variables with their purpose and default values. Secrets are not stored in code.
  • Architecture diagram — how a signal travels from the price source to a chat message: queue, handlers, threshold storage, failure points, and behavior when the exchange is unavailable.
  • Access rules and keys — a role matrix, the procedure for granting and revoking access, where the bot token and exchange keys are stored (with read-only permissions), and how their scheduled rotation works.
  • Response procedure — what to do if a source stops returning data, duplicates appear, or a request limit is hit: how to diagnose, in what order to act, and who the signal is addressed to.
  • Operations manual — startup, update, rollback to the previous release, where to view logs and metrics, and how to add a new pair or source.
  • Set of checks — tests for threshold calculation, duplicate suppression, and external source failure handling, so edits do not silently break notifications.

The documentation describes not “how everything works in general,” but specific operations: what to do on failure, where to change a threshold, how to roll out an edit. If you later bring in your own team, onboarding takes days, not weeks of digging through chat history.

Case Study: Reduced Alert Latency and Eliminated False Positives

The client — an analytics service, CoinScope — tracked the portfolio manually: an analyst went through several sources every 10–15 minutes and consolidated spikes into a common chat.

Notification delay was measured in tens of minutes, and the same jump arrived separately from each source — 5–6 duplicates settled on one event. Verifying unconfirmed signals took more time than real ones.

The delivery scheme was rebuilt: instead of direct subscriptions to each source — a unified event collector. Deduplication uses a composite key “asset + event type + time window,” and formats from sources are normalized to a single form.

Critical notifications go to a separate queue with delivery confirmation and retry on failure; informational ones — via a quiet channel and digest.

We added stream liveness checks and automatic reconnection: a connection drop no longer turns into silence during a major market move.

What Changed in the Metrics

Notification latency dropped from 15–25 minutes to a few seconds from the moment an event is published. The false signal rate decreased from ~60% to 8%: short-term outliers and duplicates are filtered out, while movements confirmed by several sources remain. Service availability reached 99.9% in the quarterly window instead of 96–97% with regular dips.

On-call reaction time decreased from twenty-plus minutes to 2–4: the message already contains context — what happened, how significant it is, and how long ago. The on-call person is no longer a noise filter and is back to making decisions.

How Does a Simple Trigger Differ from a Notification System?

A threshold trigger is a single condition: the price crossed a level, the bot sent a message.

It answers only the question “was the level broken” and knows nothing about context: how many times this happened in the last hour, whether the message reached the recipient, or whether the trigger has confirmation.

In a volatile market, this is not enough. While the price fluctuates around a level, dozens of identical notifications go to the chat, and if delivery fails, none arrive. The recipient stops reading the feed and misses exactly the trigger the bot was set up for.

Option When It Fits Limitations
Single threshold trigger one pair, one recipient, levels controlled manually duplicates when price fluctuates at a level, no history and no backup channel
Event aggregation and priorities several instruments, need to understand what matters now the summary arrives with a delay until the end of the window
Debouncing, escalation, event log many recipients, critical triggers, incident review higher setup and support complexity

A systematic approach adds four things.

Event aggregation collects close triggers into one message, debouncing prevents repeating a notification before a specified interval or price movement, priorities and escalation raise an important trigger up the recipient chain, and the event log stores what was sent and when.

A simple trigger is sufficient while there is one pair, one recipient, and decisions are made manually. As soon as there are several instruments and a team works from one signal, the difference between “sends” and “gets through” becomes critical.

Technical Concerns: Limits, Reliability, and Access Protection

Engineering concerns about such a bot are almost always the same: signal storms, delivery channel failure, keys, and an already written monitoring script. Below are short answers; we will go over configuration details in your scenario.

Will the bot hit request limits — will alerts start disappearing?

No. Outgoing messages are queued with Telegram limits in mind: about 30 sends per second in total and no more than 20 per minute per chat.

If exceeded, the request does not fail but goes into a delayed queue with increasing backoff — the user sees a delay of seconds, not a lost signal.

What happens if the delivery channel is unavailable?

An alert is considered delivered only after confirmation. If there is no confirmation after a specified number of attempts, the same payload is sent via a backup channel — a second bot, webhook, or email. Deduplication by signal ID prevents double notification when the primary path is restored.

How are exchange access keys protected?

Keys are stored in a secret vault and are injected only when signing a request — they do not get into configuration, logs, or the repository. We recommend a read-only key, without withdrawal permissions, with scheduled rotation. Access to the admin panel is closed by an allowlist and a second factor.

We already have our own monitoring script — can it be used?

Yes. We move signal calculation into a separate layer and connect the delivery transport to it; your indicator logic stays as is. If the script was written as a one-off, it is often cheaper to rebuild the calculation than to carry implicit dependencies.

How do you configure thresholds to avoid a stream of identical alerts?

A threshold is described by a rule: condition, averaging window, minimum deviation, and cooldown after triggering. This removes flutter at the value boundary and turns a stream of messages into one meaningful alert.

Tell Us About Your Task — We Will Come Back with an Estimate and Implementation Plan

To make the estimate relevant rather than “by eye,” the following inputs are enough at the start — from them we assemble the scope of work, stage timelines, and acceptance criteria.

  • What we track: list of trading pairs and price sources, trigger events — price change by a specified percentage over an interval, level break, volume spike, network status failure.
  • Where and to whom we deliver the signal: one chat or dozens of recipients, direct messages versus a common channel, whether signals need to be sent to an external system and retried on failed delivery.
  • Thresholds and noise protection: how often it is acceptable to send messages, what to do on a series of consecutive triggers, and whether several events need to be combined into one message.
  • Access and separation: who creates the bot, where the key is stored, what permissions the service has, and whether recipient lists need to be split into groups.
  • Acceptance criteria: delay from event to message, behavior when the price source is unavailable, absence of duplicates, and a log of delivered and discarded signals.
  • Stages and priorities: what must work in the first version and what can be moved to the second round.

Then we expand this into a work plan with stage timelines: data collection, filters and thresholds, delivery, observability, and historical data run-through before going live.

Describe your task in free form — we will come back with an estimate, scope of work, and implementation plan.