惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Martin Fowler
Martin Fowler
MyScale Blog
MyScale Blog
博客园 - 聂微东
有赞技术团队
有赞技术团队
The Cloudflare Blog
T
Tailwind CSS Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
月光博客
月光博客
T
The Blog of Author Tim Ferriss
D
Docker
L
LangChain Blog
Vercel News
Vercel News
C
Check Point Blog
博客园 - Franky
博客园 - 三生石上(FineUI控件)
Recent Announcements
Recent Announcements
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
人人都是产品经理
人人都是产品经理

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
The Sweet Lure of Prediction Arb: How I Tried to Speedrun...
Сhekers · 2026-04-24 · via DEV Community

Сhekers

It all started with some casual research. I was deep down the prediction market rabbit hole, trying to figure out if there was any real alpha in playing options strategies based on crypto crowd expectations.

Then I spotted it: the discrepancies. You could buy >Yes< on one platform, grab >No< on another, and pocket a risk-free delta. The spreads weren't massive, but they were definitely there.

Just to give you an idea, here is one of the tastiest setups from that time:

Imagine an NBA market like "New York at Chicago Winner?". On Kalshi, you could buy "YES" for an average of 21.0¢, while on Predictfun you could scoop up the opposing "NO" for 22.3¢. You lock in both sides for roughly 43.3¢ total, guaranteeing a $1.00 payout. As you can see in the stats: you drop $47k to secure both sides, and walk away with $109k. That's a massive +129% net yield (+$61k profit) after fees in a single event. A literal free money glitch.

One of the events from that time

That sweet, sweet arbitrage FOMO hit me hard. My inner degen whispered: "We’re building a real-time monitor. Right now." I teamed up with Claude as my AI co-pilot, delegated the boilerplate, and started slapping together a tracker. After a quick recon, I pulled together 6 platforms: Polymarket, Kalshi, PredictFun, Proba, Limitless, and Opinion.

A table with events from the unreleased website.

The tech side was actually pretty elegant. I whipped up a lightweight Rust architecture: REST requests to scrape all active markets, and WebSockets to pump the order books straight to the frontend. Watch the tape, analyze the spread, ape in. Everything worked flawlessly... until I got to the matching engine.

Matching the exact same real-world event across different platforms turned out to be the boss fight that completely fried my brain.

I designed a 4-stage filtering pipeline:

  1. Xref: PredictFun actually provides direct links to Poly/Kalshi. Easy money. 100% accuracy right out of the gate using a BFS traversal on the relationship graph.
  2. Normalized: If the normalized question string matched 1:1 across platforms = match. This gave me about ~95% accuracy.
  3. Fuzzy Jaccard: For the stragglers. I used an inverted index to find pairs with ≥3 shared words, calculated the Jaccard similarity, and slapped on a strict Entity Guard so it wouldn't accidentally merge "France vs Brazil" with completely different events. Finally, I used Union-Find to stitch transitive chains together.
  4. Merge: The final boss-fusing markets that landed in both the Xref and Normalized buckets.

Sounds like a gigabrain setup, right? But I just couldn't hit that holy grail of 98% accuracy. Edge cases and false positives kept creeping in, entirely because platforms phrase their questions so wildly differently. Honestly, my patience just ran out. I was trying to speedrun the build while hyped on FOMO, and I hit a wall.

The takeaway? Regex and Jaccard aren't enough. You need heavy LLM artillery for this. The real solution is classifying every single question against a strict template, deploying an AI agent to audit and read the actual description rules of each market, and aggressively caching the verified matches. No big deal, just processing 2M+ variations! 😅

I originally planned to ship this monitor to the public, but because of those inaccuracies, I tossed it in the drawer. PredictWit is on pause for now, but the idea is still sitting there, waiting for its time.