Talk is cheap. Checks are permanent.
CapCheck scans an X profile's recent tweets, pulls out every concrete price prediction, resolves each one against real market data, and scores the account. No opinions โ just receipts.
What counts as a call
A gradable call has three things: an asset, a price target, and a deadline. If any of those are missing, the tweet is noise.
How calls resolve
Each call gets a snapshot of the asset's price at the moment it was posted. On or after the deadline, we pull the historical price from CoinMarketCap (with a CoinGecko fallback) and compare against the target.
- certifiedtarget was hit before the deadline.
- capdeadline passed, target missed.
- pendingdeadline still in the future.
- unresolvableasset or timeframe can't be priced.
Cap score
Think of cap score as a "does following this person make or lose you money" number. It blends hit rate with average P&L across resolved calls โ a few lucky moonshots don't drag up a long tail of misses.
We don't publish a verdict until there are enough resolved calls to be honest. A single good call is a coin flip, not a track record.
Signal (anti-gaming)
Signal โ endorsement. Signal measures how much to trust our measurement of this account โ not whether to trust the caller.
A handle can hit signal 100 and still verdict as cap. That means "we're confident in the measurement, and the measurement says their calls miss." It is not a contradiction.
Creating a fresh account and back-dating "predictions" is the obvious way to game any system like this. Signal penalizes that pattern:
- New accounts (< 30 days) take a hit.
- Low-follower accounts take a hit.
- Predictions with a deadline less than an hour after the tweet are dropped โ that's not a call, that's a post-hoc screenshot.
- We track calls that disappear between scans and flag the account if they do. Delete-your-bad-calls doesn't work here.
Share & embed
Every handle's verdict is available as a live SVG badge you can drop into an X bio, GitHub README, Substack footer โ anywhere <img> works. The badge updates itself when the verdict or hit rate changes.
Scan any handle โ the full markdown/HTML snippets are right on their page. Prefer JSON? Every surface has a read-only endpoint under /api.
What CapCheck can't do
Private accounts โ if an account is followers-only, we can't see their tweets. No verdict possible.
News/sentiment accounts โ some popular accounts tweet constantly but never make falsifiable calls. They're not bad, they're just not gradable. We label these clearly instead of faking a verdict.
Chart TA โ "breaking out of the wedge" without a price target isn't a prediction we can grade. If they name a number, it's in.