API Documentation

REST API for wallet monitoring and transaction alerts.

Introduction

The Chain Monitor API lets you manage wallet monitors and receive real-time transaction notifications across Ethereum, BSC, Polygon, Avalanche, and Fantom. Create an API key in Dashboard → API and use it for server-to-server requests.

Base URL

https://api.chain-monitor.online
  • REST JSON API with predictable resource URLs
  • Ethereum, BSC, Polygon, Avalanche, Fantom
  • Real-time webhook notifications

Authentication

Authenticate with a Bearer token. Create an API key in Dashboard → API and pass it in the Authorization header.

Request Header

Authorization: Bearer api_key_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Keep your API key secure. Do not share it publicly or commit it to version control. If compromised, rotate it in the dashboard.

Error Handling

The API uses standard HTTP status codes.

CodeDescription
200Success
201Resource created
400Bad request — invalid parameters
401Unauthorized — invalid or missing token
403Forbidden — account suspended
404Resource not found
422Validation error
429Rate limit exceeded
500Internal server error

Wallets

Wallet monitors are blockchain addresses you track. Each monitor has a network, tokens, minimum amount, and optional webhook URL.

Get networkUuid and tokenUuids from GET /public/networks (no auth). Use network.id and token.id from the response.

  • GET /v1/wallets

    Returns all wallet monitors for your account.

    curl -X GET "https://api.chain-monitor.online/v1/wallets" \
      -H "Authorization: Bearer api_key_xxx"
  • POST /v1/wallets

    Add a new wallet to monitor.

    curl -X POST "https://api.chain-monitor.online/v1/wallets" \
      -H "Authorization: Bearer api_key_xxx" \
      -H "Content-Type: application/json" \
      -d '{
        "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb1",
        "networkUuid": "UUID_FROM_GET_PUBLIC_NETWORKS",
        "tokenUuids": ["TOKEN_UUID_FROM_NETWORK"],
        "minAmount": "100",
        "webhookUrl": "https://your-app.com/webhook",
        "notifySettings": { "webhook": true, "telegram": false }
      }'
  • PATCH /v1/wallets/:id

    Update monitor settings (tokens, min amount, webhook URL).

  • DELETE /v1/wallets/:id

    Remove a wallet monitor. Associated data is deleted.

  • POST /v1/wallets/:id/toggle

    Enable or pause monitoring for a wallet.

Notifications

List and retrieve notification delivery history (webhook, Telegram, etc.).

Requires JWT (dashboard session). Not available with API key.

  • GET /notifications

    Paginated list with optional filters: limit, offset, status, channel, networkSlug.

    curl -X GET "https://api.chain-monitor.online/notifications?limit=25&offset=0" \
      -H "Authorization: Bearer JWT_TOKEN"
  • GET /notifications/:id

    Get a single notification by ID.

Public (no auth)

  • GET /public/networksGET /public/networks — active networks and tokens (no auth).
  • GET /public/pack-creditsGET /public/pack-credits — available credit packs (no auth).

Webhooks

When a transaction matches your monitor (network, token, min amount), we send a POST request to your webhook URL. The payload includes transaction data (txHash, network, direction, asset, amount, from, to, timestamp). Verify requests using the signature header if configured.

{
  "eventType": "transaction_detected",
  "userId": "uuid",
  "correlationId": "tx-0x...-timestamp",
  "timestamp": "2024-01-15T10:30:00Z",
  "data": {
    "txHash": "0x...",
    "network": "Ethereum",
    "blockNumber": 19485738,
    "direction": "in",
    "asset": "USDT",
    "amount": "250.00",
    "from": "0x...",
    "to": "0x...",
    "timestamp": "2024-01-15T10:30:00Z",
    "txHashLink": "https://etherscan.io/tx/0x...",
    "fromLink": "https://etherscan.io/address/0x...",
    "toLink": "https://etherscan.io/address/0x..."
  }
}

Contact

Need help? Use the contact page for integration questions and support.

Email: support@chain-monitor.online

Contact