Chat with us, powered by LiveChat
← Return to MyDisct Solver

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.

What is FaucetPay Captcha?

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 -->
Finding the Site Key

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

POST /createTask

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

JavaScript
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"
    }
  }
}
Using the Token

The token field contains the FaucetPay captcha response. Submit this token in the appropriate form field when submitting the form.

Python Example

Python
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

cURL
# 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

Recommendations
  • 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