How to Verify a Crypto Signal Win Rate Before Paying

· 10 min read

To verify a crypto signal win rate, ignore the number until you have the definition and the raw record. Ask what counts as a win, how expiries are treated, whether it is measured per signal or per target, which dates it covers, and who computed it. Then get the file, count the rows, and recompute the rate yourself. A provider who cannot supply a countable record has not published a win rate — they have published a claim.

The reason this matters is arithmetic rather than suspicion: the same set of trades can honestly be described by four wildly different percentages, depending only on accounting choices nobody mentions.

Cover: How to Verify a Crypto Signal Win Rate — the definition matters more than the number

One set of trades, four different win rates

Bar chart showing the same trades yielding 62% under target-before-stop, 74% with expiries excluded, 88% counting any of five targets, and 97% counting anything that was ever in profit

Those four figures are illustrative, but the mechanism is not. Every one of them can be produced from the same trades without anyone lying, because each answers a different question:

  • 62% — the target was hit before the stop. This is the only definition that corresponds to a trade you could have taken.
  • 74% — the same, with trades that expired quietly removed from the denominator instead of counted as failures.
  • 88% — the call listed five targets and price reached the first one. A follower holding for the later targets may well have lost money on a "win".
  • 97% — the price moved in the signal's direction at some point. Nearly every position does this for a moment.

When someone advertises a rate without a definition, you cannot tell which of these you are being shown. That is why the definition comes first.

The five things a "win" can mean

Table of five definitions of a win — target before stop, expiries excluded, any of several targets, ever in profit, closed manually later — with whether each is honest and how to detect it

The detection column is the practical part. You do not have to take anyone's word for which definition is in use — each one leaves a trace in how the signals themselves are written. A channel that never publishes a stop cannot be measuring target-before-stop, because there is no stop for the target to beat. A channel posting TP1 through TP5 is almost certainly counting more than one outcome per trade.

The five questions to ask

Checklist of five questions: what counts as a win, how expiries are treated, per signal or per target, which dates are covered, and who computed it from what file

Ask them in writing, and read the shape of the answer as much as the content. A provider running a real service answers them in a sentence each, because they have had to think about it. Evasion on question one — "well, most of our calls work out" — is itself the answer.

Question 4 deserves particular attention. "Since inception" with no dates cannot be checked, and it lets a strong early period carry a weak recent one indefinitely. A record with a start date and an end date can be sliced: you can compute the rate for the last three months separately and see whether it resembles the headline.

Why screenshots cannot verify anything

Two-column comparison of an auditable record — a file with a fixed row count, every call in order, entries, targets and stops, checkable timestamps — against a screenshot: a chosen view, whatever survived deletion, outcomes without invalidation

The structural problem with a channel history as evidence is that messages can be deleted. If losing calls are removed, scrolling back shows an unbroken run of winners, and there is no way to detect the absence of something that is no longer there. You cannot count what was deleted, and you cannot tell a channel that never lost from one that curated.

A file solves this because it has a fixed number of rows. If the record says 33,694 signals over a stated period, that quantity is checkable against the posting frequency: a channel posting a handful of calls a day for two and a half years should produce a record of roughly that size, and a wildly smaller file means calls are missing from it.

Gauge showing screenshots deserve the least weight, a stated figure somewhat more, and a file you can recount the most

What an auditable record actually contains

Per row, at minimum: the pair, the direction, the entry, the target, the stop, the time the call was made, the time it resolved, and the outcome. Anything less and you cannot recompute the rate; you can only re-read the provider's conclusion.

The stop is the field most often missing, and its absence is not an oversight. Without a published invalidation level there is no definition of a loss, so every call remains open until it eventually works or is quietly forgotten. That is the mechanism behind the "97%" bar above, and it is why a signal without an invalidation level is not really a signal.

Auditing a record in an afternoon

You do not need special tools. You need the file and a few hours.

Five-step flow for auditing a published record: get the file, count rows, recompute, spot-check, compare

Timeline of the audit: ten minutes to see whether a downloadable record exists, twenty to count rows and check the dates, an hour to recompute the rate strictly, an hour to spot-check ten rows against exchange price history

Most candidate providers are eliminated in the first ten minutes, which is the point of doing it in that order.

Step 3 in detail: recomputing the rate

Open the record and compute it yourself under the strictest definition:

  1. Count the rows. That is your denominator. Every call, including the ones that went nowhere.
  2. Count rows where the target was reached before the stop. That is your numerator.
  3. Everything else is not a win. Stops hit, expiries, cancellations, calls with no recorded outcome — all of them stay in the denominator.
  4. Divide. Compare against the headline figure.

If your number is materially below theirs, the difference is the accounting, and it is worth asking them to explain it. Sometimes there is a legitimate reason. Often the reason is step 3.

Then slice it: compute the rate for the most recent three months on its own. A long record can hide a deteriorating one, and the recent slice is the one that describes what you would be buying.

Step 4 in detail: spot-checking against the market

Recomputing tests the provider's arithmetic. Spot-checking tests whether the rows describe reality.

Pick ten rows at random — genuinely at random, not the interesting ones — and check each against exchange price history for that pair at that timestamp. You are asking three things: did the price actually trade at the stated entry around that time, did it subsequently reach the target, and did it touch the stop first?

