> For the complete documentation index, see [llms.txt](https://docs.zeroauthority.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zeroauthority.xyz/nova-bot/nova-ai-agent/smart-alerts.md).

# Smart Alerts

Smart Alerts let you create custom, conditional monitoring through natural language — no dashboards or forms needed. Just tell Nova what you want to watch, and it handles the rest.

{% hint style="info" %}
Smart Alerts are different from the notification commands (`/nova`, `/bounty`, `/quest`, etc.). Those are toggle-based. Smart Alerts are **condition-based** — they trigger only when your specific criteria are met.
{% endhint %}

***

### How It Works

Simply describe the alert you want in plain English:

> *"Alert me when STX goes above $2"*\
> \&#xNAN;*"Notify me if there's a whale transfer over $100k on Stacks"*\
> \&#xNAN;*"Tell me when a new contract is deployed by SP123..."*

Nova will create a monitored alert that checks conditions and notifies you when triggered. Every alert comes with **one-tap explorer links** — the transaction, wallet, token, or contract behind the alert is one click away (explorer buttons on Discord, inline links on Telegram), so you can dig in without copy-pasting addresses.

{% hint style="success" %}
**Preview before you commit.** For price alerts, Nova can estimate how noisy an alert will be *before* creating it — e.g. *"that would have fired about 12 times in the last week."* Just ask **"how often would that fire?"** (or Nova may offer it for borderline-noisy alerts), then tighten the threshold or cooldown if it's too chatty. The estimate replays your conditions over recorded price history, counting real notifications after the cooldown.
{% endhint %}

***

### Alert Types

You can create alerts for a wide range of blockchain events:

| Alert Type              | Example                                               |
| ----------------------- | ----------------------------------------------------- |
| **Price threshold**     | *"Alert me when WELSH drops below $0.001"*            |
| **Price change (%)**    | *"Notify me if STX moves more than 10% in an hour"*   |
| **Whale transfers**     | *"Watch for STX transfers over $50,000"*              |
| **DEX activity**        | *"Alert on swaps over $10k on ALEX"*                  |
| **New token pairs**     | *"Tell me when new pools are created"*                |
| **NFT events**          | *"Alert when floor price changes on Bitcoin Puppets"* |
| **Contract deployment** | *"Notify me of new contracts deployed on Stacks"*     |
| **SIP governance**      | *"Alert me on SIP status changes"*                    |
| **CAB voting**          | *"Notify me when CAB voting opens on any SIP"*        |
| **Ecosystem events**    | *"Alert me about new Stacks events"*                  |
| **Block height**        | *"Alert me when Stacks hits block 200,000"*           |
| **Bitcoin fees**        | *"Notify me when BTC fees drop below 10 sat/vB"*      |
| **Wallet balance**      | *"Watch this address for balance changes"*            |
| **Stacking cycle**      | *"Alert on PoX cycle events"*                         |

***

### What an Alert Looks Like

Every notification leads with the **key numbers up front** — the token, how much, the value, and the direction of the move — so you can read it at a glance without opening the explorer. On Discord these arrive as rich embeds with one-tap link buttons; on Telegram as clean inline messages.

**Whale transfer** — shows the token, the exact amount, and the USD value, plus who sent it to whom:

```
🔴 🐳 WELSH Whale Watch
🐳 1.50M WELSH ($142.6K)
SP6X…AB1Q → SP3K…8N9

[ 🔗 Transaction ]  [ 👤 Sender ]  [ 🪙 Token ]
```

**Price move** — shows the live price with the **percentage change and direction** (🔺/🔻) over 1h and 24h, plus volume and holder context when available:

```
💰 STX Price Watch
STX $2.1500
🔺 +5.20% (1h)   🔻 -1.10% (24h)
Vol $1.2M  ·  3.4K holders
```

**DEX swap** — colour-codes buys (🟢) vs sells (🔴) with the size and venue:

```
📊 ALEX Swap Radar
🟢 Buy 1.5M ALEX on Velar ($3.2K)
```

{% hint style="info" %}
Numbers are formatted for readability — `1.50M`, `$142.6K`, `🔺 +5.20%` — and tiny sub-cent prices keep full precision (e.g. `$0.000842`) so meme-token alerts stay accurate. The coloured dot at the top reflects the alert's severity (🔴 high / 🔵 low).
{% endhint %}

***

### Precise Triggering

Nova understands exactly *how* you want an alert to fire, not just the threshold. Phrase it naturally and Nova picks the right behavior:

#### Cross vs. stay-past

There's an important difference between "is above" and "crosses above":

> *"Alert me **when STX crosses above $2**"* — fires **once**, the moment the price moves up through $2. It won't nag you again while STX stays above $2.\
> \&#xNAN;*"Alert me **while STX is above $2**"* — can fire on every check as long as the price remains above the level (governed by your cooldown).

{% hint style="info" %}
Use **"crosses above" / "crosses below"** for the classic price-target alert — you get pinged on the breakout, not repeatedly while it sits past your level. Nova re-arms it automatically, so if STX drops back under $2 and later crosses up again, you'll get a fresh alert.
{% endhint %}

#### Ranges

> *"Alert me when BTC fees are **between 5 and 20 sat/vB**"*\
> \&#xNAN;*"Notify me when WELSH trades **between $0.0008 and $0.0012**"*

#### Direction matters for % moves

> *"Tell me if STX **drops** more than 10% in 24h"* — fires only on a fall.\
> \&#xNAN;*"Tell me if STX **rises** more than 10% in 24h"* — fires only on a gain.\
> \&#xNAN;*"Tell me if STX **moves** more than 10%"* — fires in **either** direction.

#### Text matching

> *"Alert me on SIPs whose title **contains** 'mining'"*\
> \&#xNAN;*"Notify me about events **except** virtual ones"*

***

### Snooze & Quiet Hours

Control *when* alerts reach you, not just what triggers them.

#### Snooze a single alert

Every alert notification on Discord carries **😴 Snooze 1h** and **🌙 Snooze 24h** buttons — one tap and that alert goes quiet for the chosen time, then resumes on its own. You can also just ask:

> *"Snooze my whale alert for 2 hours"*\
> \&#xNAN;*"Mute alert #3 until tomorrow"*\
> \&#xNAN;*"Un-snooze alert #3"*

#### Quiet hours (Do Not Disturb)

Set a recurring window where **all** your alerts go quiet — and get them as a tidy summary the moment the window ends, so nothing is missed:

> *"Don't notify me between 10pm and 7am"*\
> \&#xNAN;*"Set quiet hours 11pm–8am, I'm UTC-5"*\
> \&#xNAN;*"What are my quiet hours?"*\
> \&#xNAN;*"Turn off quiet hours"*

{% hint style="info" %}
Tell Nova your timezone (or UTC offset) when setting quiet hours so the window matches your local night — otherwise it's interpreted as UTC. Alerts that fire during quiet hours are held and delivered together when the window ends.
{% endhint %}

***

### Managing Your Alerts

**Example prompts:**

> *"Show my active alerts"*\
> \&#xNAN;*"Pause alert #3"*\
> \&#xNAN;*"Resume all my alerts"*\
> \&#xNAN;*"Delete the whale alert"*\
> \&#xNAN;*"Update my STX price alert to $3"*\
> \&#xNAN;*"Show alert trigger history"*

***

### Tune & Clean Up Your Alerts

Alerts drift over time — one fires too often and becomes background noise, another hasn't gone off in months. Ask Nova to review them:

> *"Are any of my alerts too noisy?"*\
> \&#xNAN;*"Clean up alerts I'm not using"*\
> \&#xNAN;*"Review my alerts and suggest fixes"*

Nova looks at how often each alert has actually fired and flags:

* **Noisy** — firing so often it's becoming noise. Nova suggests raising the cooldown, tightening the threshold, or switching to a "crosses" / directional trigger — and for price alerts it can tell you the impact up front (e.g. *"this fires \~14×/week; a 60-minute cooldown would cut it to \~4×/week"*).
* **Stale** — created long ago and hasn't triggered in 90+ days. Nova suggests retiring it (or loosening the condition if you still want it).

{% hint style="success" %}
This is read-only — Nova **only recommends**, and always asks before changing or deleting anything. It's available on every tier; trimming noise shouldn't cost extra. Pop in every few weeks and ask *"how are my alerts doing?"*
{% endhint %}

***

### Free vs Premium

|                                  | Free         | Premium                |
| -------------------------------- | ------------ | ---------------------- |
| Max alerts                       | 2            | 50                     |
| Conditions per alert             | 1            | Up to 10               |
| Cooldown between triggers        | 1 hour       | 1 minute               |
| Composable conditions (AND/OR)   | --           | Yes                    |
| Time windows (UTC hours)         | --           | Yes                    |
| Digest mode (daily summary)      | --           | Yes                    |
| Severity-based routing           | Styling only | Full (digest bundling) |
| Dynamic baselines (MA / std-dev) | --           | Yes                    |
| Unusual-volume / holder anomaly  | --           | Yes                    |
| Compound / correlated alerts     | --           | Yes                    |
| Webhook delivery                 | --           | Yes                    |
| Smart templates                  | --           | Yes                    |

{% hint style="warning" %}
Free users can create up to **2 alerts** with basic conditions. Upgrade to Premium for advanced features like composable conditions, time windows, and digest mode.
{% endhint %}

***

### Premium Features

#### Composable Conditions

Combine multiple conditions with AND/OR logic:

> *"Alert me when STX is above $2 AND 24h volume is over $1M"*

#### Time Windows

Restrict alerts to specific hours:

> *"Only alert me between 9am and 5pm UTC"*

#### Digest Mode

Receive a daily summary instead of real-time alerts:

> *"Switch my whale alerts to digest mode"*

#### Severity & Smart Routing

Tell Nova how urgent an alert is, and it routes the notification accordingly — so the important stuff reaches you instantly while the ambient stuff doesn't buzz your phone all day:

> *"Make this a high-priority alert"*\
> \&#xNAN;*"This one's just FYI — low priority"*\
> \&#xNAN;*"Set my whale alert to high severity"*

| Severity               | How it's delivered                                          | Styling  |
| ---------------------- | ----------------------------------------------------------- | -------- |
| **High**               | Always immediate — skips batching/digest                    | 🔴 red   |
| **Medium** *(default)* | Normal (batched for Premium, immediate for Free)            | neutral  |
| **Low**                | Bundled into your daily digest (Premium); immediate on Free | 🔵 muted |

{% hint style="info" %}
Routing this way is the single biggest fix for notification fatigue: urgent alerts stay loud, low-priority ones get quietly bundled. Nova picks a sensible severity from how you phrase the request, and you can change it anytime — *"make alert #4 low priority."*
{% endhint %}

#### Dynamic Baselines (Relative Thresholds)

Trigger off a token's own **rolling baseline** instead of a fixed number — useful when you care about *relative* moves, not absolute price levels:

> *"Alert me when WELSH is 20% above its 7-day average"*\
> \&#xNAN;*"Notify me if STX trades unusually high versus its weekly range"*\
> \&#xNAN;*"Tell me when ALEX drops more than 2 standard deviations below its monthly mean"*

Nova compares the live price against its moving average (24h, 7-day, or 30-day window) or measures how many standard deviations it sits from that average (a "z-score" — roughly, |z| > 2 means it's outside the normal band).

{% hint style="info" %}
**Baselines warm up.** A 7-day or 30-day baseline needs a few days of history before it can fire, so a freshly created baseline alert may stay quiet at first while Nova builds the picture. For stable, low-volatility tokens, combine a std-dev rule with an absolute move (e.g. *"…and it moved at least 5%"*) to cut false signals.
{% endhint %}

#### Unusual Volume & Holder Activity

Spot anomalies in a token's **trading volume** or **holder base** relative to its *own* recent history — the same statistical approach the major analytics tools use (a volume "z-score," or a sudden change vs the trailing average):

> *"Alert me if WELSH trades 3× its usual volume"*\
> \&#xNAN;*"Notify me when ALEX's 24h volume is unusually high versus the last month"*\
> \&#xNAN;*"Tell me if TOKEN gains more than 20% holders in a day"*\
> \&#xNAN;*"Watch for a holder exodus on TOKEN — more than 10% leaving in 24h"*

Nova tracks each token's 24h volume and holder count hourly and compares the live value against its rolling 7-day / 30-day picture — either as a percentage versus the average, or as a z-score (how many standard deviations from normal). You can also alert on the **raw** numbers (`volume_24h`, `holder_count`) on any tier — e.g. *"alert me if TOKEN's 24h volume tops $500k."*

{% hint style="info" %}
**Use the token's full contract** for volume/holder anomaly alerts (not just a ticker), and remember baselines **warm up** over a few days. For choppy tokens, pair an anomaly rule with an absolute move (e.g. *"…and volume is over $250k"*) to cut noise. These work best as an *early-warning radar* — a volume or holder spike often precedes a price move.
{% endhint %}

#### Webhook Delivery

Power users and dashboards can have an alert delivered to their own server instead of a chat:

> *"Send my whale alerts to my webhook <https://myapp.example.com/nova-hook>"*

Nova POSTs a signed JSON payload to your HTTPS endpoint. Each request includes an `X-Nova-Signature` (HMAC-SHA256 of `` `{X-Nova-Timestamp}.{body}` `` using a secret shown once at setup), an `X-Nova-Idempotency-Key` for safe de-duplication, and is retried with backoff on failure. Only public HTTPS URLs are accepted (localhost/private/internal addresses are blocked).

#### Compound / Correlated Alerts

Some signals only matter *together*. A whale buy on its own is noise; a whale buy **and** a price pump in the same ten minutes is a setup. Compound alerts fire only when **several events line up inside a time window**:

> *"Alert me if there's a whale buy of WELSH **and** WELSH pumps 5% within 10 minutes"*\
> \&#xNAN;*"Tell me when wallet SP123… buys ALEX **and** ALEX volume spikes within 15 minutes"*\
> \&#xNAN;*"Ping me if a big swap on TOKEN happens **and** its price jumps — within 5 minutes of each other"*

Nova watches each part ("leg") independently and only notifies you once **all** of them have happened within your window — in any order. If only one leg happens, nothing fires; if the window passes before the others land, the clock resets.

{% hint style="info" %}
Compound alerts can combine **price / volume / holder, whale, DEX, and wallet** signals. Just describe the combination and the timeframe in plain English — Nova builds the legs for you. Give it a sensible window (a few minutes to an hour); too tight and the parts may not land together, too loose and unrelated events get linked. After it fires, the cooldown keeps it from re-triggering immediately.
{% endhint %}

#### Smart Templates

Save and reuse alert configurations:

> *"Save this alert setup as a template"*\
> \&#xNAN;*"Create alert from my whale-watch template"*


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.zeroauthority.xyz/nova-bot/nova-ai-agent/smart-alerts.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
