A decentralized prediction market built on the Stellar blockchain
Root workspace now uses npm workspaces and shares constants through constants/.
contracts/- Soroban smart contract Rust codefrontend/- Next.js frontendbackend/- Node.js API serveroracle/- Oracle connectorsconstants/- shared TypeScript constants / config
Stella Polymarket is a decentralized prediction market platform where users forecast real-world events and earn rewards using Stellar (XLM) or custom tokens.
It combines:
- ⚡ Stellar's fast, low-cost transactions
- 🧩 Smart contracts via Soroban
- 📊 Real-time data via oracles
- 🌍 Focus on global and African markets
Prediction markets are one of the most powerful tools for aggregating collective intelligence — yet most existing platforms are:
- Expensive — high gas fees make small stakes impractical
- Exclusive — built for crypto-native users in developed markets
- Opaque — centralized platforms can manipulate outcomes
- Slow — settlement takes days on congested networks
Stella Polymarket fixes this by building on Stellar, a blockchain designed for fast, cheap, and accessible financial transactions.
| Problem | Stella Polymarket Solution |
|---|---|
| High fees on Ethereum | Stellar transactions cost fractions of a cent |
| Slow settlement | Stellar confirms in 3–5 seconds |
| Centralized control | Soroban smart contracts — trustless and transparent |
| Inaccessible to emerging markets | Built with Africa and global south in mind |
| Complex UX | Simple wallet connect + one-click betting |
Whether you're a casual user predicting football results or a serious forecaster tracking macroeconomic trends, Stella Polymarket gives you a fair, fast, and transparent arena to put your knowledge to work.
Users stake tokens on outcomes of real-world events.
- Correct prediction → earn rewards
- Wrong prediction → lose stake
| Market | Type |
|---|---|
| Will Bitcoin reach $100k before 2027? | Binary |
| Will Nigeria inflation drop below 15% this year? | Binary |
| Will Arsenal win the Premier League? | Binary |
| Will AI replace 30% of jobs by 2030? | Binary |
- Market Creation — Anyone can create a market with automated validation (permissionless)
- User Participation — Users connect their Stellar wallet and stake XLM or tokens on an outcome
- Fund Locking — Funds are locked in Soroban smart contracts (transparent + tamper-proof)
- Oracle Resolution — External data source confirms the result (sports API, financial feed, etc.)
- Payout Distribution — Winners share the pool proportionally; platform takes a small fee
Markets are created instantly without admin approval through automated validation:
- Description: Minimum 50 characters for context
- Outcomes: 2-5 options (binary or multi-choice)
- End Date: Must be future date within 1 year
- No Duplicates: Unique questions only
- Rate Limit: 3 markets per wallet per 24 hours
- Creation Fee: Configurable fee (default 0) charged in the market's token — burned or sent to DAO treasury
See Permissionless Launch Guide for details. See Creation Fee & DAO Governance for fee configuration.
Client (Web/App)
↓
API Layer (Node.js / Express)
↓
Stellar Network (Soroban Smart Contracts)
↓
Database (PostgreSQL / MongoDB)
↓
Oracle Services (External APIs)
↓
Response → UI Dashboard
- 📊 Prediction Markets — Binary (Yes/No) and multiple choice
- 💰 Tokenized Staking — XLM or custom Stellar assets, optional liquidity pools
- 🧾 On-chain Transparency — All bets recorded on-chain, publicly verifiable
- 🧠 AI Insights (Optional) — Predictive suggestions and trend analysis
- 🏆 Gamification — Leaderboards, reputation scores, NFT badges (future)
// Simplified Soroban contract flow
create_market(question, end_date, outcomes)
place_bet(market_id, outcome, amount)
lock_funds(market_id, user, amount)
resolve_market(market_id, winning_outcome) // oracle-triggered
distribute_rewards(market_id)STELLA Token — used for:
- Governance voting
- Fee discounts
- Rewards distribution
Oracles can sometimes be wrong. The dispute voting mechanism gives the community a way to challenge incorrect resolutions and protect users.
Dispute Flow:
- Open Dispute: Any token holder can open a dispute within 24 hours of market resolution. This pauses all payout distributions.
- Weighted Voting: For the next 24 hours, users can cast votes (Support or Reject). Voting power is strictly weighted 1:1 by the user's STELLA token balance at the time of voting.
- Threshold Check: If the 'Support' votes cross the 60% threshold (
support_votes / total_votes > 0.6), the market immediately enters aReReviewstate. - Resolution: After the deadline, the dispute is closed, and the final outcome is determined based on the vote results or admin review if in
ReReview.
| Layer | Technology |
|---|---|
| Frontend | React / Next.js, Tailwind CSS, Freighter Wallet |
| Backend | Node.js / Express |
| Database | PostgreSQL / MongoDB |
| Blockchain | Stellar Network, Soroban Smart Contracts |
| Oracles | Chainlink / Custom APIs |
- Landing Page (hero + live stats)
- Market Dashboard
- Market Detail Page
- Wallet + Portfolio
- Leaderboard
User predicts: "NGN will strengthen vs USD"
Stakes: 50 XLM
Market closes → Oracle confirms result
User wins → receives 120 XLM
- 🌍 Built for global and African markets
- ⚡ Ultra-low fees (Stellar advantage)
- 📱 Mobile-friendly prediction platform
- 🔗 Transparent and trustless system
- DAO governance
- Social prediction feeds
- Copy trading (follow top predictors)
- Cross-chain support
- Mobile app
stella-polymarket/
├── frontend/ # Next.js + Tailwind UI
├── backend/ # Node.js API server
├── contracts/ # Soroban smart contracts (Rust)
├── oracle/ # Oracle integration services
└── docs/ # Architecture diagrams + specs
To test smart contracts locally without spending real Testnet XLM, you can spin up a standalone Stellar network with the Soroban RPC enabled:
docker compose up -d# Clone the repo
git clone https://github.com/your-username/stella-polymarket.git
cd stella-polymarket
# Install frontend deps
cd frontend && npm install
# Install backend deps
cd ../backend && npm install
# Run locally
npm run devSmart contract deployment requires the Soroban CLI.
Stella Polymarket includes comprehensive stress testing to ensure platform stability under peak load.
# Install test dependencies
pip install -r requirements.txt
# Start backend server
cd backend && npm start
# Run stress tests
python3 run-stress-test.py- 500 concurrent users placing bets simultaneously
- 50 simultaneous market resolutions under load
- 1000 concurrent WebSocket connections for real-time updates
- p95 latency < 2000ms
- Error rate < 1%
- Throughput > 8 requests/second
Stress tests run automatically on every PR to main branch via GitHub Actions. Tests must pass before merge.
MIT © Stella Polymarket