🔧 Updates & Information
Here you'll find all the latest updates and important info about the solver.
💬 Having issues? DM me anytime — @cds_solver
Here you'll find all the latest updates and important info about the solver.
💬 Having issues? DM me anytime — @cds_solver
Example code for using:
from time import sleep
import httpx
API_KEY = "your_api_key"
SITE_KEY = "site_key_from_docs" # https://cds-solver.com/docs
PROXY = "protocol://user:pass@ip:port"
LOCALE = "en-US"
BROWSER = "chrome"
BROWSER_PLATFORM = "PC"
BROWSER_VERSION = 140
BLOB = "" # "tQOeZ+RtLULJpnCL.4MqcPDASeyBqlDCXnVd8cbEZobqF6xLC9mAKP2hiIS/2dqkPUfF1i5..." # Using if your site using blob
COOKIES = "" # "key=value; key=value" Using for roblox etc
BASE_URL = "https://cds-solver.com"
HTTP3 = True
class SolverAPI:
def __init__(self, api_key, site_key, proxy, locale, browser, browser_platform, browser_version, blob, cookies, base_url, http3):
self.api_key = api_key
self.site_key = site_key
self.proxy = proxy
self.locale = locale
self.browser = browser
self.browser_platform = browser_platform
self.browser_version = browser_version
self.blob = blob
self.cookies = cookies
self.base_url = base_url
self.http3 = http3
def main(self):
self.task_id = self.CreateTask()
self.token = self.GetTask()
if self.token is None:
return None
else:
self.balance = self.GetBalance()
return {"token": self.token, "balance": self.balance}
def CreateTask(self):
payload = {
"api_key": self.api_key,
"site_key": self.site_key,
"browser": self.browser,
"browser_version": self.browser_version,
"platform": self.browser_platform,
"locale": self.locale,
"proxy": self.proxy,
"blob": self.blob
}
if self.cookies:
payload["cookies"] = str(self.cookies)
if self.http3:
payload["http3"] = bool(self.http3)
try:
response = httpx.post(f'{self.base_url}/createTask', json=payload).json()
except:
return None
if response.get("task_id") != None:
return response.get("task_id")
else:
print(response)
return None
def GetTask(self):
payload = {
"api_key": self.api_key,
"task_id": self.task_id
}
count_retry = 0
while count_retry <= 120:
try:
response = httpx.post(f'{self.base_url}/getTask', json=payload).json()
status = response["status"]
if status == "processing":
count_retry += 1
sleep(0.5)
continue
elif status == "success":
return response.get("token")
else:
print(response)
return None
except:
count_retry += 1
continue
def GetBalance(self):
payload = {
"api_key": self.api_key
}
try:
response = httpx.post(f'{self.base_url}/getBalance', json=payload).json()
if response.get('balance') != None:
return response["balance"]
else:
print(response)
return None
except:
return None
Collector = SolverAPI(API_KEY, SITE_KEY, PROXY, LOCALE, BROWSER, BROWSER_PLATFORM, BROWSER_VERSION, BLOB, COOKIES, BASE_URL, HTTP3)
print(Collector.main())
New domain https://cds-solver.com - using this for docs / createTask / getTask
Solver successfully updated and rewritten in another language. Supports more threads, unflagged tokens; API slightly changed — use "http_version": "2" or "3" to set HTTP version 2 or 3 (optional, default is HTTP/2). All browsers except Chrome have been removed; currently supports Chrome versions 136–144. Example payload:
{
"api_key": "your_api_key",
"site_key": "your_site_key",
// Proxy format: "user:pass@ip:port" or "protocol://user:pass@ip:port"
// Supported proxy types: HTTP / SOCKS5
"proxy": "user:pass@ip:port",
// Locale — should match your script configuration if using a blob
// Example header: "accept-language: en-US,en;q=0.9"
"locale": "en-US",
// Chrome version to emulate — should match your script if using a blob
// Supported versions: 136–144
"browser_version": "144",
// HTTP protocol version — optional
// Set to "3" only if your proxy supports HTTP/3. Defaults to HTTP/2.
"http_version": "3",
// Blob value if the target site requires one
"blob": "...",
// Additional parameter — required only for:
// roblox_recovery, roblox_follow, ourtime_login
"extra_name": "...",
// Cookies if the target site uses them for Funcaptcha (e.g., Roblox)
"cookies": "key=value; key=value;"
}Added a feature for solving problems using POW. If you get a “pow” error, add /createTask - {“solve_pow”: True} to the payload. Solution without POW - $0.5, with POW - $1 per K solves. HTTP3 is currently not working (I will make some improvements and continue working). Actual profiles - "144" - chrome144, "Edge144" - Edge144.
HTTP3 also works "http_version": "3", use proxies that support UDP, format: socks5://user:pass@ip:port. (This is not necessary, but use if HTTP2 gives bad results, be sure proxy support UDP).