Ledger error “Failed to execute 'requestDevice' on 'USB'” — Unbonding stuck at “27 days, 23 hours” for weeks

Hi everyone,

I’m having persistent trouble completing the unbonding and withdrawal process from a staking pool on Polkadot.
I’m using Ledger (Polkadot chain-specific app), but both the Polkadot Staking Dashboard and Polkadot.js Apps are stuck and I can’t finish the process.

Context:

  • On the staking.polkadot.network dashboard I see:

    “Unlocks in progress — Unlocks can be withdrawn once the unlock period of 27 days, 23 hours has passed.”
    This message has been showing for weeks without changing.

  • On Polkadot.js Apps, when I try to execute

    nominationPools.withdrawUnbonded(memberAccount, numSlashingSpans=0)
    
    

    I get this Chrome WebUSB error:

    “Failed to execute ‘requestDevice’ on ‘USB’: Must be handling a user gesture to show a permission request.”

Setup:

  • OS: Windows

  • Browser: Google Chrome (latest version)

  • Device: Ledger Nano (Polkadot chain-specific app opened, showing “Polkadot ready”)

  • Extension: Polkadot.js configured with Polkadot Relay Chain and Chain-Specific Ledger App

  • Account: 13YPQ2TSBgz4iEqYPVTMKYDwoM7LwYTgFHmTUqhYz22PQ9Jj

  • Network: Polkadot Relay Chain

  • Pool: 61 – “CRYPTONITAS”

What I’ve already tried (unsuccessfully):

  1. Re-authorized WebUSB in Chrome (lock icon → Site settings → USB → Allow).

  2. Cleared all permissions in chrome://settings/content/usbDevices and reconnected.

  3. Closed everything, reconnected the Ledger directly (no USB hub), unlocked it, opened the Polkadot app.

  4. Clicked once inside the page before pressing “Submit Transaction” (user gesture).

  5. Switched to Chain-Specific Ledger App in the Polkadot.js extension.

  6. Tried through staking.polkadot.network (which uses WebHID), but the dashboard still shows 27 days, 23 hours.


What I’d like to know:
Could someone please explain, step by step, how to fix this situation for someone who isn’t deeply technical?

Specifically:

  • How can I verify on-chain whether my unbonding actually started (e.g., checking nominationPools.poolMembers and comparing with staking.activeEra)?

  • If I only did “Leave Pool” but not “Unbond Funds”, how can I safely complete that with a Ledger (given the WebUSB errors in Chrome)?

  • If the 27-day timer on the dashboard is only a visual bug, how can I confirm that the eras are actually progressing and know when the funds will be withdrawable?

  • And once the unlock period is over, what’s the simplest, foolproof way for a Ledger user to actually withdraw the unlocked funds?

I’d really appreciate a clear, step-by-step explanation aimed at non-experts, because I’ve been trying for several weeks with no success due to the Ledger–Chrome connection errors.

Thanks a lot for any help and guidance :folded_hands:

1 Like

Please reach out to Polkadot Support: Polkadot Support

1 Like

That usually happens when the Ledger WebHID or U2F connection times out or when your browser cached an old device session. Try this:

  1. Disconnect and reconnect your Ledger, then open the Polkadot app on the device.

  2. In Chrome, go to chrome://flags/#enable-experimental-web-platform-features and make sure it’s enabled (Ledger now needs WebUSB/WebHID).

  3. Clear site data for both the Staking Dashboard and Polkadot.js.

  4. Reconnect through the Ledger Live bridge or try a different browser (Brave often works best).

  5. Once the device reconnects, click Withdraw unbonded again — it should broadcast the final extrinsic.

If it’s still stuck at exactly “27 days, 23 hours,” it’s usually a frontend state mismatch, not the chain itself. You can double-check your account on subscan.io — if the unlock period is finished there, you can safely force-withdraw directly from Polkadot.js.