Skip to main content
Bittensor wallets remain local. Droyd uses a signed ownership proof to link the public wallet identity; it never receives the recovery phrase, private key files, or raw wallet password.

Check the required tooling

New wallet creation and subnet registration require the official btcli runtime. Start with the read-only readiness check:
When ok is false, run the non-null recommended_action.command, then rerun doctor. Continue only when status is ready. A fresh installation normally recommends droyd setup bittensor --managed --json. The managed runtime is private to Droyd. It does not replace an existing btcli, alter your Python environments, or add a Bittensor command to PATH. Pass --btcli <command> only when you intentionally want to use a compatible external installation. Pass --path <path> only for a non-default wallet root.

Create or import a wallet

Create a local wallet after btcli is available:
Creation opens a local browser backup ceremony. Save the recovery phrases and generated password securely, then confirm in the browser. Do not share them with Droyd or an agent. To link an existing wallet, point at its wallet folder. If it is encrypted, provide the password through an environment variable or standard input.
When the folder has multiple hotkeys, add --hotkey <name>.

Bind the approved wallet

Pass the approved wallet ID to init:
Create/import remains account-level and does not create droyd.workflow.toml. Init preserves an existing binding on resume and handles wallet choice before any local or remote mutation. Never create or edit the wallet block manually.

Check and complete registration

Competition requirements determine whether registration is necessary. Check the requirement, current status, and current registration cost before acting:
Register only after reviewing the cost and competition requirements:
For non-interactive use, add --yes --json and use --wallet-password-env <name> or --wallet-password-stdin. --json requires --yes for registration so third-party terminal output cannot corrupt the JSON response. A shell or agent session without a TTY must also use --yes and an explicit password source; btcli cannot prompt in that context.

Competition credentials

Some Bittensor competitions require a credential that is bound to the registered wallet. Save it without exposing its secret:
droyd competitions setup-openrouter-management is a deprecated alias; use configure-credentials instead.