Glossary

Captcha Solver

What a CAPTCHA solver is, how solver services work, why a harder puzzle does not stop them, and how detection identifies a solver in the request path.

Solver services getting through?

Prosopo names the solver on every block. Book a Bot Exposure Assessment.

Book an assessment

What is a CAPTCHA solver?

A CAPTCHA solver is a service or model that completes a CAPTCHA challenge on behalf of automated software, so a bot can pass a check designed to stop it.

This page is written for the people on the receiving end. If solver traffic is getting through your signup, login or checkout, the useful thing to understand is why the puzzle stopped being the control, and what replaced it.

How a solver service works

The mechanics are simple and that is the problem.

  1. The automated client hits your page and receives a challenge.
  2. It forwards the challenge to a solver service through an API.
  3. A human worker or a vision model produces the answer, usually within a few seconds.
  4. The answer comes back and the client submits it to you.

At no point does anything invalid arrive at your server. The answer is correct. Your challenge worked exactly as designed and verified exactly what it was built to verify: that a correct answer was supplied. It was never able to verify who supplied it.

Why harder puzzles do not work

The economics run in the wrong direction, and this is the single most useful thing to understand about solvers.

Commercial solver services charge roughly one to two dollars per thousand solves. Against a target where a single success is worth anything at all, that is not a deterrent.

Now make the puzzle twice as hard. The attacker's cost goes from a fraction of a cent to a slightly larger fraction of a cent. Your legitimate users lose real seconds, some fail, and some leave. You have taxed your customers and inconvenienced nobody else.

Worse, the accessible fallback is usually the weakest link. Audio CAPTCHA exists so that blind users can pass, and audio is the mode that automated transcription defeats most cheaply. So the hardened visual challenge runs next to an easier audio one, and the automation just takes the audio route.

What catches them

If the answer cannot be trusted, detection has to happen somewhere other than the answer.

The round trip. Getting a challenge out to a third party and an answer back takes time and leaves a pattern. A session where the gap between challenge render and answer submission is consistently a few seconds, with no intervening interaction, looks nothing like a person deciding.

Behaviour before the challenge. Real users arrive at a form having done something first. Solver-driven automation usually does not, and the interaction it does produce has timing regularities that people do not have.

What the client cannot fake cheaply. Header ordering and combinations real browsers do not emit, and CPU and SIMD timing signatures that contradict the hardware the client claims to be running on. A JA4 TLS fingerprint contributes only where it contradicts something else, because every Chrome install produces the same one: it identifies the TLS stack rather than the client using it.

Failure grinding. A cohort that clears its challenges is a cohort of users, however much volume it produces. A cohort that keeps failing and retrying is grinding at something it cannot pass. Volume alone cannot tell a busy office behind one IP from an automated solver; the solve ratio can.

When Prosopo stops one of these, the block names it. The string that comes back is the detector, for example Solver service detected, rather than a risk score. Knowing which service the attacker is paying for tells your team something about how organised the operation is.

Where solver traffic shows up

Form spam. Most junk submissions are not written by people. See spam bot protection and the Spam Filter.

Credential stuffing. A solver is the enabling step, not the attack. See credential stuffing and account takeover.

Ticket scalping. Solver services are a line item in a scalper's operating costs. See anti-scalping bot protection.

Account creation at scale. Bulk accounts warmed up for later use.

In the OWASP taxonomy this is OAT-009 CAPTCHA Defeat, and OWASP classifies it as an enabler rather than an end in itself. The classification is the right one.

The practical takeaway

If your current control is a challenge, you are relying on a test that a two-dollar API answers correctly. The fix is not a harder test. It is detection that identifies the solver in the request path, and enforcement that does not depend on the user proving anything at all.

Questions

Something else? Ask an engineer.

What is a CAPTCHA solver?

A CAPTCHA solver is a service or model that completes a challenge on behalf of automated software. Commercial solver services expose an API: the bot sends the challenge, a human worker or a vision model produces the answer, and the answer comes back for the bot to submit. From the challenge's point of view the answer is correct. Solvers work for exactly that reason.

Why does making a CAPTCHA harder not stop solvers?

Because the cost falls on the wrong party. Solver services charge on the order of one to two dollars per thousand solves. Doubling the difficulty of a puzzle roughly doubles a cost measured in fractions of a cent, while adding real seconds and real failures for legitimate users. Difficulty is a tax on your customers and a rounding error for your attacker.

How do you detect a CAPTCHA solver?

By looking at the request path rather than the answer. A solver has to get the challenge out to a third party and the answer back in, and that round trip leaves timing gaps, characteristic request sequences and often traces in the client itself. Detection also looks at what the automation could not fake: TLS fingerprints, header combinations real browsers do not emit, and CPU timing signatures inconsistent with the claimed hardware.

Is using a CAPTCHA solver legal?

It depends on jurisdiction and on what the automation does. Using one to access a service in breach of its terms, to scrape data, or to carry out credential stuffing exposes the operator to contractual and, in many places, criminal liability. This page is written for site operators trying to stop solver traffic, not for people trying to use one.

What is the difference between a CAPTCHA solver and a CAPTCHA farm?

A CAPTCHA farm is the human labour behind one kind of solver: workers paid per solve, usually in low-wage economies, answering challenges routed to them through an API. A solver is the broader category and increasingly means a vision model rather than a person, because models are now cheaper and faster than farms for common challenge types.

Ready to ditch Google reCAPTCHA?

Procaptcha is free for 10K requests a month. No credit card, no cookies.