Finara is a comprehensive blockchain infrastructure that enables banks to tokenize verified real-world assets and issue on-chain loans to KYC-verified customers. Built on Ethereum Sepolia testnet with ERC-3643 compliant tokens, the platform combines blockchain automation with secure bank-verified data management.
- One-Click Deployment: Deploy Token and Lending contracts through a user-friendly admin dashboard
- Customer Management: Upload and verify KYC customers with blockchain wallet addresses
- Asset Tokenization: Convert real-world assets into ERC-3643 compliant tokens
- Loan Management: Create collateralized loans with customizable interest rates and terms
- Compliance Dashboard: Monitor KYC status, audit trails, and regulatory compliance
- Analytics: Real-time portfolio tracking, loan performance metrics, and customer insights
- Self-Service Portal: Secure login with account number and password
- Asset Management: View all tokenized assets and their current values
- Asset Marketplace: List assets for sale and see interested buyers
- Loan Dashboard: Track active loans, EMI payments, and interest rates
- KYC Profile: View verification status and wallet details
- Blockchain History: Complete transaction history with blockchain proof
- Investment Dashboard: Portfolio overview with real-time analytics
- Asset Marketplace: Browse and purchase tokenized assets
- Order Management: Track buy/sell orders and transaction history
- Blockchain Verification: Every transaction recorded on-chain with TX hash
- Performance Tracking: Monitor ROI and asset performance
- ERC-3643 Compliant Tokens: Only verified KYC customers can hold or trade tokens
- On-Chain Lending: Automated loan disbursement, interest calculation, and collateral management
- Relayer Service: Gasless transactions - no MetaMask required for users
- Transaction Recording: All asset trades recorded on blockchain with full transparency
- Smart Contract Security: Audited contracts with multi-sig wallet support
- BankFactory.sol: Deploys Token and Lending contracts for each bank
- CompliantToken.sol: ERC-3643 inspired token with KYC verification and compliance features
- LendingContract.sol: Manages collateralized loans with automated liquidation
- RESTful API: Complete backend for all operations
- Relayer Service: Handles blockchain transactions using Ethers.js
- Supabase Integration: PostgreSQL database for banks, customers, assets, and loans
- Middleware: Authentication, validation, and error handling
- Landing Page: Modern marketing page with Lottie animations
- Bank Admin Dashboard: Complete management console with SideNav
- Customer Portal: Self-service portal with blockchain transaction tracking
- Investor Dashboard: Asset marketplace with portfolio analytics
- Responsive Design: Glassmorphism UI with smooth animations
- Blockchain: Smart contract state, token balances, loan records
- Supabase: Bank info, customer KYC, asset metadata, transaction logs
- localStorage: Client-side demo data, auth tokens, blockchain transactions
- Node.js (v18 or higher)
- npm or yarn
- Supabase account and project
- Ethereum Sepolia testnet account with ETH for gas
- Hardhat for contract deployment
git clone https://github.com/JAYATIAHUJA/Finara.git
cd Finara# Install backend dependencies
npm install
# Install frontend dependencies
cd Finara
npm install
cd ..Create a .env file in the root directory:
# Ethereum Network Configuration
SEPOLIA_RPC_URL=https://rpc.sepolia.org
PRIVATE_KEY=your_deployer_private_key_here
RELAYER_PRIVATE_KEY=your_relayer_private_key_here
# Factory Contract Address (update after deployment)
FACTORY_ADDRESS=your_factory_address_after_deployment
# Supabase Configuration
SUPABASE_URL=your_supabase_project_url
SUPABASE_ANON_KEY=your_supabase_anon_key
# Server Configuration
PORT=3000- Create a new Supabase project at supabase.com
- Go to the SQL Editor
- Run the schema from
database/schema.sql - Configure Row Level Security policies as needed
- Copy your project URL and anon key to
.env
# Compile contracts
npm run compile
# Deploy to Sepolia testnet
npm run deploy
# Update FACTORY_ADDRESS in .env with the deployed addressnpm run dev
# or for production
npm startThe server will start on http://localhost:3000
Server Status:
- โ Running in demo mode if credentials not configured
โ ๏ธ Database disabled if Supabase not configuredโ ๏ธ Blockchain features disabled if relayer not configured
cd Finara
npm run devThe frontend will start on http://localhost:5173
- Landing Page:
http://localhost:5173/ - Bank Admin Login:
http://localhost:5173/login - Customer Portal:
http://localhost:5173/customer-portal - Investor Dashboard:
http://localhost:5173/investor
- Email: Any email
- Password: Any password
- Account Number: Any number
- Password:
demo123
- Email: Any email
- Password:
demo123
GET /healthPOST /api/deployBank
Content-Type: application/json
{
"bankAddress": "0x...",
"bankName": "Example Bank",
"tokenName": "Bank Token",
"tokenSymbol": "BANK",
"maxSupply": 1000000,
"collateralizationRatio": 15000
}POST /api/uploadCustomers
Content-Type: application/json
{
"bankAddress": "0x...",
"customers": [
{
"name": "John Doe",
"accountId": "ACC001",
"walletAddress": "0x..."
}
]
}POST /api/mintToken
Content-Type: application/json
{
"bankAddress": "0x...",
"walletAddress": "0x...",
"amount": 1000
}POST /api/lend
Content-Type: application/json
{
"bankAddress": "0x...",
"borrowerAddress": "0x...",
"collateralAmount": 1500,
"loanAmount": 1000,
"interestRate": 500,
"duration": 2592000
}For complete API documentation, visit http://localhost:3000/ after starting the server.
Finara/
โโโ contracts/ # Smart contracts
โ โโโ BankFactory.sol
โ โโโ CompliantToken.sol
โ โโโ LendingContract.sol
โโโ backend/
โ โโโ server.js # Express server
โ โโโ config/
โ โ โโโ supabase.js # Database config
โ โโโ routes/ # API routes
โ โโโ services/
โ โ โโโ relayer.js # Blockchain service
โ โโโ middleware/ # Auth & validation
โโโ database/
โ โโโ schema.sql # Supabase schema
โโโ scripts/
โ โโโ deploy.js # Deployment script
โโโ Finara/ # Frontend (React + Vite)
โ โโโ src/
โ โ โโโ components/ # Reusable components
โ โ โโโ pages/ # Route pages
โ โ โโโ services/ # API & blockchain services
โ โ โโโ styles/ # CSS themes
โ โโโ public/ # Static assets
โโโ hardhat.config.js # Hardhat configuration
โโโ package.json
โโโ .env.example
โโโ README.md
- KYC Verification: Only verified addresses can hold tokens
- Transfer Restrictions: Compliance-enforced token transfers
- Relayer Pattern: No user private keys exposed to frontend
- Row Level Security: Supabase RLS policies
- Input Validation: Server-side validation on all endpoints
- Environment Variables: Sensitive data in .env (never committed)
# Run Hardhat tests
npm test
# Test on local network
npx hardhat node
npm run deploy:local- Solidity ^0.8.20
- Hardhat
- Ethers.js v6
- OpenZeppelin Contracts
- Ethereum Sepolia Testnet
- Node.js
- Express.js
- Supabase (PostgreSQL)
- dotenv
- React 18
- Vite
- React Router
- Framer Motion
- Lottie Animations
- Three.js (GridScan)
โ
Bank deployment with factory pattern
โ
ERC-3643 compliant token with KYC
โ
Collateralized lending system
โ
Customer onboarding and verification
โ
Asset tokenization and management
โ
Asset marketplace (Customer โ Investor)
โ
Blockchain transaction recording
โ
Transaction history with TX hashes
โ
Loan creation and tracking
โ
Compliance dashboard
โ
Real-time analytics
โ
Responsive UI with glassmorphism
โ
Lottie animations
โ
Demo mode for easy testing
- Real authentication with JWT
- Payment gateway integration
- Advanced analytics dashboard
- Mobile responsive improvements
- Real-time notifications
- Multi-language support
- Advanced loan features (partial repayment, refinancing)
- NFT integration for unique assets
- Decentralized identity (DID)
- Cross-chain support
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Team Hacka Noodles - Built in 2025
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenZeppelin for secure smart contract libraries
- Supabase for backend infrastructure
- Ethereum community for blockchain standards
- Lottie Files for animations
- Vite and React teams for amazing developer experience
For issues and questions:
- Open an issue in the repository
- Check the documentation in the
docs/folder - Review the flow diagram for architecture understanding
- Repository: https://github.com/JAYATIAHUJA/Finara
- Live Demo: Coming soon
- Documentation: See
/docsfolder
Built with โค๏ธ by Team Hacka Noodles
Transforming traditional banking with blockchain technology