LocalOracle
Hyperlocal prediction markets, geo-restricted, World ID verified and settled by Chainlink CRE.
What it is
Every existing prediction market operates at city or country scale, because that is all a single centralized oracle can answer. LocalOracle enables hyperlocal prediction markets, will it rain on Strandvägen today? Will the local market close early? These are geo-restricted to participants within a defined radius and settled autonomously by the Chainlink CRE oracle network.
Users within the geo-fence can place bets. World ID ensures every participant is a verified unique human. When a market deadline passes, the CRE workflow fetches weather data from two independent sources (OpenWeatherMap and WeatherAPI), runs ConsensusAggregationByFields across all DON nodes, and settles the market on-chain. If the two sources disagree, Claude AI is called as a tiebreaker, and again, all DON nodes must return identical Claude verdicts before the result is accepted. A single compromised node cannot swing the outcome.
How it Works
- Smart contracts: Solidity (PredictionMarket with onReport IReceiver interface) on Sepolia
- CRE Workflow: TypeScript using HTTPClient (OpenWeatherMap + WeatherAPI), ConsensusAggregationByFields, consensusIdenticalAggregation (Claude tiebreaker), EVMClient, CronCapability
- Frontend: React + Vite deployed on Vercel
- Identity: World ID for participant verification
- Stack: Hardhat, viem, Tailwind CSS
Links
Created by
- Max Karlsson