> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chainstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Mempool configurations

> Configure mempool access on your Chainstack nodes for pending transaction monitoring, MEV research, and real-time transaction pool data on EVM networks.

Mempool configurations vary wildly across different protocols & node client configurations.

The table here is a maintained reference of mempool configurations & specifics across all the protocols that Chainstack supports.

## What gives you mempool access

Two different things get called mempool access, and they have different requirements. On the EVM chains with a public mempool — Ethereum, Polygon, and BNB Smart Chain:

| What you want | Methods | Global Nodes and Trader Nodes | Dedicated Nodes |
| - | - | - | - |
| Watch pending transactions as they arrive | `eth_subscribe("newPendingTransactions")`, `eth_newPendingTransactionFilter` | Available | Available |
| Read the transaction pool contents | `txpool_content`, `txpool_contentFrom`, `txpool_inspect` | Not available | Available on request |
| Count pending and queued transactions | `txpool_status` | Depends on the network and mode | Available on request |

For a live feed of pending transactions, any node type is enough, in the full mode or the archive mode. The feed is the node's view of the public mempool — transactions that reached it over the p2p network, not only the ones you submitted through it. No node sees every pending transaction, as each node's view depends on its peers.

Global Nodes and Trader Nodes block `txpool_content`, `txpool_contentFrom`, and `txpool_inspect` on EVM networks, in every mode and on every plan. A call returns error code `-32601`:

```json theme={"system"}
{"jsonrpc":"2.0","id":1,"error":{"code":-32601,"message":"the method txpool_content is not supported yet"}}
```

`txpool_status` is not blocked. It returns the pending and queued transaction counts on nodes whose client serves the `txpool` namespace, which varies by network and mode.