Ten rows is enough to catch a fabricated record, because fabrication rarely survives contact with real price data. Any row that does not check out is worth more than the entire headline figure.

Plotting the claim against the proof

Quadrant map of claim size against checkability: an extraordinary claim with no way to check means walk away; a checkable extraordinary claim is worth auditing

The bottom-right quadrant — a modest claim you can fully verify — is where credible providers usually sit, and it is a boring place to be. The top-left is where the marketing is loudest. There is no need to argue with anyone in the top-left; there is simply nothing there to examine.

The stronger standard: a rate that updates itself

A self-reported historical figure is weak evidence even when it is completely honest, because it was computed once, by the party it flatters.

The stronger version is a rate generated automatically from a trade database and republished on a schedule, with the definitions printed alongside it. It can go down. It goes down without anyone deciding to let it, which is the property that makes it worth reading.

Three cards defining a win as target hit before the stop, a loss as the stop hit first, and an expiry as neither — counted against the rate

Ours works that way. /performance has regenerated hourly from the trade database since June 2026, with expirations counted against the hit rate and PnL shown unleveraged, and losing months appear when they happen. The historical side is at /reports: 33 monthly spreadsheets covering June 2021 to February 2024, 33,694 signals, at a median monthly accuracy of 98.9% as reported in those sheets — phrased that way deliberately, because it is what those sheets record rather than a promise about your account.

Apply this article's method to those files. That is what they are published for, and a provider who resents the exercise has told you something useful.

What to do when there is no record at all

Most providers you look at will fail at the first step, so it is worth knowing what to do next rather than treating it as a dead end.

The answer is to build the record yourself, which takes a month and tells you more than their file would have. Join whatever free access they offer and write every call into a sheet the moment it appears — pair, direction, entry, target, stop, timestamp — before the outcome is known. That last condition is the entire value of the exercise. A record assembled afterwards is contaminated by knowing how things turned out, even with the best intentions, because deciding whether an ambiguous call "counted" is much easier once you know which way it went.

At the end of the month you have exactly what they should have published: a fixed-length list of calls with outcomes you scored under a rule you set in advance. It is a smaller sample than their claimed history, which limits what you can conclude, but it has a property their history lacks — you know nothing was removed from it.

There is a second benefit that people notice only after doing it. Logging calls in real time forces you to read each one properly, and a month of that teaches you more about how signals are constructed than any amount of reading about them. You start to see which calls have plausible invalidation levels, which have targets that are far too optimistic for the stop distance, and which are essentially unfalsifiable. That skill transfers to every provider you ever evaluate afterwards.

If a provider objects to you doing this, or their free access is a sampler rather than a mirror, you have learned what you needed without spending anything.

What a verified win rate still does not tell you

Even a fully audited rate is an incomplete picture:

  • It says nothing about reward-to-risk. A 62% rate with tight targets and distant stops can lose money; a 45% rate with the reverse can make it. Compute the average distances from entry to target and entry to stop while you have the file open — whether a signal group is profitable turns on this more than on accuracy.
  • It is not your result. Your fills, fees, sizing and the calls you skipped all sit between the record and your account.
  • It describes the past. A regime that suited the model can end, which is what the live page is for.
  • It says nothing about custody. A perfect record does not make it safe to hand anyone withdrawal rights — see connecting a bot to your API key safely.

The signals themselves come from a model evaluating 240+ indicators, formulas and components across 500+ Binance USDT-M perpetual pairs. How it weighs them is proprietary and will stay that way, which is exactly why the record has to be auditable — the argument has to be the outcomes, not the method.

This is information, not investment advice. No verified win rate makes a trade safe: trade only what you can afford to lose, and size on the assumption that the next call is one of the losses.

FAQ

How do I verify a crypto signal provider's win rate? Get the raw record as a file, count every row as the denominator, count only target-before-stop outcomes as wins, and divide. Then spot-check ten random rows against exchange price history. If no downloadable record exists, there is nothing to verify.

What is a realistic win rate for crypto signals? It depends entirely on the reward-to-risk ratio, so no single figure is meaningful on its own. What matters far more is whether the number was computed under a strict definition with expiries counted against it, and whether you can recompute it yourself.

Why do crypto signal channels delete losing trades? Because a channel history is the only evidence most of them offer, and deletion is invisible in it. This is precisely why a downloadable file with a fixed row count is worth more than any amount of scrolling — you can count rows, and you cannot count absences.

What does "expired" mean in a signal track record? A call that reached neither its target nor its stop before the provider's maximum hold time ran out. Expirations should be counted against the hit rate; excluding them from the denominator inflates the figure without anyone stating anything false.

Are multiple take-profit targets a red flag? Not by themselves, but ask which target the published win rate assumes. If reaching TP1 counts as a win while a follower holding for TP3 lost money, the rate is describing a trade nobody actually took.

Can I trust a win rate on a provider's website? Only as far as you can recompute it. Treat a stated figure as a claim to be tested rather than a fact, and give much more weight to a number regenerated automatically from a trade database than to one written by hand and never revised.

crypto signal win rate verify crypto signals crypto signal accuracy crypto signals track record best crypto signals