A user sees two entries in their Rabby Wallet portfolio for what appears to be the same asset: one labeled USDC and another labeled USDC.e, or perhaps WETH and ETH marked separately with different contract addresses and balances. The portfolio value seems inflated, and the interface offers no obvious way to understand which version is the «real» token, which bridge protocol created the alternative, or whether both should be consolidated. This confusion is not a Rabby bug. It is a direct consequence of how Ethereum and EVM-compatible blockchains handle token bridges, cross-chain liquidity, and the difference between native assets and their wrapped representations.
The root issue is structural: blockchains do not automatically recognize that two tokens with different contract addresses represent the same underlying asset. When a token moves across a bridge—from Ethereum mainnet to Arbitrum, or from Polygon back to Ethereum—the bridge protocol mints a wrapped or bridged version on the destination chain. If multiple bridge protocols serve the same route, multiple wrapped versions can exist simultaneously. Rabby Wallet displays every token it finds at every address, which is technically correct but operationally confusing. Understanding why this happens and how to manage it requires knowledge of token standards, bridge mechanics, and portfolio tracking limitations.
Why multiple versions of the same token exist on one blockchain
Ethereum mainnet contains USDC issued directly by Circle, the company behind the stablecoin. That token has a specific contract address: 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. When users or protocols want to use USDC on Arbitrum, a different chain, they cannot simply move that contract to Arbitrum; each chain is independent. Instead, a bridge protocol locks the original USDC on Ethereum and mints an equivalent amount of a wrapped version on Arbitrum. Arbitrum’s wrapped USDC might be issued by Stargate, Across, or another bridge provider, each with its own contract address and slightly different mechanics.
This creates a supply split problem. If Bridge A locked 100 million USDC on Ethereum and minted 100 million wrapped-USDC-A on Arbitrum, and Bridge B independently did the same, there are now 100 million «original» USDC locked in Bridge A’s vault, 100 million in Bridge B’s vault, and 100 million wrapped tokens of each type in circulation on Arbitrum. Each version can be traded, used in DeFi, or transferred, but they are not automatically fungible. A smart contract on Arbitrum that expects Bridge A’s wrapped USDC will reject Bridge B’s version, even though both represent the same dollar value backing on Ethereum.
The same dynamic applies across EVM-compatible blockchains: Polygon, Optimism, Base, and dozens of others. Each can have its own bridge routes to Ethereum and to each other. A token that exists on five different chains through three different bridge protocols is technically five different tokens with five different contract addresses. Rabby Wallet’s digital asset management approach is to display all of them because the wallet cannot unilaterally decide which bridge version is the «correct» one. That decision depends on liquidity, adoption, smart contract requirements, and the user’s intent.
The distinction between native, wrapped, and bridged tokens
Native assets are issued directly on their home chain. ETH is native to Ethereum. MATIC is native to Polygon. USDC issued by Circle is native to Ethereum and Polygon (Circle has deployed it on both). When these assets move to another chain through a bridge, they become wrapped tokens. The wrapper is a new smart contract that represents the underlying asset and includes logic to burn wrapped tokens when they are withdrawn back across the bridge.
The distinction matters for liquidity and smart contract compatibility. A protocol on Arbitrum may only accept Arbitrum-native USDC or a specific bridge’s wrapped version, not all wrapped USDC equally. Gas fees, swap slippage, and execution speed differ between bridges. Stargate, for example, is designed to enable liquidity on wrapped tokens across multiple chains, which can mean lower slippage but also different fee structures. Circle has deployed native USDC on Arbitrum directly, which simplifies the ecosystem but required their active participation.
A user holding both native USDC on Arbitrum and wrapped USDC from a bridge actually holds two assets with different cost bases, bridge exit conditions, and potential value. They are not fungible by default. This is why Rabby Wallet extension must display them separately. Merging them in the interface would obscure the actual wallet state and could lead to a user attempting to use wrapped tokens in a context that requires native assets, or vice versa.
Why Rabby Wallet shows duplicate entries
Rabby Wallet uses on-chain data to populate the portfolio. When a user adds an account, the wallet queries blockchain explorers and RPC providers to find all tokens held at that address. The query returns every token transfer and current balance, regardless of whether multiple tokens have similar names or represent the same underlying asset. Rabby has no centralized registry to recognize that «USDC» and «USDC.e» and «USDC.e (Stargate)» all trace back to Circle’s USDC. Instead, the wallet displays what the blockchain actually shows: different contract addresses, different balances, potentially different prices if they trade at a spread.
This approach is conservative and accurate, but it is also unforgiving. A user who received USDC.e through an airdrop or swap, and who also holds native USDC, sees two line items. The portfolio total might suggest they have more assets than they thought, or it might leave them uncertain about actual liquidity. Desktop and browser versions of Rabby show more metadata, such as contract addresses and token symbols, while mobile and Ethereum wallet versions may display abbreviated details, leaving users confused about why balances do not add up intuitively.
The wallet’s transaction transparency features do help contextualize this. If a user reviews past transactions and sees a swap or bridge interaction, they can confirm that they deliberately moved funds across a bridge or received a wrapped version from a protocol. But that still requires active verification. The default experience is confusion. Rabby prioritizes showing the truth—you actually hold these separate tokens—over providing a simplified aggregate view that might obscure an asset’s actual form and location.
Identifying legitimate bridge pairs versus suspicious duplicates
The first step is to recognize the difference between a legitimate wrapped token and a phishing or scam replica. A legitimate wrapped token has a known bridge provider and a clear relationship to the original asset. USDC.e on Arbitrum is USDC bridged via the Across or Stargate protocol; the contract address is published on the bridge’s website and on major explorers like Etherscan and Arbiscan. You can verify the original asset by checking the bridge documentation or asking in trusted community channels.
Scam tokens, by contrast, are created independently with names designed to resemble popular assets. A contract named «USDC_REAL» or «USDC_BRIDGE» that you did not explicitly receive or interact with is a red flag. Check the token’s creator address, transaction history, and liquidity pools. If there are no legitimate trading pairs and the token was airdropped unsolicited, it is almost certainly a scam. Many scams include hidden code that triggers a function when tokens are transferred; moving them can drain an entire wallet. Never attempt to swap or send suspicious tokens; simply ignore them in your portfolio.
For legitimate tokens, verify the contract address against official sources. Circle publishes USDC addresses on all supported chains on their official website. Aave, Compound, and other DeFi protocols publish wrapped token addresses in their documentation. Rabby Wallet allows you to click on a token to see its contract address; compare it against the official list. If the address matches, the token is legitimate. If it does not, delete it from your watch list and do not interact with it.
Manual consolidation and portfolio cleanup strategies
Once you have confirmed which wrapped tokens are legitimate, you face a choice: consolidate them into a single version, or hold multiple versions strategically. Consolidation requires a bridge interaction, which incurs gas fees and time. If you hold USDC.e and want native USDC on Arbitrum, you can bridge USDC.e back to Ethereum, unlock the original USDC, and redeploy it to Arbitrum through Circle’s official bridge. This can take several hours and cost 50–200 USD in fees depending on network congestion.
A simpler approach for smaller amounts is to swap wrapped tokens for native ones using a decentralized exchange. On Arbitrum, Uniswap and other AMMs usually have deep liquidity between USDC, USDC.e, and USDC+ (if multiple native versions exist). A swap is faster than a bridge and may incur lower fees, though you will pay trading slippage. The downside is that each swap is a taxable event in many jurisdictions. If you have held wrapped USDC for months and swap it, you may owe capital gains tax on any appreciation.
For portfolio display purposes, Rabby Wallet allows you to hide or «zero out» token balances you want to ignore visually. This does not delete the tokens—they remain on the blockchain—but it removes them from your main portfolio view. This is useful for dust, scam tokens, or wrapped versions you have decided not to use. To do this, visit the token in Rabby, select the option to hide it, and it will no longer appear in your summary balance. This is a display-only change; the tokens are still there if you need to interact with them later.
Why EVM token bridge confusion reflects a fundamental design limitation
The underlying issue is that Ethereum and EVM-compatible blockchains operate independently. There is no central ledger that says «all USDC tokens across all chains are the same.» Each chain maintains its own state, and bridges are just coordination mechanisms. This design preserves security and decentralization, but it means that native assets cannot automatically exist on multiple chains. Wrapped tokens are the practical solution, but they introduce fragmentation.
Circle’s decision to deploy native USDC on multiple chains was a significant step toward reducing fragmentation, but it did not solve the problem completely. Not every project can or will deploy native assets everywhere. Smaller tokens, stablecoins, and niche assets remain accessible only through bridges, and if multiple bridges exist, multiple wrapped versions are inevitable. The market is supposed to arbitrage away price differences between them, but that arbitrage is imperfect and can leave gaps.
Rabby Wallet cannot solve this fundamental fragmentation. What it can do is display the situation accurately and let users decide. An EVM wallet that tried to automatically merge wrapped tokens would be introducing a dangerous assumption: that two tokens with different contract addresses are always safe to substitute. They are not. A better wallet would offer optional token grouping and explanatory metadata, helping users understand the relationships without hiding complexity. Rabby has moved in that direction with improved labeling and contract verification, but the core limitation remains: trust the user to decide what consolidation means, not the wallet.
Preventing wrapped token confusion in future transactions
The most practical defense is to develop a deliberate asset strategy before moving funds across chains. Decide which bridge you will use for each asset. If you regularly move USDC to Arbitrum, choose either the official Circle bridge (if available) or a single third-party bridge and stick with it. Consistency prevents accidental creation of multiple wrapped versions. When you receive tokens from a swap or airdrop, verify immediately what form they are in and whether they are the version you intended to accept.
Use Rabby’s transaction transparency features to label and track your transfers. When you swap or bridge, include a memo or note in your personal records about the bridge used, date, and reason. This makes it easier to trace wrapped tokens later and understand how they entered your wallet. If you are not using a wrapped version and have no plans to, convert it to the native asset at your earliest opportunity rather than letting it accumulate as portfolio clutter.
For larger holdings, consider centralizing on chains where the asset is native or has deep liquidity in the native form. If you hold significant amounts of USDC, consolidate on Ethereum mainnet, where it is native and most liquid, or on Arbitrum or Polygon, where Circle has deployed it directly. Moving funds across bridges is not free, but it is cheaper than paying taxes on capital gains from unwanted wrapping and consolidation transactions years later.
What to do when confused about your actual holdings
Start with a methodical audit. Open Rabby Wallet and list every token entry that appears in your portfolio. For each one, click to view the contract address. Cross-reference the address against official sources: the project’s website, etherscan.io, or the relevant chain’s block explorer. Make three columns: token name, contract address, and source (official, bridge name, or unknown). For any token marked «unknown» with no official record, it is likely a scam or dust; hide it in Rabby and do not touch it.
For legitimate wrapped tokens, research the bridge that created them. If you received USDC.e, determine whether it was from Across, Stargate, or another protocol. Check the bridge’s website for exit conditions and swap availability. If you no longer use that bridge and want to consolidate, identify the cheapest path: bridge back to the origin chain, or swap directly for a native version on the current chain. Calculate fees before committing.
If you remain uncertain, ask in communities focused on the specific bridge or protocol. r/ethereum, r/arbitrum, or protocol-specific Discord servers can clarify whether a token is legitimate and what consolidation strategy is typical. Do not follow unsolicited offers of help or click links in DMs; these are common phishing tactics. Verify information only through official websites and verified community sources.
Frequently asked questions
Why does Rabby Wallet show USDC and USDC.e as separate tokens with different balances?
They are separate tokens with different contract addresses. USDC is the native token issued by Circle; USDC.e is a wrapped version created by a bridge protocol. Rabby displays all tokens held at your address, regardless of whether they have similar names. Each version has its own contract logic, liquidity pools, and bridge exit conditions. You must decide which form you want to hold and consolidate if necessary.
How do I tell the difference between a legitimate wrapped token and a scam?
Legitimate wrapped tokens have documented bridges and published contract addresses on the bridge provider’s official website. Check Arbiscan, Etherscan, or the chain explorer to verify the contract address against the official source. If a token was unsolicited, has no trading liquidity, or has an address you cannot verify, it is likely a scam. Never try to swap or transfer suspicious tokens; hidden code can drain your wallet. Use Rabby’s hide feature to remove them from view.
What is the cheapest way to consolidate wrapped tokens into native versions?
For significant amounts, use the original bridge to move back to the origin chain, then redeploy natively. For smaller amounts, swap wrapped tokens directly for native ones using a decentralized exchange; you will pay slippage but avoid bridge fees and wait times. Check current liquidity and fees on Uniswap or another AMM before deciding. Remember that each swap is a taxable event in most jurisdictions.