Pending block
GET /api/chain/pendingThe chain's pending block: how many transactions are queued for the next block, the base fee they will pay, and the gas already used against the limit. Send GET /api/chain/pending with no required fields (2 optional) and pay $0.001 per call over x402 or MPP (there is no free tier). It returns a JSON object with network, number, transactionCount, baseFeePerGas, baseFeePerGasGwei and 4 more.
This is the node's own view of what is about to be mined, so it answers "is the chain congested right now" without an indexer. Transaction hashes are included when the node returns them. EVM chains: ethereum, base, polygon, arbitrum, optimism.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
network | string | no | ethereum | base | polygon | arbitrum | optimism (default base) |
hashes | boolean | no | Include the pending transaction hashes (default false, counts only) |
Example request
curl -i "https://agent402.tools/api/chain/pending?network=base"
Without payment this returns HTTP 402 Payment Required with the exact price for chain-pending; any x402 v2 or MPP client pays it and retries.
Example response
{
"network": "base",
"number": "34881204",
"transactionCount": 61,
"baseFeePerGas": "4218231",
"baseFeePerGasGwei": "0.004218",
"gasUsed": "12904331",
"gasLimit": "150000000",
"timestamp": "2026-09-12T21:30:11.000Z",
"note": "A pending block is the node's own view and differs between nodes; it is not a consensus value."
}
| Field | Type | Always present | In the example |
|---|---|---|---|
network | string | yes | base |
number | string | yes | 34881204 |
transactionCount | number | yes | 61 |
baseFeePerGas | string | yes | 4218231 |
baseFeePerGasGwei | string | yes | 0.004218 |
gasUsed | string | yes | 12904331 |
gasLimit | string | yes | 150000000 |
timestamp | string | yes | 2026-09-12T21:30:11.000Z |
note | string | yes | A pending block is the node's own view and differs between nodes; it is not a... |
From an MCP client
catalog.call {
"slug": "chain-pending",
"params": {
"network": "base"
}
}
The hosted connector at https://agent402.tools/mcp needs a payment for chain-pending; the stdio package pays it from a wallet or from AGENT402_CREDITS_KEY. Local install: npx -y agent402-mcp.
Errors and behavior
- Every field is optional. An input the tool rejects returns an HTTP 4xx whose body carries
error,tool,expected,requiredandexample. - A paid call that ends in any status of 400 or above is not charged over x402, MPP or a prepaid credits key: settlement is cancelled when the tool fails. The exception is a Tempo push credential, a transfer the buyer sent before the call: it settles before the tool runs, so if the tool then fails the payment is recorded as a refund owed to the paying wallet.
- Wallet-only: this tool reaches the network or stored state, so it has no proof-of-work tier. A prepaid card-credits key issued earlier (
Authorization: Bearer a402_...) also pays it. - A
POSTwith a JSON body to /api/chain/pending is served as this GET, with the body as the input. - An
Idempotency-Keyheader makes a retried paid call replay the first 200 instead of charging again (an answer larger than 1 MB is not replayed).
Paid call (JavaScript agent)
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client();
client.setSpendControls?.(false); // keep your own spending ceiling in code
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);
const res = await payFetch("https://agent402.tools/api/chain/pending?network=base");
Related tools
Block info
GET /api/block-infoHeader-level detail for one block on Ethereum, Base, Polygon, Arbitrum, or Optimism: hash, timestamp (unix + ISO), trans…
Chain info snapshot
GET /api/chain-infoOne-call chain state snapshot: chain id, latest block number, and current gas price (wei + gwei) for Ethereum, Base, Pol…
Latest block number
GET /api/block-numberThe latest block number on Ethereum, Base, Polygon, Arbitrum, or Optimism: returns network, blockNumber (integer) and he…
Block receipts (one block, summarised)
POST /api/block-receiptsEvery transaction receipt in one block, fetched as a single upstream read and summarised: tx count, succeeded vs failed,…
ERC-1155 balance
GET /api/chain/erc1155-balanceHow many of one ERC-1155 token id an account holds, read straight from the contract. ERC-1155 is the multi-token standar…
Account nonce
GET /api/chain/nonceThe transaction count of an account, which is the nonce its next transaction must carry. Ask for block "pending" to incl…