Skip to main content

Monitoring & Alerts

Continuously polling blockchain nodes to track on-chain events — deposit detection, large asset transfer alerts, compliance threshold breach detection — carries high operational costs, introduces latency, and creates monitoring gaps during outages. Nodit's event-driven architecture detects on-chain events without polling, and maintains uninterrupted event monitoring even during failures through automatic retry on delivery failure and delivery history tracking.


Use Cases

Deposit Detection Automation
Send notifications to internal settlement systems or ERPs immediately when assets are deposited to a designated address via Webhook. Payment confirmation and settlement processes can be automated without manually querying blockchain state for deposit completion.

Compliance Threshold Alerts
Automatically notify the compliance team when asset movements exceed a specified amount. Use condition filters to set criteria such as transaction amount, specific addresses, and token types to build a monitoring framework that meets regulatory requirements.

Custody Wallet Anomaly Detection
Receive immediate alerts when abnormal asset movements occur at custody wallet addresses. Register separate Webhooks per wallet and integrate with anomalous transaction detection workflows to respond quickly to wallet security events.

Real-Time Data Pipelines
Use Stream to continuously receive block creation events and on-chain data with custom filters applied via WebSocket. Used to supply real-time on-chain data to internal analysis systems or risk engines.

Precision Condition-Based Alerts
Define conditions in detail with CEL expressions and select only the fields needed for delivery. Operational scenarios such as receiving only large token transfers, specific contract events, or successful Transaction Receipts can be implemented selectively.

Key Capabilities

On-chain event monitoring is organized into two approaches: Webhook for condition-based alerts and Stream for real-time streaming. Use them independently or in combination depending on service requirements.

Webhook Condition-Based Alerts

Immediate Notification on Event Occurrence

When a designated on-chain event occurs, an HTTP notification is sent to the registered callback URL. Automatic retry on delivery failure ensures events are not lost, enabling connection to internal settlement, compliance, and risk systems without gaps.

Precision Filtering with CEL Expressions

Pre-filter using CEL expressions to select only the events needed before delivery. Define precise conditions such as amounts above a threshold, specific contracts, or specific token types to reduce internal processing load and improve alert accuracy.

Pre-Confirmation Event Detection

Instant Webhook detects events quickly even before block finalization. For scenarios requiring risk detection and immediate user feedback, it can be used in combination with standard Webhook or Stream.

Stream Real-Time Streaming

WebSocket-Based Persistent Streaming

Maintain a persistent connection to receive block creation events and on-chain data with custom filters applied in real time. Suitable for pipelines that require continuous data supply, such as risk engines and real-time dashboards.

Node-Level Event Subscriptions

Subscribe to new blocks, pending transactions, and log events at a low level via JSON-RPC WebSocket subscriptions. Subscriptions go through the Elastic Node endpoint, so no separate node operation is required.

Delivery Reliability and Failure Recovery

Prevent event loss through delivery history retrieval and manual resend (Easy Resend). Use Live Sample and Test Webhook to validate alert rules before going live and recover quickly when failures occur.

Implementation Example

API Use Cases

ScenarioFeature to UseReason
Immediate deposit/withdrawal event deliveryWebhook — ADDRESS_ACTIVITYReceive HTTP callback immediately when asset activity occurs at designated address
Transaction success alert (settlement integration)Webhook — SUCCESSFUL_TRANSACTIONAutomatically update internal ledger on confirmation
Transaction failure alert (reprocessing)Webhook — FAILED_TRANSACTIONDetect failure and trigger reprocessing workflow
Contract event topic-based detectionWebhook — LOGReceive event logs generated by a specific contract
Specific amount/token condition-based alertsFlexible Webhook — erc20.transferPre-filter by amount and token type using CEL expressions
Pre-confirmation detectionInstant WebhookEarly event detection before block inclusion
Event delivery history retrievalGet Webhook HistoryReview delivery success/failure history and resend
Persistent connection real-time streamingStreamMaintain WebSocket connection; receive block-level events
Direct node-level event subscriptioneth_subscribe (Node API)Low-level subscription to new blocks, pending TXs, and log events

Webhook — Event-Based Alert Configuration

Deposit detection, compliance alerts, and event-driven workflow triggers:

  1. Create a Webhook in the Nodit console and register the callback URL.
  2. Configure the target event types (deposits, transaction success/failure, contract events, etc.) and addresses to monitor.
  3. For condition-based filtering, define pre-delivery filtering rules using Flexible Webhook's CEL expressions.
  4. Validate alert rules using Live Sample or Test Webhook before going live.
  5. After receiving events, integrate with internal settlement, compliance, and risk engines.

Stream — Real-Time Streaming Configuration

Real-time data pipelines requiring persistent connections:

  1. Create a Stream subscription and connect to the WebSocket endpoint.
  2. Apply custom filters to specify the event types and addresses to receive.
  3. Receive block creation events and on-chain data in real time and supply them to the risk engine or analytics dashboard.
Webhook vs Stream — When to Use Each

Use Webhook when data only needs to be received when events occur. Use Stream when a persistent connection is required to receive block-level data in real time.

API References

Domain InteractionImplementation OptionNodit FeatureReference
Receive on-chain event notificationsEvent-driven (HTTP callback)WebhookWebhook
Precision alerts with condition expressionsEvent-driven (CEL expressions)Flexible WebhookFlexible Webhook Overview
Pre-confirmation detectionEvent-driven (Instant)Instant WebhookWebhook
Delivery history and audit trailEvent-drivenGet Webhook HistoryGet Webhook History
Real-time data streamingEvent-driven (WebSocket)StreamStream
Verify Stream event typesEvent-drivenStream Event TypeStream Event Type
Node-level event subscriptionDirect JSON-RPC calleth_subscribeAPI Reference
  • Webhook — Webhook creation, event types, and condition filter configuration
  • Flexible Webhook Overview — CEL-based expressions, output field selection, and console-based operations
  • Stream — Stream subscription creation and WebSocket integration
  • Elastic Nodeeth_subscribe and WebSocket endpoint configuration
  • API Reference — Full API parameter specifications and response schemas
Get Started

Create a free project in the Nodit Console to try out the Webhook and Stream features directly.