we should solve this problem if we want mainstream adoption:

wallets and apps treat nonce state as private thing despite it being global shared data that lives in the mempool.

without a synchronization layer different frontends will diverge and users will face invisible deadlocks like what i had today.

the fix may be:

> expose pending nonce information through a common api and surface any "stuck" statuses in wallet client uis + prompt replacement logic so users do not have to solve this stuff themselves

users should *never* touch nonce gymnastics or need to be exposed to mempool heuristics.

until that coordination exists at the apps/wallets level, we will need @basedkarbon & @AgentChud to save us each time.

as for what happened, if you're curious:

> every evm account maintains a monotonic sequence number called the nonce.

>the chain will only accept a transaction whose nonce = the account’s current onchain value.

>once a transaction is pending, the same nonce is locked until that transaction lands or is explicitly replaced.

>i underpriced one transaction on base so it sat in limbo.

>my local nonce cache in rainbow said next nonce is "x" yet the network still expected "n"

rainbow coinbase wallet and rabby all signed new payloads with nonce x but without the required gas bump to satisfy the replacement rule every node discarded them and no txs went through.

as a user *every* wallet gave zero user feedback that this was the root of the issue.

to actually implement the solution, @MetaMask rescued me because its advanced panel exposes both nonce and dynamic fee fields.

i resubmitted a 0 eth transfer to myself with the identical nonce as my last tx and a much higher priority fee + gas limit and the backlog cleared within seconds.