The faucet is the entry point for any new user or wallet on the YouthChain testnet. A single call delivers everything a user needs to start participating: native gas, the staking token, and the rewards token.

What you receive

The faucet wallet is funded with ~500K native YCE, ~100M YCE token and ~8M YCR. Enough headroom for thousands of testers.

Cooldown

24 hours per address. A second request from the same address within 24h returns HTTP 429 COOLDOWN. Use a fresh wallet (or the /api/faucet/status/:address endpoint to check) if you need more during testing.

Endpoints

POST /api/faucet

Drops YCE + YCR + native to the address. Request
Body Response — 202 Accepted
202, not 201: the response comes back before the money lands. The three transfers are submitted to the node immediately — the call answers in well under a second — and they settle a few blocks later. Measured on the testnet: balance visible ~15 s after the POST. Poll pollUrl every 5 s until nativeBalance is non-zero, or watch the three hashes with eth_getTransactionReceipt. See Events & confirmations.
This endpoint used to hold the connection open until all three receipts existed, which took around 40 s at a 5 s block time — past the default timeout of most HTTP clients, so a working faucet looked broken. If your client treats a slow response as an error, that workaround is no longer needed.
Errors

GET /api/faucet/status/:address

Checks whether an address is on cooldown and returns its current native balance. Request
Response — 200 OK

Integration tips

  • Always call this first for any new wallet. Without native YCE the wallet can’t send any tx.
  • The 11K YCE is enough for: 10K stake to register as validator + 1K cushion for gas + AMM swaps.
  • The 1K YCR is enough to play with the AMM (swapYCRForYCE swaps 100 YCR for ~1.4 YCE at current pool ratio).
  • Cooldown is in-memory in the indexer — it resets if the indexer container restarts. Don’t rely on it for production rate-limiting.