How It Works

A plain explanation of how a rating gets made here, including the parts that are automated, the parts a person does by hand, and where the honest limits are.

What this actually is

This tool looks up a Bitcoin trader, analyst, or influencer's public history and tries to find specific, dated calls they made (price targets, directional predictions, cycle calls) along with what actually happened afterward. Those individual calls get scored by a fixed formula to produce a 0 to 100 rating. It is not investment advice, it is a track record check, and it is only as complete as the calls that get found and recorded.

How a trader gets researched

There are two different ways a trader's calls end up in the database, and it matters which one was used, so both are disclosed here rather than hidden.

Normal path, the AI API. A request goes to Google's Gemini API in two steps. First, a search grounded call asks the model to research the person's public track record using live web search, the same kind of search you could run yourself, and write up what it finds with sources. Second, a separate call converts that write up into strict structured data (call date, direction, price target, outcome, source link) with no web search involved, just formatting. The model's "creativity" setting (temperature) is turned down low on both steps on purpose, since this is meant to be fact finding, not creative writing. Even then, the API is not perfectly repeatable. The same person researched twice on the same day can occasionally turn up a slightly different set of calls, since live web search results themselves are not static.

Manual path, used when the API budget is capped. Running this against the API costs real money per lookup. When that budget runs out or gets capped, new research still happens, just by hand instead: a person (working with an AI assistant, doing its own web search rather than calling the paid API) reads the same kind of public sources, a handful of clearly dated, sourced calls, and enters them using the exact same fields and the exact same scoring formula below. This is disclosed directly on the trader's own summary text whenever it happens, and it usually means a smaller sample of calls than the full API pipeline would gather, since it is slower to do by hand. It is not a lesser standard of evidence, just fewer calls found in the time available.

How the score is computed

The AI, whichever path researched it, only extracts facts about each call: what was said, when, and what happened after. It does not decide the score. A fixed formula does that, the same formula every time, on every trader, so it is auditable rather than a model's opinion:

45% directional accuracy of resolved calls (correct counts fully, partially correct counts half, incorrect counts zero).
15% sample size, log scaled so the first several verified calls matter more than the twentieth.
15% source verifiability, whether each call has a real link, a named source, or is vague and unsourced.
10% specificity, the share of calls that gave an explicit price target rather than a vague direction.
15% consistency, whether the calls span multiple years rather than one lucky (or unlucky) moment.

Grades: S is 85 and up, A is 70 and up, B is 55 and up, C is 40 and up, D is 25 and up, F is below that. A trader with zero resolved calls shows as unrated rather than being scored, since there is nothing yet to grade.

Why re-checking someone doesn't erase their old record

Early on, re-researching a trader fully replaced their call list, which meant the same old calls could occasionally get re-judged slightly differently on a later run and move the score around for no real reason. That's fixed now: once a call is on file with a date, re-researching someone can only add calls dated after the newest one already recorded. Nothing already on file gets deleted or re-graded. The score can still change over time, but only because genuinely new information got added, not because the same old calls got looked at again with different results.

How community comments get verified

The Comment button opens a pre-filled X post linking back to that trader's page. Posting is not enough on its own, since anyone could paste any link and claim it links here. When you paste your post's URL back into the form, the server fetches the post through X's own public oEmbed endpoint, extracts the actual link it contains, and only accepts the comment if that link resolves to this exact trader page. If the underlying post later gets deleted, that gets detected and the comment is removed rather than left showing an error.

How a specific call gets flagged and added

If a trader posts a call and you want it on record, reply "Add This Call" and tag @powerlawfloor under their post on X, so anyone else who sees the reply knows it's been flagged. Then come to the Submit a Call page and paste the link to their original post, not your reply.

There is no automated system reading X mentions right now, reading every reply to every post at scale needs paid API access this project doesn't currently have. What happens instead: the pasted link gets verified the same way comments do, through X's own oEmbed endpoint, proving it's a real public post and pulling the exact text and date. It then sits in a review queue. Once approved, the call gets added to that trader's record if they're already tracked, or used to add them to the system for the first time if they aren't. Either way, the score gets recomputed the same way it always is, by the fixed formula above, not by whoever approved the submission.

Why new traders go through a review queue instead of instant lookup

This used to be fully self serve, type a name and get a rating in under a minute. That also meant anyone could trigger unlimited paid API lookups with no cost control at all, which is exactly what happened and is why the queue exists now. Suggesting a trader costs nothing and just logs the request. Nothing gets researched, and nothing gets spent, until it's actually approved.

Honest limitations

Sample sizes are often small, sometimes under ten calls, which the sample size weighting already accounts for but does not eliminate.

Older or vaguely dated calls sometimes only carry a year, not an exact date, when that's all the original source gave.

Nothing here is independently audited. The outcome judgment on each call (correct, incorrect, partially correct) comes from the same research pass that found the call, not a separate reviewer. The Comment feature exists partly so people who disagree with a specific call's grading have a real, verified way to say so.

This is a side project, not a financial research desk. Treat every score as a starting point for your own judgment, not a substitute for it.