Example Gallery
This section contains a gallery of complete, working examples that you can use as a starting point for your own monitors. Each example includes all necessary configuration files and a detailed explanation in its README.md.
The source for all examples can be found in the /examples directory of the repository.
1. Basic ETH Transfer Monitor
Monitors for native ETH transfers greater than a specific value. A great starting point for understanding transaction-based filtering.
Features Demonstrated: tx.value, ether() helper, basic action.
2. Large USDC Transfer Monitor
Monitors for Transfer events from a specific ERC20 contract (USDC) above a certain amount. Introduces event-based filtering.
Features Demonstrated: log.name, log.params, address and abi fields, usdc() helper.
3. WETH Deposit Monitor
Monitors for Deposit events from the WETH contract, combining event and transaction data in the filter.
Features Demonstrated: Combining log.* and tx.* variables.
4. All ERC20 Transfers for a Wallet
Demonstrates a powerful global log monitor (address: 'all') to catch all Transfer events involving a specific wallet, regardless of the token.
Features Demonstrated: Global log monitoring.
5. Action with Throttling Policy
Shows how to configure a action with a throttle policy to limit the rate of notifications and prevent alert fatigue.
Features Demonstrated: Action policies.
6. Action with Aggregation Policy
Demonstrates how to use aggregation policy for actions as well as sum and avg filters in templates to aggregate values from multiple monitor matches.
Features Demonstrated: Aggregation policy, map, sum, avg filters.
7. Address Watchlist Monitor
Shows how to use a Rhai array as a watchlist to get notifications for any transaction involving a specific set of addresses.
Features Demonstrated: Rhai arrays, let variables, in operator.
8.High Priority Fee
Demonstrates how to monitor for transactions with unusually high priority fees, which can be an indicator of MEV (Maximal Extractable Value) activity, front-running, or other urgent on-chain actions.
9. Admin Function Call Monitor
Demonstrates how to monitor for calls to a specific function on a contract using decode_calldata feature. This is the recommended approach for monitoring critical or administrative functions
Features Demonstrated: decode_calldata.
10. Action with Kafka Publisher
Demonstrates how to configure a kafka action to send notifications to a Kafka topic, ideal for integrating with data streaming platforms.
Features Demonstrated: kafka action.
11. Action with RabbitMQ Publisher
Shows how to set up a rabbitmq action to publish notifications to a RabbitMQ exchange for integration with message queue-based systems.
Features Demonstrated: rabbitmq action.
12. Action with NATS Publisher
Demonstrates how to configure a nats action to send notifications to a NATS subject for real-time, cloud-native messaging.
Features Demonstrated: nats action.