phuture.finance Honeypot
What happened
This record covers a copycat token named "phuture.finance" (PHTR), deployed on Ethereum on 3 June 2021 at 0xc54ac7dd…a0e6b9. It is not the Phuture project's token, whose official address is 0xE1Fc4455…0622dA. Every transfer and transferFrom runs through a modifier named burnTokenCheck.
It lets the owner, an owner-chosen _safeOwner and whitelisted addresses move tokens freely. Any other holder's transfer reverts with a fake "transfer amount exceeds balance" error unless it goes to the Uniswap router address. Because a Uniswap V2 sell sends tokens straight to the pair, not to the router, ordinary holders can buy but not sell.
The owner can also mint unlimited PHTR to itself, and the whitelist, blacklist and _safeOwner setters are disguised as increaseAllowance, addApprove and decreaseAllowance. De.Fi's REKT database lists the token as a honeypot.
How it happened
- The constructor sets
_ownerand_safeOwnerto theownerargument and mints the initial supply (100,000,000 PHTR on-chain) to it. - The owner's first outgoing transfer reassigns
_safeOwnerto its recipient. If that transfer is the liquidity deposit, the Uniswap pair becomes_safeOwner, and every transfer out of the pair (a buy) is allowed. - For a holder who is not the owner,
_safeOwneror whitelisted,burnTokenCheckonly lets the transfer through ifamount < _sellAmountor the recipient is_unirouter._sellAmountstarts at 0, so sells to the pair, and even wallet-to-wallet transfers, revert with "ERC20: transfer amount exceeds balance". - The owner can raise
_sellAmountby transferring tokens to itself. A holder who then sells less than that amount to_safeOwnersucceeds once but is added to_blackAddress, and blacklisted addresses can only send to the router. - The owner can whitelist wallets through
increaseAllowance(address[])ormultiTransfer, blacklist throughaddApprove, reassign_safeOwnerthroughdecreaseAllowance, and mint more PHTR to itself through the public_mint. So only owner-approved wallets can sell into the pool that buyers fund.
Protocol details
Evidence
- report Token Sniffer post on X cited by De.Fi as proof twitter.com
- transaction Copycat PHTR token creation transaction etherscan.io
- address phuture.finance (PHTR) copycat token verified source code etherscan.io
- analysis Sourcify match for 0xc54ac7dda7c67bec2f7b46e6f86f90dd9aa0e6b9 on Ethereum repo.sourcify.dev
- analysis Our token: PHTR (Phuture documentation) docs.phuture.finance
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.