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_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxKeep 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.
| Code | Description |
|---|---|
| 200 | Success |
| 201 | Resource created |
| 400 | Bad request — invalid parameters |
| 401 | Unauthorized — invalid or missing token |
| 403 | Forbidden — account suspended |
| 404 | Resource not found |
| 422 | Validation error |
| 429 | Rate limit exceeded |
| 500 | Internal 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/networks — GET /public/networks — active networks and tokens (no auth).
- GET /public/pack-credits — GET /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 →