Describe the bug
Web wallets do not receive redirect URLs for subsequent transactions in multi-transaction flows. Only the first transaction includes a redirect URL, while subsequent transactions are sent via WebSocket only. This breaks the recommended flow from the documentation where web wallets should "close the tab after the user approves the request and redirect back to the dApp." from this link
SDK Version (if relevant)
- Client: JS (Web SDK)
- Wallet implementation: @walletconnect/core v2.14
- dApp tested: Uniswap (production app.uniswap.org)
To Reproduce
Steps to reproduce the behavior:
- Connect a web-based wallet to Uniswap (or any dApp requiring multiple sequential transactions)
- Initiate a swap that requires 2 transactions (e.g., token approval + swap)
- First transaction request opens with redirect URL:
{WALLET_URL}/wc?requestId={requestId}&sessionTopic={sessionTopic} ✅
- Approve first transaction and follow docs recommendation to close wallet tab
- Second transaction is sent via WebSocket only - no redirect URL provided ❌
- User never sees second transaction request as wallet tab is closed
Expected behavior
According to the WalletConnect documentation:
- All session requests should include redirect URLs in the format:
{YOUR_WALLET_URL}/wc?requestId={requestId}&sessionTopic={session.Topic}
- The docs specifically recommend: "closing the web wallet tab after the user approves the request and redirecting back to the dApp"
- This pattern should work for ALL transactions, not just the first one
Screenshots
Desktop (please complete the following information):
- OS: macOS
- Browser: chrome
- Version: Version 140.0.7339.208
Smartphone (please complete the following information):
Additional context
This issue specifically affects web-based wallets that run in browser tabs (not mobile apps or browser extensions). Since web wallets cannot receive WebSocket messages when the tab is closed, the documented recommendation to "close the web wallet tab after approving" becomes impossible to follow for multi-transaction flows.
Questions for clarification:
- Should dApps automatically provide redirect URLs for ALL transaction requests to web wallets?
- Is this redirect behavior configurable in the WalletConnect SDK?
- If following the documentation's recommendation to close the wallet tab, how should users access subsequent transactions without redirect URLs?
- Are there SDK configuration options that web wallets should use to ensure all transactions get redirect URLs?
Impact:
This breaks the UX for any web wallet following the official documentation, causing users to miss subsequent transactions in multi-step operations like token swaps, NFT purchases with approval, etc.
Wallet Details:
- Type: Web-based wallet (browser tab)
- URL: NewWallet
- Implementation: @walletconnect/core v2.14
Describe the bug
Web wallets do not receive redirect URLs for subsequent transactions in multi-transaction flows. Only the first transaction includes a redirect URL, while subsequent transactions are sent via WebSocket only. This breaks the recommended flow from the documentation where web wallets should "close the tab after the user approves the request and redirect back to the dApp." from this link
SDK Version (if relevant)
To Reproduce
Steps to reproduce the behavior:
{WALLET_URL}/wc?requestId={requestId}&sessionTopic={sessionTopic}✅Expected behavior
According to the WalletConnect documentation:
{YOUR_WALLET_URL}/wc?requestId={requestId}&sessionTopic={session.Topic}Screenshots
Desktop (please complete the following information):
Smartphone (please complete the following information):
Additional context
This issue specifically affects web-based wallets that run in browser tabs (not mobile apps or browser extensions). Since web wallets cannot receive WebSocket messages when the tab is closed, the documented recommendation to "close the web wallet tab after approving" becomes impossible to follow for multi-transaction flows.
Questions for clarification:
Impact:
This breaks the UX for any web wallet following the official documentation, causing users to miss subsequent transactions in multi-step operations like token swaps, NFT purchases with approval, etc.
Wallet Details: