How it works
Platform mechanics and flow
How FrensPool Works
This document explains the mechanics behind FrensPool, from pool creation to resolution and payout.
Platform Overview
FrensPool operates as a decentralized application (dApp) on the Monad blockchain. The core functionality is powered by smart contracts that handle pool creation, voting, resolution, and fund distribution.
The FrensPool Process
1. Pool Creation
The process begins when a user creates a new prediction pool:
The creator defines a question (e.g., "Will ETH hit $5k before July 2025?")
Sets a buy-in amount (e.g., 0.1 MON)
Sets a deadline for voting
Chooses an oracle type for resolution (Manual, Chainlink, or Social)
Pays the buy-in amount to create the pool
The creator automatically votes YES on their own prediction
2. Participation
After a pool is created:
Other users can view the pool details
To participate, users pay the specified buy-in amount
When participating, users vote either YES or NO on the prediction
All funds are held in the smart contract until resolution
Users can see the current vote distribution and total pool amount
3. Resolution
When the deadline passes:
The pool status changes from "Open" to "Closed"
The resolution process begins based on the oracle type:
Manual: The pool creator manually determines the outcome
Chainlink: The outcome is determined automatically by checking the specified Chainlink price feed
Social: Trusted participants vote on the outcome (currently defaults to manual resolution)
The pool status changes to "Resolved" with the final outcome (YES or NO)
4. Payout
After resolution:
The winning side (those who voted correctly) can claim their share of the pot
The share is proportional to the number of winning participants
A small platform fee (0.5%) is deducted from the total pool
Funds are automatically transferred to winners' wallets when they claim
Smart Contract Mechanics
The FrensPool smart contract handles several key functions:
Pool Storage: Maintains all pool data on-chain
Fund Management: Securely holds all buy-in amounts
Vote Tracking: Records all votes and their amounts
Resolution Logic: Determines winners based on the oracle outcome
Payout Calculation: Calculates each winner's share of the pot
Claim Verification: Ensures only winners can claim their share
Oracle Types in Detail
Manual Oracle
The pool creator manually sets the outcome
Best for subjective questions or when trusted resolution is acceptable
Requires the creator to be honest and active
Chainlink Oracle
Uses Chainlink price feeds to automatically determine outcomes
Best for price-based predictions (e.g., "Will ETH exceed $5k?")
Completely trustless and automated
Requires a valid Chainlink feed address and target price
Social Oracle
Outcome determined by consensus among trusted participants
Best for complex questions that can't be resolved by price feeds
Currently implemented as manual resolution
Future versions will support multi-signature resolution
Fee Structure
FrensPool charges a minimal platform fee:
0.5% of the total pool amount
Deducted only from the winning pot
Used to maintain and improve the platform
Technical Safeguards
FrensPool implements several safeguards:
Deadline Enforcement: Voting closes automatically at the deadline
Double-Voting Prevention: Users can only vote once per pool
Correct Buy-in Verification: System ensures users pay the exact buy-in amount
Winner-Only Claims: Only users who voted correctly can claim winnings
Last updated