SafeMoon Token Logo




Token 3 years
CoinGecko 2 years
CoinMarketCap 3 years
[CoinMarketCap] alert: SafeMoon has been migrated to a new contract address. The old page can be visited here
[CoinGecko] alert: SafeMoon executives were arrested by DOJ in a fraud investigation. Please exercise caution and DYOR. For more information, please refer to this CoinDesk article.
white paper

SafeMoon - Auto-generating liquidity protocol / Static farming.

Laser Scorebeta Last Audit: 14 November 2023

Token seems to be legit.

Modifier TransparentUpgradeableProxy.ifAdmin() (#394-400) does not always execute _; or revert
All the paths in a modifier must execute _ or revert.

Additional information: link

UpgradeableProxy.constructor(address,bytes) (#290-296) ignores return value by Address.functionDelegateCall(_logic,_data) (#294)
TransparentUpgradeableProxy.upgradeToAndCall(address,bytes) (#457-460) ignores return value by Address.functionDelegateCall(newImplementation,data) (#459)
Ensure that all the return values of the function calls are used.

Additional information: link

Pragma version>=0.6.0<0.8.0 (#1) is too complex
Deploy with any of the following Solidity versions: 0.5.16 - 0.5.17, 0.6.11 - 0.6.12, 0.7.5 - 0.7.6 Use a simple pragma version that allows any of these versions. Consider using the latest version of Solidity for testing.

Additional information: link

Address._verifyCallResult(bool,bytes,string) (#252-269) uses assembly
- INLINE ASM (#261-264)
TransparentUpgradeableProxy._setAdmin(address) (#476-483) uses assembly
- INLINE ASM (#480-482)
Address.isContract(address) (#107-116) uses assembly
- INLINE ASM (#114)
UpgradeableProxy._implementation() (#313-319) uses assembly
- INLINE ASM (#316-318)
TransparentUpgradeableProxy._admin() (#465-471) uses assembly
- INLINE ASM (#468-470)
UpgradeableProxy._setImplementation(address) (#334-343) uses assembly
- INLINE ASM (#340-342)
Proxy._delegate(address) (#19-39) uses assembly
- INLINE ASM (#21-38)
Do not use evm assembly.

Additional information: link

Low level call in Address.functionStaticCall(address,bytes,string) (#220-226):
- (success,returndata) = target.staticcall(data) (#224)
Low level call in Address.sendValue(address,uint256) (#134-140):
- (success) ={value: amount}() (#138)
Low level call in Address.functionDelegateCall(address,bytes,string) (#244-250):
- (success,returndata) = target.delegatecall(data) (#248)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (#195-202):
- (success,returndata) ={value: value}(data) (#200)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence

Additional information: link

Address.sendValue(address,uint256) (#134-140) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#185-187) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#195-202) is never used and should be removed
Address.functionStaticCall(address,bytes) (#210-212) is never used and should be removed
Address.functionCall(address,bytes,string) (#170-172) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (#220-226) is never used and should be removed
Address.functionCall(address,bytes) (#160-162) is never used and should be removed
Remove unused functions.

Additional information: link

No disclosed threats

Twitter account link seems to be invalid

Unable to find Telegram link on the website

No disclosed threats

Price for SAFEMOON