GrowBase Finance Rug Pull

Reported loss $4K
Ethereum
Rugpull

What happened

GrowBase.Finance (GBASE) has an owner-only function named claimRewards() that is not a reward claim: it adds 100,000,000 tokens to the caller's balance (_vOwned[_msgSender()] = _vOwned[_msgSender()].add(feetokens)) without increasing _totalSupply. The initial supply was 100,000 tokens, so the owner could credit itself a balance one thousand times larger than the whole launch supply. Etherscan shows that on 2020-12-31 the deployer 0x8A19BA26…dd83D9 received the 100,000-token initial supply in the deployment transaction 0xdc33e55c…35f233, added liquidity (80,000 GBASE and 54 ETH, tx 0x0280abee…c83886), called claimRewards() at 15:13:02 UTC (tx 0x0345fdc9…dd385e), and 31 seconds later swapped 100M GBASE for 59.4514 WETH on Uniswap V2 (tx 0xc3378386…841851).

De.Fi's REKT database lists the incident as an exit scam / rug pull with 4,025 USD lost.

How it happened

  1. The deployer receives the whole initial supply: initialize sets _vOwned[_msgSender()] = initialSupply with initialSupply = 100000000000000 raw units (100,000 tokens at 9 decimals).
  2. The contract contains an owner-only function that credits the caller: function claimRewards() public virtual onlyOwner { _vOwned[_msgSender()] = _vOwned[_msgSender()].add(feetokens); }, with feetokens = 100000000 * 10 ** DECIMALS, i.e. 100,000,000 tokens. It does not touch _totalSupply, so totalSupply() does not reflect the credit.
  3. The deployer added 80,000 GBASE and 54 ETH to a Uniswap V2 pool at 14:58 UTC on 2020-12-31, which is the market that buyers trade against.
  4. At 15:13:02 UTC the deployer called claimRewards() (transaction succeeded), which under the code above credits the caller 100,000,000 GBASE.
  5. At 15:13:33 UTC the deployer sold 100M GBASE for 59.4514 WETH in one swapExactTokensForETH call on Uniswap V2.

Protocol details

Classification Token
Protocol Type Exit Scam/Rugpull
Affected asset / contract GBASE

Build your security review skills

Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.