# Proxy Accounts

An account can authorize another account to sign **extrinsic calls** made to specific **pallets** on its behalf. We call these authorized accounts Proxy Accounts. These can be created to interact with the different pallets involved in staking such as `staking`, `session` and `utility` pallets.

Proxies serve as efficient delegates and enhance security by allowing tasks to be completed through smaller, specialized accounts rather than a main account. This minimizes the need for frequent transactions in the main account, adding a layer of security. Proxies can be more active while the main account remains less active ("cold"), utilizing the cold account's token weight.

**Proxy types**

Proxy accounts can be set up to have a defined set of permissions. For example, staking proxies have permission to do only staking-related transactions.

When you set a proxy, you must choose a type:

* **Any**: allow any transaction, including balance transfers. In most cases, this should be avoided as the proxy account is used more frequently than the cold account and is therefore less secure.
* **Non-transfer**: allow any type of transaction except balance transfers. Hence, this proxy does not have permission to access calls in the Balances and XCM pallet.
* **Staking**: allow all staking-related transactions. The stash account is meant to stay in cold storage, while the staking proxy account makes day-to-day transactions like setting session keys or deciding which validators to nominate.

**Proxy account tools**

* [Creditcoin CLI](https://docs.creditcoin.org/wallets/how-to-connect-your-wallet-to-creditcoin/command-line-interface/creditcoin-cli): the CLI bundled in the Creditcoin Docker image allows setting staking proxies for managing Nominators and Validators.
