Search projects, hackathons, sponsors and tech

    ← All projects

    Adaptive Prediction Markets

    Where AI Meets Onchain Foresight

    About

    The problem it solves UniMarkets isn't just solving today's problems—it's building the infrastructure for tomorrow's decentralized information economy: 🚀 Collective Intelligence: Harness the wisdom of crowds for better decision-making 🌐 Global Coordination: Enable worldwide collaboration on complex challenges 🔬 Scientific Progress: Accelerate research through prediction-based funding 🏛️ Democratic Innovation: Improve governance through citizen forecasting 🌱 Sustainable Development: Price environmental and social risks accurately UniMarkets transforms prediction markets from a niche trading tool into a global utility for risk management, education, and collective intelligence—making the future more predictable, one trade at a time.

    How it's made

    Challenges we ran into **Wallet Integration Complexity The Problem** // Initial attempt - this didn't work reliably const connectWallet = async () => { if (window.ethereum) { const accounts = await window.ethereum.request({ method: 'eth_requestAccounts' }); // This would fail on mobile, different browsers, etc. } } **The Solution Created a comprehensive wallet context with fallback mechanisms:** // Final solution - robust wallet provider export function WalletProvider({ children }: { children: ReactNode }) { const [isConnected, setIsConnected] = useState(false) const [address, setAddress] = useState<string | null>(null) const [walletType, setWalletType] = useState<"metamask" | "chainlink" | null>(null) // Persistent state management useEffect(() => { const savedWallet = localStorage.getItem("connectedWallet") const savedAddress = localStorage.getItem("walletAddress") if (savedWallet && savedAddress) { setIsConnected(true) setAddress(savedAddress) setWalletType(savedWallet as "metamask" | "chainlink") } }, []) const connectWallet = async (type: "metamask" | "chainlink") => { try { if (type === "metamask") { // Check if MetaMask is installed with better detection if (typeof window !== "undefined" && (window as any).ethereum) { // Robust connection logic with error handling } else { // Graceful fallback - redirect to installation window.open("https://metamask.io/download/", "_blank") throw new Error("MetaMask not installed") } } // Chainlink wallet simulation for demo purposes } catch (error) { console.error("Failed to connect wallet:", error) throw error } } }