lium topup
Top up your Lium balance with a stablecoin (e.g. USDT). Unlike lium fund — which transfers TAO from a Bittensor wallet — topup creates a payment invoice and hands you a deposit address plus the exact crypto amount to send. You make the transfer from your own wallet; the balance is credited automatically once the network confirms it.
This is the recommended path for AI agents that self-fund: every subcommand supports --json, so an agent can create an invoice, read the deposit address, send the funds, then poll lium balance until the credit lands — no human in the loop.
lium topup COMMAND [OPTIONS]
Subcommands
| Command | Purpose |
|---|---|
lium topup currencies | List supported stablecoins and networks |
lium topup create | Create an invoice and print the deposit address + amount |
lium topup currencies
List the stablecoins and networks you can pay with.
lium topup currencies [--refresh] [--json]
| Flag | Effect |
|---|---|
--refresh | Bypass the cache and re-fetch from the provider |
--json | Print machine-readable JSON |
lium topup currencies
lium topup currencies --json
lium topup create
Create a top-up invoice and print the deposit address plus the exact amount to send.
lium topup create -a AMOUNT -c CURRENCY -n NETWORK [--json]
| Flag | Effect |
|---|---|
--amount, -a FLOAT | Top-up amount in USD (required) |
--currency, -c CODE | Stablecoin code, e.g. USDT (required) |
--network, -n NAME | Network the coin is sent on, e.g. tron (required) |
--json | Print machine-readable JSON |
lium topup create -a 20 -c USDT -n tron
lium topup create -a 20 -c USDT -n tron --json
The response includes everything needed to pay:
| Field | Meaning |
|---|---|
invoice_id | Provider invoice identifier |
deposit_address | Send the funds here |
crypto_amount | Exact amount of crypto_currency to send |
crypto_currency / crypto_network | Coin and network to send on |
fiat_amount / fiat_currency | USD value being credited |
expires_at | Invoice expiry — send before this (invoices live ~30 min) |
hosted_invoice_url | Browser-payable page for the same invoice |
Underpaying credits only what is received. Sending on the wrong network, or after expires_at, can lose the funds. Always read crypto_amount and crypto_network back from the invoice rather than assuming them.
Agent self-funding loop
A shell agent with wallet access can top itself up end-to-end:
# 1. Discover a supported coin/network
lium topup currencies --json
# 2. Create a $20 invoice and capture the deposit address + amount
INVOICE=$(lium topup create -a 20 -c USDT -n tron --json)
ADDRESS=$(echo "$INVOICE" | jq -r .deposit_address)
AMOUNT=$(echo "$INVOICE" | jq -r .crypto_amount)
# 3. Send exactly $AMOUNT USDT (TRON) to $ADDRESS from your own wallet.
# This transfer happens in your wallet — Lium does not move your funds.
# 4. Poll until the balance is credited
lium balance --json
The transfer in step 3 is yours to make — Lium only issues the invoice and credits the balance once the provider confirms the on-chain payment.
See also
lium fund— fund with TAO from a Bittensor wallet insteadlium balance— check the credited balance- AI Agents — full agent integration guide