Alert Types

ChainWard supports 7 alert types covering common failure modes for on-chain AI agents. Each alert can be delivered through multiple channels.

Types

Large Transfer

large_transfer

Triggers when a single transaction exceeds a USD value threshold.

Default: $500Unit: USD

Balance Drop

balance_drop

Triggers when an agent's balance drops by a percentage within a lookback window.

Default: 20% in 1 hourUnit: Percentage

Gas Spike

gas_spike

Triggers when gas cost on a single transaction exceeds a threshold.

Default: $50Unit: USD

Failed Transaction

failed_tx

Triggers on any reverted transaction. No threshold needed — any failure fires the alert.

Default: Any failureUnit: N/A

Inactivity

inactivity

Triggers when no transactions are detected within a lookback window. Useful for detecting stuck or crashed agents.

Default: 24 hoursUnit: Duration

New Contract Interaction

new_contract

Triggers when an agent interacts with a contract address it has never transacted with before.

Default: Any new contractUnit: N/A

Idle Balance

idle_balance

Triggers when token balance stays above a USD threshold with no outgoing transactions for a specified duration. Detects unused capital sitting in agent wallets.

Default: $50 for 24 hoursUnit: USD + Duration

Delivery Channels

Discord Webhook

Send alerts to a Discord channel via webhook URL. Alerts appear as rich embeds with transaction details.

Telegram

Send alerts to a Telegram chat via Bot API. Provide your chat ID.

Custom Webhook

Send a POST request with the alert payload to any URL you specify. Ideal for custom integrations.

Example Webhook Payload

When using a custom webhook, ChainWard sends a POST request with the following JSON body:

{
  "alertType": "large_transfer",
  "severity": "warning",
  "title": "Large transfer detected",
  "description": "0x3cAc...CBfA sent 2.5 ETH ($6,250) to 0xdead...beef",
  "walletAddress": "0x3cAc468EF749d75af4a864903a17D0870f38CBfA",
  "chain": "base",
  "transactionHash": "0xabc123...",
  "timestamp": "2026-03-03T14:30:00Z",
  "metadata": {
    "valueUsd": 6250,
    "valueEth": 2.5,
    "to": "0xdead...beef"
  }
}

Testing alerts

Each alert rule has a Test button in the dashboard. This sends a sample payload to your configured delivery channel so you can verify the integration works. Test deliveries are rate-limited to 5 per minute.