Services
Faucet

Faucet

A minimal Typescript faucet to drip native tokens on Ethereum chains

Usage

  1. Specify the environment variables. Note that you need to export (opens in a new tab) these variables for the faucet service to get them.

    VariableDescriptionDefault
    HOSTHost that the indexer server listens on0.0.0.0
    PORTPort that the indexer server listens on3002
    RPC_HTTP_URL1HTTP URL for Ethereum RPC
    FAUCET_PRIVATE_KEYPrivate key of wallet to distribute faucet funds from
    DRIP_AMOUNT_ETHERDrip amount in ether

    (1) If you use http://localhost:8545 and it fails try using http://127.0.0.1:8545 instead

  2. Start the server.

    npx @latticexyz/faucet

    For example, you can use these values to drip 1 ETH for a local anvil (opens in a new tab) instance:

    VariableValueComments
    RPC_HTTP_URLhttp://127.0.0.1:8545 (opens in a new tab)localhost sometimes doesn't work
    FAUCET_PRIVATE_KEY0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690dOne of the default accounts
    DRIP_AMOUNT_ETHER1

Getting ETH from a faucet

This sample program (opens in a new tab) shows how to obtain ETH from a faucet using TypeScript.

Alternatively, you can submit a POST request to the faucet. For example, if you use the default HOST and PORT, this command requests a drip to the zero address.

curl -X POST http://127.0.0.1:3002/trpc/drip \
   -H "Content-Type: application/json" \
   -d '{"address": "0x0000000000000000000000000000000000000000"}'