> 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 are custom, conditional monitoring created through natural language — 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. For per-alert-type setup guides, see the [Alerts Setup Guides](/nova-bot/alerts-setup-guides.md).
{% endhint %}

***

## How It Works

Describe the alert in plain English:

> *"Alert me when STX goes above $2"*

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

**Preview before you commit.** For price alerts, ask *"how often would that fire?"* and Nova estimates the noise level before creating it (e.g. *"that would have fired about 12 times in the last week"*) by replaying your conditions over recorded price history, counting real notifications after the cooldown. Tighten the threshold or cooldown if it's too chatty.

***

## Alert Types

| 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** — token, amount, value, and direction — readable at a glance. Discord gets rich embeds with one-tap link buttons; Telegram gets clean inline messages.

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

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

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

**Price move** — live price with 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 size and venue:

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

Numbers are formatted for readability (`1.50M`, `$142.6K`), 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](#severity--smart-routing) (🔴 high / 🔵 low).

***

## Precise Triggering

Nova understands exactly *how* you want an alert to fire — phrase it naturally:

* **Cross vs. stay-past** — *"Alert me when STX **crosses above** $2"* fires **once** on the breakout and won't nag while STX stays above; Nova re-arms it automatically if the price drops back and crosses again. *"…while STX **is above** $2"* can fire on every check (governed by your cooldown).
* **Ranges** — *"Alert me when BTC fees are **between 5 and 20 sat/vB**"*
* **Direction for % moves** — *"drops more than 10%"* fires only on a fall, *"rises"* only on a gain, *"moves"* in either direction.
* **Text matching** — *"Alert me on SIPs whose title **contains** 'mining'"* (or *"except virtual ones"* for exclusions).

***

## Snooze & Quiet Hours

**Snooze a single alert** — every Discord alert carries **😴 Snooze 1h** and **🌙 Snooze 24h** buttons; one tap and it goes quiet, then resumes on its own. Or just ask:

> *"Snooze my whale alert for 2 hours"* (and *"un-snooze"* to resume early)

**Quiet hours (Do Not Disturb)** — a recurring window where **all** your alerts go quiet; anything that fires is held and delivered as a tidy summary when the window ends:

> *"Set quiet hours 11pm–8am, I'm UTC-5"*

{% hint style="info" %}
Tell Nova your timezone (or UTC offset) when setting quiet hours — otherwise the window is interpreted as UTC. Ask *"what are my quiet hours?"* or *"turn off quiet hours"* anytime.
{% endhint %}

***

## Managing Your Alerts

> *"Show my active alerts"*

Manage everything conversationally: pause/resume, delete, update thresholds, and view trigger history.

***

## Tune & Clean Up Your Alerts

Alerts drift — one becomes background noise, another hasn't fired in months. Ask Nova to review them:

> *"Are any of my alerts too noisy?"*

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

* **Noisy** — Nova suggests raising the cooldown, tightening the threshold, or switching to a "crosses" / directional trigger — and for price alerts it quantifies the impact up front (e.g. *"this fires \~14×/week; a 60-minute cooldown would cut it to \~4×/week"*).
* **Stale** — hasn't triggered in 90+ days; Nova suggests retiring it (or loosening the condition).

This is read-only and available on every tier — Nova **only recommends**, and always asks before changing or deleting anything.

***

## Free vs Premium

|                           | Free   | Premium  |
| ------------------------- | ------ | -------- |
| Max alerts                | 2      | 50       |
| Conditions per alert      | 1      | Up to 10 |
| Cooldown between triggers | 1 hour | 1 minute |
| Advanced features (below) | --     | Yes      |

See the [Premium guide](/nova-bot/premium.md) for the full limits table.

***

## 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 — *"make this a high-priority alert"* — and it routes the notification accordingly. Nova picks a sensible severity from how you phrase the request, and you can change it anytime.

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

### Dynamic Baselines (Relative Thresholds)

Trigger off a token's own **rolling baseline** instead of a fixed number:

> *"Alert me when WELSH is 20% above its 7-day average"*

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

> *"Alert me if WELSH trades 3× its usual volume"* (or holder-side: *"more than 10% of holders 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 — as a percentage versus the average or as a z-score. Use the token's **full contract** (not just a ticker), remember baselines warm up, and pair an anomaly rule with an absolute floor (e.g. *"…and volume is over $250k"*) on choppy tokens. You can also alert on the **raw** numbers (`volume_24h`, `holder_count`) on any tier — these work best as an early-warning radar, since a volume or holder spike often precedes a price move.

### Webhook Delivery

Have an alert delivered to your 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 alone is noise; a whale buy **and** a price pump in the same ten minutes is a setup:

> *"Alert me if there's a whale buy of WELSH **and** WELSH pumps 5% within 10 minutes"*

Nova watches each part ("leg") independently and notifies you only once **all** legs happen within your window, in any order; if the window passes first, the clock resets, and after firing the cooldown prevents immediate re-triggers. Legs can combine **price / volume / holder, whale, DEX, and wallet** signals — describe the combination and timeframe in plain English. 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.

### Smart Templates

Save and reuse alert configurations:

> *"Save this alert setup as a template"* (then *"create alert from my whale-watch template"*)
