With Ethernow, you get a real-time stream of what is happening right NOW on Ethereum. That means you can see every new transaction in the mempool (pending) or on-chain (confirmed). However, this can be an overwhelming amount of information to consume, and typically, you are only interested in a fraction of the action happening on Ethereum.
But how do you cut out all the noise? Enter filtering. With Ethernow filtering capabilities you can author and view the transactions relevant to your needs and interests. Let’s walk through how to make the most of the filtering system.
Example Use Cases
Ethernow simulates every pending and confirmed event, displaying the:
- High-level contract call (from, to, input, gas, etc)
- Internal transactions (smart contracts calling other smart contracts)
- Logs (log events emitted by a smart contract function)
There is a lot you can do with this so let’s dive in. We recommend you open up an Ethernow Transaction Explorer window and follow along yourself to fully grasp the concepts. Confused about some definitions? Check out the appendix.
Swaps & DEXs
If you are interested in certain DEXs, the best way to start is by using the address filter. Address filtering allows you to include a certain address in the payload. You can scope an address to filter the entire payload (“includes”), to address only (“to”), or from address only (“from”). For this example, we will start by looking at the Banana Gun Router 2 contract. Add this address 0x3328f7f4a1d1c57c35df56bbf0c9dcafca309c49 to the “address filter” field and leave it at “Includes”. Hit “Apply”
Now that we have a simple stream of Banana Gun Router 2 transactions, we can start to further refine our view with two different approaches:
- 4-byte signature: A quick glance at some of the transactions, we can see a couple of different 4-byte signatures - 0x75713a08 and 0x0162e2d0 - which appear to represent swapping ETH -> Token and Token -> ETH. If we only cared about swapping ETH -> Token, then we can filter down our view by adding this 4-byte signature 0x75713a08.
You can view the 4-byte signatures of a specific transaction in the transaction header of the transaction details tab.
Event Signature: Another approach is to view Banana Gun Router 2 swaps by uniswap V2 or uniswap V3. For example, we can use event signatures to scope our view to only see uniswap V3 swaps on Banana Gun Router 2 swaps by adding 0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67 as an event signature filter. Note that Banana Gun Router 2 mainly swaps on uniswap V2, so adding this filter dramatically reduced the matches for my new filter.
If you only care about a certain token you can further refine or change your filter: just add a token address.
One of the main use cases of these telegram bots is sniping token launches. When you transact with a telegram bot, it typically send that transaction privately, leaving users struggling to observe what is happening with their transaction and the token they care about. With Ethernow, you can leverage the filtering capabilities to watch for the newly launched token to see if you made it into the winning snipe bundle.
For example, looking at the recent launch of the RunesGate token 0x58C80D11Af077eB8d70501EbE277c0a57b54510a on Uniswap V2, we can create a filter to watch for transactions that launch and then swap the token.
In the screenshot above, we can see that our filtering system caught the block it started trading, including the public transactions “startTrading” at the top of the block followed by the snipe bundle (the user’s transactions attempting to snipe the token launch through Banana Gun).
Pro Tip! Another way to think about filtering is on certain blocks that are relevant to you. For example in the above screenshot, you can easily go to block 19692253 by using the search bar at the top of Ethernow. Once you are on that block, you can dissect the different transaction make-up of the block using our filtering panel. This will allow you to stay on a relevant block and look for interesting transactions within that particular block. To do this, open the filtering panel and add any of the filters that we discussed above and then click apply. You can save, then reset that applied filter and try a new filter to continue discovering interesting aspects about a block.
MEV & Private Transactions
Ethernow identifies, labels, and allows you to filter for private transactions (transactions that are sent directly to block builders and never hit the public mempool). Private transactions typically represent a MEV bot or a user seeking MEV protection from a MEV bot (to avoid front-running or sandwich attacks). In the last section, we talked a lot about Banana Gun. You may have noticed that most, if not all, of those transactions are labeled as private. That’s because Banana Gun sends their users transactions privately to protect their users from sandwiching and front-running bots.
With Ethernow, you can watch all private transaction activity in real-time as these transactions go on-chain (not in the mempool, since they bypass the mempool!). For example, you can start with a simple filter for private transactions to get a feel for what events happen privately vs. publicly.
Watching private swaps you can quickly see a mix of MEV bots and MEV-protected transactions. If you just care about MEV bots, you can start to drill down into specific ones by identifying their smart contract address. Here is jaredFromSubway’s smart contract address 0x6b75d8af000000e20b7a7ddf000ba900b4009a80. You can scope a filter to their “from” address and easily see all of jaredFromSubway MEV activity.
One of the big additions to the MEV and private transaction space has been the rise of block builders. Users and bots send their private transactions directly to the block builders from either a direct connection or via RPC aggregators such as Transaction Boost. These block builders have an associated address (labeled in Ethernow) and typically (not always!) they pay the validator with this address in the last transaction in the block as a private transaction.
If you are interested in understanding a certain block builders block construction activity, you could filter for a certain builder’s address and inspect their blocks to see what interesting MEV activity is happening. Here is an example filtering for Titan Builder’s address.
Staking & Restaking
Another emerging category is the staking and restaking activity with Lido and Eigenlayer. An easy way to get started filtering for this activity is to collect a list of LSTs (“Liquid Staking Tokens”) and LRTs (“Liquid Restaking Tokens”) and filter on their addresses allowing you to see the activity across various protocols.
A different approach would be to look at Eigenlayer-specific activity. With many of the popular smart contracts and protocols you can leverage our “Address Group”. Eigenlayer is an example of a popular protocol, so we have a pre-built filter for you. Simply click on “Eigenlayer” under the “Featured Addresses” section and then apply and/or save. Now you can see all the activity happening with Eigenlayer.
L2 Batches
L2s post transactions onto Ethereum as batches. These batches are either posted as calldata (type-2 transactions) or as blobs (type-3 transactions). Ethernow makes it incredibly easy to view the rise of L2s and type-3 transactions. If you want a deep dive on L2s, 4844, and blobs, check out some of our blog posts here, here, and here.
Since it is so much cheaper (currently!) to post your data as a blob instead of calldata, most rollups, such as Optimism, Arbitrum, zkSync, Starknet, Linea, and more are using almost exclusively type-3 transactions. We automatically label these addresses so you can easily identify them.
As it relates to Ethernow filtering, we make it easy to see all pending and confirmed 4844-compliant, type-3 transactions by simply clicking “Type 3” under the “Type” filter.
Now you will only see type-3 transactions that contain blobs.
Once you have your type-3 filter on, you may find yourself only caring about one ecosystem such as Optimism. Add the Optimism batch inbox address 0xff00000000000000000000000000000000008453 and now you are just viewing Optimism batches posted to Ethereum mainnet.
Further, we automatically decode these batches, so for type-3 transactions, you can see every transaction in our rollup tab. And, for every type-3 transaction, we have a blob tab where you can find more details about the gas, fees, and blobs themselves.
The other use case for type-3 transactions has been blobscriptions. For about a week, a project called Blobscriptions launched NFTs using blob data instead of calldata. While this made things very expensive for other blob users, Ethernow made it very easy to watch these blobscriptions happen in real-time so you could see if you were able to successfully mint a blobscription or if your transaction was stuck in the mempool. When new blobscriptions launch (or any project that uses type-3 transactions), you’ll be able to easily filter for type-3 transactions plus an address that you care about to view the action in real-time.
Additional Filtering Capabilities
This blog scratches the surface of what is possible with Ethernow. Have a cool filter you created? Share out on social for the community to interact with. We love to see what you are building!
Filter Appendix
- Address: Filter for transactions that include a certain address in the payload
- Note: you can scope an address filter to the entire payload (“includes”), to address only (“to”), or from address only (“from”)
- Private Transaction: Filter for private transactions only (transactions that are not detected in the mempool by our infrastructure).
- 4-Byte Signature: Every transaction has an input field, which the EVM consumes to know how the transaction should be executed. The input can be empty (simple transfer) or very long (executing one or more smart contract functions). The first 4 bytes (8 characters in the input hex string) represent which function is being called and it is known as the 4-byte signature. For example, the first 4-bytes or 8 characters is 0x3593564c which represents the function call “execute” on the Uniswap: Universal Router Contract. Using this filter, you can plug in a 4-byte signature (ex. 0x3593564c) to only view the transactions that match that hex string in the input field.
- Event Signature: Many smart contract functions emit “events”. These events are data about what just happened when the function was called. Every event has an event signature (a standardized length hex string) that identifies the event. While there is no standardization for events in smart contracts, the events allow us to identify and filter for certain types of transactions. For example, uniswap swaps emit an event with event signature 0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822. Every uniswap V2 swap will include this event signature in the simulated payload, so we can add an event signature filter with the above event signature and now we get a filtered view of uniswap V2 swaps.
- Status: Transactions that executed successfully on-chain or transactions that failed on-chain.
- Type: Transactions can be type 0, 1, 2 or 3 where type-2 transactions are EIP-1559 compliant and type-3 transactions are EIP-4844 compliant.
- Value: Every transaction can transfer a value of ETH to the “to” address of the payload.
- Gas: Represents the gas used by the transaction.
- Gas Price: The total gas price set by the user in gwei.
Observe Ethereum
Blocknative's proven & powerful enterprise-grade infrastructure makes it easy for builders and traders to work with mempool data.
Visit ethernow.xyz