<<<<<<< HEAD
A full-stack web application for international money transfers using cryptocurrency to reduce fees. Built with React, Node.js, and blockchain technology.
- π° INR to Crypto Conversion: Convert Indian Rupees to USDT or ETH using real-time exchange rates
- π Real Blockchain Transactions: Send actual USDT/ETH transactions on Sepolia testnet
- π MetaMask Integration: Seamless wallet connection and transaction signing
- π Live Exchange Rates: Real-time conversion rates from CoinGecko API
- πΈ Fee Comparison: Compare costs between traditional banks and crypto transfers
- π± Responsive Design: Modern UI built with Tailwind CSS
- π Secure Transactions: Real blockchain transactions with proper validation
- React.js - User interface
- Tailwind CSS - Styling
- Ethers.js - Blockchain interaction
- React Router - Navigation
- React Hot Toast - Notifications
- Node.js - Server runtime
- Express.js - Web framework
- Ethers.js - Blockchain operations
- Axios - HTTP client
- CORS - Cross-origin resource sharing
- Sepolia Testnet - Ethereum test network
- MetaMask - Wallet integration
- USDT Contract - Token transfers
- ETH - Native cryptocurrency
- Node.js (v16 or higher)
- npm or yarn
- MetaMask browser extension
- Sepolia testnet ETH and USDT
-
Clone the repository
git clone https://github.com/yourusername/SwiftChain.git cd SwiftChain -
Install dependencies
# Install backend dependencies cd server npm install # Install frontend dependencies cd ../client npm install
-
Start the backend server
cd server npm startThe backend will run on
http://localhost:5000 -
Start the frontend application
cd client npm startThe frontend will run on
http://localhost:3000
- Open the application in your browser
- Click "Connect MetaMask"
- Switch to Sepolia testnet
- Ensure you have some SEP (Sepolia ETH) for gas fees
- Enter the amount in INR (minimum βΉ0.01)
- Choose between USDT or ETH
- Enter the recipient's wallet address
- Review the conversion and fees
- Confirm and send the transaction
- View real-time transaction status
- Check transaction hash on Sepolia Etherscan
- Monitor confirmation progress
Create a .env file in the server directory:
PORT=5000
NODE_ENV=development- Get Sepolia ETH: Visit Sepolia Faucet
- Get USDT: Use a DEX like Uniswap on Sepolia
- Add Sepolia Network: The app will automatically prompt you to add Sepolia to MetaMask
SwiftChain/
βββ client/ # React frontend
β βββ public/
β β βββ components/ # Reusable components
β β βββ pages/ # Page components
β β βββ services/ # API and MetaMask services
β β βββ utils/ # Utility functions
β βββ package.json
βββ server/ # Node.js backend
β βββ src/
β β βββ controllers/ # Route controllers
β β βββ routes/ # API routes
β β βββ index.js # Server entry point
β βββ package.json
βββ README.md
POST /api/convert/inr-to-crypto- Convert INR to USDT/ETHGET /api/convert/rates- Get current exchange ratesGET /api/convert/fee-comparison- Compare transfer fees
POST /api/crypto/send- Send crypto transactionGET /api/crypto/transaction/:txHash- Get transaction statusGET /api/crypto/balance/:address- Get wallet balance
- USDT Transfers: Uses the official USDT contract on Sepolia
- ETH Transfers: Direct ETH transactions
- Gas Fee Handling: Automatic gas estimation and payment
- Transaction Confirmation: Real-time status updates
- CoinGecko API: Real-time cryptocurrency prices
- Fallback Rates: Backup rates when API is unavailable
- Multiple Currencies: Support for USDT and ETH
- Address Validation: Ethereum address format verification
- Balance Checking: Prevents insufficient balance transactions
- Network Validation: Ensures correct blockchain network
- Transaction Signing: Secure MetaMask integration
- Testnet Only: This application uses Sepolia testnet for safety
- No Real Money: All transactions use test tokens
- Gas Fees: You need SEP (Sepolia ETH) for transaction fees
- MetaMask Required: Browser wallet extension is mandatory
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
- Ethers.js - Blockchain interaction library
- CoinGecko API - Cryptocurrency price data
- Sepolia Testnet - Ethereum test network
- MetaMask - Web3 wallet
If you encounter any issues or have questions:
- Open an issue on GitHub
- Check the documentation
- Ensure you're on Sepolia testnet
- Verify MetaMask is properly configured
7443bce781e52508aceb82e9b9ed30394823d8b9