A cryptocurrency user installing a Web3 wallet faces a foundational choice: whether to trust a custodian with their assets or to manage their own keys. That choice carries immediate technical consequences. If a provider holds keys on behalf of users, the provider becomes a high-value target for theft, regulatory demands, and account takeover. If the user keeps keys local, the burden shifts to understanding how those keys are protected on their device. Rabby Wallet operates under the second model, storing encrypted private keys locally and giving users full custody. The actual question is not whether the wallet offers custody, but how thoroughly its encryption works and whether the surrounding architecture prevents those encrypted keys from being compromised anyway.
Most users do not inspect encryption specifications. They see a login screen, enter a password, and expect that their private keys remain secure. That expectation depends on multiple layers working together: the strength of the encryption algorithm itself, how the password is converted into a cryptographic key, whether the encrypted data remains inaccessible if a device is stolen, and how the application prevents attackers from reaching the key material even after installation. A secure wallet does not simply encrypt keys and move on. It must also defend against clipboard readers, state capture during signing, malicious browser extensions, and phishing attempts that would trick a user into approving transactions they did not intend.
Private key encryption: The local storage boundary
Rabby Wallet uses AES-256-GCM encryption for storing private keys locally on a user’s device. AES-256 is a symmetric cipher with a 256-bit key length, meaning the computational effort required to guess the key through brute force would exceed any practical timeline. GCM (Galois/Counter Mode) adds authenticated encryption, which means the ciphertext includes a tag that detects tampering. If an attacker modifies encrypted data in transit or storage, the decryption process will fail and alert the application that the data is corrupted or hostile.
The critical step between a user’s password and the actual encryption key is key derivation. Rabby does not use the password directly as the AES key. Instead, it applies a key derivation function that converts the password into a 256-bit key through many computational iterations. This process, sometimes called password-based key derivation, introduces artificial slowness. Each iteration requires CPU time, which is cheap for a legitimate user entering their password once but prohibitively expensive for an attacker trying millions of password guesses offline. The iteration count and salt (a random value mixed into the derivation process) are critical parameters. A higher iteration count and proper randomization of the salt make dictionary attacks and rainbow tables ineffective.
Once the derived key exists in memory, Rabby decrypts the stored private key. This is where the architecture becomes important. The decrypted key should exist only in memory and only for the duration needed to sign a transaction. It should not be logged, written to disk, or cached in browser history. After signing, the key should be overwritten in memory to prevent recovery even if an attacker gains read access to the device’s memory. A secure wallet minimizes the time window during which the plaintext key is accessible.
The local storage model means that if a device is stolen, the encrypted private key is also accessible to the thief. However, without the correct password, the encryption remains intact. A strong password—one with sufficient entropy and not shared elsewhere—creates a boundary that encryption cannot be breached without either guessing the password or using specialized attacks. If a user reuses a weak password, an attacker who has obtained it from an unrelated service may unlock the Rabby Wallet without additional effort. The wallet cannot prevent password reuse; it can only ensure that the encryption is strong enough to matter.
The role of hardware wallets in custody architecture
Rabby Wallet’s support for hardware wallets such as Ledger and Trezor introduces a different custody model. Rather than storing the private key on the device at all, hardware wallets generate and hold the key inside a secure element that never exposes the plaintext. When Rabby requests a signature, it sends the transaction data to the hardware device, which performs the signing operation internally and returns only the signature. The private key never reaches the computer or browser.
This architecture distributes custody and signing authority. Rabby manages the transaction construction, preview, and broadcast, but cannot sign anything without the hardware wallet’s approval. If malware compromises the computer, it cannot extract the private key because it does not exist on that machine. The attack surface shifts to the hardware device itself, which is specifically designed to resist physical tampering and has undergone independent security reviews. A user must still approve the transaction on the hardware device’s screen, which is isolated from the potentially compromised computer.
The trade-off is convenience versus security. Hardware wallet signing is slower than software-based signing, and users must physically connect the device and confirm each transaction. For users managing large balances or infrequently moving funds, this cost is acceptable. For users making frequent small transactions, the overhead may encourage less-secure alternatives. Rabby supports both models, allowing users to choose based on their threat model and usage pattern. A user might keep a hardware wallet for long-term storage and a software wallet for active trading, with the understanding that software security depends on device cleanliness and password strength.
Transaction simulation and signing transparency
A private key is most vulnerable at the moment of signing. Even with the strongest encryption, if a user approves a malicious transaction thinking it is legitimate, the encryption means nothing. Phishing attacks often trick users into signing transactions that transfer funds to attacker-controlled addresses or approve unlimited token spending. Rabby reduces this risk through transaction preview and simulation. Before signing, the wallet displays what will happen: which addresses will receive funds, which tokens will be approved, and what the actual cost is.
Transaction simulation means Rabby sends the unsigned transaction to a node and requests that it execute the transaction in a sandboxed environment, returning the result without actually committing to the blockchain. This simulation reveals unintended side effects that might not be obvious from the raw transaction data. For example, a transaction designed to swap tokens on a decentralized exchange might fail silently if slippage exceeds a threshold, or it might route through an unexpected intermediate token due to liquidity constraints. A preview shows the user what actually happens, not just what the original request intended.
The wallet also displays warnings when a transaction requests permissions that are unusually broad. If a dApp requests approval to spend an unlimited amount of a token, Rabby flags this as a high-risk permission and explains why. A user might choose to proceed anyway, but with visibility. This is not a perfect defense against phishing—a user who does not read the preview, or who is socially engineered into ignoring it, can still be tricked—but it moves the default from “blind approval” to “informed consent.”
Non-custodial architecture and multi-chain asset management
Rabby Wallet’s design as a non-custodial wallet means that asset custody is never transferred to Rabby or any third party. The wallet software manages the interface and transaction construction, but the actual cryptocurrency remains under the user’s cryptographic control. This is different from an exchange or custodial service, which might hold customer deposits and promise to return them on request. Rabby cannot be hacked in a way that results in lost user funds, because Rabby does not hold the funds. The blockchain itself does.
The multi-chain architecture adds complexity to this custody model. Rabby supports Ethereum and over 20 EVM-compatible blockchains including Arbitrum, Polygon, Avalanche, and Fantom. Each blockchain has its own set of nodes, validators, and transaction ledger. When a user sends funds from Arbitrum to Polygon, Rabby constructs an Arbitrum transaction that reduces the user’s balance on Arbitrum and must use a separate transaction to increase the balance on Polygon. This is different from a cross-chain bridge operated by a third party, which would introduce custody risk. Instead, Rabby facilitates direct transactions on each chain while the user maintains keys for each one.
A unified portfolio dashboard aggregates balances and NFTs across chains, giving users visibility into their total position. This aggregation requires fetching data from multiple blockchain nodes and combining it, but it does not consolidate custody. The user’s keys remain distinct, and losing one key does not compromise others. This is a critical architectural choice. Some wallet implementations use a single master seed phrase to derive separate keys for each chain, which means a compromised seed phrase puts all chains at risk simultaneously. Rabby’s model allows independent key management while still providing a single interface for monitoring.
Biometric security and session management
Entering a strong password each time a user wants to sign a transaction is secure but tedious. Rabby offers biometric authentication—fingerprint or face recognition—as a convenience layer. A user unlocks the wallet with biometrics once, and subsequent signatures within a session do not require re-entering the password. This is a reasonable trade-off if implemented correctly. The biometric does not replace the password; it is an additional factor that unlocks access to an already-encrypted key.
The security of biometric authentication depends on the hardware and operating system. Apple’s Secure Enclave and Android’s hardware-backed keystore are designed to resist extraction of biometric templates and to make unauthorized authentication difficult even if malware is present. A user should enable biometric locking on their device itself in addition to using biometric authentication in Rabby. If the device is unlocked and left unattended, biometric protection in the wallet offers no defense.
Session management determines how long the decrypted key remains in memory. A session timeout after inactivity re-locks the wallet and removes the decrypted key from memory, requiring the password to be re-entered for the next signature. This is a useful control for shared devices or devices that are frequently unattended. A user should consider their environment. A device used in a secure home office has different threat assumptions than a device used in a coffee shop or a shared workspace.
Phishing resistance and transaction validation
Even with strong encryption, users remain vulnerable to phishing attacks that trick them into approving transactions they do not intend. A phishing attacker might create a fake website that mimics a legitimate dApp, then prompt the user to connect their Rabby Wallet. The user, thinking they are interacting with the real service, approves a transaction. Rabby addresses this through multiple mechanisms. First, connection requests are made explicitly, and users see which dApp is requesting access. Second, the transaction preview and simulation provide visibility into what is actually happening before signing.
Rabby also provides transaction simulation capabilities that reduce the risk of approving malicious transactions. A user can simulate a transaction locally before signing to see the outcome. This is most useful for complex transactions such as liquidity provision, token swaps, or interactions with complex DeFi protocols where the consequences are not immediately obvious. The simulation runs on the user’s device, so it does not expose transaction details to external services unless the user explicitly chooses a public RPC node.
The wallet displays warnings when a transaction is trying to execute code at an address that looks suspicious. For example, if a transaction is calling a function at an address that was recently created, or at an address that does not match the expected smart contract address, Rabby alerts the user. This is not foolproof—sophisticated attackers can spoof expected addresses—but it raises the bar for phishing attacks.
Update security and ongoing threat management
An encryption system is only as secure as its current implementation. A vulnerability discovered months after release could put users at risk if they do not apply updates. Rabby provides regular security updates available from the official site, and browser extension marketplaces push updates automatically to users. The challenge is that users can disable auto-update or delay applying them. A wallet cannot force users to stay current, but it should communicate the importance of updates and make installation frictionless.
The browser extension architecture introduces its own threat surface. Malicious extensions installed on the same browser can read sensitive data, intercept clipboard content, or monitor user input. Rabby cannot prevent a user from installing compromised extensions, but it should never expose sensitive data to the DOM or global browser objects where another extension can access it. The wallet should also be transparent about which permissions it requests from the browser and why. Excessive permissions are a red flag.
Hardware wallet integration mitigates some risks from a compromised computer. If a user’s browser or operating system is fully compromised, a hardware wallet ensures that private keys are not exposed and that signatures cannot be created without physical interaction with the device. For a user on an insecure machine, hardware wallet signing via a secure wallet is more prudent than software-only storage. Rabby’s support for Ledger, Trezor, and similar devices makes this security model accessible.
The user’s own security practices remain the binding constraint. Even a well-designed non-custodial wallet cannot protect a user who writes their recovery phrase on a post-it note, reuses passwords, or ignores transaction previews. The wallet provides the tools and transparency; the user must use them correctly. This is not a weakness of Rabby’s design, but a fundamental property of any system where the user retains full custody. With great control comes the responsibility to secure what you control.
Frequently asked questions
How does Rabby Wallet encrypt my private keys?
Rabby uses AES-256-GCM encryption with a password-derived key. Your password is converted into a 256-bit encryption key through key derivation with many iterations, which makes offline password guessing computationally expensive. The encrypted key is stored locally on your device. When you unlock the wallet, the key is decrypted and held in memory only long enough to sign a transaction, then cleared. This ensures that even if your device is stolen, an attacker cannot access your private key without the correct password.
What does non-custodial mean for my security?
Non-custodial means Rabby Wallet never holds your funds or private keys on a centralized server. You retain full custody at all times. The blockchain itself secures your assets. This eliminates the risk of Rabby being hacked and losing user funds, but it places responsibility on you to secure your device, password, and recovery phrase. Rabby provides the tools and interface; you control the keys.
Can I use a hardware wallet with Rabby Wallet?
Yes. Rabby Wallet integrates with hardware wallets including Ledger and Trezor. When you connect a hardware wallet, your private keys are never stored on your computer. Rabby constructs transactions and displays previews, but signing happens on the hardware device itself. You must physically approve each transaction on the device’s screen. This provides stronger security for large balances or infrequent transactions, at the cost of slower signing.
Does Rabby protect me from phishing attacks?
Rabby reduces phishing risk through transaction preview and simulation, which shows you exactly what will happen before you sign. You can see which addresses will receive funds and which permissions are being requested. The wallet also warns about suspicious addresses and unusually broad permissions. However, you must still read the preview. If you approve a transaction without checking, the wallet cannot prevent you from signing a malicious transaction. Security is a shared responsibility between the wallet and the user.
How should I secure my recovery phrase?
Your recovery phrase (seed phrase) is the master key to your wallet. Anyone with access to it can derive all your private keys and take control of your funds. Store it offline, not in digital notes, emails, or cloud storage. Write it on paper and store it in a secure physical location, or use a dedicated cold storage solution. Never photograph it or send it to anyone, including support staff. Consider storing multiple copies in separate locations so that losing one does not put you at risk.