Advanced Filter

Note: Moonriver (MOVR) on Kusama is a companion network to Moonbeam and provides a permanently incentivized canary network. New code ships to Moonriver first, where it can be tested and verified under real economic conditions. Once proven, the same code ships to Moonbeam on Polkadot.

The Advanced Filter is a powerful tool that allows users to refine and customize their search results based on specific criteria. Users can utilize the Advanced Filter to extract valuable insights and perform targeted analysis within the vast {{chain}} data on {{explorer}}. By refining search results based on specific criteria, users can focus on transactions, addresses, and activities that are most relevant to their reserach, monitoring, or investigative needs.

In this article, we will break down each filter field and showcase a few scenarios where you can make the best use of this feature.

To access the Advanced Filter tool, you can go here. Alternatively, the tool can be accessed from the address page.

{{img:etherscan}}
{{img:bscscan}}
{{img:polygonscan}}
{{img:optimistic_etherscan}}
{{img:celoscan}}

Exploring Each Filter Field

1. Transaction Type

Use this filter to narrow down your analysis to specific transaction types of interest.

a. Select All: Includes all transaction types.
b. Txs: Transactions involving an EOA (Externally Owned Address, or typically referred to as a wallet address) sending {{coin}} directly to other addresses.
c. Internal Txs: Transactions that are consequences of smart contract logic triggered by regular transactions.
d. {{token}}: Transactions involving {{token}} tokens.
e. {{nft}}: Transactions involving non-fungible {{nft}} tokens (NFTs).
f. {{sft}}: Transactions involving semi-fungible {{sft}} tokens (SFTs).

g. Deposit: Transactions involving the deposit of {{coin}} into the Beacon Chain Contract in order to validate {{chain}}.
h. Withdrawal: Transactions involving the withdrawal of {{coin}} from the Beacon Chain as a result of automatic reward withdrawal or exiting as a validator.

2. Method

This refers to the specific function being executed in a transaction based on decoded input data. It is part of the input data included in the transaction, and specifies the name of the function as well as any arguments it requires. For example, the method ID of 0xa9059cbb decodes into the transfer function with parameters address _to and uint256 _value.

You can filter by any function name and method ID that you know of. Some common functions include Transfer, Mint, and Swap.

Look up the Write Contract and Write as Proxy under the Contract tab in any Contract page for a list of function names and method IDs.

Alternatively, refer to any transaction where a specific method was executed, and click on the Advanced Filter button as shown below. This will filter for all transactions that involve the particular method.

{{img:etherscan}}
{{img:bscscan}}
{{img:polygonscan}}
{{img:optimistic_etherscan}}
{{img:celoscan}}

You can also explore more suggested methods from:

  • Methods currently listed on the page
  • Methods available in contracts currently listed under the 'To' column

3. Age

You can utilize this filter to analyze transactions and activities within specific timeframes, providing insights into recent or historical events.

The "Age" field offers predefined time ranges (e.g., last 1h, last 24h, last 7d, last 30d, last 90d) or the option to set a custom duration. Click to toggle between DateTime format.

4. From and To

You can specify whether to include or exclude transactions involving specific addresses. This filter also supports adding multiple addresses, enabling more complex and precise filtering. You can input up to 5 {{chain}} addresses respectively and select "Include" or "Exclude" options.

When using the 'AND' operator, the filtered results will display only the transactions that involve both the "From" and "To" addresses. Whereas using the 'OR' operator, the results will display transactions related to any of the addresses in either of the "From" and "To" fields.

5. Amount

You can filter transactions based on the value transferred. It is useful for tracking transactions within specific value thresholds or analyzing high-value transfers.

You can choose from a predefined amount ranges (e.g., 1-10, 1-100, 1-1K, 1-10K, 1-100K, 1-1M) or set a custom range.

6. Asset

You can use this filter to search for transactions involving specific tokens by specifying the token's name, symbol, or contract address. Users can select "Is" or "Is Not" options to include or exclude transactions related to the specified token.

Additionally, popular assets like {{coin}}, USDC, USDT, DAI, WETH, and WBTC are readily available for selection. Alternatively, you could click on the filter button next to the asset to apply it as a filter.

7. Save Filter

Save the filter for future reference. You can access your saved filters here. To use this feature, you will need to log in to your {{explorer}} account.

8. Columns & Full-Screen Toggle

Customize columns that you wish to see and your preferences will be saved.

You can also toggle full-screen mode to view more columns.

9. Reset Filter

Use this to easily reset all the selected filters.

10. Last Updated

The data displayed in the filter reflects the information available up to the specified block.

11. Topic0

This refers to the specific event that is emitted in response to a function being executed in a transaction.

To filter a specific event log, you would have to enter the contract address that emitted the particular event and the corresponding Topic0.

Learn more about Event Logs here.

⚠️
Important note: All filter results currently include poor reputation tokens, ignore list tokens, and failed transactions, with no option to hide them.

Demo Scenarios

Scenario 1: Analyzing DeFi Exploits

DeFi exploits can be complex, involving multiple addresses, and require extensive analysis to gain a comprehensive understanding of the incident. Traditionally, this involves opening multiple {{explorer}} tabs to piece together the puzzle.

Fortunately, with the Advanced Filter tool on {{explorer}}, we can streamline our analysis by utilizing multiple filter fields to consolidate our findings and gain a clearer view of the exploit.

Let's consider the example of the Euler exploit that occurred in March 2023. This exploit involved a flash loan and multiple tokens, making it crucial to focus on relevant transactions. To do so, we can filter the transaction types to include regular transactions (txs), {{token}} token transactions, and internal transactions. To refine our analysis further, we can exclude spammy and irrelevant addresses using the 'IS NOT' option. Additionally, we can set an amount range to focus on significant transactions and filter out irrelevant assets from our investigation.

Click on the image to view this filter on Etherscan

Scenario 2: Monitoring NFT Lending Activities

Another interesting use case of the Advanced Filter is to monitor NFT lending activities on platforms like Blur. By utilizing the filter fields, we can specifically track the top NFT collections being used as collateral for loans.

In this scenario, we can set the transaction type filter to include both {{nft}} and {{sft}} token types, as they are NFTs. Additionally, we can further narrow down the search by selecting the "Borrow" method, specifying the Blur contract address, and filtering for the specific NFT asset we are interested in.

By applying these filters, we can gain valuable insights into the lending activities associated with the targeted NFT collections. This includes tracking the borrowing transactions, monitoring the most popular NFT collections used in NFT lending, and assessing the demand for NFT-backed loans.

Click on the image to view this filter on Etherscan

Scenario 3: Comparing ETH Deposits vs Withdrawals

We can easily compare the total ETH staked vs withdrawals made within the last 24H. Since we are specifically interested in full withdrawals within the last 24H, we can apply a filter for an amount greater than 10.

Click on the image to view this filter on Etherscan

Your Feedback Matters!

We greatly appreciate your feedback in helping us improve this feature, as it is currently in the Beta phase. Our team actively gathers and evaluates community input to implement further enhancements. If you have any feedback or suggestions, please don't hesitate to share them with us here. Your valuable insights are highly appreciated!