Open the tool
Home / Docs

Unpend Documentation

Everything you need to understand why a transaction is stuck in pending and how to get it confirmed — or safely cancelled. Unpend is an educational, non-custodial tool. It never asks for your seed phrase or private key.

Introduction

A pending transaction is one that has been broadcast to the network but hasn't been included in a block yet. While it's pending, your funds haven't moved — they're still controlled by your wallet. A pending transaction will eventually either confirm, or you can replace or cancel it.

Unpend reads a transaction's public status from its hash and tells you the most likely reason it's stuck, then explains exactly how to resolve it from inside your own wallet. Every fix is signed by you; nothing is custodial.

Good to know: you never need to connect a wallet or share any secret to diagnose a transaction — only its public hash, which anyone can look up on a block explorer.

Why transactions get stuck

Almost every stuck transaction comes down to one of these causes:

Fee too low

You paid less gas than the network currently requires. Validators order transactions by fee, so lower-paying ones wait — sometimes for a very long time during busy periods.

Nonce gap

Each account's transactions are numbered by a nonce and must confirm in order. If an earlier transaction is stuck, every later one is queued behind it and cannot move until the earlier one clears.

Network congestion

When activity spikes, fees rise and blocks fill with higher-fee transactions. Your transaction is valid and simply waiting for space at its fee level.

Never broadcast

Occasionally a faulty RPC node doesn't relay your signed transaction to the wider network. Your wallet shows it as pending, but most nodes have never seen it.

Speed up (Replace-By-Fee)

The most common fix is Replace-By-Fee (RBF): you rebroadcast the same transaction (same nonce) with a higher fee. Validators prefer the higher-fee version, so it confirms and the old one is dropped.

  1. Open your wallet and find the pending transaction in its activity list.
  2. Tap Speed Up (MetaMask, Rabby, Trust, and most wallets have this).
  3. Accept the suggested higher fee, or set it slightly above the current network rate.
  4. Confirm. The replacement reuses the same nonce and overtakes the stuck one.
No seed phrase required. Speeding up is just re-signing a transaction you already own, inside your own wallet.

Cancel a pending transaction

You can't delete a transaction from the network, but you can override it. Send a 0-value transaction to your own address using the same nonce and a higher fee. It confirms first, which invalidates the stuck one.

  1. In your wallet, choose Cancel on the pending transaction.
  2. The wallet builds a 0-value replacement on the same nonce with a higher fee.
  3. Confirm it. Once it lands, the original can no longer be mined.

Rebroadcast

If the cause is a transaction that was never relayed, you don't need a new fee — you just need a healthy node to broadcast the already-signed transaction.

  1. Switch your wallet's RPC endpoint to a different, reliable provider.
  2. Re-send the transaction, or use a public broadcaster with the raw signed transaction.
  3. Within a block or two it should appear and confirm as normal.

Network notes

Unpend covers EVM networks. Fees are shown in gwei. Behaviour differs slightly per chain:

NetworkTypeNotes
EthereumMainnetHighest fees; congestion most common. RBF widely supported.
ArbitrumL2 rollupLow fees; stuck tx usually means an RPC/sequencer hiccup.
PolygonPoSFee spikes during activity; bumping gas clears most jams.
OptimismL2 rollupLow fees; rebroadcast is the usual remedy.
BaseL2 rollupLow fees; similar behaviour to Optimism.
BNB Smart ChainBSCFast blocks; a small fee bump almost always works.

FAQ

Is my money lost if the transaction is pending?

No. While pending, the funds haven't moved and are still controlled by your wallet.

Will speeding up cost extra?

You pay the higher replacement fee instead of the original — not both. The stuck one is dropped.