# Keys

{% hint style="info" %}
The following functions do not update keys for a subnet owner. To update keys for a subnet owner, see [transfer\_ownership](https://docs.hypertensor.org/subnet-owner#transfer-ownership).
{% endhint %}

Coldkey and hotkey **can never match**. This design is to force the security of all subnets and nodes. For example, by the network not allowing hotkeys to be used more than once or across multiple subnets, if a subnet is exploited, the network will be aware of which subnet was exploited.

### Update Coldkey

#### Call `update_coldkey` with the coldkey to update to a new coldkey.

```rust
pub fn update_coldkey(
    origin: OriginFor<T>, 
    hotkey: T::AccountId,
    new_coldkey: T::AccountId
)
```

### Update Hotkey

#### Call `update_hotkey` with the coldkey to update to a new hotkey.

```rust
pub fn update_hotkey(
    origin: OriginFor<T>, 
    old_hotkey: T::AccountId,
    new_hotkey: T::AccountId
)
```
