FaucetPay Captcha Token Solving
Solve FaucetPay Captcha challenges programmatically. FaucetPay Captcha is a captcha system commonly used on cryptocurrency faucet websites and FaucetPay-integrated platforms.
FaucetPay Captcha is a captcha protection system used primarily on FaucetPay and cryptocurrency faucet websites.
It provides bot protection for reward claim forms and user verification. The solution returns a
captcha_response token that must be submitted with the form.
Captcha Type
Use the following captcha type identifier in your API requests:
"type": "FAUCETPAY_CAPTCHA_TOKEN"
Finding Captcha Parameters
To solve FaucetPay Captcha, you need to find the siteKey from the page:
<!-- Look for a div with data-sitekey attribute: -->
<div class="faucetpay-captcha" data-sitekey="b7890hre5cf2544b2759c19fb2600897"></div>
<!-- Or check network requests -->
<!-- The siteKey is: b7890hre5cf2544b2759c19fb2600897 -->
The site key can be found in the HTML code in the data-sitekey attribute of the captcha
container, or in the payload of network requests in the site_key field.
Request Format
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
auth.token |
string | required | Your API key |
captcha.type |
string | required | Must be "FAUCETPAY_CAPTCHA_TOKEN" |
captcha.metadata.siteUrl |
string | required | The URL where the captcha appears |
captcha.metadata.siteKey |
string | required | FaucetPay captcha site key (data-sitekey attribute) |
captcha.payload.userAgent |
string | optional | Browser User-Agent string |
captcha.payload.proxy |
object | optional | Proxy configuration (optional) |
Proxy Object Structure (Optional)
| Parameter | Type | Required | Description |
|---|---|---|---|
protocol |
string | required | Proxy protocol: "http", "https", "socks4", or "socks5" |
host |
string | required | Proxy IP address or hostname |
port |
number | required | Proxy port number |
username |
string | optional | Proxy authentication username |
password |
string | optional | Proxy authentication password |
Example Request
const response = await fetch('https://solver-api.mydisct.com/createTask', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'apikey': 'YOUR_API_KEY'
},
body: JSON.stringify({
auth: {
token: 'YOUR_API_KEY'
},
context: {
source: 'api',
version: '1.0.0'
},
captcha: {
type: 'FAUCETPAY_CAPTCHA_TOKEN',
metadata: {
siteUrl: 'https://faucet-example.com/claim',
siteKey: 'b7890hre5cf2544b2759c19fb2600897'
},
payload: {
userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
}
}
})
});
const data = await response.json();
console.log('Task ID:', data.task.id);
Response Format
Create Task Response (Processing)
{
"success": true,
"service": "MyDisct Solver",
"message": "Task created successfully",
"task": {
"id": "MyDisctSolver_abc123",
"status": "processing"
}
}
Fetch Result Response (Completed)
{
"success": true,
"service": "MyDisct Solver",
"message": "Captcha solved successfully",
"task": {
"id": "MyDisctSolver_abc123",
"status": "completed",
"result": {
"token": "5620301f30daf284b829fba66fa9b3d0",
"timestamp": "2025-12-01T12:00:15.000Z"
}
}
}
The token field contains the FaucetPay captcha response. Submit this token in the
appropriate form field when submitting the form.
Python Example
import requests
import time
def solve_faucetpay_captcha(site_url, site_key, api_key, user_agent=None):
# Step 1: Create task
payload = {
'auth': {'token': api_key},
'context': {'source': 'api', 'version': '1.0.0'},
'captcha': {
'type': 'FAUCETPAY_CAPTCHA_TOKEN',
'metadata': {
'siteUrl': site_url,
'siteKey': site_key
},
'payload': {}
}
}
if user_agent:
payload['captcha']['payload']['userAgent'] = user_agent
create_response = requests.post(
'https://solver-api.mydisct.com/createTask',
headers={
'Content-Type': 'application/json',
'apikey': api_key
},
json=payload
)
create_data = create_response.json()
if not create_data['success']:
raise Exception(create_data['error']['message'])
task_id = create_data['task']['id']
print(f'Task created: {task_id}')
# Step 2: Poll for result
while True:
time.sleep(5)
result_response = requests.post(
'https://solver-api.mydisct.com/fetchResult',
headers={'Content-Type': 'application/json', 'apikey': api_key},
json={'taskId': task_id}
)
result_data = result_response.json()
if result_data['task']['status'] == 'completed':
return result_data['task']['result']['token']
elif result_data['task']['status'] == 'failed':
raise Exception('Solving failed')
print('Still processing...')
# Usage
token = solve_faucetpay_captcha(
site_url='https://faucet-example.com/claim',
site_key='b7890hre5cf2544b2759c19fb2600897',
api_key='YOUR_API_KEY'
)
print(f'Captcha token: {token}')
cURL Example
# Create task
curl -X POST https://solver-api.mydisct.com/createTask \
-H "Content-Type: application/json" \
-H "apikey: YOUR_API_KEY" \
-d '{
"auth": {"token": "YOUR_API_KEY"},
"context": {"source": "api", "version": "1.0.0"},
"captcha": {
"type": "FAUCETPAY_CAPTCHA_TOKEN",
"metadata": {
"siteUrl": "https://faucet-example.com/claim",
"siteKey": "b7890hre5cf2544b2759c19fb2600897"
},
"payload": {}
}
}'
# Fetch result (replace TASK_ID with actual task ID)
curl -X POST https://solver-api.mydisct.com/fetchResult \
-H "Content-Type: application/json" \
-H "apikey: YOUR_API_KEY" \
-d '{"taskId": "TASK_ID"}'
Best Practices
- FaucetPay captcha tokens typically expire within a few minutes, use them promptly
- Site keys are 32-character hexadecimal strings
- Using a proxy is optional but recommended for high-volume operations
- Provide a valid User-Agent string matching your browser for better success rates