Skip to main content

Wallet Monitor API

Monitor the health of node wallets and receive alerts when balances fall below configured thresholds.

Get wallet monitor status

GET /api/wallet-monitor/status
Requires session authentication with an admin email. Returns the current status of all monitored node wallets, including balance health and alert commands.

Authentication

The authenticated user’s email must be in the ADMIN_EMAILS environment variable (comma-separated list). Non-admin users receive a 403 response.

Response

{
  "statuses": [
    {
      "address": "0xabc123...",
      "healthy": true,
      "balance": "150.00",
      "threshold": 100,
      "alertCommand": "wallet alert 0xabc123..."
    },
    {
      "address": "0xdef456...",
      "healthy": false,
      "balance": "45.00",
      "threshold": 100,
      "alertCommand": "wallet alert 0xdef456..."
    }
  ],
  "lowCount": 1,
  "timestamp": "2026-04-02T12:00:00.000Z"
}

Response fields

FieldTypeDescription
statusesarrayStatus of each monitored node wallet
statuses[].addressstringWallet address
statuses[].healthybooleantrue when the wallet balance is at or above the threshold
statuses[].balancestringCurrent wallet balance in pathUSD
statuses[].thresholdnumberMinimum balance threshold in pathUSD
statuses[].alertCommandstringCommand to configure alerts for this wallet
lowCountnumberNumber of wallets with balances below the threshold
timestampstringISO 8601 timestamp of when the status was checked

Low-balance alerts

When one or more wallets have balances below the threshold, the endpoint automatically sends a support alert with details about the affected wallets. The alert is sent asynchronously and does not block the response.
Support alerts require the SUPPORT_WEBHOOK_URL environment variable to be configured. When the variable is not set, alerts are logged to the console but not sent externally.

Errors

CodeDescription
403Unauthorized — user is not authenticated or is not an admin