Documentation Index
Fetch the complete documentation index at: https://docs.stablenet.network/llms.txt
Use this file to discover all available pages before exploring further.
Transactions sent to StableNet sit in the transaction pool (mempool) until they are included in a block. Understanding the pool explains why a transaction is waiting and how to unstick it.
Two states: pending and queued
Every transaction in the pool is in one of two states:| State | Condition | Included in next block? |
|---|---|---|
| Pending | Nonce matches sender’s current on-chain nonce | Yes — eligible immediately |
| Queued | Nonce is higher than current on-chain nonce | No — waiting for lower nonces first |
Why your transaction is pending
The most common reasons:- Nonce gap — you sent nonce 5 but nonce 4 is still pending. Nonce 5 sits in the queued state until nonce 4 is included.
- Gas tip below minimum — the governance-enforced minimum
maxPriorityFeePerGaswas not met. The transaction is rejected at submission, not queued. - Insufficient balance —
balance < value + gasLimit × maxFeePerGas. The transaction fails validation. - Pool full — the global pending limit (5,120 slots by default) is reached and your transaction has lower priority than existing ones.
Gas tip and priority
On StableNet, gas tip competition works differently from Ethereum mainnet. For general accounts, the effective gas tip is fixed by the GovValidator governance contract. All general-account transactions pay the same tip — you cannot outbid other users. For authorized accounts (set by GovCouncil), theGasTipCap in the transaction is used as-is, enabling custom priority.
This means pending time is determined almost entirely by nonce order and pool capacity — not by how high you set your tip.
Replacing a stuck transaction
To replace a pending transaction, submit a new transaction with the same nonce and a gas price at least 10% higher than the original:Inspecting the pool
Use thetxpool namespace to inspect pool state:
Pool limits
| Limit | Default | Description |
|---|---|---|
| Per-account pending | 16 slots | Max pending txs per sender |
| Per-account queued | 64 slots | Max queued txs per sender |
| Global pending | 5,120 slots | Total pending across all senders |
| Global queued | 1,024 slots | Total queued across all senders |
What happens after block inclusion
When a new block is added, the pool:- Removes transactions included in the block
- Promotes queued transactions whose nonce gaps are now filled
- Re-validates remaining transactions against updated balances
- Queries GovValidator for the latest gas tip and updates filtering
Developer benefits
- Pool state is queryable — use
txpool_contentFromto monitor your own transactions - Nonce gaps are the primary cause of stuck transactions — manage nonces carefully in concurrent senders
- Replacement is predictable — 10% price bump guarantees replacement
Related
- Gas and Fees — governance tip mechanics
- Architecture Overview — full transaction lifecycle including pool
- RPC API Reference —
txpool_content,txpool_status

