Developer API
Request testnet coins programmatically, for CI, integration tests, and tooling. Free, keyless, and rate-limited. The coins have no value.
Prefill links (no integration)

Just sending a user here, say from a wallet's "get testnet coins" button? Link them to a faucet page with their address in ?address= and the claim box arrives pre-filled, and they solve the captcha and click. No integration, just an <a href>:

https://cypherfaucet.com/xmr-stagenet?address=YOUR_ADDRESS

It works on every faucet page and is display-only, so the captcha, validation, and rate limits all still apply on submit.

Networks

Use the network slug below in API requests.

network coin payout
xmr-stagenet sXMR 0.01 sXMR
xmr-testnet tXMR 0.01 tXMR
ltc-testnet tLTC 0.01 tLTC
btc-testnet tBTC 0.01 tBTC
GET /api/v1/info

Payout amount, claim window, and balance for each faucet, served from cache so it never hits a node. Add ?network=<slug> to filter to one.

curl https://cypherfaucet.com/api/v1/info
POST /api/v1/claim

Send one payout. JSON body with the network slug and a destination address; returns the transaction id (and, for Monero, the tx_key so the payment can be proven).

curl -X POST https://cypherfaucet.com/api/v1/claim \
  -H 'Content-Type: application/json' \
  -d '{"network":"xmr-stagenet","address":"YOUR_ADDRESS"}'

Success: {"ok":true,"network":"...","amount":"...","txid":"..."}.

Errors

Failures are {"ok":false,"error":"<code>","message":"..."} with a matching HTTP status:

statuserror
400invalid_request, unknown_network, invalid_address
405method_not_allowed (use POST for /claim)
409faucet_empty
429rate_limited, ip_rate_limited, daily_cap
503node_busy, send_failed, unavailable, faucet_offline
500internal_error

rate_limited includes retry_after (seconds) and next_claim, and sets the Retry-After header.

Rate limits & fair use
  • One claim per address per claim window, and (behind Cloudflare) one per IP per window, shared with the website. Claiming on the site and via the API count together.
  • A faucet-wide daily cap is the overall ceiling.

These are valueless testnet coins, so please don't hammer or hoard. A 429 means wait (respect Retry-After), not retry-in-a-loop.

Using it in a project?

The defaults cover most projects. If you need higher limits, bulk testnet coins, or a faucet/API integration, get in touch.

If you build the faucet into a tool or show it to your users, a credit is appreciated but never required: a link to cypherfaucet.com, or "Testnet coins via CypherFaucet."

Machine-readable index: /api/v1/ · full reference and source: the repository.