Authentication

How to authenticate with the solver.lol API

API Keys

All requests require an API key passed in the X-API-Key header.

curl https://api.solver.lol/solve \
  -H "X-API-Key: sk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"type": "AltchaProxyless", "site_url": "https://example.com"}'

Keys look like sk_ followed by a 48-character hex string.

Getting a key

Create a free account at solver.lol/login. You get $0.05 free balance on signup — no credit card required. You can create up to 10 API keys per account from the dashboard.

Concurrency

Each API key supports 20 concurrent solve requests by default. Requests beyond this limit return a 429 response immediately — there is no queue. Design your client to respect this limit.

import concurrent.futures

# Good — stay within 20 concurrent threads
with concurrent.futures.ThreadPoolExecutor(max_workers=20) as pool:
    futures = [pool.submit(solve_one, task) for task in tasks]

All keys on your account share the same account balance — you don't need to top up each key separately.

Checking your balance

curl https://api.solver.lol/user/balance \
  -H "X-Session-Token: sess_your_token"
{
  "balance": 0.0500
}

Security

  • Never expose your API key in client-side code or public repos
  • Rotate keys from the dashboard — old keys are deleted immediately
  • Balance is only deducted on successful solves
  • Sessions expire after 30 days