SpendBit is a crypto-to-card infrastructure prototype built for South Africa.
It enables users to deposit crypto and instantly convert it into spendable balances for future virtual card issuing integrations.
Built for the AlgoFest Hackathon 2026.
In South Africa, converting crypto into spendable money is still slow.
Most exchanges:
- require manual withdrawals
- take hours or days to settle
- force users through banking delays
SpendBit explores a faster alternative:
- deposit crypto
- verify on-chain instantly
- credit user balance
- enable future virtual card spending
- Vue 3 + Vite
- Wallet connection with MetaMask
- ERC20 token deposits
- Live balance fetching
- Transaction success states
- Deposit history UI
- Authentication with Pinia
- Laravel API
- Polygon Amoy transaction verification
- ERC20 transfer validation
- Treasury wallet validation
- Secure deposit logging
- Sanctum authentication
- User-linked deposits
- Polygon Amoy Testnet
- ERC20 token transfers
- On-chain transaction verification
- Vue 3
- Vite
- Pinia
- Axios
- Bootstrap 5
- Ethers.js
- Laravel
- Sanctum
- MySQL
- Polygon Amoy
- ERC20
spendbit/ │ ├── backend/ # Laravel API │ ├── frontend/ # Vue.js application │ └── README.md
- Clone this repository
- navigate to the
backenddirectory - Copy
.envfile:cp .env.example .env - Set the environment variables in
.envfile - Install composer dependencies:
composer install - Generate key:
php artisan key:generate - Run migration and seeders:
php artisan migrate - serve app:
php artisan serve
- navigate to the
frontenddirectory - Copy
.envfile:cp .env.example .env npm installnpm run dev- You can access the project at:
http://localhost:5173
Steps:
- Connect your MetaMask wallet
- Select Polygon Amoy Testnet
- Request test MATIC
- Wait for confirmation
- Network Name: Polygon Amoy Testnet
- RPC URL: https://rpc-amoy.polygon.technology
- Chain ID: 80002
- Explorer: https://amoy.polygonscan.com
- :contentReference[oaicite:0]{index=0}
0xc2132D05D31c914a87C6611C10748AaCB1f0B0c5
- Open MetaMask
- Go to tokens
- Click Import Tokens
- Paste contract address above
- Confirm symbol (USDT)
- Click Add Token
- go to
https://faucet.polygon.technology/ - paste your wallet address and claim tokens