Skip to main content
Get from zero to your first on-chain transfer on The DevNet Grid in about five minutes. You’ll install the CLI, point it at the network, fund a wallet from the faucet, send GEN to a second address, and confirm both the activation and the resulting balance.

Prerequisites

  • macOS or Linux
  • A terminal you’re comfortable with

Step 1: Install the CLI

Download the gen binary for your platform and put it on your PATH.
Verify the install:
You should see the top-level command list (wallet, client, config, service, and others). If that prints, you’re ready.

Step 2: Connect to a network

DevNet access. DevNet requires a bearer token issued by Gen Labs. Ask your contact for one and substitute it for <your-jwt> in the commands below.
The CLI reaches networks through named environments. Create one for DevNet, attach your JWT, and make it active so you don’t have to pass --env or --rpc-url on every call. DevNet requires a bearer token on every request, so persist your JWT as an Authorization header:
Confirm the effective config:
Expected output — a Global settings section plus an Environments list, with the active env marked *:
To see one environment’s full detail, including headers, run gen config env show devnet (header values are redacted by default; add --show-secrets to reveal them):
You can hit a different endpoint for a single command with --env <name>, override the URL with --rpc-url <URL>, and add or override headers with --header "name: value". To remove the environment later, run gen config env delete devnet.

Step 3: Create a wallet

Create a new wallet called alice. This becomes your active wallet automatically:
The CLI prints a 32-byte hex private key once, along with the wallet’s address (a grd@... bech32m string). Save the key somewhere safe. There is no way to recover it later. (If you’d rather have a BIP-39 recovery phrase, pass --mnemonic.) Expected output (abridged):
Grab the account’s address into a shell variable so the next steps are copy-paste:

Step 4: Fund the wallet from the faucet

Ask the DevNet faucet to fund Alice. The faucet auto-creates the account on first use:
Expected output:
In --json mode the result looks like:
Note: The DevNet faucet has a per-account rate limit. If a request fails with RateLimited, wait a minute and retry. If the faucet returns InsufficientFunds, it has been drained. Refills happen periodically.

Step 5: Send a transfer

Pick a recipient. For this walk-through, create a second wallet so you have somewhere to send to:
gen wallet create bob makes bob the active wallet, so the next command pins the source explicitly with --wallet alice. Send 1,000 subunits, pass --yes to skip the confirmation prompt, and capture the activation ID from the JSON envelope for the next step.
The transfer envelope looks like this in --json mode:

Step 6: Confirm the activation

Fetch the activation you just submitted to see how it played out on the network:
The result includes the events the activation emitted and the block it finalized in (end_block). This is useful for tracing and debugging. For a simple yes/no that the transfer landed, the most direct check is the recipient’s balance in Step 7.

Step 7: Verify the recipient balance

Query Bob’s balance to confirm the funds arrived. Pass the wallet name to query a specific stored wallet:
Expected output:
Or in JSON:
That’s it. You’ve sent and confirmed your first transfer on the Grid.

What’s next