Skip to content

fix(onramp/phantom): detect expired blockhash and show accurate retry message#747

Merged
bmc08gt merged 1 commit into
code/cashfrom
fix/blockhash-not-found-expired-transaction
May 20, 2026
Merged

fix(onramp/phantom): detect expired blockhash and show accurate retry message#747
bmc08gt merged 1 commit into
code/cashfrom
fix/blockhash-not-found-expired-transaction

Conversation

@bmc08gt
Copy link
Copy Markdown
Collaborator

@bmc08gt bmc08gt commented May 20, 2026

When a Phantom wallet round-trip exceeds ~60s, the blockhash baked into the transaction expires and Solana rejects it with "Blockhash not found". Previously this surfaced a misleading "Make sure you have enough USDC and SOL" error.

  • Add TransactionExpired error variant to DeeplinkOnRampErrors
  • Detect blockhash errors in sendSwapTransaction before the generic FailedToSendTransaction fallback
  • Move processing state and navigation to onSuccess so progress only starts after the user returns from Phantom
  • Observe PhantomCeremonyFailed on the processing screen so dismissing the alert exits instead of leaving the user stuck

When a Phantom wallet round-trip exceeds ~60s, the blockhash baked into
the transaction expires and Solana rejects it with "Blockhash not found".
Previously this surfaced a misleading "Make sure you have enough USDC
and SOL" error.

- Add TransactionExpired error variant to DeeplinkOnRampErrors
- Detect blockhash errors in sendSwapTransaction before the generic
  FailedToSendTransaction fallback
- Move processing state and navigation to onSuccess so progress only
  starts after the user returns from Phantom
- Observe PhantomCeremonyFailed on the processing screen so dismissing
  the alert exits instead of leaving the user stuck

Signed-off-by: Brandon McAnsh <git@bmcreations.dev>
@bmc08gt bmc08gt self-assigned this May 20, 2026
@github-actions github-actions Bot added area: crypto Solana, keys, encryption, signing area: onramp Deposit, purchase, Coinbase, fiat on-ramp area: tokens Token accounts, balances, token info area: deeplinks Deep link handling, URL routing, and link parsing type: fix Bug fix labels May 20, 2026
@bmc08gt bmc08gt merged commit 2d43f1a into code/cash May 20, 2026
3 checks passed
@bmc08gt bmc08gt deleted the fix/blockhash-not-found-expired-transaction branch May 20, 2026 18:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: crypto Solana, keys, encryption, signing area: deeplinks Deep link handling, URL routing, and link parsing area: onramp Deposit, purchase, Coinbase, fiat on-ramp area: tokens Token accounts, balances, token info type: fix Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant