Crypto-native prediction markets for Africa
PakoMarket is a prediction market platform that allows users to stake USDC on real-world events. Inspired by Polymarket but simplified for Nigerian users, it provides a clean, mobile-first interface for betting on politics, economy, and other events.
- Mobile-First Design - Optimized for Nigerian users
- Simple Betting UX - "Back Yes/No" and "Cashout" terminology
- USDC Staking - Low-fee trading on Polygon
- Transparent Resolution - Public resolution log with sources
- Dispute Window - 48h period for challenging results
- Admin Dashboard - Multisig-controlled resolution system
├── apps/web/ # Next.js 14 frontend
├── packages/sdk/ # TypeScript SDK (viem/wagmi)
├── contracts/ # Solidity smart contracts
└── docs/ # Documentation & resolution log
- Node.js 18+
- pnpm 8+
- Foundry (for contracts)
# Clone the repository
git clone https://github.com/your-org/pakomarket.git
cd pakomarket
# Install dependencies
pnpm install
# Copy environment variables
cp env.example .env
# Edit .env with your configuration# Start development server
pnpm dev
# Run tests
pnpm test
# Build all packages
pnpm build
# Lint and format
pnpm lint
pnpm format# Web app
pnpm dev --filter web
pnpm build --filter web
# SDK
pnpm build --filter sdk
pnpm typecheck --filter sdk
# Contracts
pnpm test --filter contracts
pnpm build --filter contracts- Connect Wallet - MetaMask, Trust Wallet, or WalletConnect
- Browse Markets - View available prediction markets
- Stake USDC - Back Yes or No on events
- Cashout Early - Exit positions if odds move favorably
- Redeem Winnings - Claim rewards after resolution
- Create Markets - Set up new prediction markets
- Resolve Events - Post results with evidence
- Handle Disputes - Review and resolve disputes
- Manage Treasury - Control platform liquidity
# Network
NEXT_PUBLIC_CHAIN_ID=80002
NEXT_PUBLIC_RPC_URL=https://rpc-amoy.polygon.technology
# WalletConnect
NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID=your_project_id
# Contracts
NEXT_PUBLIC_USDC_ADDRESS=0x...
NEXT_PUBLIC_FACTORY_ADDRESS=0x...
# Monitoring
SENTRY_DSN=your_sentry_dsn# Deploy to Amoy testnet
cd contracts
forge script script/Deploy.s.sol --rpc-url $AMOY_RPC_URL --private-key $PRIVATE_KEY --broadcast
# Deploy to Polygon mainnet
forge script script/Deploy.s.sol --rpc-url $POLYGON_RPC_URL --private-key $PRIVATE_KEY --broadcast --verify- Multisig Resolution - 2-of-3 multisig for critical operations
- Reentrancy Protection - All external calls protected
- Slippage Guards - Prevent MEV and sandwich attacks
- Pause Mechanism - Emergency stop for all operations
- Audit Ready - Comprehensive test coverage
# Run all tests
pnpm test
# Contract tests with coverage
cd contracts && forge coverage
# Web app tests
pnpm test --filter webThe web app is automatically deployed to Vercel on push to main branch.
Contracts are deployed via GitHub Actions using Foundry.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
MIT License - see LICENSE for details.
- Discord: Join our community
- Email: support@pakomarket.com
- Twitter: @PakoMarketApp
Built with ❤️ for Africa