This project is a staking platform for crypto tokens. It is designed specifically for one token, but it can be easily cloned and modified to support other tokens for single asset staking.
- Overview of staked tokens, APR, your token deposits, and earned tokens.
- Claim rewards, withdraw tokens, and deposit tokens functionality.
- Support for four different wallet providers: Metamask, Portis, Wallet Connect, and Coinbase Wallet.
- Fully responsive design that works on all screen sizes.
- Option to mint UNI Tokens for testing.
- Runs on Mumbai testnet.
- Frontend: React (with TypeScript), Redux and TailwindCSS
- Backend (smart contract layer): Solidity, Hardhat and Chai/Mocha for testing
- Connect your wallet (Metamask, Portis, Wallet Connect, or Coinbase Wallet).
- Mint some UNI Tokens for testing by clicking the button below the overview screen on the main page.
- Click on the deposit button to view the current staking overview.
- Choose to claim rewards, withdraw tokens, or deposit tokens.
- See your staking overview update live right in front of your eyes!
To run this project locally, you need to follow these steps:
- Clone the repository.
- Install the dependencies using
npm install
. - Start the local server using
npm start
. - Make sure your wallet is connected to the Mumbai testnet to properly test the website.
In order to read in-depth about the implementation of the staking contract, please visit the smart-contract folder. The smart contract is an updated version of SYNTHETIX's implementation of a staking contract.
Contributions are always welcome!