Ultra-minimal, on-chain marketplace on Celo Mainnet with full storage.
🎉 Now powered by Reown AppKit! Modern wallet connection supporting 100+ wallets including MetaMask, Valora, WalletConnect, and more. See integration guide
celo-minimarket/
├── contracts/ # Smart contracts
│ └── CeloMiniMarket.sol
├── scripts/ # Deployment scripts
│ └── deploy.js
├── frontend/ # React frontend
│ └── src/
│ ├── abi/ # Contract ABI
│ ├── App.jsx # Main app
│ └── main.jsx # Entry point
├── .env # Environment variables
└── hardhat.config.js # Hardhat configuration
- Node.js & npm installed
- CELO and cUSD in your wallet
- Private key ready for deployment
Compile the contract:
npx hardhat compileDeploy to Celo Mainnet:
npx hardhat run scripts/deploy.js --network celoImportant: Copy the deployed contract address!
After deployment, update the contract address in frontend/src/App.jsx:
const MARKET_ADDRESS = 'YOUR_DEPLOYED_CONTRACT_ADDRESS'Also copy the ABI from artifacts/contracts/CeloMiniMarket.sol/CeloMiniMarket.json to frontend/src/abi/CeloMiniMarket.json.
cd frontend
npm install # Install dependencies (including Reown AppKit)
npm run devFirst time setup: Create frontend/.env file with your Reown project ID:
VITE_REOWN_PROJECT_ID=your_project_id_hereGet a free project ID at cloud.reown.com
Visit http://localhost:5173
cd frontend
npm run buildDeploy the dist/ folder to Vercel, Netlify, or any static host.
Create .env file in root:
CELO_MAINNET_RPC=https://forno.celo.org
PRIVATE_KEY=0xYOUR_PRIVATE_KEY
.env to git!
- cUSD (Mainnet):
0x765DE816845861e75A25fCA122bb6898B8B1282a - Network: Celo Mainnet (Chain ID: 42220)
- Explorer: https://celoscan.io
- addProduct: Vendors add products with name, price, description
- toggleProduct: Vendors activate/deactivate their products
- getActiveProducts: Fetch all active products
- On-chain storage: All data stored on Celo blockchain
- Modern Wallet Connection: Reown AppKit with support for 100+ wallets
- Connect Celo wallet (MetaMask, Valora, WalletConnect, and more)
- Add products to marketplace
- Browse active products
- Buy products with cUSD (direct transfer to vendor)
- Mobile-responsive design
- Tested on Alfajores testnet
- Got CELO & cUSD on mainnet
- Deployed contract to mainnet
- Copied contract address to frontend
- Copied ABI to frontend
- Built and tested frontend locally
- Deployed frontend to hosting platform
- Add product images (IPFS)
- Implement search/filter
- Add vendor profiles
- Display wallet balance
- Add notifications (react-toastify)
- Contract verification on Celoscan
- Reown AppKit Integration Guide
- Reown Cloud (Get Project ID)
- Celo Docs
- Hardhat
- Celoscan
- Faucet (Testnet)
Contract deployment fails:
- Check you have CELO in your wallet for gas
- Verify
.envhas correct private key - Ensure RPC URL is correct
Frontend can't connect:
- Install Celo-compatible wallet (MetaMask with Celo network)
- Add Celo Mainnet to your wallet
- Check contract address is correct in App.jsx
Transactions fail:
- Ensure you have cUSD for payments
- Check you're on Celo Mainnet (Chain ID 42220)
- Verify contract ABI matches deployed contract
MIT