Lure aims to bring cryptocurrency exchanges to the forefront of financial activity globally.
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Reentrancy in Lure._transfer(address,address,uint256) (#987-1031):
External calls:
- swapAndLiquify(contractTokenBalance) (#1018)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1079-1086)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1065-1071)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1018)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1079-1086)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1030)
- _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity) (#943)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1112)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1121)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1132)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#859)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1113)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1123)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1133)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#861)
- _tokenTransfer(from,to,amount,takeFee) (#1030)
- _rTotal = _rTotal.sub(rFee) (#898)
- _tokenTransfer(from,to,amount,takeFee) (#1030)
- _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity) (#945)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#858)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#1131)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#1122)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#860)
Apply the check-effects-interactions pattern.
Additional information: link
Contract ownership is not renounced (belongs to a wallet)
Lure.addLiquidity(uint256,uint256) (#1074-1087) ignores return value by uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1079-1086)
Ensure that all the return values of the function calls are used.
Additional information: link
Lure.allowance(address,address).owner (#775) shadows:
- Ownable.owner() (#411-413) (function)
Lure._approve(address,address,uint256).owner (#979) shadows:
- Ownable.owner() (#411-413) (function)
Rename the local variables that shadow another component.
Additional information: link
Lure.setTaxFeePercent(uint256) (#875-877) should emit an event for:
- _taxFee = taxFee (#876)
Lure.setLiquidityFeePercent(uint256) (#879-881) should emit an event for:
- _liquidityFee = liquidityFee (#880)
Lure.setMaxTxPercent(uint256) (#883-887) should emit an event for:
- _maxTxAmount = _tTotal.mul(maxTxPercent).div(10 ** 2) (#884-886)
Emit an event for critical parameter changes.
Additional information: link
Reentrancy in Lure._transfer(address,address,uint256) (#987-1031):
External calls:
- swapAndLiquify(contractTokenBalance) (#1018)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1079-1086)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1065-1071)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1018)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1079-1086)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1030)
- _liquidityFee = _previousLiquidityFee (#972)
- _liquidityFee = 0 (#967)
- _tokenTransfer(from,to,amount,takeFee) (#1030)
- _previousLiquidityFee = _liquidityFee (#964)
- _tokenTransfer(from,to,amount,takeFee) (#1030)
- _previousTaxFee = _taxFee (#963)
- _tokenTransfer(from,to,amount,takeFee) (#1030)
- _tFeeTotal = _tFeeTotal.add(tFee) (#899)
- _tokenTransfer(from,to,amount,takeFee) (#1030)
- _taxFee = _previousTaxFee (#971)
- _taxFee = 0 (#966)
Reentrancy in Lure.constructor() (#731-747):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#736-737)
State variables written after the call(s):
- _isExcludedFromFee[owner()] = true (#743)
- _isExcludedFromFee[address(this)] = true (#744)
- uniswapV2Router = _uniswapV2Router (#740)
Reentrancy in Lure.swapAndLiquify(uint256) (#1033-1054):
External calls:
- swapTokensForEth(half) (#1045)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1065-1071)
- addLiquidity(otherHalf,newBalance) (#1051)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1079-1086)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#1051)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1079-1086)
State variables written after the call(s):
- addLiquidity(otherHalf,newBalance) (#1051)
- _allowances[owner][spender] = amount (#983)
Reentrancy in Lure.transferFrom(address,address,uint256) (#784-788):
External calls:
- _transfer(sender,recipient,amount) (#785)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1079-1086)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1065-1071)
External calls sending eth:
- _transfer(sender,recipient,amount) (#785)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1079-1086)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#786)
- _allowances[owner][spender] = amount (#983)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in Lure._transfer(address,address,uint256) (#987-1031):
External calls:
- swapAndLiquify(contractTokenBalance) (#1018)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1079-1086)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1065-1071)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1018)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1079-1086)
Event emitted after the call(s):
- Transfer(sender,recipient,tTransferAmount) (#1116)
- _tokenTransfer(from,to,amount,takeFee) (#1030)
- Transfer(sender,recipient,tTransferAmount) (#1126)
- _tokenTransfer(from,to,amount,takeFee) (#1030)
- Transfer(sender,recipient,tTransferAmount) (#1136)
- _tokenTransfer(from,to,amount,takeFee) (#1030)
- Transfer(sender,recipient,tTransferAmount) (#864)
- _tokenTransfer(from,to,amount,takeFee) (#1030)
Reentrancy in Lure.constructor() (#731-747):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#736-737)
Event emitted after the call(s):
- Transfer(address(0),_msgSender(),_tTotal) (#746)
Reentrancy in Lure.swapAndLiquify(uint256) (#1033-1054):
External calls:
- swapTokensForEth(half) (#1045)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1065-1071)
- addLiquidity(otherHalf,newBalance) (#1051)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1079-1086)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#1051)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1079-1086)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#984)
- addLiquidity(otherHalf,newBalance) (#1051)
- SwapAndLiquify(half,newBalance,otherHalf) (#1053)
Reentrancy in Lure.transferFrom(address,address,uint256) (#784-788):
External calls:
- _transfer(sender,recipient,amount) (#785)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1079-1086)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1065-1071)
External calls sending eth:
- _transfer(sender,recipient,amount) (#785)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1079-1086)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#984)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#786)
Apply the check-effects-interactions pattern.
Additional information: link
Ownable.unlock() (#458-463) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(now > _lockTime,Contract is locked until 7 days) (#460)
Avoid relying on block.timestamp.
Additional information: link
Address.isContract(address) (#263-272) uses assembly
- INLINE ASM (#270)
Address._functionCallWithValue(address,bytes,uint256,string) (#356-377) uses assembly
- INLINE ASM (#369-372)
Do not use evm assembly.
Additional information: link
Lure.includeInReward(address) (#844-855) has costly operations inside a loop:
- _excluded.pop() (#851)
Use a local variable to hold the loop computation result.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#356-377) is never used and should be removed
Address.functionCall(address,bytes) (#316-318) is never used and should be removed
Address.functionCall(address,bytes,string) (#326-328) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#341-343) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#351-354) is never used and should be removed
Address.isContract(address) (#263-272) is never used and should be removed
Address.sendValue(address,uint256) (#290-296) is never used and should be removed
Context._msgData() (#235-238) is never used and should be removed
SafeMath.mod(uint256,uint256) (#208-210) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#224-227) is never used and should be removed
Remove unused functions.
Additional information: link
Lure._rTotal (#695) is set pre-construction with a non-constant function or state variable:
- (MAX - (MAX % _tTotal))
Lure._previousTaxFee (#703) is set pre-construction with a non-constant function or state variable:
- _taxFee
Lure._previousLiquidityFee (#706) is set pre-construction with a non-constant function or state variable:
- _liquidityFee
Remove any initialization of state variables via non-constant state variables or function calls. If variables must be set upon contract deployment, locate initialization in the constructor instead.
Additional information: link
Low level call in Address.sendValue(address,uint256) (#290-296):
- (success) = recipient.call{value: amount}() (#294)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#356-377):
- (success,returndata) = target.call{value: weiValue}(data) (#360)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Function IUniswapV2Pair.DOMAIN_SEPARATOR() (#502) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (#503) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (#520) is not in mixedCase
Function IUniswapV2Router01.WETH() (#542) is not in mixedCase
Parameter Lure.setSwapAndLiquifyEnabled(bool)._enabled (#889) is not in mixedCase
Parameter Lure.calculateTaxFee(uint256)._amount (#948) is not in mixedCase
Parameter Lure.calculateLiquidityFee(uint256)._amount (#954) is not in mixedCase
Variable Lure._taxFee (#702) is not in mixedCase
Variable Lure._liquidityFee (#705) is not in mixedCase
Variable Lure._maxTxAmount (#714) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#236)" inContext (#230-239)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Variable IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#547) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#548)
Variable Lure._transferBothExcluded(address,address,uint256).rTransferAmount (#857) is too similar to Lure._transferToExcluded(address,address,uint256).tTransferAmount (#1120)
Variable Lure._transferFromExcluded(address,address,uint256).rTransferAmount (#1130) is too similar to Lure._transferToExcluded(address,address,uint256).tTransferAmount (#1120)
Variable Lure._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#919) is too similar to Lure._transferBothExcluded(address,address,uint256).tTransferAmount (#857)
Variable Lure._transferFromExcluded(address,address,uint256).rTransferAmount (#1130) is too similar to Lure._getValues(uint256).tTransferAmount (#903)
Variable Lure._transferBothExcluded(address,address,uint256).rTransferAmount (#857) is too similar to Lure._getValues(uint256).tTransferAmount (#903)
Variable Lure._transferToExcluded(address,address,uint256).rTransferAmount (#1120) is too similar to Lure._transferToExcluded(address,address,uint256).tTransferAmount (#1120)
Variable Lure._transferToExcluded(address,address,uint256).rTransferAmount (#1120) is too similar to Lure._getValues(uint256).tTransferAmount (#903)
Variable Lure._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#919) is too similar to Lure._transferToExcluded(address,address,uint256).tTransferAmount (#1120)
Variable Lure._transferFromExcluded(address,address,uint256).rTransferAmount (#1130) is too similar to Lure._transferFromExcluded(address,address,uint256).tTransferAmount (#1130)
Variable Lure._transferBothExcluded(address,address,uint256).rTransferAmount (#857) is too similar to Lure._transferFromExcluded(address,address,uint256).tTransferAmount (#1130)
Variable Lure.reflectionFromToken(uint256,bool).rTransferAmount (#823) is too similar to Lure._getValues(uint256).tTransferAmount (#903)
Variable Lure._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#919) is too similar to Lure._getValues(uint256).tTransferAmount (#903)
Variable Lure._transferStandard(address,address,uint256).rTransferAmount (#1111) is too similar to Lure._transferStandard(address,address,uint256).tTransferAmount (#1111)
Variable Lure._transferToExcluded(address,address,uint256).rTransferAmount (#1120) is too similar to Lure._transferFromExcluded(address,address,uint256).tTransferAmount (#1130)
Variable Lure._transferStandard(address,address,uint256).rTransferAmount (#1111) is too similar to Lure._transferBothExcluded(address,address,uint256).tTransferAmount (#857)
Variable Lure._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#919) is too similar to Lure._getTValues(uint256).tTransferAmount (#911)
Variable Lure._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#919) is too similar to Lure._transferFromExcluded(address,address,uint256).tTransferAmount (#1130)
Variable Lure._transferStandard(address,address,uint256).rTransferAmount (#1111) is too similar to Lure._transferToExcluded(address,address,uint256).tTransferAmount (#1120)
Variable Lure._getValues(uint256).rTransferAmount (#904) is too similar to Lure._getValues(uint256).tTransferAmount (#903)
Variable Lure._transferStandard(address,address,uint256).rTransferAmount (#1111) is too similar to Lure._getValues(uint256).tTransferAmount (#903)
Variable Lure._transferFromExcluded(address,address,uint256).rTransferAmount (#1130) is too similar to Lure._transferBothExcluded(address,address,uint256).tTransferAmount (#857)
Variable Lure._transferBothExcluded(address,address,uint256).rTransferAmount (#857) is too similar to Lure._transferBothExcluded(address,address,uint256).tTransferAmount (#857)
Variable Lure._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#919) is too similar to Lure._transferStandard(address,address,uint256).tTransferAmount (#1111)
Variable Lure._transferStandard(address,address,uint256).rTransferAmount (#1111) is too similar to Lure._getTValues(uint256).tTransferAmount (#911)
Variable Lure._transferStandard(address,address,uint256).rTransferAmount (#1111) is too similar to Lure._transferFromExcluded(address,address,uint256).tTransferAmount (#1130)
Variable Lure.reflectionFromToken(uint256,bool).rTransferAmount (#823) is too similar to Lure._getTValues(uint256).tTransferAmount (#911)
Variable Lure.reflectionFromToken(uint256,bool).rTransferAmount (#823) is too similar to Lure._transferBothExcluded(address,address,uint256).tTransferAmount (#857)
Variable Lure._transferFromExcluded(address,address,uint256).rTransferAmount (#1130) is too similar to Lure._transferStandard(address,address,uint256).tTransferAmount (#1111)
Variable Lure.reflectionFromToken(uint256,bool).rTransferAmount (#823) is too similar to Lure._transferFromExcluded(address,address,uint256).tTransferAmount (#1130)
Variable Lure._transferBothExcluded(address,address,uint256).rTransferAmount (#857) is too similar to Lure._getTValues(uint256).tTransferAmount (#911)
Variable Lure.reflectionFromToken(uint256,bool).rTransferAmount (#823) is too similar to Lure._transferToExcluded(address,address,uint256).tTransferAmount (#1120)
Variable Lure._transferToExcluded(address,address,uint256).rTransferAmount (#1120) is too similar to Lure._getTValues(uint256).tTransferAmount (#911)
Variable Lure._transferToExcluded(address,address,uint256).rTransferAmount (#1120) is too similar to Lure._transferBothExcluded(address,address,uint256).tTransferAmount (#857)
Variable Lure._getValues(uint256).rTransferAmount (#904) is too similar to Lure._getTValues(uint256).tTransferAmount (#911)
Variable Lure._getValues(uint256).rTransferAmount (#904) is too similar to Lure._transferBothExcluded(address,address,uint256).tTransferAmount (#857)
Variable Lure._getValues(uint256).rTransferAmount (#904) is too similar to Lure._transferFromExcluded(address,address,uint256).tTransferAmount (#1130)
Variable Lure._getValues(uint256).rTransferAmount (#904) is too similar to Lure._transferToExcluded(address,address,uint256).tTransferAmount (#1120)
Variable Lure._transferFromExcluded(address,address,uint256).rTransferAmount (#1130) is too similar to Lure._getTValues(uint256).tTransferAmount (#911)
Variable Lure.reflectionFromToken(uint256,bool).rTransferAmount (#823) is too similar to Lure._transferStandard(address,address,uint256).tTransferAmount (#1111)
Variable Lure._transferBothExcluded(address,address,uint256).rTransferAmount (#857) is too similar to Lure._transferStandard(address,address,uint256).tTransferAmount (#1111)
Variable Lure._transferToExcluded(address,address,uint256).rTransferAmount (#1120) is too similar to Lure._transferStandard(address,address,uint256).tTransferAmount (#1111)
Variable Lure._getValues(uint256).rTransferAmount (#904) is too similar to Lure._transferStandard(address,address,uint256).tTransferAmount (#1111)
Prevent variables from having similar names.
Additional information: link
Lure.slitherConstructorVariables() (#680-1143) uses literals with too many digits:
- _tTotal = 1000000000 * 10 ** 6 * 10 ** 9 (#694)
Lure.slitherConstructorVariables() (#680-1143) uses literals with too many digits:
- _maxTxAmount = 5000000 * 10 ** 6 * 10 ** 9 (#714)
Lure.slitherConstructorVariables() (#680-1143) uses literals with too many digits:
- numTokensSellToAddToLiquidity = 500000 * 10 ** 6 * 10 ** 9 (#715)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
Lure._decimals (#700) should be constant
Lure._name (#698) should be constant
Lure._symbol (#699) should be constant
Lure._tTotal (#694) should be constant
Lure.numTokensSellToAddToLiquidity (#715) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#430-433)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#439-443)
geUnlockTime() should be declared external:
- Ownable.geUnlockTime() (#445-447)
lock(uint256) should be declared external:
- Ownable.lock(uint256) (#450-455)
unlock() should be declared external:
- Ownable.unlock() (#458-463)
name() should be declared external:
- Lure.name() (#749-751)
symbol() should be declared external:
- Lure.symbol() (#753-755)
decimals() should be declared external:
- Lure.decimals() (#757-759)
totalSupply() should be declared external:
- Lure.totalSupply() (#761-763)
transfer(address,uint256) should be declared external:
- Lure.transfer(address,uint256) (#770-773)
allowance(address,address) should be declared external:
- Lure.allowance(address,address) (#775-777)
approve(address,uint256) should be declared external:
- Lure.approve(address,uint256) (#779-782)
transferFrom(address,address,uint256) should be declared external:
- Lure.transferFrom(address,address,uint256) (#784-788)
increaseAllowance(address,uint256) should be declared external:
- Lure.increaseAllowance(address,uint256) (#790-793)
decreaseAllowance(address,uint256) should be declared external:
- Lure.decreaseAllowance(address,uint256) (#795-798)
isExcludedFromReward(address) should be declared external:
- Lure.isExcludedFromReward(address) (#800-802)
totalFees() should be declared external:
- Lure.totalFees() (#804-806)
deliver(uint256) should be declared external:
- Lure.deliver(uint256) (#808-815)
reflectionFromToken(uint256,bool) should be declared external:
- Lure.reflectionFromToken(uint256,bool) (#817-826)
excludeFromReward(address) should be declared external:
- Lure.excludeFromReward(address) (#834-842)
excludeFromFee(address) should be declared external:
- Lure.excludeFromFee(address) (#867-869)
includeInFee(address) should be declared external:
- Lure.includeInFee(address) (#871-873)
setSwapAndLiquifyEnabled(bool) should be declared external:
- Lure.setSwapAndLiquifyEnabled(bool) (#889-892)
isExcludedFromFee(address) should be declared external:
- Lure.isExcludedFromFee(address) (#975-977)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find token contract audit
Unable to find token on CoinGecko
Additional information: link
Unable to find token on CoinMarketCap
Additional information: link
Unable to find token on CoinHunt
Additional information: link
Unable to find audit link on the website
Unable to find Twitter link on the website
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of scam / price dump / death
Token has no active CoinGecko listing / rank
Token has no active CoinMarketCap listing / rank
Young tokens have high risks of price dump / death
Unable to find Discord account