Skip to content

Web Wallet Missing Redirect URLs for Sequential Transactions #6949

@quocle108

Description

@quocle108

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:

  1. Connect a web-based wallet to Uniswap (or any dApp requiring multiple sequential transactions)
  2. Initiate a swap that requires 2 transactions (e.g., token approval + swap)
  3. First transaction request opens with redirect URL: {WALLET_URL}/wc?requestId={requestId}&sessionTopic={sessionTopic}
  4. Approve first transaction and follow docs recommendation to close wallet tab
  5. Second transaction is sent via WebSocket only - no redirect URL provided ❌
  6. 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

Image

Desktop (please complete the following information):

  • OS: macOS
  • Browser: chrome
  • Version: Version 140.0.7339.208

Smartphone (please complete the following information):

  • N/A (Web wallet issue)

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:

  1. Should dApps automatically provide redirect URLs for ALL transaction requests to web wallets?
  2. Is this redirect behavior configurable in the WalletConnect SDK?
  3. If following the documentation's recommendation to close the wallet tab, how should users access subsequent transactions without redirect URLs?
  4. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions