> For the complete documentation index, see [llms.txt](https://docs.zeroauthority.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zeroauthority.xyz/nova-bot/nova-tools/mempool-inspector.md).

# Mempool Inspector

The Mempool Inspector answers three everyday questions about **pending (unconfirmed) transactions**: *how congested is the network right now*, *do I have anything stuck*, and *why hasn't my transaction confirmed*. It works on **Stacks**, **Bitcoin**, and **EVM** chains, each with the same three modes.

{% hint style="success" %}
**Read-only and keyless.** The Inspector only reads public mempool / RPC data — it never signs, broadcasts, or moves funds, and needs no admin or DM. Stacks (Hiro) and Bitcoin (mempool.space) are fully keyless.
{% endhint %}

***

## Supported Chains

| Chain                                                                 | Source        | Notes                                                                                   |
| --------------------------------------------------------------------- | ------------- | --------------------------------------------------------------------------------------- |
| **Stacks**                                                            | Hiro API      | Full mempool: stats, per-address pending txs, per-tx stuck diagnosis                    |
| **Bitcoin**                                                           | mempool.space | Full mempool: stats, per-address pending txs, per-tx stuck diagnosis (incl. CPFP & RBF) |
| **EVM** (Ethereum, Base, Arbitrum, Optimism, Polygon, BSC, Avalanche) | Alchemy RPC   | Gas/fee snapshot, per-address pending **count** + nonce gap, per-tx stuck diagnosis     |

{% hint style="info" %}
**Solana is not covered.** Solana has no mempool — transactions go straight to the block leader, so there is nothing pending to inspect.
{% endhint %}

***

## The Three Modes

You pick the mode by what you pass:

| Mode            | What you pass              | What you get                                                                            |
| --------------- | -------------------------- | --------------------------------------------------------------------------------------- |
| **Stats**       | *(nothing)*                | A live congestion snapshot — how busy the network is and what fee gets you in right now |
| **Address**     | an `address`               | That address's pending (unconfirmed) transactions                                       |
| **Transaction** | a `tx_id` / txid / tx hash | A **"stuck" diagnosis** for one transaction                                             |

On **EVM** you can also set `chain` (default `ethereum`; accepts `base`, `arbitrum`, `optimism`, `polygon`, `bsc`, `avalanche`, and aliases like `eth` / `arb` / `op` / `matic` / `bnb` / `avax`).

***

### Stats — "how congested is it right now?"

Run it with no address or transaction to get a network-wide snapshot.

* **Stacks** — total pending count, a breakdown by transaction type (token transfer / contract call / contract deploy), the **fee percentiles in STX** (p25/p50/p75/p95) needed to get in per type, and **how long** pending txs of each type have been waiting.
* **Bitcoin** — pending count, total backlog in vMB, **projected blocks to clear**, a congestion level, the current **recommended fee rates in sat/vB** (next block / 30 min / 1 hour / economy), and the fee histogram.
* **EVM** — current and **next-block base fee**, **priority-fee percentiles** (p10/p50/p90), suggested **low / medium / high** all-in gas prices in gwei, and the pending block's transaction count.

On EVM, the suggested gas price = next-block base fee + a priority-fee percentile. The pending-block tx count is the node's view of the **next block**, not the entire mempool — public RPCs don't expose the full pending pool.

### Address — "do I have pending transactions?"

Pass an address to see what's unconfirmed for it.

* **Stacks** — outgoing and incoming pending txs with fee, nonce, type, and age.
* **Bitcoin** — pending txs touching the address, each with fee, vsize, sat/vB rate, and net value direction (incoming / outgoing).
* **EVM** — the **count** of pending transactions plus a **nonce-gap** read (confirmed vs pending nonce). Public RPCs don't expose the individual pending txs, so this is a count, not a listing.

### Transaction — "why is my tx stuck?"

Pass a transaction id/hash for a stuck diagnosis.

* **Stacks** — the tx's fee vs live mempool fee percentiles for its type (**underpriced / below median / competitive**) and a sender **nonce-gap** check — the most common reason a tx won't confirm regardless of fee.
* **Bitcoin** — the tx's sat/vB rate, the **effective** rate including any **CPFP** child, a verdict vs current recommended tiers (competitive / low / underpriced), and whether **RBF** is signaled (so you know if you can bump it).
* **EVM** — whether the tx is still pending, its max/effective gas price vs the current base fee and median priority, and a sender **nonce-gap** check (is it stuck behind an earlier-nonce tx?).

A **nonce gap** means an earlier transaction from the same sender hasn't confirmed yet — everything behind it is blocked **regardless of fee** until that one confirms or is replaced. The Inspector flags this on Stacks and EVM.

***

## Example Prompts

> "How congested is the Bitcoin mempool right now, and what sat/vB do I need for the next block?"

> "What gas price do I need on Base at the moment?"

> "Why is my Stacks transaction stuck? `0x…`"

> "Do I have any pending transactions? `SP…`"

> "Is this Bitcoin tx going to confirm or is the fee too low? `<txid>`"

> "Check this Ethereum tx — is it stuck behind an earlier nonce? `0x…`"

***

## Using It From an Agent (x402 / MCP)

The per-chain tools are on the public Tools Platform as `stacks-mempool-inspector`, `bitcoin-mempool-inspector`, and `evm-mempool-inspector` (REST + MCP, **free**). Agents can use them to **time a broadcast** (wait for low fees), **right-size a fee** before signing, or **detect and recover a stuck transaction** (bump via RBF/CPFP on Bitcoin, or replace-by-nonce on Stacks/EVM).
