Blog
Why Rabby Wallet Doesn’t Show Your Ledger Balance Until You Connect It (And How This Protects You)
A user installs the Rabby Wallet extension in their browser, adds their Ledger device to the wallet, and then closes the application expecting to see their balance the next time they open it. Instead, they find the balance empty or showing zero. The account address is there, the device is recognized, but no funds appear until the Ledger is physically connected again and the active connection is re-established. This behavior appears broken at first glance. It is not. The design is intentional, and understanding why requires examining how hardware wallets actually work and what visibility means in a security context.
The distinction matters because many browser-based wallets try to show cached or fetched balances regardless of device state. Rabby takes a different approach: it treats balance visibility as inseparable from active, verified hardware wallet connection. That choice reflects a specific security philosophy: a balance displayed without current device confirmation is only a guess, and a guess can be wrong in ways that create risk. A user who sees funds displayed may assume they can spend them immediately, may not verify the device before signing, or may trust the displayed amount without checking it against a blockchain explorer. Removing that assumption forces a deliberate step that, while slightly less convenient, prevents a class of common mistakes.
How hardware wallets handle address derivation and why connection matters
A Ledger device stores a seed phrase or private key inside a secure element, an isolated chip that never exports the secret. Instead, the device only exports public keys and signatures. When a user adds a Ledger to Rabby, they are not copying a recovery phrase or downloading the private key; they are establishing a communication channel through which the wallet can request public key data and ask the device to sign transactions.
The public keys used in Bitcoin, Ethereum, and other networks are derived mathematically from the seed using a path specification, typically defined by standards such as BIP44. For Ethereum, the path is usually something like m/44’/60’/0’/0/0 for the first account. The Ledger device calculates this path internally and returns the corresponding public key. That public key is then used to create an address, which is displayed in Rabby. But the calculation is not cached indefinitely on the device; it is performed on demand when the device is connected and queried.
This matters because a balance is fundamentally tied to an address. In Ethereum, the balance at an address is stored on the blockchain and can be queried from any node. Rabby can fetch this information from a blockchain RPC endpoint without the device connected. However, the address itself—the specific derivation path and the corresponding public key—should only be confirmed as correct while the device is actively connected and can verify it. If Rabby cached and displayed the address and balance without active connection, it would be showing information that was derived from the device in the past but cannot be verified in the present.
The risk is subtle but real. A compromised browser extension, a man-in-the-middle attack during a previous session, or even a user error in which they added the wrong device could theoretically result in an address that is not actually controlled by their Ledger. If Rabby displayed a balance for an address without confirming current device presence, the user might believe they own funds they do not actually control. Requiring active connection before showing balances eliminates that specific failure mode by ensuring that the address has been freshly verified against the physical hardware.
The difference between addresses you own and addresses you see
This distinction separates a watch-only address from a hardware-wallet-controlled address. Rabby supports watch-only mode, where a user can paste in any Ethereum address and track its balance without controlling the private key. That mode has legitimate uses: monitoring a multi-signature contract, tracking a friend’s public address, or observing a fund you have already sent to an exchange. But watch-only is explicitly not the same as ownership.
A hardware wallet address is only meaningful if the device is available to sign transactions. If a Ledger is permanently lost, the addresses it controlled become watch-only: the user can see a balance, but they cannot spend it. In the opposite direction, a watch-only address that displays a balance cannot be spent from Rabby or any other wallet, because there is no private key available. Rabby’s design choice to hide balances until hardware connection is a way of preventing the cognitive error of treating “I see the balance displayed” as equivalent to “I can spend from this address right now.”
The practical implication is this: if a user closes Rabby, disconnects their Ledger, and then reopens Rabby, the balance will not display until the Ledger is connected again. This is not a delay or a bug. It is an explicit confirmation step. When the Ledger reconnects, Rabby re-establishes communication, re-derives the address, and confirms that the address shown in Rabby matches what the device produces. Only after that match is verified does the wallet feel safe displaying the balance again.
Some users find this frustrating. A quick balance check without plugging in the Ledger would be convenient. But convenience is the enemy of the security principle at work here. The principle is: never present a user with information that looks like a confirmed fact but is actually an assumption. A balance is confirmed only after the current device connection has verified the address. Anything else is a best guess based on past data.
Why Web3 wallet standards sometimes conflict with hardware wallet security
Many Web3 wallets are designed to be always-available applications. A user should be able to view their portfolio, approve transactions, and interact with smart contracts with minimal friction. That expectation comes from centralized software wallets such as MetaMask or Trust Wallet, where the private key is stored on the device’s operating system and always accessible to the application. The wallet can display balances, simulate transactions, and prepare signatures instantly.
A hardware wallet breaks that model. The device is a separate piece of hardware that may not always be connected. Every sensitive operation requires an explicit handshake: the application requests something, the hardware device confirms the request on its screen, and the device signs or approves. This is not a limitation; it is the entire point. But it means that a hardware wallet application cannot pretend to have instant, always-available access to all functions.
Rabby’s design acknowledges this tension. Instead of trying to hide the hardware wallet’s inherent disconnection, it makes it visible. The balance is not shown until the device is connected, which forces the user to confront the reality: a hardware wallet address is only usable when the hardware is present. Some users appreciate this clarity. Others find it annoying and may switch to storing a small amount in a software wallet for frequent checks and keeping the Ledger for larger balances and less frequent transactions.
The longer-term question is whether browser-based hardware wallet applications can improve this experience without reducing security. Some experimental approaches include local address caching with explicit “verify on device” buttons, which would show a cached balance but require an extra confirmation step before spending. Others focus on making the device connection process faster or more transparent. Rabby’s current approach is conservative: show nothing that has not been freshly verified, because a freshly verified fact is worth more than a conveniently cached guess.
How other hardware wallet integrations handle the same problem
Ledger, Trezor, GridPlus, OneKey, Keystone, BitBox02, and CoolWallet all have different designs and different approaches to this issue. Ledger tends to be strict: the device must be connected and unlocked for sensitive operations. Trezor shares a similar philosophy but may cache some data for faster display. GridPlus and other institutional devices often require even more verification, sometimes including secondary authentication. Rabby’s support for all these different hardware wallets means the wallet must handle diverse requirements.
Rather than trying to accommodate all of them equally, Rabby chooses to apply a consistent standard: if a hardware wallet is involved, active connection is required for balance and account confirmation. This is a reasonable choice because it does not discriminate among hardware brands and because it is easier to explain and understand than a feature matrix showing which devices cache which data under which conditions.
Users who frequently need quick balance checks without hardware connection can use Rabby’s watch-only mode as a complement. Add a hardware wallet address as a watch-only contact, and Rabby will display the balance instantly without requiring the device. That balance is explicitly marked as watch-only, so there is no confusion about whether it can be spent. This gives users the convenience option without sacrificing clarity about what is actually controllable.
The role of device firmware and application updates in balance visibility
Another reason Rabby requires active connection is to ensure that the device firmware and the browser extension are aligned. Ledger and other hardware manufacturers periodically release firmware updates that change how addresses are derived, how signatures are formatted, or which networks are supported. If a device updates but the Rabby extension does not, or vice versa, the address derivation might produce different results or the signature verification might fail.
By requiring active connection before displaying balances, Rabby ensures that at least one verification point exists. If the device and the extension are out of sync, that mismatch will be discovered at connection time rather than hidden in a cached balance. This is a subtle but important protection against configuration drift. A user who updates their Ledger firmware and then immediately tries to spend from Rabby might encounter an error, but they will not be blindsided by a balance that appears spendable but actually produces invalid signatures.
Hardware wallet manufacturers also issue security patches, and those patches may change the expected communication protocol. Older Rabby versions might fail to communicate correctly with newer Ledger firmware, or vice versa. Requiring active connection means that any incompatibility will surface immediately, forcing the user to either update the extension or roll back the firmware rather than proceeding with outdated information.
Practical considerations for users managing multiple hardware devices
A user who owns both a Ledger and a Trezor might add both devices to Rabby and maintain separate accounts for each. When switching between devices, the balance display will turn off for the disconnected device and reappear only when the connected device is active. This is intentional: it prevents confusion about which device is currently controlling which accounts.
Some users treat this as an opportunity to organize their accounts by device, using one for daily spending and another for long-term storage. Others use different devices for different purposes: one Ledger for personal assets and another for professional or institutional accounts. Rabby’s requirement for active connection means that this organization is visible in the interface. If a user forgets which device they used for a particular account, reconnecting different devices will quickly clarify the situation.
There is also a security benefit to this friction. If an attacker gains access to the browser, they can see which accounts are configured in Rabby, but they cannot spend from hardware wallet accounts without the physical device present. The attacker might try to trick the user into transferring assets to a different address by editing the contact information or manipulating transaction displays. But without access to the hardware wallet itself, they cannot sign transactions. The requirement for active connection ensures that every spending action is a deliberate decision made at the device, visible on its screen, where the user can verify the destination address and amount.
Why this design choice reflects a specific philosophy about Web3 security
Rabby’s approach to hardware wallet balance visibility is rooted in a specific belief: user convenience should not override user certainty. A balance display that looks the same whether it is freshly verified or cached might be slightly more convenient, but it is also more prone to user error. A user who sees a balance without having verified the device might assume they can spend immediately, might not connect the device before approving a transaction, or might forget to check a transaction preview on the hardware screen.
By making the hardware requirement explicit—balance does not show until device is connected—Rabby forces a deliberate step. That step is not onerous. Connecting a Ledger to a computer and unlocking it takes a few seconds. But those few seconds are a reminder that the account is not always available and that every action requires device confirmation. Over time, this becomes a habit that users internalize.
The philosophy also extends to how Rabby handles other hardware wallet features. When a user imports a hardware wallet account, Rabby does not automatically add Ethereum, Polygon, or other networks to the account; the user must explicitly choose which networks to use. When a user signs a transaction, Rabby displays the full transaction details and requires the user to approve on the hardware device’s screen. These are all friction points, but they are friction that serves a purpose: preventing the most common mistakes that lead to lost funds.
This approach is not universal among Web3 wallets. Some wallets prioritize seamless user experience and accept higher risk of user error in exchange. That is a valid trade-off for some use cases. Rabby’s choice to prioritize certainty over convenience suggests a different user base: people who are willing to trade a few extra seconds for reduced risk of approval errors, lost devices, or cached data mismatches.
Frequently asked questions
Why doesn’t Rabby show my Ledger balance when the device is disconnected?
Rabby requires active hardware wallet connection to display balances because the balance is only confirmed meaningful when the device is present and has verified the address. A cached balance without current device verification is an assumption, not a fact. Requiring connection ensures that every balance display has been freshly verified against the physical hardware, preventing errors that could result from configuration drift, firmware mismatches, or browser security issues.
Can I use Rabby to check my Ledger wallet balance without connecting the device?
Yes, by using watch-only mode. Add your hardware wallet’s address as a watch-only contact, and Rabby will display the balance instantly without requiring the device. This watch-only balance is useful for quick checks, but the account itself can only be spent from when the Ledger is connected and active. Watch-only mode is explicitly not the same as controlling the account.
Does this balance display behavior apply to all hardware wallets supported by Rabby?
Yes. Whether you are using Ledger, Trezor, GridPlus, OneKey, Keystone, BitBox02, or CoolWallet, Rabby applies the same standard: balances are displayed only when the device is actively connected and has verified the account. This consistent approach simplifies security rules across different hardware brands and ensures that no hardware wallet type is treated as “always available” in the browser.