txpool_inspect — Ethereum JSON-RPC

Status: Available

Returns a compact, human-readable summary of the transactions currently pending and queued in the node's transaction pool.

POSThttps://triport.io/eth
Network
Ethereum
Auth
x-token: $TRIPORT_API_KEY (or Authorization: Bearer)
Rate limit
Pro — 1 RPS sustained · up to 2 burst · Business — 2 RPS sustained · up to 4 burst (with burst); Burst capacity

Endpoint and plans: Ethereum RPC endpoint.

txpool_inspect lists the transactions the backing Ethereum node is holding in its mempool, grouped into pending (executable now) and queued (not yet executable, e.g. a nonce gap). The result is keyed by sender address and then by nonce. Each transaction is rendered as a short, human-readable string rather than a full transaction object — recipient: value wei + gas × gasPrice wei.

Use it for a quick, low-bandwidth overview of mempool state: which senders have transactions in flight, at which nonces, and at what value and price. When you need the full structured transaction objects (input data, signatures, fee fields, etc.) call txpool_content instead; for just the pending/queued counts call txpool_status.

This method belongs to the eth_txpool category and is restricted to the Pro tier and above. The data reflects the specific node serving your request — the mempool is local to each node, varies continuously, and is not consensus state, so successive calls (and calls hitting different nodes) will differ. It takes no parameters.

Parameters

This method takes no parameters. Send an empty params array.

——optional
No parameters.

Response

Response fields

FieldTypeDescription
jsonrpcstringJSON-RPC protocol version, always "2.0".
idnumber | stringEchoes the request id.
resultobjectContainer with two keys, pending and queued.
result.pendingobjectExecutable transactions, keyed by sender address. Empty object {} if none.
result.queuedobjectNon-executable transactions (e.g. nonce gaps), keyed by sender address. Empty object {} if none.
result.pending.<address>objectMap of nonce → summary string for that sender's executable transactions.
result.queued.<address>objectMap of nonce → summary string for that sender's queued transactions.
result.*.<address>.<nonce>stringCompact summary in the form recipient: value wei + gas × gasPrice wei. Values are decimal strings.

Errors

CodeMeaningWhen it happens
403tier_insufficientYour plan is below the Pro tier required for txpool_inspect. A plain HTTP body with current_tier, required_tier and upgrade_url at the top level, plus an X-Required-Tier header.
429rate_limitedYou exceeded the per-tier RPS limit (1 RPS sustained · up to 2 burst on Pro, 2 RPS sustained · up to 4 burst on Business). A plain HTTP body with limit_rps, burst_capacity and retry_after_sec, plus Retry-After.

Example response body (tier too low) — HTTP 403, no JSON-RPC envelope:

{
  "error": "tier_insufficient",
  "message": "tier insufficient for method txpool_inspect",
  "method": "txpool_inspect",
  "category": "eth_txpool",
  "chain": "eth",
  "current_tier": "free",
  "required_tier": "pro",
  "upgrade_url": "https://triport.io/upgrade"
}

See errors.md for the full error envelope and the shared error-code reference.

Examples

JavaScript (fetch)

const res = await fetch("https://triport.io/eth", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.TRIPORT_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    jsonrpc: "2.0",
    id: 1,
    method: "txpool_inspect",
    params: [],
  }),
});


const { result } = await res.json();
const pendingSenders = Object.keys(result.pending).length;
const queuedSenders = Object.keys(result.queued).length;
console.log(`pending senders: ${pendingSenders}, queued senders: ${queuedSenders}`);

Notes

  • No parameters and no pagination — the response is the full mempool snapshot as seen by the serving node at request time. On a busy node this can be large.
  • Each transaction is a string summary, not an object. For full transaction objects use txpool_content; for just the counts use txpool_status.
  • Requires the Pro tier; a lower tier is rejected with HTTP 403 tier_insufficient. The eth_txpool category is rate-limited tightly — 1 RPS on Pro and 2 RPS on Business — so poll sparingly and cache results.
  • The mempool is per-node and non-deterministic: results vary between calls and between nodes, and are never part of consensus state.
  • Rate limiting is RPS-per-tier with burst; there is no daily quota.