Overview
Every solve request follows a predictable lifecycle. Understanding this flow helps you build robust integrations and handle edge cases.Task Flow
Task Creation
You send a
POST /createTask request. The server validates your API key, task parameters, proxy format, and checks your balance or package quota. If everything is valid, a task ID (UUID) is returned and the task is queued for processing.Validation
The server performs deep validation:
- API key and account status
- Task type must be
FunCaptchaTask - Public key must be a valid UUID
- Proxy format and port validation
- Thread limit check
Session Initialization
A session is created through your proxy. The system detects the proxy’s geolocation to set the correct timezone and language, then generates the initial Arkose token.
Silent Pass Check
If the Arkose token contains
sup=1, no challenge is required — the token is returned immediately. This is the fastest path.Challenge Solving
If a challenge is required, the system parses the challenge type, variant, and number of waves, then solves each wave until completion or timeout.
Task Statuses
| Status | Description |
|---|---|
created | Task accepted and queued |
processing | Task is being solved |
ready | Task completed (check errorId for success/failure) |
failure | Task failed with an error |
Timeouts
| Phase | Timeout |
|---|---|
| Total task | 300 seconds |
| Solve phase | 120 seconds |
| Result TTL | 120 seconds after completion |
Balance & Refunds
For balance-based users (FUN- keys):
- Balance is deducted when the task starts processing
- If the task fails for any reason (proxy error, timeout, unsolvable), the balance is automatically refunded