lium signup
Create a Lium account from the terminal and store the API key it mints.
Use this when you have no account yet. lium init authenticates an account that already exists — it cannot create one.
This is the email path. Confirming the address is optional — it enables password resets and
account mail, and does not gate renting. For a signup with no email at all, post to
https://lium.io/api/auth/signup instead — see
Signing up without an email.
lium signup --email you@example.com
Options​
| Flag | Effect |
|---|---|
--email ADDRESS | Your real email address — the confirmation link is sent there. Required. |
--name NAME | Display name (defaults to the local part of the email) |
--password PASSWORD | Account password. One is generated when you omit it. |
--json | Print machine-readable JSON |
Prefer the LIUM_SIGNUP_PASSWORD environment variable over --password: a flag value is left behind in your shell history and in ps output.
What it does​
- Creates the account.
- Writes the minted API key to
~/.lium/config.iniunderapi.api_key. - Sets up an SSH key locally: picks the first of
~/.ssh/id_ed25519,id_rsa,id_ecdsathat exists, generatesid_ed25519when none does, and records the path in the config. Nothing is uploaded yet — the public key reaches your Lium account on the firstlium up.
After it finishes, lium ls and lium up work with no further setup. The command prints the password — it is your login at lium.io and is not stored anywhere else.
Email confirmation​
Click the link in the "Please confirm your email" message to verify the address for password resets and account email. The separate "Welcome to Celium!" message carries no link. Confirmation does not gate renting; a balance above 15 minutes of the node's hourly price does.
When an account already exists locally​
lium signup refuses to run while an API key is already in effect, rather than creating a second account you cannot reach. Where the key comes from decides how to clear it — the error message names the right one:
# Key stored in ~/.lium/config.ini
lium config unset api.api_key
# Key exported in the environment — `lium config unset` will not help here
unset LIUM_API_KEY
lium signup --email you@example.com
Examples​
lium signup --email ada@example.com
lium signup --email ada@example.com --name Ada
lium signup --email ada@example.com --json
LIUM_SIGNUP_PASSWORD=... lium signup --email ada@example.com
--json output:
{
"api_key": "sk_...",
"email": "ada@example.com",
"next_steps": ["...", "...", "..."],
"password": "generated-or-supplied",
"signup_credit_granted": true,
"ssh_key_configured": true
}
signup_credit_granted answers whether the signup credit landed: true granted, false not granted, null not reported by the backend — read lium balance --json in that case.
If the command fails after the account was created, the error still reports the email and password, so you can log in at lium.io and copy an API key from the dashboard.
See also​
lium init— authenticate an existing accountlium balance— check the balancelium ls— find a node to rent