This bot detects rake scam tokens that significantly take an additional swap fee (rake) on decentralized exchanges that implement Uniswap V2 logic. The rake recipient is the rake token contract. The rake accumulates over time; when it reaches a specific threshold, it is swapped for ETH and eventually transferred to EOA specified as the recipient(s) in the rake token contract
- Ethereum
- Polygon
- Arbitrum
- Optimism
- Avalanche
- Fantom
- BNBChain
Describe each of the type of alerts fired by this agent
- RAKE-TOKEN-CONTRACT-1
- Fired when a token takes significant percentage fee on Uniswap V2 Router and transfers it to an EOA
- Severity is always set to "low"
- Type is always set to "info"
- Metadata contains the following fields:
rakeTokenAddress
: address of the rake tokenpairAddress
: address of the created uniswap tokens pairfrom
: address of the user initiating the swap transaction on UniswaptotalAmountTransferred
: total amount of scam tokens transferred to Uniswap Router contractactualAmountReceived
: amount received by the user executing the swap following the deduction of swap feerakedFee
: total fee taken by scam token contractrakedFeePercentage
: percentage of the fee raked in by the scam token contractfeeRecipient
: address of the rake token contract which takes the rakeattackerRakeTokenDeployer
: address of the rake token contract deployerrakeTokenDeployTxHash
: transaction hash of the deployed rake token contractanomalyScore
: total finding count divided by total unique rake token addresses detectedethTransferredAfterRakeMetadata
: captures:amount
: amount of ETH transferred after rake fee has reached a specific thresholdEOA
: address to which the ETH is transferred after the total rake fee has reached a specific threshold
- Labels contain:
entity
: rake token deployerentityType
: type of the entity, always set to "Address"label
: type of the label, always set to "Attacker"confidence
: confidence level of the detected transaction, always set to0.6
remove
: boolean indicating whether the label is removed. always set tofalse
The bot behaviour can be verified with the following transactions:
-
0x0347544563b3317f39e8086e0838dc23a8e59cd84440883729247ce42a3794a6 -
Ethereum Mainnet - swapExactTokensForEthSupportingFeeOnTransferTokens
Raked Fee Percentage - 15%
-
0x4333196cf5658ae0b0f66ff29ec755258fad79434f3529966a79657d8eaa45b7 -
Ethereum Mainnet - swapExactETHForTokensSupportingFeeOnTransferTokens
Raked Fee Percentage - 10%
-
0xcde33f74ec5704351da105e153e7012a6303815e6c82acab12bdf016e7da15c1 -
Ethereum Mainnet - swapExactTokensForTokensSupportingFeeOnTransferTokens
Raked Fee Percentage - 5.75%
-
This bot's default THRESHOLD_PERCENTAGEAGE is 3 and this can be changed by modifying the
THRESHOLD_PERCENTAGEAGE
variable insrc/constants.ts
- L18