Oracles
Details about different oracle types
Oracle Types in FrensPool
This document explains the different oracle types available in FrensPool, how they work, and when to use each one.
What are Oracles?
In blockchain applications, oracles are mechanisms that determine the outcome of events that happen outside the blockchain. In FrensPool, oracles are used to resolve prediction pools by determining whether the predicted outcome was YES or NO.
Oracle Types in FrensPool
FrensPool currently supports three types of oracles:
Manual Oracle
Chainlink Oracle
Social Oracle
Each has its own strengths and is suitable for different types of predictions.
Manual Oracle
How It Works
The pool creator manually determines the outcome after the deadline
They visit the pool in their "My Pools" section
They select either "Resolve YES" or "Resolve NO"
The transaction is confirmed on-chain
The pool is resolved based on the creator's decision
Best For
Casual pools among friends who trust each other
Subjective outcomes that can't be determined by data feeds
Events without reliable data sources
Quick and simple resolution
Considerations
Relies entirely on the honesty of the pool creator
No built-in verification mechanism
Best used within trusted social circles
The creator must be available to resolve the pool after the deadline
Chainlink Oracle
How It Works
When creating the pool, the creator specifies:
A Chainlink price feed address
A target price
A condition (greater than/equal to or less than)
After the deadline, the smart contract:
Queries the specified Chainlink price feed
Compares the current price to the target price
Resolves the pool based on the condition
Resolution happens automatically without human intervention
Best For
Price-based predictions (e.g., "Will ETH exceed $5,000?")
Objective outcomes that can be determined by data feeds
Situations requiring trustless resolution
Pools where participants don't know or trust each other
Considerations
Limited to predictions that can be resolved by available price feeds
Requires technical knowledge to set up correctly
More gas-intensive than manual resolution
Currently experimental on Monad Testnet as Chainlink integration is still in development
Available Price Feeds
FrensPool currently supports these Chainlink price feeds on Monad Testnet:
ETH/USD: Ethereum price in US Dollars
BTC/USD: Bitcoin price in US Dollars
LINK/USD: Chainlink price in US Dollars
Note: These are mock feeds for testing purposes. In production, actual Chainlink feeds will be used.
Social Oracle
How It Works
Currently, Social Oracle defaults to Manual resolution. In future versions:
When creating the pool, the creator will specify trusted participants
After the deadline, these participants will vote on the outcome
When consensus is reached (based on a predefined threshold), the pool will resolve
Resolution will be based on the collective decision of trusted participants
Best For
Complex predictions requiring human judgment
Situations where multiple verifiers are preferred
Communities with established trust
Events without reliable data feeds but requiring more trust than a single manual resolver
Considerations
Currently implemented as Manual resolution
Will require coordination among trusted participants
More complex setup than other oracle types
Provides more security than Manual but less than Chainlink for appropriate use cases
Choosing the Right Oracle
Consider these factors when selecting an oracle type:
Nature of the Prediction
Objective, price-based: Use Chainlink
Subjective or complex: Use Manual or Social
Requires human judgment: Use Manual or Social
Trust Level
High trust among participants: Manual is sufficient
Low trust or anonymous participants: Chainlink is preferable
Community-based trust: Social will be ideal when fully implemented
Technical Requirements
Simple setup: Manual is easiest
Price feed available: Chainlink provides automation
Complex verification needed: Social will offer balanced approach
Resolution Speed
Quick resolution: Manual is fastest
Automatic but may require triggering: Chainlink
Requires consensus: Social will take longer
Future Oracle Developments
FrensPool plans to expand oracle capabilities:
Additional Chainlink Feeds: Support for more price pairs and data types
Enhanced Social Oracle: Full implementation of multi-signature resolution
API Oracles: Integration with trusted API sources for various data types
Cross-chain Oracles: Resolution based on events on other blockchains
Last updated