- Monitor swaps in a Uniswap or PancakeSwap pool by watching the Swap event.
- Track a wallet’s incoming and outgoing tokens by listening to the Transfer event.
- Monitor a launchpad, when a new token goes live, automatically execute early buys across multiple wallets.

For example, listen for Swap events from the Uniswap V3 ZORA/USDC pool.
| Field name | Required? | Detail |
|---|---|---|
| Contract address | No | Multiple contracts can emit the same event. If you only care about one contract, enter its address in this field |
| Contract ABI | Yes | ABI of contract |
| Event name | Yes | The event name whose data you want to capture |
| List the variables to save result | Yes | These variables depend on the Contract ABI. Once you fill in the contract ABI and event name, just click the + button - the variable names will be auto-populated based on your selections. |
| Start from the current block. | No | The processor starts scanning for events from the current block |
| Optional block number | No | The processor scans events within a specific block range. If you pick this option, you’ll need to provide a Starting block number and an Ending block number |
| Block step | Yes | How many blocks to fetch per call to the node provider. In most cases, set this to 1 |
| Confirmation block | How many blocks behind the latest head the event fetch should start. Set this to 0 if you want to capture new events as quickly as possible | |
| Node endpoint group | Yes | Select the node provider to interact with the blockchain |
| Mode | Yes | Choose how profiles consume events from the processor’s queue. You can deliver Each event - All profiles, or limit it so One event - One profile. In most cases, Each event → All profiles is the preferred mode |
The event queue inside the Contract Sniper processor
Each Contract Sniper processor maintains its own queue for storing events. They’re processed first in, first out—the oldest event leaves the queue first. To review the queued events, left-click the processor and selectView events from contract

View the Event list

The list of Swap events captured from the pool
The mode that governs how events and profiles interact.
As mentioned earlier, every processor keeps its events in a queue, with the oldest event pulled first. Each event can run in one of two modes:One Event → All Profiles: the most common setup. A single event runs across every profile to finish one round. After all profiles complete that round (say, round 1) and start the next (round 2), the processor pulls a new event from the queue to continue processing.One Event → One Profile: each event is processed by a single profile. Within the same round, different profiles pull different events from the queue.
Event 1 - Event 2 - Event 3 - Event 4 - Event 5 - and you have 2 profiles, Profile 1 and Profile 2, running two consecutive cycles. Here’s what each mode looks like:
One Event → All Profiles mode
Profile 1kicks off, pullsEvent 1, and wraps up round 1.Profile 2runs next, pullsEvent 1again, and finishes round 1.- Once every profile completes round 1, Event 1 is removed from the queue before round 2 starts.
Profile 1resumes, pullsEvent 2, and completes round 2.Profile 2runs, pullsEvent 2again, and wraps up round 2.- The workflow ends once every profile has finished round 2.
One Event → One Profile mode
Profile 1runs, pullsEvent 1, finishes round 1, and thenEvent 1is removed from the queue.Profile 2runs, pullsEvent 2, finishes round 1, andEvent 2is cleared from the queue.Profile 1runs, pullsEvent 3, completes round 2, andEvent 3is removed from the queue.Profile 2runs, pullsEvent 4, wraps up round 2, andEvent 4is cleared from the queue.- The workflow ends once every profile completes round 2, leaving
Event 5unused.
Variables returned by the event
Event data is assigned to each profile through variables. The specific fields and variable names depend on how you configure the event, but every event always includes these four default variables:SNIPE_CONTRACT_BLOCK_NUMBER: block number of eventSNIPE_CONTRACT_CONTRACT_ADDRESS: the contract address that emitted the eventSNIPE_CONTRACT_LOG_INDEX: the event’s log index within the transaction’s log arraySNIPE_CONTRACT_TX_HASH: the transaction hash of the event

The event details you need are mapped into variables within each profile