Your digital crypto bank where you can deposit ERC20 tokens, earn rewards like interest, and withdraw anytime—all on a secure and transparent blockchain platform.
VaultVerse is a decentralized finance (DeFi) platform that functions as a digital crypto bank. Users can securely deposit their ERC20 tokens into smart contract vaults, earn interest rewards over time, and withdraw their funds whenever needed. Built with transparency and security at its core, VaultVerse leverages blockchain technology to provide a trustless banking alternative.
- ERC20 Token Deposits — Support for multiple ERC20 tokens
- Interest Rewards — Earn passive income on deposited tokens
- Flexible Withdrawals — Access your funds anytime without lock-in periods
- Multi-Vault System — Create and manage multiple vaults for different tokens
- Real-Time Analytics — Track your earnings and portfolio performance
- Secure Smart Contracts — Audited and tested for maximum security
- Gas Optimization — Efficient contract design to minimize transaction costs
- JavaScript (77.0%) — Core application logic
- HTML (8.9%) — Structure and markup
- CSS (0.7%) — Styling and design
- Solidity (13.4%) — ERC20 vault contracts and reward distribution logic
- Firebase — Hosting and real-time database
- Truffle — Smart contract development and deployment
- Web3.js — Blockchain interaction layer
- Node.js — Runtime environment
- npm — Package management
- Truffle/Hardhat — Testing and deployment framework
- Connect your wallet to the platform
- Select the ERC20 token you want to deposit
- Enter the amount and approve the transaction
- Confirm the deposit in your wallet
- Start earning rewards immediately
- Navigate to your vault dashboard
- Select the vault you want to withdraw from
- Enter the withdrawal amount
- Confirm the transaction
- Receive your tokens plus earned interest
VaultVerse/
├── .firebase/ # Firebase configuration
├── build/ # Compiled smart contracts
├── migrations/ # Truffle migration scripts
├── public/ # Static assets
├── scripts/ # Utility scripts
├── src/ # Frontend source code
│ ├── components/ # React/JS components
│ ├── contracts/ # Contract ABIs
│ ├── utils/ # Helper functions
│ └── App.js # Main application
├── test/ # Smart contract tests
├── truffle-config.js # Truffle configuration
├── firebase.json # Firebase settings
└── package.json # Dependencies
- VaultFactory.sol — Creates and manages vault instances
- TokenVault.sol — Handles deposits, withdrawals, and reward calculations
- RewardDistributor.sol — Manages interest distribution logic
- ERC20Handler.sol — Safe ERC20 token interactions
// Deposit tokens into vault
function deposit(address token, uint256 amount) external
// Withdraw tokens with earned interest
function withdraw(uint256 amount) external
// Claim accumulated rewards
function claimRewards() external
// Get vault balance and earnings
function getVaultInfo(address user) external view returns (VaultInfo memory)Contributions are welcome! Please follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/NewFeature) - Write tests for new functionality
- Commit your changes (
git commit -m 'Add NewFeature') - Push to the branch (
git push origin feature/NewFeature) - Open a Pull Request
Please ensure all tests pass and code follows the project's style guide.
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with OpenZeppelin contracts
- Inspired by leading DeFi protocols like Aave and Compound
- Community feedback and contributions
Sreya Nair — @NairSreya
Project Link: https://github.com/NairSreya/VaultVerse
Banking on the blockchain, secured by code