A NopeCHA alternative built only for hCaptcha.
NoneCap is a hosted, pay-per-solve hCaptcha API. Like NopeCHA it returns a real
token your client submits as a normal h-captcha-response. The difference
is the billing: instead of a monthly subscription with a daily credit cap, you buy
prepaid credits that never expire and pay only for the solves you use.
NoneCap vs NopeCHA at a glance
| NoneCap | NopeCHA | |
|---|---|---|
| Billing model | Prepaid credits, pay per solve | Monthly / quarterly subscription |
| Credit expiry | Never expire | Refill every 23h, unused daily quota is lost |
| Daily cap | None (5 concurrent by default, up to 100 on paid packs) | Fixed solves/day per plan (2,000 to 200,000) |
| Failed solves | Never charged | Count against your quota |
| Captcha coverage | hCaptcha only: regular, invisible, enterprise rqdata | hCaptcha, reCAPTCHA, Turnstile + more |
Enterprise rqdata | Fully supported; tokens enterprise sitekeys accept | AI image recognition |
| API | Native REST submit/poll with Bearer auth | REST API + browser extension |
| Free tier | 100 credits on signup | 100 credits/day on the free plan |
| Entry price | $5 → 10,000 credits ($0.50 / 1k) | $4.99/mo → up to 2,000 solves/day |
The core difference is the billing model
NopeCHA is a subscription. You pick a plan ($4.99 to $99.99/month) and get a fixed number of solves per day, from 2,000 on Starter up to 200,000 on Enterprise, and that quota refills every 23 hours. Whatever you don’t use that day is gone, and you can’t exceed the daily cap when a job spikes.
NoneCap is pay-as-you-go. You top up prepaid credits, spend from 1 credit per hCaptcha challenge round (hCaptcha decides how many, often one and sometimes two or three), and the credits never expire. There’s no monthly fee and no daily ceiling to bump into when load spikes. Credits only come off the balance when a solve returns a token, so a bad run costs you nothing.
Pricing, honestly
Which is cheaper depends entirely on your usage pattern, so here are the real numbers rather than a blanket claim:
- Steady, high daily volume that fully uses a plan’s daily cap: NopeCHA’s subscription can be the cheaper per-solve option.
- Variable, bursty, low, or unpredictable volume: NoneCap is usually cheaper. You pay only for what you solve ($0.25 to $0.50 per 1,000 credits), there’s no unused quota to waste, and a slow week costs you nothing.
There’s no recurring bill and no “use it or lose it” quota, and failures are never charged. For scrapers and automation rigs whose load isn’t flat, that makes the spend a lot easier to predict.
Same token, one call to rewrite
Both services hand back a real hCaptcha token, so everything downstream of the solver —
the code that submits h-captcha-response — stays exactly as it is. What
changes is the solver call itself: NoneCap has its own format, so swap it for
POST /v1/solves, optionally block for the result with ?wait=N,
and read the token field:
curl "https://api.nonecap.com/v1/solves?wait=90" \
-H "Authorization: Bearer $NONECAP_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "hcaptcha",
"sitekey": "f5ab1c2d-7e8f-4a9b-b1c2-d3e4f5a6b7c8",
"url": "https://target.example/login"
}' {
"id": "solve_01HQF7K3JKWZX",
"object": "solve",
"type": "hcaptcha",
"status": "solved",
"token": "P1_eyJ0eXAi...UV8w",
"credits_charged": 1
} Dropped into a Python helper, the whole flow is a few lines:
import os, time, requests
BASE = "https://api.nonecap.com/v1/solves"
HEADERS = {"Authorization": f"Bearer {os.environ['NONECAP_KEY']}"}
def solve_hcaptcha(sitekey: str, url: str) -> str:
r = requests.post(
BASE, headers=HEADERS,
params={"wait": 90}, # block up to 90s for the token
json={"type": "hcaptcha", "sitekey": sitekey, "url": url},
timeout=120,
)
r.raise_for_status()
solve = r.json()
# 202 = still in flight when the wait window closed, and token is null.
while solve["status"] in ("pending", "solving"):
time.sleep(2)
p = requests.get(f"{BASE}/{solve['id']}", headers=HEADERS, timeout=30)
p.raise_for_status()
solve = p.json()
if solve["status"] != "solved":
raise RuntimeError(solve["error"]) # not charged: no token, no credits
return solve["token"] # a real P1_… hCaptcha token
# Submit the returned token as the form's h-captcha-response field.
For long-running jobs you can skip ?wait and poll
GET /v1/solves/{id}. See the
API reference for the full object and every language example.
Enterprise hCaptcha (rqdata)
Enterprise hCaptcha binds each challenge to a fresh rqdata blob, which is
where pure image-recognition solvers tend to struggle. NoneCap returns tokens that
enterprise sitekeys accept. If enterprise rqdata is why you’re shopping for
an alternative, this is the strongest reason to pick NoneCap: a token enterprise accepts,
minted on demand.
When NopeCHA is the better fit
Be honest with yourself about scope. If you need to solve reCAPTCHA v2/v3, Cloudflare Turnstile, or FunCaptcha, NopeCHA covers them and NoneCap does not yet (those are on the roadmap). And if your hCaptcha volume is high and perfectly steady, a maxed-out NopeCHA daily plan can beat pay-per-solve on raw price. NoneCap wins when you want hCaptcha depth with credits that never expire, no charge on failures, and no subscription.
Last updated June 2026.
Frequently asked
Can I point a NopeCHA client at NoneCap?
/v1; it does not implement NopeCHA’s wire protocol. Migrate the integration to NoneCap’s native POST /v1/solves and polling endpoints. NoneCap also covers hCaptcha only, not reCAPTCHA or Turnstile.Do NoneCap credits expire like NopeCHA’s daily quota?
Is NoneCap cheaper than NopeCHA?
Can NoneCap handle enterprise hCaptcha?
rqdata) sitekeys. NoneCap returns tokens that enterprise hCaptcha accepts, where image-recognition solvers tend to fail.