Cold staking lets you delegate the right to stake your coins to a separate “hot” node, while spending control never leaves your own wallet’s keys. The hot node can produce blocks with your coins; it can never move them.
This is enforced by a special output type (P2CS – pay-to-cold-staking), not by trust: the owner key and the staking key are cryptographically split inside the same output.
Roles
- Owner: holds the spending key. Can spend the coins at any time. Balance still counts as theirs.
- Staker: holds only a staking key, delegated by the owner. Can produce blocks with the delegated coins, and is the address credited as the “staker” on any block it produces. Cannot spend the delegated coins – ever.
Delegating
# On the staker's node -- generate an address to receive a delegation:
krova-cli getnewstakingaddress
# On the owner's wallet -- delegate stake to it:
krova-cli delegatestake "<staking_address>" <amount>
The owner can revoke a delegation at any time simply by spending the coin normally – there’s nothing for the staker to approve or release.
Checking a delegation
krova-cli getcoldstakingbalance # owner: how much is currently delegated out
krova-cli liststakingaddresses # addresses you've generated for receiving delegations
On the block explorer, an owner address’s page shows delegated-out balance separately from its own spendable balance; a staker address’s page shows how much is delegated to it, from how many distinct owners – never counted as the staker’s own balance.