ShopNEXT is a Web3 Loyalty Platform powered by Visa and BNB Chain. We utilize card payment, NFT, and gamification to invent the Shop-To-Earn model.
ShopNEXT allows users to earn token rewards from daily shopping while helping merchants grow their businesses. ShopNEXT token is one kind of loyalty point, but the difference is that it is developed on blockchain and exchangeable. Users can make money from selling the token on cryptocurrency exchanges. That’s how Shop-To-Earn works!
How are we different?
- Our business can contribute real value to the economy by boosting consumer spending and help merchants grow their businesses.
- A sustainable business model. Besides in-app gameplay, ShopNEXT can also earn revenue through external sources (merchants and card issuers) which help us sustain and grow even without new users.
- We've launched External Profit Reserve (EPR) to back all STE tokens issued on the market to make sure every STE has an intrinsic value that is generated by our users through their shopping.
How to get started?
ShopNEXT wants to reward users with tokens on every transaction made through our ecosystem. We believe that this rewarding is the best way to boost customer spending and also improve their motivation to onboard the Web3 world.
- Step 1: Download the ShopNEXT app
- Step 2: Signup for a ShopNEXT account
- Step 3: Link VISA Cards to the app
- Step 4: Upgrade MOON membership
- Step 5: Collect NFT Cards to increase earnings
- Step 6: Improve NFT Card attributes
- Step 7: Accumulate STE to redeem NFT card cases
That is it! You are all-set and welcome to the world of Web3!
Contract ownership is not renounced (belongs to a wallet)
Different versions of Solidity are used:
- Version used: ['^0.8.0', '^0.8.4']
- ^0.8.0 (@openzeppelin/contracts/access/Ownable.sol#4)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/ERC20.sol#4)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#4)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol#4)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol#4)
- ^0.8.0 (@openzeppelin/contracts/utils/Context.sol#4)
- ^0.8.4 (contracts/STE.sol#2)
Use one Solidity version.
Additional information: link
Context._msgData() (@openzeppelin/contracts/utils/Context.sol#21-23) is never used and should be removed
Remove unused functions.
Additional information: link
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#158-167)
burnFrom(address,uint256) should be declared external:
- ERC20Burnable.burnFrom(address,uint256) (@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol#35-38)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (@openzeppelin/contracts/access/Ownable.sol#54-56)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#201-210)
symbol() should be declared external:
- ERC20.symbol() (@openzeppelin/contracts/token/ERC20/ERC20.sol#70-72)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (@openzeppelin/contracts/token/ERC20/ERC20.sol#101-103)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#113-117)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#181-185)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (@openzeppelin/contracts/access/Ownable.sol#62-65)
name() should be declared external:
- ERC20.name() (@openzeppelin/contracts/token/ERC20/ERC20.sol#62-64)
mint(address,uint256) should be declared external:
- ShopNEXT_Reward_Token.mint(address,uint256) (contracts/STE.sol#13-15)
totalSupply() should be declared external:
- ERC20.totalSupply() (@openzeppelin/contracts/token/ERC20/ERC20.sol#94-96)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#136-140)
burn(uint256) should be declared external:
- ERC20Burnable.burn(uint256) (@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol#20-22)
Use the external attribute for functions never called from the contract.
Additional information: link
Not a direct threat, but may indicate unreliable intentions of developer. Widespread names (e.g. Elon, King, Moon, Doge) are common among meme-tokens and scams. The allow to gain free hype and attract unexperienced investors.
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#4) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol#4) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol#4) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/ERC20.sol#4) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/access/Ownable.sol#4) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/utils/Context.sol#4) allows old versions
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
Contract ShopNEXT_Reward_Token (contracts/STE.sol#8-17) is not in CapWords
Follow the Solidity naming convention.
Additional information: link
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 is relatively young, but twitter if very old (probably it's fake).
Unable to find Blog account (Reddit or Medium)
Unable to find Youtube account