Divi 3.0.0 Faucet

Loading...
Rate limiting is per-address, not per-IP. Each address can request once per hour.
Available: Loading...
Payout: Loading...

Faucet API Documentation

The faucet provides a public REST API for programmatic access. Rate limiting is per-address (1 request per hour per address).

GET /api/status

Get current faucet status including available balance and payout amount.

Response

{ "success": true, "network": "testnet", "availableForFaucet": 50000, "payoutAmount": 1000, "payoutsAvailable": 50, "cooldownHours": 1, "rateLimitType": "address" }
GET /api/check/:address

Check if an address can request funds (not on cooldown).

Response

{ "success": true, "address": "xyABC123...", "canRequest": true, "cooldownEnd": null, "remainingMinutes": 0, "payoutAmount": 1000 }
POST /api/request

Request funds to be sent to your address.

Request Body

{ "address": "xyABC123..." }

Success Response (200)

{ "success": true, "message": "Sent 1000 PDIVI to xyABC123...", "txid": "abc123def456...", "amount": 1000, "cooldownHours": 1 }

Rate Limited Response (429)

{ "success": false, "error": "This address has already received funds. Please wait 45 minute(s)...", "remainingMinutes": 45 }

Code Examples

# Check faucet status curl https://vps1.divi.domains/testnet/faucet/api/status # Check if address can request curl https://vps1.divi.domains/testnet/faucet/api/check/xyYOUR_ADDRESS # Request funds curl -X POST https://vps1.divi.domains/testnet/faucet/api/request \ -H "Content-Type: application/json" \ -d '{"address": "xyYOUR_ADDRESS"}'
import requests # Faucet base URL BASE_URL = "https://vps1.divi.domains/testnet/faucet" # Check faucet status status = requests.get(f"{BASE_URL}/api/status").json() print(f"Available payouts: {status['payoutsAvailable']}") # Check if address can request address = "xyYOUR_ADDRESS" check = requests.get(f"{BASE_URL}/api/check/{address}").json() print(f"Can request: {check['canRequest']}") # Request funds if check['canRequest']: response = requests.post( f"{BASE_URL}/api/request", json={"address": address} ).json() if response['success']: print(f"Transaction ID: {response['txid']}") else: print(f"Error: {response['error']}")
// Faucet base URL const BASE_URL = 'https://vps1.divi.domains/testnet/faucet'; // Check faucet status async function getStatus() { const res = await fetch(`${BASE_URL}/api/status`); return res.json(); } // Check if address can request async function checkAddress(address) { const res = await fetch(`${BASE_URL}/api/check/${address}`); return res.json(); } // Request funds async function requestFunds(address) { const res = await fetch(`${BASE_URL}/api/request`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ address }) }); return res.json(); } // Example usage const address = 'xyYOUR_ADDRESS'; const check = await checkAddress(address); if (check.canRequest) { const result = await requestFunds(address); console.log('TX:', result.txid); }

API Playground

Test the API directly from your browser.

Check Address Status

Response

// Response will appear here