Skip to content
../products
Binance bCAPTCHABinanceCaptchaTask

Binance bCAPTCHA, solved in 5.0s.

Binance's slide-puzzle captcha (GeeTest v4-family). Pass the captchaId; get a validation token.

$3.00per 1,000
~5.0savg solve
99%+success
12/mthroughput
type: BinanceCaptchaTask…0.00s
POST/createTask type=BinanceCaptchaTask
taskId tsk_pch41mi1
POLL/getTaskResult status=processing
status ready
token 0x734754eaf7734...
type: BinanceCaptchaTask● running on production solvers

What is Binance bCAPTCHA?

Binance shows a slide-puzzle captcha (GeeTest v4-family) during login, withdrawal and high-risk account actions. Passing the widget's captchaId, we solve it and return the validation token your request submits.

How it works

1

Send Task

POST your BinanceCaptchaTask with the target URL and sitekey to our API. We'll queue it instantly.

2

We Solve

Send the widget's captchaId and page URL. We drive the GeeTest v4 flow, solve the slide puzzle, and return the validate token / seccode. Native API — no browser.

3

Get Token

Poll getTaskResult — when status is 'ready', the solution contains the token to inject into the target page.

Quick integration

solve.py
import requests, time

API = "https://api.capzy.ai"
KEY = "capzy_your_key_here"

# Step 1: Create task
task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
        "type": "BinanceCaptchaTask",
        "type": "BinanceCaptchaTask",
        "captchaId": "<geetest captchaId>",
        "websiteURL": "https://accounts.binance.com/en/login"
    }
}).json()

task_id = task["taskId"]
print(f"Task created: {task_id}")

# Step 2: Poll for result
while True:
    result = requests.post(f"{API}/getTaskResult", json={
        "clientKey": KEY,
        "taskId": task_id
    }).json()

    if result["status"] == "ready":
        print("Solved!", result["solution"])
        break
    elif result["status"] == "failed":
        print("Failed:", result.get("errorDescription"))
        break

    time.sleep(1)

Using the result

use_result.py
# Step 3 — GeeTest v4-family: submit these to your site's verify endpoint
sol = result["solution"]
requests.post("https://target.example.com/verify", data={
    "lot_number":     sol["lot_number"],
    "pass_token":     sol["pass_token"],
    "gen_time":       sol["gen_time"],
    "captcha_output": sol["captcha_output"],
})

Task parameters

typetypestringreqyesBinanceCaptchaTask
captchaIdtypestringreqyesThe GeeTest captchaId from the Binance widget.
websiteURLtypestringreqyesThe page hosting the captcha.

Solution response

tokentypestringThe GeeTest validation payload to submit.
validatetypestringThe GeeTest `validate` value.
seccodetypeobjectThe full encrypted validation object.

Example response

Full getTaskResult response shape. The fields in the table above describe what's inside solution — the outer envelope (errorId, status) is identical for every captcha type.

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "seccode": {
      "gen_time": "…",
      "lot_number": "…",
      "pass_token": "…",
      "captcha_output": "…"
    },
    "validate": "<validate token>"
  }
}

Error response

Failures use the same envelope with errorId: 1 plus errorCode + errorDescription. See the error-code reference for the full list.

{
  "errorId": 1,
  "errorCode": "ERROR_CAPTCHA_UNSOLVABLE",
  "errorDescription": "Solver gave up — automatically refunded."
}

Pending response

While the solver is still working, getTaskResult returns status: "processing". Poll every 1–2 seconds until ready or failed.

{
  "errorId": 0,
  "status": "processing"
}

Features

Native GeeTest v4 solve
Returns the validate token + full seccode
No browser required

task types

proxyless: BinanceCaptchaTask

Frequently asked questions

start solving binance bcaptcha.

$0.10 in free credits — no card. ~250 free solves to test before you spend.