Description
Currently, transactions are treated as successful immediately after wallet.sendTransaction() resolves. However, on Solana, a transaction may still fail, expire, or remain unconfirmed after submission.
This issue aims to implement a proper transaction confirmation flow across the application to improve reliability and user experience.
Proposed Changes
-
Add transaction confirmation using:
connection.confirmTransaction()
- latest blockhash + lastValidBlockHeight strategy
-
Handle transaction statuses:
- pending
- confirmed
- failed
- expired
-
Show accurate success/error toasts only after confirmation
-
Return transaction signatures for explorer links
-
Refactor repeated transaction logic into reusable helpers/hooks if needed
Benefits
- Prevents false-positive success messages
- Improves transaction reliability
- Provides production-grade Solana transaction handling
- Better UX during network congestion or RPC instability
Relevant Areas
- SOL transfer flow
- Airdrop flow
- Token minting flow
- Associated token account creation
Under GSSoC'26 kindly assign me this issue.
Description
Currently, transactions are treated as successful immediately after
wallet.sendTransaction()resolves. However, on Solana, a transaction may still fail, expire, or remain unconfirmed after submission.This issue aims to implement a proper transaction confirmation flow across the application to improve reliability and user experience.
Proposed Changes
Add transaction confirmation using:
connection.confirmTransaction()Handle transaction statuses:
Show accurate success/error toasts only after confirmation
Return transaction signatures for explorer links
Refactor repeated transaction logic into reusable helpers/hooks if needed
Benefits
Relevant Areas
Under GSSoC'26 kindly assign me this issue.