NDAPP 🚀 stands for Never Dump Always Pump Protocol, a dump-proof new economic model in DeFi deployed on the BSC network designed to help users achieve financial freedom. NDAPP is an auto-staking rebase token that passively generates profits at a daily 1.93% for its users while preventing the price from dumping. The Team has KYC'd to Pinksale and Audited by Cyberscope. A taxation principle applies to every purchase, sale, or transfer, and an automatically sends 1% to DEAD address 🔥
Reentrancy in NDAPProtocol._transferFrom(address,address,uint256) (#508-565):
External calls:
- swapBack() (#542)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,liquidityReceiver,block.timestamp) (#606-613)
- router.addLiquidity(address(this),busdToken,tokenAmount,busdAmount,0,0,liquidityReceiver,block.timestamp) (#616-625)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#633-639)
- router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#647-653)
External calls sending eth:
- swapBack() (#542)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,liquidityReceiver,block.timestamp) (#606-613)
State variables written after the call(s):
- _gonBalances[sender] = _gonBalances[sender].sub(gonAmount) (#545)
- _gonBalances[recipient] = _gonBalances[recipient].add(gonAmountReceived) (#548)
- gonAmountReceived = takeFee(sender,recipient,gonAmount) (#547)
- _gonBalances[DEAD] = _gonBalances[DEAD].add(deadAmount) (#688)
- _gonBalances[address(this)] = _gonBalances[address(this)].add(feeAmount) (#689)
- _rebase() (#557)
- _gonsPerFragment = TOTAL_GONS.div(_totalSupply) (#757)
Apply the check-effects-interactions pattern.
Additional information: link
Contract ownership is not renounced (belongs to a wallet)
Unable to verify that contract auditor is trusted: Certik, Quantstamp, Hacken, Solidity, Paladinsec, Openzeppelin, Verichains
NDAPProtocol.manualSync() (#487-491) has external calls inside a loop: InterfaceLP(_markerPairs[i]).sync() (#489)
Favor pull over push strategy for external calls.
Additional information: link
NDAPProtocol.totalBuyFee (#359) is set pre-construction with a non-constant function or state variable:
- liquidityFee.add(marketingFee).add(treasuryFee).add(deadFee)
NDAPProtocol.totalSellFee (#360) is set pre-construction with a non-constant function or state variable:
- totalBuyFee.add(sellFeeMarketingAdded).add(sellFeeTreasuryAdded)
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
NDAPProtocol.swapBack() (#656-679) performs a multiplication on the result of a division:
-contractTokenBalance = _gonBalances[address(this)].div(_gonsPerFragment) (#660)
-amountToLiquify = contractTokenBalance.mul(dynamicLiquidityFee.mul(2)).div(realTotalFee) (#662)
NDAPProtocol.swapBack() (#656-679) performs a multiplication on the result of a division:
-contractTokenBalance = _gonBalances[address(this)].div(_gonsPerFragment) (#660)
-amountToTreasury = contractTokenBalance.mul(treasuryFee.mul(2).add(sellFeeTreasuryAdded)).div(realTotalFee) (#663)
NDAPProtocol.setSwapBackSettings(bool,uint256,uint256) (#821-824) performs a multiplication on the result of a division:
-gonSwapThreshold = TOTAL_GONS.div(_denom).mul(_num) (#823)
Consider ordering multiplication before division.
Additional information: link
NDAPProtocol.constructor() (#397-424) ignores return value by IERC20(busdToken).approve(address(router),uint256(- 1)) (#419)
NDAPProtocol.constructor() (#397-424) ignores return value by IERC20(busdToken).approve(address(pairBusd),uint256(- 1)) (#420)
NDAPProtocol.constructor() (#397-424) ignores return value by IERC20(busdToken).approve(address(this),uint256(- 1)) (#421)
NDAPProtocol.getLiquidityBacking(uint256) (#475-481) ignores return value by liquidityBalance.add(balanceOf(_markerPairs[i]).div(10 ** 9)) (#478)
NDAPProtocol._addLiquidity(uint256,uint256) (#605-614) ignores return value by router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,liquidityReceiver,block.timestamp) (#606-613)
NDAPProtocol._addLiquidityBusd(uint256,uint256) (#615-626) ignores return value by router.addLiquidity(address(this),busdToken,tokenAmount,busdAmount,0,0,liquidityReceiver,block.timestamp) (#616-625)
Ensure that all the return values of the function calls are used.
Additional information: link
NDAPProtocol.setMaxSellAmount(uint256) (#807-810) should emit an event for:
- maxSellAmount = _maxSellAmount (#809)
NDAPProtocol.setTwentyFourhours(uint256) (#812-814) should emit an event for:
- TwentyFourhours = _time (#813)
NDAPProtocol.setTargetLiquidity(uint256,uint256) (#816-819) should emit an event for:
- targetLiquidity = target (#817)
- targetLiquidityDenominator = accuracy (#818)
NDAPProtocol.setSwapBackSettings(bool,uint256,uint256) (#821-824) should emit an event for:
- gonSwapThreshold = TOTAL_GONS.div(_denom).mul(_num) (#823)
NDAPProtocol.setFees(uint256,uint256,uint256,uint256,uint256,uint256) (#832-853) should emit an event for:
- liquidityFee = _liquidityFee (#843)
- treasuryFee = _treasuryFee (#844)
- marketingFee = _marketingFee (#845)
- deadFee = _deadFee (#846)
- sellFeeMarketingAdded = _sellFeeMarketingAdded (#847)
- sellFeeTreasuryAdded = _sellFeeTreasuryAdded (#848)
- totalBuyFee = liquidityFee.add(marketingFee).add(treasuryFee).add(deadFee) (#849)
- totalSellFee = totalBuyFee.add(sellFeeMarketingAdded).add(sellFeeTreasuryAdded) (#850)
NDAPProtocol.setRebaseFrequency(uint256) (#869-872) should emit an event for:
- rebaseFrequency = _rebaseFrequency (#871)
NDAPProtocol.setRewardYield(uint256,uint256) (#874-877) should emit an event for:
- rewardYield = _rewardYield (#875)
- rewardYieldDenominator = _rewardYieldDenominator (#876)
NDAPProtocol.setNextRebase(uint256) (#889-891) should emit an event for:
- nextRebase = _nextRebase (#890)
NDAPProtocol.setMaxSellTransaction(uint256) (#893-896) should emit an event for:
- maxSellTransactionAmount = _maxTxn (#895)
Emit an event for critical parameter changes.
Additional information: link
NDAPProtocol.setFeeReceivers(address,address,address)._liquidityReceiver (#826) lacks a zero-check on :
- liquidityReceiver = _liquidityReceiver (#827)
NDAPProtocol.setFeeReceivers(address,address,address)._marketingReceiver (#826) lacks a zero-check on :
- marketingReceiver = _marketingReceiver (#828)
NDAPProtocol.setFeeReceivers(address,address,address)._treasuryReceiver (#826) lacks a zero-check on :
- treasuryReceiver = _treasuryReceiver (#829)
NDAPProtocol.clearStuckBalance(address)._receiver (#855) lacks a zero-check on :
- address(_receiver).transfer(balance) (#857)
Check that the address is not zero.
Additional information: link
Reentrancy in NDAPProtocol._transferFrom(address,address,uint256) (#508-565):
External calls:
- swapBack() (#542)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,liquidityReceiver,block.timestamp) (#606-613)
- router.addLiquidity(address(this),busdToken,tokenAmount,busdAmount,0,0,liquidityReceiver,block.timestamp) (#616-625)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#633-639)
- router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#647-653)
External calls sending eth:
- swapBack() (#542)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,liquidityReceiver,block.timestamp) (#606-613)
State variables written after the call(s):
- _rebase() (#557)
- _totalSupply = _totalSupply.sub(uint256(- supplyDelta)) (#748)
- _totalSupply = _totalSupply.add(uint256(supplyDelta)) (#750)
- _totalSupply = MAX_SUPPLY (#754)
- _rebase() (#557)
- nextRebase = epoch.add(rebaseFrequency) (#759)
Reentrancy in NDAPProtocol.constructor() (#397-424):
External calls:
- pair = IDEXFactory(router.factory()).createPair(address(this),router.WETH()) (#399)
- pairBusd = IDEXFactory(router.factory()).createPair(address(this),busdToken) (#400)
State variables written after the call(s):
- _allowedFragments[address(this)][address(router)] = uint256(- 1) (#402)
- _allowedFragments[address(this)][pair] = uint256(- 1) (#403)
- _allowedFragments[address(this)][address(this)] = uint256(- 1) (#404)
- _allowedFragments[address(this)][pairBusd] = uint256(- 1) (#405)
- _gonBalances[msg.sender] = TOTAL_GONS (#411)
- _gonsPerFragment = TOTAL_GONS.div(_totalSupply) (#412)
- _isFeeExempt[marketingReceiver] = true (#414)
- _isFeeExempt[treasuryReceiver] = true (#415)
- _isFeeExempt[address(this)] = true (#416)
- _isFeeExempt[msg.sender] = true (#417)
- setAutomatedMarketMakerPair(pair,true) (#407)
- _markerPairs.push(_pair) (#782)
- _markerPairs[i] = _markerPairs[_markerPairs.length - 1] (#787)
- _markerPairs.pop() (#788)
- setAutomatedMarketMakerPair(pairBusd,true) (#408)
- _markerPairs.push(_pair) (#782)
- _markerPairs[i] = _markerPairs[_markerPairs.length - 1] (#787)
- _markerPairs.pop() (#788)
- _totalSupply = INITIAL_FRAGMENTS_SUPPLY (#410)
- setAutomatedMarketMakerPair(pair,true) (#407)
- automatedMarketMakerPairs[_pair] = _value (#779)
- setAutomatedMarketMakerPair(pairBusd,true) (#408)
- automatedMarketMakerPairs[_pair] = _value (#779)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in NDAPProtocol._swapAndLiquify(uint256) (#578-603):
External calls:
- _swapTokensForBNB(half,address(this)) (#585)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#633-639)
- _addLiquidity(otherHalf,newBalance) (#589)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,liquidityReceiver,block.timestamp) (#606-613)
External calls sending eth:
- _addLiquidity(otherHalf,newBalance) (#589)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,liquidityReceiver,block.timestamp) (#606-613)
Event emitted after the call(s):
- SwapAndLiquify(half,newBalance,otherHalf) (#591)
Reentrancy in NDAPProtocol._swapAndLiquify(uint256) (#578-603):
External calls:
- _swapTokensForBusd(half,address(this)) (#595)
- router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#647-653)
- _addLiquidityBusd(otherHalf,newBalance_scope_1) (#599)
- router.addLiquidity(address(this),busdToken,tokenAmount,busdAmount,0,0,liquidityReceiver,block.timestamp) (#616-625)
Event emitted after the call(s):
- SwapAndLiquifyBusd(half,newBalance_scope_1,otherHalf) (#601)
Reentrancy in NDAPProtocol._transferFrom(address,address,uint256) (#508-565):
External calls:
- swapBack() (#542)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,liquidityReceiver,block.timestamp) (#606-613)
- router.addLiquidity(address(this),busdToken,tokenAmount,busdAmount,0,0,liquidityReceiver,block.timestamp) (#616-625)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#633-639)
- router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#647-653)
External calls sending eth:
- swapBack() (#542)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,liquidityReceiver,block.timestamp) (#606-613)
Event emitted after the call(s):
- LogRebase(epoch,_totalSupply) (#743)
- _rebase() (#557)
- LogRebase(epoch,_totalSupply) (#761)
- _rebase() (#557)
- Transfer(sender,DEAD,deadAmount.div(_gonsPerFragment)) (#690)
- gonAmountReceived = takeFee(sender,recipient,gonAmount) (#547)
- Transfer(sender,recipient,gonAmountReceived.div(_gonsPerFragment)) (#550-554)
Reentrancy in NDAPProtocol.constructor() (#397-424):
External calls:
- pair = IDEXFactory(router.factory()).createPair(address(this),router.WETH()) (#399)
- pairBusd = IDEXFactory(router.factory()).createPair(address(this),busdToken) (#400)
Event emitted after the call(s):
- SetAutomatedMarketMakerPair(_pair,_value) (#794)
- setAutomatedMarketMakerPair(pair,true) (#407)
- SetAutomatedMarketMakerPair(_pair,_value) (#794)
- setAutomatedMarketMakerPair(pairBusd,true) (#408)
Reentrancy in NDAPProtocol.constructor() (#397-424):
External calls:
- pair = IDEXFactory(router.factory()).createPair(address(this),router.WETH()) (#399)
- pairBusd = IDEXFactory(router.factory()).createPair(address(this),busdToken) (#400)
- IERC20(busdToken).approve(address(router),uint256(- 1)) (#419)
- IERC20(busdToken).approve(address(pairBusd),uint256(- 1)) (#420)
- IERC20(busdToken).approve(address(this),uint256(- 1)) (#421)
Event emitted after the call(s):
- Transfer(address(0x0),msg.sender,_totalSupply) (#423)
Reentrancy in NDAPProtocol.swapBack() (#656-679):
External calls:
- _swapAndLiquify(amountToLiquify) (#667)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,liquidityReceiver,block.timestamp) (#606-613)
- router.addLiquidity(address(this),busdToken,tokenAmount,busdAmount,0,0,liquidityReceiver,block.timestamp) (#616-625)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#633-639)
- router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#647-653)
- _swapTokensForBusd(amountToTreasury,treasuryReceiver) (#671)
- router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#647-653)
- _swapTokensForBNB(amountToMarketing,marketingReceiver) (#675)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,receiver,block.timestamp) (#633-639)
External calls sending eth:
- _swapAndLiquify(amountToLiquify) (#667)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,liquidityReceiver,block.timestamp) (#606-613)
Event emitted after the call(s):
- SwapBack(contractTokenBalance,amountToLiquify,amountToTreasury,amountToMarketing) (#678)
Apply the check-effects-interactions pattern.
Additional information: link
NDAPProtocol.shouldRebase() (#448-450) uses timestamp for comparisons
Dangerous comparisons:
- nextRebase <= block.timestamp (#449)
NDAPProtocol._transferFrom(address,address,uint256) (#508-565) uses timestamp for comparisons
Dangerous comparisons:
- blkTime > tradeData[sender].lastTradeTime + TwentyFourhours (#525)
- (blkTime < tradeData[sender].lastTradeTime + TwentyFourhours) && ((blkTime > tradeData[sender].lastTradeTime)) (#529)
- shouldRebase() && autoRebase (#556)
NDAPProtocol.manualRebase() (#765-774) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(nextRebase <= block.timestamp,Not in time) (#767)
Avoid relying on block.timestamp.
Additional information: link
NDAPProtocol.setAutomatedMarketMakerPair(address,bool) (#776-795) has costly operations inside a loop:
- _markerPairs.pop() (#788)
Use a local variable to hold the loop computation result.
Additional information: link
SafeMath.mod(uint256,uint256) (#108-111) is never used and should be removed
SafeMathInt.abs(int256) (#35-38) is never used and should be removed
SafeMathInt.add(int256,int256) (#29-33) is never used and should be removed
SafeMathInt.div(int256,int256) (#17-21) is never used and should be removed
SafeMathInt.mul(int256,int256) (#9-15) is never used and should be removed
SafeMathInt.sub(int256,int256) (#23-27) is never used and should be removed
Remove unused functions.
Additional information: link
Function IDEXRouter.WETH() (#170) is not in mixedCase
Struct NDAPProtocol.user (#375-379) is not in CapWords
Parameter NDAPProtocol.checkFeeExempt(address)._addr (#440) is not in mixedCase
Parameter NDAPProtocol.setAutomatedMarketMakerPair(address,bool)._pair (#776) is not in mixedCase
Parameter NDAPProtocol.setAutomatedMarketMakerPair(address,bool)._value (#776) is not in mixedCase
Parameter NDAPProtocol.setInitialDistributionFinished(bool)._value (#797) is not in mixedCase
Parameter NDAPProtocol.setFeeExempt(address,bool)._addr (#802) is not in mixedCase
Parameter NDAPProtocol.setFeeExempt(address,bool)._value (#802) is not in mixedCase
Parameter NDAPProtocol.setMaxSellAmount(uint256)._maxSellAmount (#807) is not in mixedCase
Parameter NDAPProtocol.setTwentyFourhours(uint256)._time (#812) is not in mixedCase
Parameter NDAPProtocol.setSwapBackSettings(bool,uint256,uint256)._enabled (#821) is not in mixedCase
Parameter NDAPProtocol.setSwapBackSettings(bool,uint256,uint256)._num (#821) is not in mixedCase
Parameter NDAPProtocol.setSwapBackSettings(bool,uint256,uint256)._denom (#821) is not in mixedCase
Parameter NDAPProtocol.setFeeReceivers(address,address,address)._liquidityReceiver (#826) is not in mixedCase
Parameter NDAPProtocol.setFeeReceivers(address,address,address)._marketingReceiver (#826) is not in mixedCase
Parameter NDAPProtocol.setFeeReceivers(address,address,address)._treasuryReceiver (#826) is not in mixedCase
Parameter NDAPProtocol.setFees(uint256,uint256,uint256,uint256,uint256,uint256)._liquidityFee (#832) is not in mixedCase
Parameter NDAPProtocol.setFees(uint256,uint256,uint256,uint256,uint256,uint256)._treasuryFee (#832) is not in mixedCase
Parameter NDAPProtocol.setFees(uint256,uint256,uint256,uint256,uint256,uint256)._marketingFee (#832) is not in mixedCase
Parameter NDAPProtocol.setFees(uint256,uint256,uint256,uint256,uint256,uint256)._sellFeeMarketingAdded (#832) is not in mixedCase
Parameter NDAPProtocol.setFees(uint256,uint256,uint256,uint256,uint256,uint256)._sellFeeTreasuryAdded (#832) is not in mixedCase
Parameter NDAPProtocol.setFees(uint256,uint256,uint256,uint256,uint256,uint256)._deadFee (#832) is not in mixedCase
Parameter NDAPProtocol.clearStuckBalance(address)._receiver (#855) is not in mixedCase
Parameter NDAPProtocol.setAutoRebase(bool)._autoRebase (#864) is not in mixedCase
Parameter NDAPProtocol.setRebaseFrequency(uint256)._rebaseFrequency (#869) is not in mixedCase
Parameter NDAPProtocol.setRewardYield(uint256,uint256)._rewardYield (#874) is not in mixedCase
Parameter NDAPProtocol.setRewardYield(uint256,uint256)._rewardYieldDenominator (#874) is not in mixedCase
Parameter NDAPProtocol.setFeesOnNormalTransfers(bool)._enabled (#879) is not in mixedCase
Parameter NDAPProtocol.setIsLiquidityInBnb(bool)._value (#884) is not in mixedCase
Parameter NDAPProtocol.setNextRebase(uint256)._nextRebase (#889) is not in mixedCase
Parameter NDAPProtocol.setMaxSellTransaction(uint256)._maxTxn (#893) is not in mixedCase
Variable NDAPProtocol._isFeeExempt (#330) is not in mixedCase
Variable NDAPProtocol._markerPairs (#331) is not in mixedCase
Variable NDAPProtocol.DEAD (#342) is not in mixedCase
Variable NDAPProtocol.ZERO (#343) is not in mixedCase
Variable NDAPProtocol.TwentyFourhours (#381) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Variable IDEXRouter.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#175) is too similar to IDEXRouter.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#176)
Prevent variables from having similar names.
Additional information: link
NDAPProtocol.slitherConstructorVariables() (#313-904) uses literals with too many digits:
- rewardYield = 4000000 (#323)
NDAPProtocol.slitherConstructorVariables() (#313-904) uses literals with too many digits:
- rewardYieldDenominator = 10000000000 (#324)
NDAPProtocol.slitherConstructorVariables() (#313-904) uses literals with too many digits:
- maxSellTransactionAmount = 2500000 * 10 ** 18 (#325)
NDAPProtocol.slitherConstructorVariables() (#313-904) uses literals with too many digits:
- DEAD = 0x000000000000000000000000000000000000dEaD (#342)
NDAPProtocol.slitherConstructorVariables() (#313-904) uses literals with too many digits:
- ZERO = 0x0000000000000000000000000000000000000000 (#343)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
SafeMathInt.MAX_INT256 (#7) is never used in SafeMathInt (#5-39)
Remove unused state variables.
Additional information: link
NDAPProtocol.DEAD (#342) should be constant
NDAPProtocol.ZERO (#343) should be constant
NDAPProtocol.busdToken (#348) should be constant
NDAPProtocol.feeDenominator (#361) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
name() should be declared external:
- ERC20Detailed.name() (#154-156)
symbol() should be declared external:
- ERC20Detailed.symbol() (#158-160)
decimals() should be declared external:
- ERC20Detailed.decimals() (#162-164)
owner() should be declared external:
- Ownable.owner() (#249-251)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#258-261)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#263-265)
addWhitelisted(address) should be declared external:
- WhitelistedRole.addWhitelisted(address) (#290-292)
removeWhitelisted(address) should be declared external:
- WhitelistedRole.removeWhitelisted(address) (#294-296)
renounceWhitelisted() should be declared external:
- WhitelistedRole.renounceWhitelisted() (#298-300)
Use the external attribute for functions never called from the contract.
Additional information: link
BscScan page for the token does not contain additional info: website, socials, description, etc.
Additional information: link
Unable to find audit link on the website
Unable to find whitepaper link on the website
Unable to find token on CoinGecko
Additional information: link
Unable to find token on CoinMarketCap
Additional information: link
Token is not listed at Mobula.Finance
Additional information: link
Unable to find token on CoinHunt
Additional information: link
Unable to find code repository for the project
Young tokens have high risks of scam / price dump / death
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
Telegram account has less than 100 subscribers
Twitter account has relatively few followers
Unable to find Youtube account
Twitter account has few posts