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.