Void.Cash Rug Pull

Reported loss $34K
Rugpull

What happened

void.cash (VCASH) was an Ethereum token whose owner can switch trading off for everyone except itself. While limitsEnabled is true, pauseTrading makes every transfer between two addresses that are not fee-excluded revert with ErrTradingNotActive, which covers any holder selling into the Uniswap pair, while transfers from or to the owner skip all limit checks. CertiK reported that trading on the token had been paused since 21 March 2023.

On 2023-04-23 the deployer, which is also the contract owner on-chain today, sold 70,418,494.24 VCASH into the pool for about 18.804 ETH, which CertiK flagged as an exit scam. The record values the loss at about USD 34,148.

How it happened

  1. The deployer is the owner and the hard-coded devWallet, and the constructor excludes it from fees and max-transaction limits.
  2. In _transfer, bool isOwner = from == owner() || to == owner(); and the limit block runs only if (limitsEnabled && !isSwapping && !isOwner && !isBurning), so the owner's transfers bypass every limit.
  3. Inside that block, if (!tradingEnabled) { if (!isExcludedFromFees[from] && !isExcludedFromFees[to]) { revert ErrTradingNotActive(); } } blocks ordinary holders, because neither they nor the pair are fee-excluded.
  4. pauseTrading is an onlyOwner function that sets tradingEnabled = false, and the owner can call it at any time. CertiK reported that trading had been paused since 21 March 2023.
  5. On 2023-04-23 at 04:06 UTC the deployer sold 70,418,494.24 VCASH through the Uniswap Universal Router and received about 18.804 WETH (tx 0x552e65b7…d144f6).

Protocol details

Classification Token
Protocol Type Exit Scam/Rugpull
Affected asset / contract VCASH
Protocol links Website @voidcasherc

Build your security review skills

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