To read the pool contents, deploy a [Dedicated Node](/docs/dedicated-node) and ask for the `txpool_*` namespace when you deploy. It is a [customization](/docs/features-availability-across-subscription-plans#node-customization) that works in the full mode and the archive mode.

`txpool_*` is also a separate namespace from `debug_*` and `trace_*`, and each one has its own gate:

* `txpool_*` — the node type decides whether you can read the pool contents, not your plan.
* `debug_*` and `trace_*` — your [plan](/docs/features-availability-across-subscription-plans#debug-and-trace-apis) enables them. They do not bring `txpool_*` with them.

<Warning>
  On Arc, the node software blocks pending-transaction visibility: `eth_newPendingTransactionFilter` and `eth_subscribe("newPendingTransactions")` return `-32001`, and both `eth_getBlockByNumber("pending")` and `eth_getTransactionBySenderAndNonce` return `null`. See [Arc methods](/docs/arc-methods).
</Warning>

<Note>
  On protocols with no public mempool, pending-transaction methods like `eth_newPendingTransactionFilter` and `eth_subscribe("newPendingTransactions")` return empty by design — pending transactions are visible only to the sequencer. On Base and Optimism, follow transactions in real time with Flashblocks instead — see the how-to guides ([Base](/docs/base-streaming-transactions-flashblocks), [Optimism](/docs/optimism-streaming-transactions-flashblocks)) or how Flashblocks works ([Base](/docs/flashblocks-on-base), [Optimism](/docs/flashblocks-on-optimism)).
</Note>

<Warning>
  A subscription that is accepted is not a subscription that delivers. On **Ink**, **World Chain**, and **Stable**, `eth_subscribe("newPendingTransactions")` and `eth_newPendingTransactionFilter` both succeed and hand back an ID, then deliver nothing.

  Ink and World Chain are OP Stack chains, so their pending transactions sit with the sequencer. On World Chain the `txpool_*` methods are not served at all. On Ink, `txpool_status` responds but always reads empty, and the other `txpool_*` methods return `-32601`. On Stable, `txpool_status` responds, but it reported `pending: 0x0, queued: 0x0` in every one of 30 samples taken over two minutes while 52 transactions confirmed in new blocks over the same window — the pool is not exposed through the EVM JSON-RPC layer. Do not build a pending-transaction feed on any of these chains.
</Warning>

The table structure:

* Protocol — protocol name.
* Protocol availability — details of the mempool availability on the protocol level.
* Chainstack availability — what you need to deploy for the protocol's pool-inspection methods on Chainstack.
* Client configuration — the default node client configuration for the mempool as deployed at Chainstack.
* Example — a simple curl example. Remember to replace YOUR\_CHAINSTACK\_NODE with your Chainstack node endpoint for that particular protocol.

Remember that whatever the default configuration, we can always [customize](/docs/features-availability-across-subscription-plans#node-customization) it for you on a [Dedicated Node](/docs/dedicated-node) <Icon icon="heart" iconType="solid" /> <Icon icon="screwdriver-wrench" iconType="solid" />.

| Protocol | Protocol availability | Chainstack availability | Client configuration | Example |
| - | - | - | - | - |
| Ethereum | Available to everyone | On a [Dedicated Node](/docs/dedicated-node) | 4096 pending transactions | [Ethereum txpool\_content](#ethereum-txpool_content) |
| Polygon | Available to everyone | On a [Dedicated Node](/docs/dedicated-node) | 4096 pending transactions | [Polygon txpool\_content](#polygon-txpool_content) |
| BNB Smart Chain | Available to everyone | On a [Dedicated Node](/docs/dedicated-node) | 4096 pending transactions | [BSC txpool\_content](#bsc-txpool_content) |
| Arc | Available, but the node blocks pending-transaction visibility | `txpool_status` only | Not published | [Arc txpool\_status](/reference/arc-txpool-status) |
| Base | [Private to Sequencer](https://github.com/base/node/issues/78). | N/A | N/A | N/A |
| World Chain | [Private to Sequencer](https://docs.optimism.io/stack/differences#mempool-rules) — OP Stack | N/A — the `txpool_*` methods are not served | N/A | N/A |
| Ink | [Private to Sequencer](https://docs.optimism.io/stack/differences#mempool-rules) — OP Stack | `txpool_status` only, and it always reads empty | N/A | `txpool_status` |
| Stable | Not exposed through the EVM JSON-RPC — see [Stable methods](/docs/stable-methods#pending-transactions-are-accepted-but-never-delivered) | `txpool_status` only, and it always reads empty | N/A | `txpool_status` |
| Avalanche | [Available only to validators](https://support.avax.network/en/articles/6158842-nodes-faq). | Not available on Chainstack | N/A | N/A |
| TON | External messages are available in mempool | Available | | |
| Arbitrum | No mempool. Only [Sequencer FIFO](https://docs.arbitrum.io/learn-more/faq#does-arbitrum-have-a-mempool). | N/A | N/A | N/A |
| Elysium | No public mempool. [Single sequencer](https://elysium.kinetiq.xyz/docs/security-and-data-availability) | N/A | N/A | N/A |
| zkSync Era | Sequencer only | N/A | N/A | N/A |
| Optimism | [Private to Sequencer](https://docs.optimism.io/stack/differences#mempool-rules) | N/A | N/A | N/A |
| NEAR | [No mempool](https://gov.near.org/t/transaction-fee-discussion/58) | N/A | N/A | N/A |
| Aurora | [No mempool](https://gov.near.org/t/transaction-fee-discussion/58) | N/A | N/A | N/A |
| Solana | [No mempool](https://docs.solana.com/integrations/retrying-transactions) | N/A | N/A | N/A |
| Scroll | [Publicly available through Sequencer](https://docs.scroll.io/en/technology/chain/rollup/). | N/A | N/A | N/A |
| Ronin | Available to everyone | Not available on Chainstack | N/A | N/A |
| Aptos | [Available to everyone](https://aptos.dev/concepts/validator-nodes#mempool) but there is no [transaction stream](https://github.com/aptos-labs/aptos-core/issues/5200) | [Full or archive node deployment](/docs/protocols-modes-and-types) | N/A | N/A |
| Gnosis Chain | Available to everyone | On a [Dedicated Node](/docs/dedicated-node). | Any configuration | [Gnosis txpool\_content](#gnosis-txpool_content) |
| Cronos | No mempool. [Only Sequencer FIFO](https://docs.cronos.org/cronos-chain-protocol/cronos-general-faq#if-i-increase-the-gas-price-does-it-help-to-speed-up-my-transaction). | N/A | N/A | N/A |
| Filecoin | Available to everyone | [Full node deployment](/docs/protocols-modes-and-types) | 20,000 pending messages | [Filecoin MpoolPending](#filecoin-mpoolpending) |
| Sonic | Available to everyone | On a [Dedicated Node](/docs/dedicated-node) | 4096 pending transactions | `txpool_*` |
| Fantom | Available to everyone | On a [Dedicated Node](/docs/dedicated-node) | 4096 pending transactions | `txpool_*` |
| TRON | Available to everyone | On a [Dedicated Node](/docs/dedicated-node) | 4096 pending transactions | `txpool_*` |
| Starknet | Private to Sequencer | N/A | N/A | N/A |
| Tezos | Available to everyone | [Full or archive node deployment](/docs/protocols-modes-and-types) | 240 blocks | [Tezos pending\_operations](#tezos-pending_operations) |
| Bitcoin | Available to everyone | [Full node deployment](/docs/protocols-modes-and-types) | mempool size: 300 MB mempool tx expiry: 336 hours (14 days) | [Bitcoin getrawmempool](#bitcoin-getrawmempool) |

## Ethereum txpool\_content

<CodeGroup>
  ```bash Shell theme={"system"}
  curl -X POST \
       -H "Content-Type: application/json" \
       --data '{"jsonrpc":"2.0","method":"txpool_content","params":[],"id":1}' \
       YOUR_CHAINSTACK_NODE
  ```
</CodeGroup>

## Polygon txpool\_content

<CodeGroup>
  ```bash Shell theme={"system"}
  curl -X POST \
       -H "Content-Type: application/json" \
       --data '{"jsonrpc":"2.0","method":"txpool_content","params":[],"id":1}' \
       YOUR_CHAINSTACK_NODE
  ```
</CodeGroup>

## BSC txpool\_content

<CodeGroup>
  ```bash Shell theme={"system"}
  curl -X POST \
       -H "Content-Type: application/json" \
       --data '{"jsonrpc":"2.0","method":"txpool_content","params":[],"id":1}' \
       YOUR_CHAINSTACK_NODE
  ```
</CodeGroup>

## Gnosis txpool\_content

<CodeGroup>
  ```bash Shell theme={"system"}
  curl -X POST \
       -H "Content-Type: application/json" \
       --data '{"jsonrpc":"2.0","method":"txpool_content","params":[],"id":1}' \
       YOUR_CHAINSTACK_NODE
  ```
</CodeGroup>

## Filecoin MpoolPending

<CodeGroup>
  ```bash Shell theme={"system"}
  curl -X POST \
       -H "Content-Type: application/json" \
       --data '{ "jsonrpc": "2.0", "method": "Filecoin.MpoolPending", "params": [null], "id": 1 }' \
       YOUR_CHAINSTACK_NODE
  ```
</CodeGroup>

## Fantom txpool\_content

<CodeGroup>
  ```bash Shell theme={"system"}
  curl -X POST \
       -H "Content-Type: application/json" \
       --data '{"jsonrpc":"2.0","method":"txpool_content","params":[],"id":1}' \
       YOUR_CHAINSTACK_NODE
  ```
</CodeGroup>

## Tezos pending\_operations

<CodeGroup>
  ```bash Shell theme={"system"}
  curl -X GET "YOUR_CHAINSTACK_NODE/chains/main/mempool/pending_operations"
  ```
</CodeGroup>

## Bitcoin getrawmempool

<CodeGroup>
  ```bash Shell theme={"system"}
  curl -X POST \
       -H "Content-Type: application/json" \
       --data '{"jsonrpc": "2.0", "id":"curltest", "method": "getrawmempool", "params": [] }' \
       YOUR_CHAINSTACK_NODE
  ```
</CodeGroup>

<CardGroup>
  <Card title="Ake">
    <img src="https://mintcdn.com/chainstack/UN3rP7zhB69idvnC/images/docs/profile_images/1719912994363326464/8_Bi4fdM_400x400.jpg?fit=max&auto=format&n=UN3rP7zhB69idvnC&q=85&s=792a24ab1b4682406fa589c0ecd88e5d" alt="Ake" style={{width: '80px', height: '80px', borderRadius: '50%', objectFit: 'cover', display: 'block', margin: '0 auto'}} noZoom width="400" height="400" data-path="images/docs/profile_images/1719912994363326464/8_Bi4fdM_400x400.jpg" />

    <Icon icon="code" iconType="solid" /> Director of Developer Experience @ Chainstack
    <br /><Icon icon="screwdriver-wrench" iconType="solid" /> Talk to me all things Web3
    <br />20 years in technology | 8+ years in Web3 full time years experience

    <div style={{display: "flex", justifyContent: "center", gap: "12px"}}>
      <a href="https://github.com/akegaviar/" style={{textDecoration: "none", borderBottom: "none"}}>
        <Icon icon="github" iconType="brands" />
      </a>

      <a href="https://twitter.com/akegaviar" style={{textDecoration: "none", borderBottom: "none"}}>
        <Icon icon="twitter" iconType="brands" />
      </a>

      <a href="https://www.linkedin.com/in/ake/" style={{textDecoration: "none", borderBottom: "none"}}>
        <Icon icon="linkedin" iconType="brands" />
      </a>
    </div>
  </Card>
</CardGroup>
