Skip to main content
SDK boundary — Like wallet creation, the faucet is a gen CLI command and is not exposed in client_sdk. Rust apps shell out to gen wallet faucet during setup, then use the SDK for everything from get-account onward.
The faucet is how a freshly-created account gets its first USDG. It is the first activation alice will ever participate in, and it doubles as the moment her account becomes a thing the chain has heard of.
Prerequisites · You finished Your first account and have $ALICE set in your shell.

Steps

1

Request funds from the faucet

"$GEN" wallet --rpc-url "$SERVER_URL" --json faucet \
  --wallet alice \
  --amount 1000000000 \
  --no-wait
A few things to notice:
  • --amount is in subunits, not human cents. 1 USDG ≈ 1_000_000_000 subunits in the demo configuration.
  • --no-wait returns as soon as the activation is submitted. Drop it if you’d rather block until inclusion.
  • There is no separate “create-account” step — funding implicitly creates the account if it doesn’t exist yet.
Need an empty account on-chain (no balance, just presence)? Use --create-account-only instead of --amount.
2

Verify the balance landed

"$GEN" client --rpc-url "$SERVER_URL" --json balance --account "$ALICE"
Expected shape:
{
  "result": {
    "balance": "1000000000",
    "token_contract": "grd@..."
  }
}
If balance is still 0, the activation hasn’t been finalized yet — re-run after a beat (faucet activations typically finalize in ~10 ms locally).

What just happened

The faucet contract debited itself by your requested amount and credited alice’s token-holder component. That is the canonical transfer activation that you’ll do yourself in lesson 4 — the faucet just happens to be on the other end.
Receipt · 1 activation · 0.001¢ USDG · ~10 ms · Funded an account, end-to-end, for a tenth of a cent.

Two things you didn’t have to do

Because of how the Grid is structured, two things that would be required on most L1s were absent:
  • No “create the account on-chain” step. Identity exists the moment a key exists; the chain learns about an account when an activation references it.
  • No native token to acquire first. Activation cost is paid in USDG. You don’t need to bridge ETH-equivalents to do USDG things.

Troubleshooting

The local faucet has a per-account rate limit and a per-cycle budget. Wait a moment, then retry; or fund a different wallet name.
You probably dropped --no-wait but pointed at a different RPC than where you submitted. Re-check SERVER_URL.

What’s next

Local → DevNet in one flag

Same commands, different network — show that the only thing changing is the URL.