A developer or trader working with StarkNet applications faces a practical choice: maintain a separate Layer 1 Ethereum wallet, or access Layer 2 activity through a browser wallet connected to the StarkNet network. Braavos is designed specifically for this use case, handling Cairo smart contracts and StarkNet transactions while keeping private keys under the user’s control rather than held by an exchange or custodian. The security model differs meaningfully from Ethereum mainnet wallets, however. StarkNet’s architecture, account abstraction design, and transaction structure introduce different attack surfaces and recovery assumptions than most users have encountered.
The central challenge is not whether Braavos is trustworthy as an application. It is whether a browser wallet connected to Layer 2 maintains the non-custodial properties that make self-custody meaningful. A browser extension has different isolation guarantees than a hardware wallet, different update channels than a mobile application, and different recovery constraints than a desktop installation. Layer 2 itself introduces architectural assumptions about sequencers, validity proofs, and network finality that differ from Layer 1 security models. Understanding both the wallet and the network layer is necessary to assess whether browser-based access actually protects the assets as intended.
Why Braavos targets StarkNet and account abstraction
Braavos was built from the beginning as a StarkNet-native wallet rather than adapted from an Ethereum design. This distinction shapes how the wallet handles transactions, account recovery, and user permissions. StarkNet’s account abstraction model means that accounts are smart contracts rather than simple externally-owned accounts. Instead of having a fixed sequence of transactions that must be signed in order, a StarkNet account can validate transactions according to whatever logic its smart contract implements. This enables features like multi-signature schemes, session keys, guardian recovery, and spending limits without requiring protocol-level changes.
Braavos implements this through a guardian system. When creating a Braavos account, the user designates a guardian—typically an email address linked to an encrypted backup service. If the user loses their browser wallet’s private key, they can authenticate with the guardian and recover their account without the original key. This is fundamentally different from standard Ethereum wallets, where losing the private key means losing the account and funds. The trade-off is that account recovery depends on the guardian service remaining available and the user maintaining access to the guardian’s authentication method. If an attacker compromises both the guardian account and the email, they can potentially reset the wallet without the user’s knowledge.
The architecture also supports spending limits and transaction batching. A user can set daily withdrawal limits on their account, which the smart contract enforces rather than the browser extension enforcing through policy. This means the limit persists even if the browser wallet is compromised—an attacker cannot simply change the limit settings. Transaction batching reduces fees by combining multiple operations into a single transaction, which is more cost-effective on StarkNet than on Layer 1 Ethereum where gas competition is constant.
These features explain why Braavos is popular with StarkNet users. The account abstraction model enables usability improvements that would be difficult or impossible to implement on mainnet accounts. However, each feature is also a point where security depends on both the wallet application and the StarkNet network’s reliability. If the sequencer is unavailable, transactions cannot be submitted. If the smart contract is deployed incorrectly, cryptographic keys may be mishandled. Braavos remains non-custodial, but the control chain extends beyond the browser to the network and the account smart contract.
Browser wallet isolation and the extension security model
A browser extension has weaker isolation from the page it is running on than most users understand. If the user visits a malicious website, that site’s JavaScript can interact with the extension’s interface, request permissions, and potentially trick the user into approving transactions. The browser sandbox prevents arbitrary code execution, but it does not prevent social engineering. The attacker can create a fake Braavos interface, ask the user to “connect” their wallet, and request transaction approval without the user realizing they are approving a malicious operation.
Braavos addresses this through a few key design choices. First, the extension displays its own transaction review screen rather than allowing websites to control what the user sees. This means the website cannot hide the recipient address or amount in a confirmation dialog. Second, Braavos signs transactions with a specific nonce structure that prevents replay attacks—if an attacker somehow intercepts a signed transaction, they cannot broadcast it multiple times. Third, the wallet uses deterministic address derivation, which means the user can verify their account address through multiple devices and methods without needing to trust the browser extension’s display.
The practical security model is still one of browser isolation plus user attention. The extension prevents some attacks through cryptographic and protocol design, but it cannot prevent the user from approving a transaction to the wrong address or from visiting a website specifically designed to phish credentials. A user can view their Braavos account address on the StarkNet block explorer independently and verify that the address shown in the extension matches. They can also verify that when they visit the Braavos website, the domain is correct and the SSL certificate is valid. These verification steps are not optional for high-value accounts.
Browser-based wallets also depend on the browser and operating system remaining secure. If the user’s computer is infected with a keylogger or screen-capture malware, the private key or seed phrase can be stolen regardless of what the wallet extension does. For smaller amounts or lower-risk activity, a browser wallet is sufficient. For substantial holdings, a hardware wallet or air-gapped signing device reduces the attack surface significantly. Braavos can be used with a hardware wallet by importing the hardware wallet’s public key and using a separate signing device, though this requires more technical configuration.
Layer 2 finality and what “non-custodial” means on StarkNet
One of the most misunderstood aspects of Layer 2 wallets is what non-custodial means when transactions are not directly on the Layer 1 blockchain. On Ethereum mainnet, a non-custodial wallet means the user holds their private key and can broadcast transactions directly to the network. No intermediary can freeze the account or reverse a transaction. Finality is achieved when the transaction is included in a block that is sufficiently deep in the chain.
On StarkNet, the situation is more complex. The user still holds their private key and can sign transactions with Braavos. However, the transaction is submitted to a sequencer—a centralized service that orders transactions and publishes them to the Layer 1 Ethereum blockchain through a validity proof. If the sequencer becomes unavailable, the user cannot submit new transactions until it returns or until the network upgrades to decentralized sequencing. The user’s funds are not lost, but they are temporarily inaccessible. This is inherent to how Layer 2 solutions work; the centralized sequencer is what enables the efficiency gain that makes Layer 2 practical.
Validity proofs on StarkNet mean that transaction execution is proven rather than executed. The sequencer publishes a zero-knowledge proof to Ethereum, demonstrating that a batch of transactions was executed correctly without requiring Ethereum to execute them itself. This improves scalability but introduces a different trust assumption: the prover must be honest, and the proof verification system must be implemented correctly. If the proving system has a flaw, an invalid transaction could theoretically be accepted. In practice, StarkNet’s proving infrastructure is maintained by experienced teams, but the security model is different from Layer 1 where every node re-executes every transaction.
What non-custodial means on StarkNet is therefore more nuanced: the user controls the key and can sign transactions, but network availability and sequencer operation are prerequisites for actually moving funds. The user can prove ownership of their account even if the sequencer is down, and they can participate in governance or dispute processes if something goes wrong. However, they cannot unilaterally move funds off the network if the sequencer is unresponsive. For this reason, users holding significant amounts on Layer 2 often maintain recovery mechanisms that involve either a Layer 1 fallback or redundant access through multiple sequencer configurations.
Setting up Braavos: initial configuration and guardian recovery
The initial setup process for Braavos differs from standard Ethereum wallet creation because of the guardian system. When a user installs the browser extension and creates a new wallet, they receive a seed phrase that they should write down and store securely offline. Unlike Ethereum wallets where the seed phrase alone is sufficient for recovery, Braavos requires both the seed phrase and access to the designated guardian. If the user only stores the seed phrase without configuring a guardian, they will not be able to recover their account if the private key is lost.
During setup, the user is prompted to designate a guardian. Braavos allows several options: an email address managed by the Braavos backup service, a hardware wallet address, or another Braavos wallet. The email option is convenient for casual users but introduces a dependency on the backup service. The hardware wallet option is stronger because recovery is controlled by a separate device. Regardless of which option is chosen, the user should understand that the guardian is part of their security setup and test the recovery process with a small transaction before using the wallet for significant amounts.
After setup, the wallet derives addresses on the StarkNet network and displays them in the extension. The user can then transfer funds from an exchange or another wallet to their Braavos address. Unlike Ethereum addresses, StarkNet addresses are account smart contracts, not simple key holders. The first transaction typically requires paying a fee to deploy the account contract to the network. Subsequent transactions cost less because the contract is already deployed. Users should account for this deploy fee when planning their first deposit.
For integration with dApps, the user navigates to a StarkNet-based application and selects the Braavos wallet option to connect. The wallet displays a permission request asking whether the dApp can see the user’s address, and the user reviews this before approving. A dApp can then request transaction signatures, but the user must explicitly approve each transaction in the Braavos confirmation screen. The dApp cannot approve transactions automatically; it can only request them.
Threat model adjustments for browser-based Layer 2 access
The security checklist for a browser Layer 2 wallet differs from mainnet in specific ways. First, sequencer availability is a new risk. A user should understand that they may not be able to move funds if StarkNet’s sequencer is down, and they should not plan to access Layer 2 funds if they need immediate liquidity. Second, bridge security becomes relevant. To move funds from Ethereum to StarkNet, the user must use a bridge contract. If the bridge is hacked or misconfigured, funds can be lost. This is a Layer 2 design problem, not specific to Braavos, but it affects the threat model.
Third, dApp approval scope requires attention. When connecting to a StarkNet application, the user should verify that the dApp address is correct and that they understand what permissions they are granting. A dApp cannot unilaterally transfer funds, but it can request the wallet to sign transactions. If the user approves a transaction without reviewing it, they might transfer funds to a malicious address. Fourth, browser extension updates should be monitored. The browser automatically updates extensions by default, but users should periodically verify that Braavos is still the official version and not a replacement or imposter. Extensions can be spoofed or hijacked if the browser’s update mechanism is compromised.
Fifth, recovery credential security is critical. If the user’s guardian is email-based, the email account should be protected with a strong password and two-factor authentication. If an attacker gains email access, they can reset the Braavos wallet without the user’s knowledge. Sixth, seed phrase storage should be completely offline. Writing the phrase in a text file, storing it in cloud sync, or photographing it with a connected phone creates risk. The phrase should be written on physical paper stored in a secure location—a safe, vault, or safe deposit box. If the seed phrase is ever exposed, an attacker who also has access to the browser or the guardian account can recreate the wallet on a different device.
Seventh, spending limits should be configured if available. Braavos allows setting daily withdrawal limits that the smart contract enforces. Even if the extension is compromised, the limit constrains the damage. An attacker cannot steal more than the daily limit without waiting multiple days. Finally, backup testing should be done proactively. The user should practice recovering their account using the guardian mechanism on a separate device before they actually need it. A recovery process that has never been tested is a recovery process that might fail under stress.
Comparing Braavos to other StarkNet and Layer 2 wallet options
Braavos is not the only non-custodial wallet available for StarkNet, but it is among the most feature-complete for browser-based access. Argent is a similar wallet with its own guardian implementation and a mobile app option. The differences come down to design priorities: Braavos emphasizes simplicity and integration with StarkNet applications, while Argent emphasizes mobile-first design and additional DeFi features. Neither is fundamentally more secure than the other; the choice depends on whether the user wants a browser extension or a mobile application and which features they value most.
For users who want to avoid browser risk entirely, hardware wallets such as Ledger can sign StarkNet transactions if the wallet software supports StarkNet derivation paths. This requires a more technical setup but reduces exposure to browser compromises. For casual trading or testing, a browser wallet is reasonable. For significant holdings, a hardware-signed setup is preferable.
Layer 2 is fundamentally different from mainnet in terms of finality guarantees and sequencer dependencies. Any Layer 2 wallet has this constraint; it is not a weakness of Braavos specifically but a characteristic of Layer 2 as a solution. Users choosing to use Layer 2 accept this trade-off in exchange for lower fees and faster transactions. The wallet application cannot change the underlying network architecture, only provide the clearest possible interface to it.
Integration, troubleshooting, and when to seek help
Integration with StarkNet dApps usually works smoothly once the wallet is installed and funded. The most common issue is the user visiting a dApp and not seeing a wallet connection option. This usually means the dApp does not support Braavos, or the user is on the wrong network. Braavos displays the connected network (mainnet StarkNet or testnet) in the extension header. The dApp must be on the same network as the wallet; connecting to a testnet dApp with a mainnet wallet will not work.
Another frequent issue is transaction failure with a cryptic error message. This usually indicates that the account does not have enough balance to cover the transaction fee, or the dApp is attempting an operation the account smart contract does not support. Users should check their balance and ensure that enough funds remain to pay the fee. If the error persists, the dApp or network may be having issues. Waiting and retrying usually resolves it.
For recovery issues, users should verify that they have the correct guardian setup before testing. If recovery fails, the problem is usually that the guardian method (email, hardware wallet, or backup account) is not properly configured or the authentication step is incomplete. Users should not attempt recovery without being very certain of their guardian setup, because repeated failed recovery attempts can lock the account for security reasons.
Users seeking additional setup guidance or integration help can find structured storage tool walkthroughs for browser setup resources that walk through connection processes, configuration steps, and troubleshooting for multiple wallet types and dApps. Official Braavos documentation is also available through the wallet’s settings, and the StarkNet community forums can answer questions about network-specific issues versus wallet-specific ones.
Ongoing security practices for Layer 2 browser wallet users
Using Braavos or any Layer 2 browser wallet is not a one-time setup process. Security requires ongoing habits. The user should periodically review connected dApps through the wallet’s permissions tab and revoke connections that are no longer needed. A dApp that has access to the wallet can continue requesting transactions even if the user no longer uses it, creating unnecessary risk. Revocation takes seconds and is worth doing regularly.
The user should also stay informed about updates to the wallet and the underlying StarkNet network. Major protocol changes or security patches are announced publicly, and users should review these before approving automatic extension updates. While the browser’s automatic update system is generally reliable, a user aware of what changed can spot issues faster if something goes wrong.
If the user suspects their private key or email account is compromised, they should initiate recovery using their guardian immediately. The sooner the process begins, the sooner the account can be secured. If recovery itself is compromised, the user should consult with the Braavos team or community to determine next steps. Complete account loss is possible if both the private key and all recovery mechanisms are compromised, which is why the guardian system and offline seed phrase storage are not optional for users with significant holdings.
Finally, users should maintain a clear separation between their browser wallet funds and their long-term holdings. A browser wallet is convenient for active trading and testing dApps. A hardware wallet or completely offline storage is appropriate for funds that are not being actively used. This compartmentalization means that even if a browser wallet is compromised, the user’s total exposure is limited to the amount in that specific wallet.
Frequently asked questions
What is the difference between a Braavos account and a standard Ethereum wallet account?
Braavos accounts are smart contracts on StarkNet that implement account abstraction, enabling features like guardian recovery, spending limits, and multi-signature schemes. Standard Ethereum wallets are externally-owned accounts controlled by a private key alone. If you lose the private key to an Ethereum wallet, the account is irrecoverable. With Braavos, you can recover your account using a designated guardian (email, hardware wallet, or another Braavos account) even if the private key is lost. This requires properly configuring the guardian during initial setup.
Is my Braavos wallet still non-custodial if I cannot access the sequencer?
Yes, the wallet remains non-custodial because you control the private key and can sign transactions. However, if StarkNet’s sequencer is unavailable, you cannot submit new transactions until the sequencer returns or the network upgrades to decentralized sequencing. This is inherent to Layer 2 design and applies to all StarkNet wallets, not just Braavos. Your funds are not lost during an outage, but they are temporarily inaccessible. For funds you might need to access immediately, maintain some balance on Layer 1 or a different network.
What should I do if I lose access to my Braavos guardian email address?
If you lose access to your guardian email but still have your private key and can access the Braavos extension on your device, you can still use your wallet. If you lose access to both the private key and the guardian email, your account is at risk. You should have written down your seed phrase during initial setup and stored it offline. You can use the seed phrase to recover your account on a different device, but you will also need to restore guardian access or reconfigure your recovery settings. Document your guardian setup and test the recovery process before you need it.