Skip to main content
POST
/
efb0a5eccd2caa5135eb54eba6f7f300
eth_newPendingTransactionFilter
curl --request POST \
  --url https://optimism-mainnet.core.chainstack.com/efb0a5eccd2caa5135eb54eba6f7f300 \
  --header 'Content-Type: application/json' \
  --data '
{
  "jsonrpc": "2.0",
  "method": "eth_newPendingTransactionFilter",
  "id": 1
}
'
{
  "jsonrpc": "<string>",
  "id": 123,
  "result": "<string>"
}
Optimism API method that creates a filter in the node to notify when new pending transactions are received. To check if the state has changed, call eth_getFilterChanges with the filter ID returned by this method.
On Optimism, this method returns an empty array — the mempool is private to the sequencer, so there are no public pending transactions to surface. For real-time pre-confirmed transactions, poll the pending block tag (Flashblocks) instead — see Track real-time transactions on Optimism with Flashblocks.
Get your own node endpoint todayStart for free and get your app to production levels immediately. No credit card required.You can sign up with your GitHub, X, Google, or Microsoft account.

Parameters

  • none

Response

  • result — a string representing the filter ID. This ID should be used in subsequent calls to eth_getFilterChanges to retrieve new pending transactions.

Use case

The eth_newPendingTransactionFilter method is useful for applications that need to monitor the mempool for new transactions. Common use cases include:
  • Building transaction monitoring tools
  • Creating real-time transaction tracking interfaces
  • Implementing MEV (Maximal Extractable Value) strategies
  • Monitoring specific addresses for pending transactions
On Optimism, these patterns are not served by eth_newPendingTransactionFilter — the mempool is private to the sequencer, so the filter returns no pending transactions, and the eth_subscribe("newPendingTransactions") subscription stays empty too. Optimism exposes Flashblocks through the pending block tag rather than WebSocket subscriptions, so poll eth_getBlockByNumber with the pending tag to track pre-confirmed transactions — see Track real-time transactions on Optimism with Flashblocks. Note: After creating the filter, you need to poll eth_getFilterChanges periodically to get updates. Filters timeout if they’re not used for a period of time, so applications should be prepared to recreate them if necessary.

Body

application/json
jsonrpc
string
default:2.0
method
string
default:eth_newPendingTransactionFilter
id
integer
default:1

Response

200 - application/json

The ID of the created pending transaction filter

jsonrpc
string
id
integer
result
string
Last modified on June 26, 2026