A user opens Phantom Wallet on a morning when Solana is experiencing high transaction volume. The balance displays correctly. Then, within minutes, it shows zero. Other balances flicker between values. The user can still see their NFTs in the gallery, but attempting to swap or send triggers timeouts. The wallet interface remains responsive; the problem is not a crash. It is a failure in the backend infrastructure that fetches and displays account state.
This scenario repeats during predictable conditions: network congestion, token launch events, liquidation cascades in DeFi protocols, or coordinated trading activity. Phantom Wallet itself does not fail. Instead, the remote procedure call (RPC) nodes that Phantom connects to become overloaded, slow, or inconsistent. Understanding why this happens, what it means for security and usability, and how to mitigate it requires examining the architecture between the user’s device and the blockchain.
What an RPC endpoint is and why Phantom relies on it
A blockchain is a distributed ledger. Your local copy of Phantom Wallet contains only your private keys and recovery phrase; it does not contain a complete copy of the Solana, Ethereum, or Bitcoin ledger. To know your balance, see recent transactions, or estimate gas fees, the wallet must query a remote node. That query happens via JSON-RPC, a lightweight protocol that sends requests like “what is the balance of address X?” to a server and receives a response.
Phantom connects to RPC endpoints provided by multiple sources. The default endpoints are maintained by Phantom developers or operated by infrastructure partners. These nodes track the full state of the blockchain and respond to balance checks, transaction simulation requests, and account history queries. A single user’s wallet may issue dozens of RPC calls per minute: when the balance is refreshed, when a transaction preview is generated, when the NFT gallery loads, and when swap quotes are fetched.
The design is necessary because running a full node locally on a phone or browser would be impractical. A Solana node requires gigabytes of disk space, continuous bandwidth, and significant CPU resources. Delegating that work to remote infrastructure is the standard pattern across wallets. The trade-off is latency, reliability, and dependency on the availability of the RPC provider. When many users simultaneously query the same set of endpoints, response times degrade and requests begin to fail.
This problem is particularly acute during periods of network activity. When Solana processes millions of transactions per second or Ethereum’s base layer experiences sustained demand, RPC nodes experience backpressure. Request queues grow. CPU and memory resources become saturated. Endpoints begin dropping connections or returning stale data. Users see disappearing balances, failed swaps, and apparent freezes. The wallet software itself is functioning correctly; the data it receives has become unreliable or is arriving too slowly to update the display in real time.
Why balances vanish and transactions hang during congestion
Balance display depends on the RPC endpoint returning the current state of your account. That query might look like: “What is the token balance for wallet address ABC123 on the Solana network?” Under normal conditions, this request reaches an RPC node, the node queries its local database, and a response arrives in milliseconds. The wallet displays the result and caches it locally. During high congestion, that same request might time out after 30 seconds, be rejected with an HTTP 429 (rate limit) error, or return stale data from before the recent spike in activity.
When a request times out, many wallets display the last known value or show a loading spinner. Some wallets, including Phantom under certain conditions, may display a zero balance rather than stale information. This is technically safer—displaying incorrect information could lead to incorrect transactions—but it creates the unsettling experience of a balance disappearing entirely. The funds have not left the blockchain. The wallet simply cannot verify the current balance quickly enough to show it.
Transaction submission compounds the problem. When you initiate a swap or transfer, the wallet must first simulate the transaction. Simulation means running the transaction through the blockchain’s state machine to predict the outcome before broadcasting it to the network. This simulation request goes to the same overloaded RPC endpoint. If the endpoint is congested, the simulation may fail or return results based on stale state. You might see a “transaction simulation failed” error or an unexpectedly high slippage warning on a swap. The transaction is not submitted at all until simulation succeeds.
This is actually a protective mechanism. If Phantom submitted a transaction without simulation, the transaction might fail on-chain, wasting network fees and returning your funds unused. By requiring simulation first, Phantom prevents many kinds of errors. But during congestion, the simulation step becomes the bottleneck. The user sees a hang rather than a clear message about RPC availability. The wallet appears unresponsive when the real problem is that the RPC layer cannot keep up with requests.
Identifying whether the problem is your wallet, your RPC, or the network
Before assuming Phantom Wallet is broken, diagnose where the failure actually lies. The first step is to check whether other users are experiencing the same issue. Open a blockchain explorer for the network in question—Solscan for Solana, Etherscan for Ethereum—and verify that blocks are still being produced at the normal rate. If the explorer loads quickly and shows recent transactions, the blockchain itself is functioning. The problem is either Phantom’s RPC endpoints or your local connection.
Next, check Phantom’s status page or community channels. During major congestion events, Phantom developers often post updates explaining which endpoints are affected and when service is expected to improve. These updates help distinguish temporary RPC overload from a persistent bug or network failure. A congestion event typically resolves within minutes to hours as transaction backlogs clear.
If Phantom appears to be the only wallet experiencing the issue, and the blockchain explorer responds normally, the problem is likely Phantom’s default RPC endpoints. If other wallets using the same blockchain are also slow, the underlying network may be congested. To verify, try switching to a different wallet temporarily—Marinade, Nightly, or a browser-based wallet like Orca—and check whether balance queries work. This test is risk-free because you are not moving funds, only querying state. If the other wallet also experiences slow responses, the RPC infrastructure or network is the bottleneck. If the other wallet responds normally, Phantom’s endpoints are the issue.
In some cases, the problem may be your internet connection or device. If your phone is on a slow mobile network or experiencing packet loss, RPC responses will be delayed regardless of endpoint quality. Test by switching to a different network—WiFi instead of cellular, or vice versa—and retry the operation. If performance improves, your local connection was the constraint.
How to configure custom RPC endpoints in Phantom
Phantom Wallet allows users to specify custom RPC endpoints for supported networks, giving you the ability to route requests to a more reliable provider during congestion. To get started with this process, open Phantom and navigate to the settings menu, typically found in the bottom menu or hamburger icon depending on whether you are using the browser extension or mobile application. Look for the network selection interface—this is usually labeled “Solana,” “Ethereum,” or the name of the active network.
Select the network for which you want to add a custom RPC endpoint. You should see an option to “add custom RPC” or “edit RPC.” Choose that option and enter the URL of an alternative RPC provider. There are several publicly available options: QuickNode, Alchemy, Helius, and Triton offer RPC endpoints for major networks. Some require account creation and API key generation; others offer free tier access without authentication. Before using an endpoint, verify its URL format—it should be an HTTP or HTTPS endpoint, not a websocket address.
Once you have entered the endpoint URL, Phantom will test the connection. If the endpoint is accessible and responding, Phantom will begin routing requests to it. The change is immediate. You can switch between RPC endpoints by selecting them from the network menu. Some users maintain a list of three to five endpoints and switch among them during congestion, using whichever responds fastest at the moment.
Be cautious when entering custom RPC endpoints. A malicious RPC endpoint could theoretically return false information about your balance, transaction history, or transaction simulation results. Always use endpoints from reputable providers or run your own node. For sensitive operations—particularly large transfers or swaps—verify that your chosen endpoint is reliable before proceeding. If you are unsure about a provider, stick with Phantom’s default endpoints or established third-party services that are widely documented in the community.
Running your own RPC node as the ultimate fallback
For users who value reliability and do not want to depend on third-party RPC providers, running a personal RPC node is possible but requires significant resources. A Solana validator or full node requires a high-performance computer, persistent broadband connection, and multiple terabytes of storage. The initial synchronization takes hours or days. For Ethereum, the resource requirements are somewhat lower but still substantial. This solution is impractical for most users and defeats the purpose of a mobile or lightweight browser wallet.
However, for a user working from a desktop machine with a stable setup, a personal node offers maximum autonomy. Your wallet queries your own node, eliminating dependency on third-party infrastructure or rate limiting. You maintain the complete history of the blockchain and can verify state independently. The trade-off is the engineering effort and cost—a suitable computer might cost thousands of dollars, and electricity costs accumulate over time.
A middle ground is to use a staking service that provides RPC access as part of its offering. Services like Lido, Marinade Finance, and others operate infrastructure that supports Web3 wallets. Some offer free RPC endpoints to customers. The trade-off is that you become dependent on that service’s uptime and trustworthiness, but the provider is typically highly motivated to maintain reliability because it is their core business.
For most users, the practical approach is to maintain one or two backup RPC endpoints from reputable providers and switch between them during congestion. This requires minimal setup, provides resilience, and does not demand running dedicated hardware. The wallet remains self-custodial; you are only changing where it queries state, not who controls your keys.
The relationship between Phantom Wallet’s multi-chain support and RPC fragmentation
Phantom Wallet now supports Solana, Ethereum, Polygon, Base, Bitcoin, Sui, and additional networks. Each network has its own RPC infrastructure, and each set of endpoints can experience independent congestion. A situation might arise where Solana’s RPC endpoints are overwhelmed but Ethereum’s remain responsive, or vice versa. For a user managing assets across multiple networks, this creates a complex picture: some parts of your portfolio display correctly while others disappear temporarily.
The wallet must manage separate RPC connections for each network. During a crisis scenario—for example, a major liquidation event on a lending protocol that spans multiple chains—multiple RPC infrastructures might become congested simultaneously. Phantom cannot predict which networks will be stressed at any given moment, so it relies on default endpoint providers that have capacity for normal load. When load exceeds capacity, users experience the balance-disappearing problem across all affected networks at once.
This fragmentation makes the custom RPC approach more complex. A user managing Solana, Ethereum, and Polygon simultaneously might need to configure different custom endpoints for each network. Storing and organizing multiple RPC URLs becomes a usability burden. Phantom’s wallet interface does allow this, but the documentation is often incomplete, and many users do not realize they can customize endpoints for networks other than Solana.
The broader implication is that Phantom Wallet’s strength—supporting many networks—also exposes users to fragmented infrastructure reliability. A wallet focused on a single network could carefully optimize endpoints for that chain; a multi-chain wallet must balance resources across several RPC infrastructures. This is partly why Phantom Wallet has increasingly partnered with RPC providers like Helius to offer more reliable endpoints as defaults, but the underlying constraint remains: RPC infrastructure scales with adoption, and adoption during high-demand periods can exceed capacity.
When to file a bug report versus when to wait it out
Distinguishing between a genuine bug and temporary congestion matters because it affects your next action. If Phantom Wallet is experiencing widespread RPC issues during a known congestion event, filing a bug report will not speed the resolution. The problem is upstream, and waiting for the congestion to pass is the only viable option. However, if you are the only user experiencing the issue—for example, a specific transaction preview fails while others complete successfully—a bug report to Phantom developers may be warranted.
File a bug report through Phantom’s official channels: the in-app help menu, the community Discord, or GitHub issues. Include the network name, the operation that failed (balance check, swap simulation, transaction broadcast), the RPC endpoint you were using (default or custom), the wallet address, and the approximate time. If you can replicate the failure with a specific transaction or address, describe the steps. This information helps developers isolate whether the problem is wallet-side or RPC-side.
Do not assume a balance disappearing is a critical bug requiring immediate action. During high congestion, this is expected behavior in most wallets. Similarly, transaction simulation failures during congestion are normal. Your funds are not at risk; the wallet is simply unable to verify the current state quickly enough. If you absolutely need to move funds and cannot access your primary wallet, using a different wallet, RPC endpoint, or network can work around the issue. But avoid making hasty decisions based on incorrect balance information.
If a specific RPC endpoint consistently fails across multiple sessions and days—suggesting a provider outage rather than temporary congestion—then switching endpoints or reporting the issue to the provider makes sense. Include sufficient detail that the provider can investigate your specific account or region. Some providers geo-load-balance endpoints, and a single region might experience degradation while others remain responsive.
Future improvements to RPC resilience and Phantom’s roadmap
The Phantom Wallet team has invested in improving RPC reliability through partnerships and fallback mechanisms. Recent developments include automatic endpoint failover, where Phantom detects slow responses and routes subsequent requests to a different provider without user intervention. This is invisible to the user but significantly reduces the frequency of the balance-disappearing problem. Additionally, Phantom has implemented response caching more aggressively, so if one RPC endpoint becomes temporarily unavailable, older cached balance information is displayed with a “last updated X minutes ago” label rather than a zero balance.
Longer-term solutions involve reducing the RPC query load altogether. One approach is websocket subscriptions, which allow the wallet to maintain a persistent connection to an RPC endpoint and receive push notifications when balance changes occur, rather than polling continuously. This reduces request volume and can improve responsiveness. Another is indexing services like Helius or QuickNode that cache frequently requested queries and can respond faster than querying the full node directly.
The underlying tension is that centralized RPC infrastructure creates a bottleneck for a decentralized network. Ideally, users would run their own nodes, but the resource requirements make this impractical for mobile wallets. Phantom cannot solve this problem unilaterally; it requires improvements in node software efficiency, better RPC infrastructure tools, and possibly protocol changes to reduce the amount of state that must be queried. In the meantime, users should understand that RPC congestion is a feature of the current architecture, not a wallet flaw.
Frequently asked questions
Why does my Phantom Wallet balance show zero during network congestion?
Your balance is disappearing because the RPC endpoint Phantom is querying has become overloaded and cannot respond to balance requests. Rather than display stale or incorrect information, Phantom shows zero as a safety measure. Your funds remain on the blockchain; the wallet simply cannot verify the current balance quickly enough. The issue resolves once the RPC endpoints recover capacity, typically within minutes to hours.
How do I add a custom RPC endpoint to Phantom Wallet?
Open Phantom, navigate to settings, select the network you want to modify, and choose “add custom RPC” or “edit RPC.” Enter the URL of an alternative RPC provider such as QuickNode, Alchemy, or Helius. Phantom will test the connection and begin routing requests to it. You can switch between endpoints at any time by selecting them from the network menu. Always use endpoints from reputable providers to avoid receiving false information about your balance or transactions.
Is it safe to use custom RPC endpoints, and could they steal my funds?
A custom RPC endpoint can see your address and transaction queries, but it cannot access your private keys or funds because they remain stored locally on your device. However, a malicious RPC endpoint could return false information about your balance, transaction simulation results, or gas fees, potentially leading to incorrect decisions. Always use endpoints from established providers and verify the URL before entering it. For high-value transactions, test with a small amount first or verify the information against a blockchain explorer.