A user connects their Rabby wallet to a decentralized exchange, sees an unfamiliar token with promising yield metrics, and approves a swap. Within hours, the token contract is drained, liquidity is removed, and the initial investment is worthless. This pattern—known as a rugpull—destroys retail capital regularly on EVM-compatible networks. The mechanics are simple: fraudulent developers deploy a token, attract deposits through marketing or yield promises, then execute code to steal or lock funds. The tragedy is not that the vulnerability exists; it is that most users never examine the contract or transaction before approval.
Rabby wallet provides transaction simulation and human-readable transaction interpretation tools designed to surface what is actually happening inside a smart contract before a user signs. Yet the wallet is a tool, not a guardian. It cannot prevent a user from approving a transaction they have chosen not to read. Understanding how to recognize suspicious tokens, how to interpret Rabby’s warnings, and how to verify contract code separates careful traders from those who lose capital to avoidable fraud. This guide walks through practical detection methods and real examples.
How rugpulls work and why they exploit user trust
A rugpull is a social engineering attack executed through smart contract code. The developer creates a token, often with a website, social media presence, and promises of returns. Early buyers are encouraged to stake, provide liquidity, or simply hold. Once sufficient capital has been deposited, the attacker calls a hidden function—often named something generic like `withdraw` or `emergencyTransfer`—that drains funds to an address under their control. Liquidity pools are emptied. Token prices collapse to zero. The wallet holding the victims’ tokens becomes a digital cemetery.
The reason rugpulls succeed is not technical sophistication. It is human psychology combined with incomplete verification. Users see a token trending on social media, notice an exchange listing, or receive a referral link. They assume that if others are buying, the token must be legitimate. They may check the contract address on a blockchain explorer, but they rarely read the actual code. Even fewer understand what functions the contract can execute or whether the owner has privileges that override ordinary token mechanics.
The economics are also favorable to attackers. Deploying a token contract on an EVM network costs a small amount of gas—often under one dollar. Creating a convincing website, copying a legitimate project’s branding, and running paid social media ads might cost hundreds or thousands of dollars. But if the rugpull attracts even modest deposits, the return on that investment is substantial. Victims often cannot recover their funds because the attacker can move money through mixers, bridges, or centralized exchanges before law enforcement acts.
Rabby wallet’s transaction simulation and why it matters
When a user initiates a token swap or approves a contract interaction through Rabby wallet, the application simulates the transaction on a local node or service endpoint before the user signs. This simulation executes the code and shows what will actually happen—which tokens will be transferred, what addresses will receive funds, and whether the transaction will fail or succeed. The transaction preview appears as a human-readable summary rather than raw bytecode.
This is a critical feature because most users never see what they are actually approving. A traditional wallet might show “Approve token contract” or “Swap 1 ETH for unknown token.” Rabby wallet breaks this down: it identifies the token being swapped, the recipient address, the slippage, and any additional contract calls embedded in the transaction. If a contract is attempting to steal wallet funds or drain approval allowances, the simulation can sometimes surface this behavior before the user signature is provided.
However, simulation has hard limits. A contract can be programmed to behave differently depending on block conditions, the caller’s identity, or even the time of day. An attacker’s contract might simulate as harmless but execute a rugpull after a certain time threshold or only when called by particular addresses. Simulation also requires connecting to a trusted node or service; if that endpoint is compromised, the preview can be falsified. Rabby’s use of transaction simulation is therefore a necessary safeguard, not a complete guarantee against fraud.
Identifying suspicious token contracts before approval
Several red flags appear consistently in rugpull tokens. First, check the contract’s age. Most legitimate projects have been deployed for months or years. A token created hours or days before you discover it is often newly minted for the express purpose of attracting deposits. Open the contract address in a blockchain explorer such as Etherscan—supported networks by Rabby wallet include Ethereum, Arbitrum, Optimism, Base, Polygon, BNB Smart Chain, and Avalanche—and verify the creation date.
Second, examine the contract ownership and privileges. Navigate to the “Contract” tab in the explorer and look for functions like `mint`, `burn`, `setMaxTxAmount`, `removeMaxTxAmount`, `disableTransfer`, or any function with a name like `emergencyWithdraw`. If the contract owner can call these functions, they have unilateral power over token supply and transfer mechanics. Legitimate projects typically renounce ownership or delegate it to a multisignature contract that requires multiple approvals.
Third, check the token holders. Rugpull tokens often have extreme holder concentration: ninety percent of the supply held by two or three addresses. Scroll through the “Holders” tab and calculate the percentage held by the top ten addresses. If these addresses are exchange contracts or marked as “depleted” (meaning they were recently drained), that is evidence of past or ongoing fraud. A well-distributed token should have no single address holding an unreasonable percentage.
Fourth, verify the liquidity pool. Many rugpulls offer impressive trading volume for hours or days, then vanish. Check the liquidity pool address for the token pair on a DEX like Uniswap or Curve. Look at the transaction history to see when liquidity was added and removed. If a large liquidity removal occurred recently (within hours or days of your discovery), the token is likely in its final stages or already compromised. Real projects maintain and occasionally top up liquidity. Rugpull operators drain it and disappear.
Using Rabby wallet’s tools to read what you are approving
When a decentralized application requests your approval to spend a token through Rabby wallet, the wallet displays a detailed breakdown. This is where most users fail—they skip the summary and click “Approve” without reading. Instead, pause and verify four details: the token being approved, the spender address (the contract that will spend your tokens), the amount, and any warnings Rabby displays.
Open your rabby wallet and test this habit with a transaction you are about to make. Before signing, ask yourself: Is this the token I intended to approve? Does the spender address match the legitimate DEX or protocol I am trying to use? Is the approval amount reasonable, or is it unlimited? Unlimited approvals (set to a value like 2^256-1) are sometimes necessary for complex smart contracts, but they increase the risk that a compromised contract could drain your balance later.
Rabby wallet also flags suspicious contract interactions. If a transaction appears to transfer tokens without a corresponding exchange, or if the contract being called has characteristics of a known scam pattern, the wallet may display a warning banner. These warnings are heuristic-based and not infallible; however, they should always prompt investigation rather than dismissal. Take the warning as a signal to verify the contract code on GitHub or a blockchain explorer before proceeding.
Verifying contract code and checking for known scam patterns
The most reliable way to identify a rugpull is to read the smart contract source code. If the code is not verified on a blockchain explorer, that is already suspicious—legitimate projects publish their source code so users and security auditors can review it. Many rugpulls deliberately obscure code by deploying unverified bytecode.
To verify a contract, navigate to its address on Etherscan or the equivalent explorer for your network, then click the “Contract” tab. If the source code is visible, you can read it directly. Look for the following patterns: functions that transfer tokens to a hardcoded address controlled by the deployer, mint functions with no supply cap, allowlist functions that prevent ordinary users from selling while insiders cash out, or proxy contracts that can be upgraded to change behavior after the token is deployed.
One notorious example is the “Honeypot” pattern: the contract allows buys but blocks sells. The developer purchases a large stake, publicizes it, and waits for retail buyers. When they attempt to sell, the contract reverts their transaction. The developer then sells their stake, leaving retail holders trapped with worthless tokens. This pattern is detectable by trying to simulate a small sell transaction—Rabby wallet will show that the transaction would fail, surfacing the trap before you commit capital.
Check also for proxy patterns. Some contracts use proxies that allow the owner to change the underlying implementation without changing the contract address. A proxy that initially behaves like a standard token can be upgraded to become a honeypot or steal funds. Verified source code may not reveal this risk if the documentation does not explain the upgrade mechanism. Cross-reference the contract with GitHub or the project’s official repository to confirm whether upgradability is intentional and governed by a multisignature wallet rather than a single owner.
Network-specific risks and layer-2 limitations
Rabby wallet supports multiple EVM networks—Ethereum mainnet, Arbitrum, Optimism, Base, Polygon, BNB Smart Chain, and Avalanche—but rugpulls are not distributed equally across them. Layer-2 networks like Arbitrum and Optimism have lower transaction costs, which makes them attractive for legitimate projects; however, they also reduce friction for scammers to launch tokens with minimal cost. Polygon and BNB Smart Chain have historically suffered from high concentrations of rugpull tokens because their low fees and high activity attract both legitimate and fraudulent projects.
Each network also has different security assumptions. Ethereum mainnet benefits from the largest validator set and most mature security infrastructure. Smaller networks may have fewer validators or shorter history, creating more surface area for application-level attacks. This does not mean transactions on other networks are inherently unsafe, but it does mean you should apply extra scrutiny to tokens on unfamiliar networks where you cannot easily verify project legitimacy through community consensus.
Another consideration is bridge risk. If you are moving a token from one network to another (for example, swapping an Ethereum-native token for its Polygon-wrapped version), the bridge itself becomes part of the attack surface. Use only official bridges from well-known projects. Fake bridges that claim to wrap tokens often steal deposits. Verify the bridge address on the official project website before sending funds.
Real-world rugpull examples and detection
A concrete example: In early 2023, a token called “Apecoin Clone” was launched on Polygon with identical branding to the legitimate ApeCoin project. Within six hours, it accumulated five million dollars in liquidity. The contract included an `adminWithdraw` function that was called shortly after the token was added to Uniswap. Funds were drained to an address on Tornado Cash, and holders were left with tokens worth zero. Detection was possible: the contract was verified on Etherscan, and anyone reading the source code would have seen the function. Examining the holder distribution would have revealed that ninety-eight percent of the supply was held by three addresses. Checking the transaction history would have shown unusual patterns of rapid buying followed by massive selling from the deployer’s address.
Another example, more subtle: A “yield farming” protocol offered three hundred percent annual returns through staking. The contract was verified, well-written, and did not contain obvious theft functions. However, the token’s price mechanics included a “reflection” feature—a percentage of every transfer was redistributed to existing holders. This mechanic, while mathematically sound, created a perverse incentive: as fewer tokens remained in circulation, each holder’s share of reflections increased. The scammers bought a large initial stake, hyped the project on social media, and attracted retail buyers. Once the price appreciated and many holders bought in, the developers sold their stake at the peak. The price collapsed because they owned such a significant percentage. But the reflections meant that remaining holders were locked into a downward spiral: they earned their distribution, but the overall token value was worthless.
This second example illustrates why simulation alone is insufficient. The contract executed exactly as designed—no hidden drains, no privilege escalation. But the economic incentives were built to favor insiders. Detection required understanding the token mechanics, checking holder distribution over time, and asking whether the returns were mathematically sustainable.
Building a personal verification checklist
Before approving any token swap or staking interaction through Rabby wallet, run through this checklist. First, verify the contract address. Scammers create fake tokens with names and symbols nearly identical to legitimate projects. Copy the contract address from the DEX or your research, then paste it into the Rabby wallet. Do not rely on search results or links from social media, which are frequently spoofed. Second, check the contract’s age and verify that the source code is published on a blockchain explorer. Third, examine holder concentration and verify that no single address holds an unreasonable majority. Fourth, simulate the transaction through Rabby wallet and read the preview carefully. Fifth, check the liquidity pool age and recent transaction history.
If any of these steps reveals inconsistencies—a newly deployed contract with old branding, unverified code, concentrated ownership, or warning messages from Rabby wallet—do not proceed. The opportunity cost of missing a potential gain is always lower than the certainty of a loss. Rugpulls rely on urgency and fear of missing out. Slowing down to verify eliminates this pressure.
Additionally, never approve unlimited token allowances unless the protocol explicitly requires it and you have verified the contract code. Set approval amounts to only what you intend to spend. Many wallet applications, including Rabby wallet, allow you to edit the approval amount before signing. Use this feature. If a protocol requires an unlimited allowance and does not document why, question whether it is trustworthy.
Frequently asked questions
Can Rabby wallet prevent me from approving a rugpull token?
Rabby wallet provides transaction simulation and human-readable previews to help you understand what you are approving, and it flags suspicious patterns. However, Rabby wallet cannot block an approval you have chosen to make. The wallet is a tool for transparency; the final verification decision rests with you. Always read the transaction details and verify the contract code before signing.
What should I do if I already approved a suspicious token through Rabby wallet?
An approval does not automatically drain your funds, but it gives the contract permission to transfer tokens on your behalf. If you approved a contract you now distrust, you can revoke the approval through Rabby wallet or Etherscan by calling the `approve` function with an amount of zero. This removes the contract’s permission to spend your tokens. Do this before the contract executes a drain.
How can I verify a token contract on a blockchain explorer?
Navigate to the token’s contract address on Etherscan (for Ethereum) or the equivalent explorer for your network. Click the “Contract” tab to view the source code if it is verified. Look for functions that could drain funds, check the owner address for unilateral privileges, and examine the holder distribution. If the code is not verified, that is a major red flag. Combine explorer verification with Rabby wallet’s transaction preview before approving any interaction.