Warnings › Signatures that never expire
Durable nonces: a signature that never expires
Published
An ordinary Solana transaction carries a recent blockhash and expires about a minute after it is made. One built on a durable nonce carries a nonce instead and stays valid until that nonce is advanced: whoever holds the signed transaction can submit it at any time, next week or next year.
Durable nonces exist for signing offline and for coordinating several signers. They are also how the Drift Protocol takeover of April 2026 worked: two members of Drift's multisig signed transactions on durable nonces that someone else had set up for them, and the attacker submitted both, one second apart, when ready (the case, read by SignLens). Solana plans to remove durable nonces about six months after a replacement is ready, with no date set yet, and asks wallets to "tell the user they are signing a delayed transaction", one that "stays valid until it is used or cancelled".
What SignLens shows
A high finding, "This signature has no time limit", and "NO TIME LIMIT" in what the transaction does, with the nonce account. A real transfer on a durable nonce:
Send 0.996423 USDC to DV3B…L7Qp
What SignLens found
- High This signature has no time limit: anyone holding the signed transaction can submit it at any later time, until the nonce account is advanced
What this does
- You send 0.996423 USDC from Your token account (
Ffz5…piwg) to BNgs…TT1Z's USDC account (DV3B…L7Qp) - Create BNgs…TT1Z's USDC account (
DV3B…L7Qp), managed by Token program (Toke…Q5DA), depositing 0.00148844 SOL unless it already exists - You pay a fee of 0.000012218 SOL
- Valid until nonce account
AMcUzQhmG9YsWLWFp4we4oyAQU3hqgjUkSadkPrjeuywis advanced, with NO TIME LIMIT (durable nonce)
Full text, as the engine prints it
Send 0.996423 USDC to DV3B…L7Qp WARNING: review the findings before approving Findings: [HIGH] This signature has no time limit: anyone holding the signed transaction can submit it at any later time, until the nonce account is advanced == Transfer tokens | Token program Amount: 0.996423 USDC From: Your token account (Ffz5…piwg) To: BNgs…TT1Z's USDC account (DV3B…L7Qp) Authorized by: Your wallet (8Kvy…p1fa) Mint: USDC mint (EPjF…Dt1v) == Also [collapsed] Advance durable nonce: Nonce account: AMcUzQhmG9YsWLWFp4we4oyAQU3hqgjUkSadkPrjeuyw Advance durable nonce: Authority: EbsUZEFAU23Z2SgAymFtU2hADLiyNLzaPLKiJfvpKnE7 Create token account if missing: Token account: BNgs…TT1Z's USDC account (DV3B…L7Qp) Create token account if missing: Owner: BNgsxo3eHqQLNTaKy4juhAUJ8DyewcJNEcYdMuSmTT1Z Create token account if missing: Mint: USDC mint (EPjF…Dt1v) Create token account if missing: Rent paid by: Your wallet (8Kvy…p1fa) Create token account if missing: Token program: Token program (Toke…Q5DA) Compute unit limit: 20728 Compute unit price: 107,000 micro-lamports per compute unit == Signers Fee payer: Your wallet (8Kvy…p1fa) Signer: EbsUZEFAU23Z2SgAymFtU2hADLiyNLzaPLKiJfvpKnE7 == Fee Total: 0.000012218 SOL Base: 0.00001 SOL Priority: 0.000002218 SOL Priority basis: 107,000 micro-lamports per compute unit × 20,728 compute units requested Rent deposits: up to 0.00148844 SOL, if the account this transaction creates when missing does not exist yet; refunded to whoever closes the account == Validity Expires: when the nonce account is advanced, with no time limit Nonce account: AMcUzQhmG9YsWLWFp4we4oyAQU3hqgjUkSadkPrjeuyw Effects: - You send 0.996423 USDC from Your token account (Ffz5…piwg) to BNgs…TT1Z's USDC account (DV3B…L7Qp) - Create BNgs…TT1Z's USDC account (DV3B…L7Qp), managed by Token program (Toke…Q5DA), depositing 0.00148844 SOL unless it already exists - You pay a fee of 0.000012218 SOL - Valid until nonce account AMcUzQhmG9YsWLWFp4we4oyAQU3hqgjUkSadkPrjeuyw is advanced, with NO TIME LIMIT (durable nonce) Raw: solana legacy (511 bytes) digest: 05d51e61e33bad79d124089e71be7988c37cccf1f9268ee6e338e439f5ec582f
2xg3…toAS, slot 450,459,909. Explained for 8Kvy…p1fa as the signer, by the SignLens engine 0.3.0, on 2026-11-01. How to read this.
What to do
Sign a durable-nonce transaction only when you meant to sign something to be sent later, and know who will hold it.
Other warnings: accounts given away, spending rights, lookalike addresses, programs it does not know, multisig approvals you cannot see, a swap paying someone else.
Try it: install SignLens for Chrome or Firefox.