Skip to content

Alerts API ​

An alert rule watches one metric on one token (price, liquidity, holders, volume, top-ten concentration, health, copycats) and fires once when it crosses your threshold, through your own notification channels. What each alert means is in Alerts. Every route and field is in the API Explorer under Alerts.

A rule is not a buy alert, which posts every trade above a floor to a Discord channel or Telegram group and is set up from the token's page.

Every call needs your API key and a session, and acts on the rules of the wallet that signed in.

Create a rule, then read what fired ​

bash
curl -X POST https://api.chaindaddy.io/api/v2/alerts/rules \
  -H "X-API-Key: $CHAINDADDY_API_KEY" -H "Authorization: Bearer $SESSION" -H "Content-Type: application/json" \
  -d '{ "chainId": "eip155:8453", "tokenAddress": "0x931fce21ddea0549db70324f44ee2db1cb9f7f22",
        "alertType": "price_change", "thresholdOperator": "pct_drop", "thresholdValue": 20, "timeWindowMinutes": 60 }'
# 201 {"success":true,"rule":{"id":"…","alert_type":"price_change","enabled":true,…}}

curl -H "X-API-Key: $CHAINDADDY_API_KEY" -H "Authorization: Bearer $SESSION" \
  https://api.chaindaddy.io/api/v2/alerts/active
# {"alerts":[{"id":"…","rule_id":"…","alert_type":"price_change","status":"triggered","metric_value":23.4,"threshold_value":20,…}]}

Then POST /api/v2/alerts/{id}/acknowledge records that you saw an alert and POST /api/v2/alerts/{id}/resolve closes it.

What to expect ​

  • A rule fires once per breach, stays quiet for cooldownMinutes (60 unless you set it), and clears when the metric recovers. A firing alert stays firing while the metric cannot be read.
  • Name the token by chainId and tokenAddress. A ticker is refused (400 invalid_filter on a list). A rule's token cannot be changed afterwards (400 token_immutable).
  • Plans decide the types. heartbeat_score and copycat_detected are on Free and need a token with a registration; holder_count_drop, liquidity_drop, volume_anomaly and price_change need Pro; top10_concentration needs Pro+. Free holds 3 rules, paid plans 50.
  • Calling create twice makes two rules. List first.
RefusalMeaning
400 chain_unsupportedThat alert type has no data on that chain, for example heartbeat_score on Solana.
400 crown_requiredThe type needs a registered token, and this one has no registration.
403 with upgrade_urlThe type is above your plan, or you are at your rule limit. The message names the plan.
503Nothing was created. Retry.