e-STD Rug Pull
What happened
e-STD (e-STD, 18 decimals, 5,000,000 supply, BNB Smart Chain) is a fee-on-transfer token whose entire supply was credited to the deployer at deployment, and whose owner can change every fee ratio without a cap. CertiK's Skynet alert of 26 September 2022 reported an exit scam on e-STD (contract 0x7aA4B693…B64C1a): the price had dropped by more than 76% and about $49K appeared to have been taken. De.Fi's REKT database lists the deployer as sending e-STD to 2 EOA addresses, and three scammer addresses, 0xe5f616a5…f6b8d1, 0x7f37e061…ebce39 and 0x168ec864…832caa, selling a large amount of e-STD on PancakeSwap for a profit of 49,000 USD; its transfer transactions are 0xf963f5f9…f75dd2 and 0xf067769d…46888c.
The token code has no dedicated sell-block function and no mint function, but owner-set fee ratios or a zero market address can make every non-whitelisted sale revert. No source shows that any of these settings was changed, so the code explains how the supply was concentrated and what the owner could do to sellers, not why the sales succeeded.
How it happened
What the code allows:
- The constructor credits the entire supply to the deployer:
_balances[msg.sender] = _totalSupply;. Supply is fixed (_totalSupplyis only set there) and there is no mint function, so the deployer wallet holds every token until it sends them on. - Any transfer whose sender is not the pair (
addressLp) is treated as a sale, and non-whitelisted senders pay deductions:if (!listWhite.isexists(from)){then, in the sale branch,_rebate_sell_inviter,_rebate_sell_market, a burn of_rebateValue(value,ratio_sell_burn),_rebate_all_fixedand_rebate_all_Lp. The sender is debited the full amount (each rebate calls_balances[from] = _balances[from].sub(valueRatio);and the remainder isvalueM = valueM.sub(valueInviter).sub(valueMarket).sub(valueFixed).sub(valueLp);). With the default ratios the deductions total up to 7%. - The owner controls the ratios and who is exempt.
function SetListWhite(address _address) public onlyOwnermakes a sender fee-free,function setAddressMarket(address _address) public onlyOwnerredirects the market share, and every ratio setter takes auint8with no ceiling on the combined total.function setRatioMax(uint8 _ratioMax) public onlyOwnerchanges the divisor inreturn value.mul(ratio).div(ratio_max);, so lowering it inflates every deduction; once the deductions reach the full amount the seller receives nothing, and beyond that.subreverts, so the owner can make every non-whitelisted sale fail.setAddressMarkethas no zero-address check, while_rebate_sell_marketand_rebate_buy_marketboth carry thecheckAddress(addressMarket)modifier, which runsrequire(_address != address(0),"zero address ");, so setting the market address to zero would make every non-whitelisted transfer revert. There is norenounceOwnership, onlytransferOwnershipto a non-zero address.
, as reported by CertiK and De.Fi's REKT database: 4. CertiK's alert reports an exit scam with the price down more than 76% and about $49K taken. De.Fi's REKT database lists the deployer sending tokens to 2 EOA addresses and three scammer addresses, including the deployer, selling a large amount of e-STD for a profit of 49,000 USD.
Neither source says that any fee ratio, whitelist entry or market address was changed.
Protocol details
Evidence
- report CertiK Alert post on the e-STD exit scam (via fxtwitter mirror of the X post) twitter.com
- transaction bscscan.com transaction 0xf067…888c bscscan.com
- transaction bscscan.com transaction 0xf963…5dd2 bscscan.com
- address BscScan verified source for e-STD (0x7aA4B6937DE7118bf4C8e56F9df3a99ceFB64C1a) bscscan.com
- address bscscan.com address 0x168e…2caa bscscan.com
- address bscscan.com address 0x7f37…ce39 bscscan.com
- address bscscan.com address 0xe5f6…b8d1 bscscan.com
- analysis Sourcify repository entry for the same contract repo.sourcify.dev
- analysis De.Fi REKT database listing for e-STD de.fi
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.