Why this is safe
Why this is safe
Linking a hotkey takes one signature. Here is exactly what happens, and what does not.
- [ 01 ]
What you sign
One line of plain text. It carries three things: the name and version of this service, a random one-time value, and an expiry time. It also says, in plain words, to sign it only if you asked for it yourself.
- [ 02 ]
Signing is local
btcli takes your hotkey and the line and computes a signature on your own machine. Nothing is broadcast, nothing is spent, and the chain never hears about it.
- [ 03 ]
It cannot be a transaction
The line is plain ASCII and under 256 bytes. A signed transaction always ends with two 32-byte random hashes, so these bytes cannot be mistaken for one. The bot checks this every time before handing you a line.
- [ 04 ]
This is not a password check
There is no stored answer to compare against. We take the public key out of the address you send and verify the signature against it, over exactly the bytes we issued. Only the holder of the matching private key can produce a signature that passes.
- [ 05 ]
What it proves
That whoever is in this chat holds that hotkey right now. Nothing more: not who you are, not your coldkey, not that you are the only one with the key.
- [ 06 ]
What we keep
The link between your key and this account, both encrypted, the key address included. Not your username. Not your messages. Those are never stored.
- [ 07 ]
One key, one account
If another account proves the same key, the key moves there and this account is told right away. The real owner can always take it back by signing again.
- [ 08 ]
If someone sent you this command, stop
Only run a line you received from this bot yourself. Signing a line that someone else sent you links your key to their account, not yours. The line itself warns you, right before you sign.
What you sign
$ btcli wallet sign --use-hotkey --json-output \ --wallet-name YOUR_WALLET --wallet-hotkey YOUR_HOTKEY \ --message 'bittensor-messenger v1 | link this hotkey | sign only if you asked for this yourself | nonce 5f719f0a394a59f6 | expires 2026-09-29T13:15:22Z'$ btcli wallet sign --use-hotkey --json-output --wallet-name YOUR_WALLET --wallet-hotkey YOUR_HOTKEY --message 'bittensor-messenger v1 | link this hotkey | sign only if you asked for this yourself | nonce 5f719f0a394a59f6 | expires 2026-09-29T13:15:22Z'