Prediction Markets for Startup Fundraises
The closest thing to trading in private companies' shares
Features β’ Getting Started β’ Architecture β’ Smart Contracts β’ Contributing
FoundersNet is a decentralized prediction market platform where users can bet on whether startups will successfully raise their next funding round. Built on the Movement Network, it leverages the security and efficiency of the Move programming language.
- Investors: Gauge market sentiment on startup funding prospects
- Founders: Understand how the community perceives your fundraising chances
- Traders: Profit from accurate predictions on startup outcomes
- Researchers: Access crowd-sourced probability estimates for startup success
|
Fair, transparent odds where winners share the losing pool proportionally. No house edge manipulation. Built with Move's resource-oriented programming model for maximum security and correctness. Seamless connection with Petra, Pontem, and other Movement-compatible wallets. |
Track your positions, potential profits, and claim winnings with a beautiful dashboard. Movement's high-performance blockchain enables quick transactions with minimal fees. Sleek dark-mode interface with smooth animations and responsive design. |
- Node.js 18+ and npm
- Aptos CLI - Installation Guide
- A Movement-compatible wallet (e.g., Petra)
# Clone the repository
git clone https://github.com/yourusername/foundersnet-prediction-market.git
cd foundersnet-prediction-market
# Install dependencies
npm install
# Copy environment variables
cp .env.example .envCreate a .env file with the following variables:
# Movement Network Configuration
MOVEMENT_RPC_URL=<your-rpc-endpoint>
MOVEMENT_CHAIN_ID=<chain-id>
MOVEMENT_CONTRACT_ADDRESS=<your-deployed-contract-address>
MOVEMENT_RESOURCE_ACCOUNT=<resource-account-address>
MOVEMENT_ADMIN_PRIVATE_KEY=<admin-private-key>
# Client Configuration
VITE_MOVEMENT_RPC_URL=<your-rpc-endpoint>
VITE_MOVEMENT_CHAIN_ID=<chain-id>
VITE_CONTRACT_ADDRESS=<your-deployed-contract-address># Start the development server
npm run devThe app will be available at http://localhost:5000
foundersnet-prediction-market/
βββ π client/ # React frontend
β βββ src/
β β βββ components/ # UI components
β β βββ contexts/ # React contexts (Market, Wallet)
β β βββ pages/ # Route pages
β β βββ services/ # AMM calculations
β β βββ types/ # TypeScript definitions
β βββ index.html
βββ π contracts/ # Move smart contracts
β βββ sources/
β β βββ prediction_market.move
β βββ tests/
β βββ Move.toml
βββ π server/ # Express.js backend
β βββ routes.ts # API endpoints
β βββ services/
β βββ movementClient.ts # Blockchain interaction
βββ π scripts/ # Deployment scripts
β βββ deploy-movement.ts
βββ π shared/ # Shared types
βββ schema.ts
The prediction_market module implements a parimutuel betting system with the following key functions:
| Function | Description | Access |
|---|---|---|
initialize |
Sets up the market registry | Admin only |
create_market |
Create a new prediction market | Admin only |
buy_yes / buy_no |
Place a bet on an outcome | Public |
resolve_market |
Declare the winning outcome | Admin only |
claim_winnings |
Collect winnings from resolved markets | Winners only |
Unlike traditional order-book markets, FoundersNet uses a parimutuel system:
Payout = (Total Pool / Winning Pool) Γ Your Bet
- All bets go into a single pool
- Winners split the entire pool proportionally
- No counterparty risk - payouts are guaranteed by the smart contract
# Run Move tests first
npm run move:test
# Deploy to Movement
npm run move:deploy:movementRequired environment variables:
MOVEMENT_RPC_URL- Movement fullnode REST endpointMOVEMENT_PRIVATE_KEY- Deployer/admin private key (hex)
Optional:
MOVEMENT_PROFILE- Aptos CLI profile name (default:movement)MOVEMENT_RESOURCE_SEED_HEX- Resource account seed (default:01)
Deployment manifest is written to: contracts/deployments/movement.json
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/markets |
List all prediction markets |
GET |
/api/markets/:id |
Get market details |
GET |
/api/positions |
Get user's positions |
POST |
/api/create-market |
Create new market (admin) |
POST |
/api/place-bet |
Place a YES/NO bet |
POST |
/api/resolve-market |
Resolve market outcome (admin) |
POST |
/api/claim-winnings |
Claim winnings |
# Move contract tests
npm run move:test
# Frontend type checking
npm run check- Frontend: React 18, TypeScript, TailwindCSS, Shadcn/ui
- Backend: Express.js, TypeScript
- Blockchain: Movement Network, Move language
- SDK: @aptos-labs/ts-sdk
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Movement Labs for the incredible blockchain infrastructure
- Aptos Labs for the Move language and SDK
- The open-source community for inspiration and tools
Built with β€οΈ for the Movement Hackathon