Binance 验证码
Binance 验证码 是 Binance 的自研滑块拼图为主(captchaType 返回 SLIDE),连续失败后升级为图片多选 / 网格点选(BOX)。一个方形挑战框,把左侧的拼图碎片沿水平方向拖到大图缺口处,文案是 "Slide to complete the puzzle"。失败几次后换成「选出所有含 XX 的图片」这类多选题。整块 UI 以 SVG 组件渲染在页面里,不是 iframe。
接口规格
| 项目 | 值 |
|---|---|
| type | binance |
| 必填参数 | validate_id |
| 可选参数 | biz_idwebsite_urlwebsite_key |
| 返回 | 一个 token 字符串(solution.token) |
| 怎么用这个解 | 回填目标站的校验参数 |
| 价格 | $3.06 / 千次 —— 按成功计费,没解出来退款 |
| 厂商或项目资料 | Binance 资料 |
参数去页面哪里取
下面全部是可以直接照做的定位方法 —— DOM 属性名、JS 全局变量名、script 上的 query 参数。
我们必填 validate_id,可选 biz_id、website_url、website_key(能传就一起传)。这两个值只在网络请求里出现,页面 DOM 上一个都没有 —— validate_id 来自 securityCheckResponseValidateId(precheck 响应里字段名是 validateId,个别页面叫 securityId);biz_id 就是 bizId / bizType,取值如 login、register。
最快的取法是挂一个 fetch 钩子,贴进控制台后再点一次登录/注册:
(()=>{const f=window.fetch;window.fetch=async(...a)=>{
const u=String(a[0]&&a[0].url||a[0]||'');
try{ if(/precheck|antibot\/getCaptcha|antibot\/validateCaptcha|check\/result/.test(u))
console.log('[bnc REQ]',u,a[1]&&a[1].body); }catch(e){}
const r=await f(...a);
if(/precheck|antibot\/getCaptcha/.test(u))
r.clone().json().then(j=>console.log('[bnc RES]',u,j&&j.data)).catch(()=>{});
return r;};})()
// 控制台会打印出 validateId / sessionId / bizId / sig / salt / path2 / captchaType不想改页面就用 DevTools 的 Network 面板筛 antibot/getCaptcha,请求体里 bizId 与 securityCheckResponseValidateId 一眼可见;captchaType 是 bCAPTCHA2 就说明命中的是这一条。
调用示例
一个端点解全部验证码类型 —— 换一种验证码只改 type 这一个字段。
curl -X POST https://api.everyinfra.com/api/v1/captcha \ -H "Authorization: Bearer omg_你的KEY" \ -H "Content-Type: application/json" \ -d '{"type":"binance","validate_id":"<validate_id>"}'
{ "solution": { "token": "…" }, "billing": { "charged": true, "credits": 220 } }
怎么确认目标站用的就是它
三步链路,全部在币安自有域下(accounts.binance.com + bin.bnbstatic.com),没有任何第三方验证码厂商参与。① POST /bapi/accounts/v1/public/account/security/request/precheck(body 带 email、bizType)返回 captchaType: "bCAPTCHA2"、sessionId、validateId、validationTypes。② POST /bapi/composite/v1/public/antibot/getCaptcha(表单参数 bizId、sv、lang、securityCheckResponseValidateId、clientType)返回 sig、salt、path2(图片路径,拼在 https://bin.bnbstatic.com 之后)、ek、captchaType、tag。③ POST /bapi/composite/v1/public/antibot/validateCaptcha 提交加密的 data(鼠标轨迹 + 浏览器指纹)与签名 s,成功返回 token,格式为 captcha#<id>-<sig>;再由 /bapi/accounts/v1/public/account/security/check/result(sessionId + validateCodeType + bCaptchaToken)收口。客户端逻辑在 https://bin.bnbstatic.com/static/js/se/captcha/v1/captcha.min.js,另有全站常驻的指纹脚本 se_new.min.js;请求头带 device-info(base64 JSON 设备指纹)、captcha-sdk-version、x-captcha-se、bnc-uuid、fvideo-id、clienttype。
容易搞混的
不是 reCAPTCHA、不是 GeeTest、不是任何外采产品 —— 脚本与图片全在 accounts.binance.com / bin.bnbstatic.com 自有域下。也别和币安的 2FA(验证器 App)、Passkey 通行密钥、人脸识别混为一谈:那些是身份验证,和这里的人机验证不是一层。
常见部署场景
accounts.binance.com的登录、注册、找回密码- 提币、修改安全设置等敏感操作前的二次校验
- Binance Alpha 空投抢购下单 —— 2025 年 10 月上线后成为最广为人知的触发点,社区普遍反映要在数秒内完成,慢一步就抢不到
- 风控命中时的临时校验:用 VPN、隐私窗口(无 cookie)、或用不存在的账号尝试登录都能稳定触发
已知的坑
解出验证码 ≠ 能登录。 验证码之后还叠着设备指纹与账号风控(device-info 头、se_new.min.js、bnc-uuid、fvideo-id)。我们交付的是过验证码这一关,登录仍可能被后置风控拦下,那不在本能力范围内。
返回的 token 带 captcha# 前缀,那是值的一部分,不要截断。
Alpha 抢购这类场景对时延极敏感 —— 社区反馈需要在数秒内完成,链路上任何一跳慢几秒都等于失败。规划超时预算时按「秒级」而不是「十几秒」算。
要复现挑战很容易:挂 VPN、开隐私窗口(无 cookie)、或用一个不存在的邮箱去登录,三者都能稳定把它调出来。
getCaptcha 返回的 path2 是相对路径,图片真实地址要拼 https://bin.bnbstatic.com 前缀。
端点与字段名来自公开安全研究与实测,币安没有公开文档 —— 版本迭代时字段可能变,别把它们当长期契约写死。
解出验证码不等于能登录 —— 目标站在验证码之后还叠了设备指纹与风控。我们交付的是通过验证码这一关,登录仍可能失败,那不在本能力范围内
token 带 captcha# 前缀,那是值的一部分,不要截断
参考资料
下列资料用于核对验证码厂商、题型和页面术语,不表示相关厂商对 EveryInfra 的授权或背书。 EverySolve 的参数、返回字段、可用状态和计费仍以本页接口契约及公开类型目录为准。
常见问题
Binance 验证码 要传哪些参数?
必填 validate_id;可选 biz_id、website_url、website_key。请求里 type 传 binance。
解出来的东西怎么用?
返回一个 token 字符串,取 solution.token。回填目标站的校验参数
securityCheckResponseValidateId 要去页面的哪里找?
重点找 securityCheckResponseValidateId、validate_id、captchaType。本页「参数去页面哪里取」一节写了全部位置与取法,含可直接粘进控制台的一行命令。
怎么确认目标站用的就是 Binance 验证码?
不是 reCAPTCHA、不是 GeeTest、不是任何外采产品 —— 脚本与图片全在 accounts.binance.com / bin.bnbstatic.com 自有域下。也别和币安的 2FA(验证器 App)、Passkey 通行密钥、人脸识别混为一谈:那些是身份验证,和这里的人机验证不是一层。
有什么容易踩的坑?
解出验证码 ≠ 能登录。 验证码之后还叠着设备指纹与账号风控(device-info 头、se_new.min.js、bnc-uuid、fvideo-id)。我们交付的是过验证码这一关,登录仍可能被后置风控拦下,那不在本能力范围内。
多少钱一次,失败扣不扣?
$3.06 / 千次。按成功计费 —— 没解出来一律退款,所以失败不花钱。账单按次记,标价按每千次是为了让量级读得出来。