A React web application enabling users to purchase USB Tokens using Ethereum (ETH) or Bitcoin (BTC), with direct wallet integration for MetaMask (EVM) and UniSat (Bitcoin).
- Multi-Crypto Purchases: Buy USB tokens with ETH (via smart contracts) or BTC (via testnet/mainnet Bitcoin transactions).
- Web3 Wallet Connectivity: Instant connection with MetaMask and UniSat browser extensions.
- Real-Time Exchange Rates: Live USD conversion rates powered by CoinGecko API.
- Order Tracking: Real-time status polling for transaction confirmations and USB token deliveries.
- Node.js:
>= 18.x(nodejs.org) - Browser Extension Wallet: MetaMask and/or UniSat Wallet
- Stabolut Backend: Running locally on
http://localhost:8003or a remote instance.
git clone https://github.com/Stabolut/frontend.git
cd frontend
npm installCopy the .env.example template:
cp .env.example .envEdit .env to configure your backend API and network IDs:
# Backend API URL
REACT_APP_API_URL=http://localhost:8003/api/v1/stabolut
# Ethereum Chain ID (11155111 for Sepolia, 1 for Mainnet)
REACT_APP_ETH_NETWORK_ID=11155111
# Bitcoin Network (testnet or mainnet)
REACT_APP_BTC_NETWORK=testnet
# CoinGecko Exchange Rate API
REACT_APP_COINGECKO_URL=https://api.coingecko.com/api/v3/simple/npm startThe application will open automatically in your browser at http://localhost:3000.
npm run buildThis generates optimized static files in the build/ directory, ready to deploy to Nginx, Vercel, Netlify, or AWS S3.
Contributions are welcome! Please see CONTRIBUTING.md for workflow details.
This project is licensed under the MIT License - see the LICENSE file for details.