> For the complete documentation index, see [llms.txt](https://docs.satlayer.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.satlayer.xyz/bvs-developers-1/developer-toolbox/satlayer-cli/strategy.md).

# Strategy

The `strategy` subcommand handles operations regarding a strategy. Most users should not need access to these commands as they directly control a strategy.

### transfer-owner

Transfer the owner of the strategy contract, specified in the configuration file

```
satlayer-cli strategy transfer-owner <user-key-name> <new-owner-address>
```

In which:

* **user-key-name** - name of the key in the keyring to use for contract execution
* **new-owner-address** - address of the new owner of the strategy

### set-delegation-manager

Set the delegation manager interacting with the strategy contract

```
satlayer-cli strategy set-delegation-manager <user-key-name> <delegation-manager-address>
```

In which:

* **user-key-name** - name of the key in the keyring to use for contract execution
* **delegation-manager-address** - address of the delegation manager

### set-strategy-whitelist

Sets the account to the list of accounts that is allowed to add strategy to the strategy whitelist.

```
satlayer-cli strategy set-strategy-whitelist <user-key-name> <address>
```

* **user-key-name** - name of the key in the keyring to use for contract execution
* **address** - the address to be allowed to add strategy to the strategy whitelist

### remove-strategy-from-whitelist

Removes a strategy from the strategy whitelist.

```
satlayer-cli strategy remove-strategy-from-whitelist <user-key-name> <strategy-address>
```

In which:

* **user-key-name** - name of the key in the keyring to use for contract execution
* **strategy-address** - address of the strategy contract to be removed

### add-strategy-to-whitelist

Add a strategy to the strategy whitelist

```
satlayer-cli strategy add-strategy-towhitelist <user-key-name> <strategy-address> <disallow-3rd-party>
```

In which:

* **user-key-name** - name of the key in the keyring to use for contract execution
* **strategy-address** - the address of the strategy contract to be added
* **disallow-3rd-party** - boolean, `true` or `false`. If 3rd party transfers are allowed

### set-third-transfer-forbidden

Set if 3rd party transfers are disallowed for a strategy

```
satlayer-cli strategy set-third-transfer-forbidden <user-key-name> <strategy-address> <disallow-3rd-party>
```

In which:

* **user-key-name** - name of the key in the keyring to use for contract execution
* **strategy-address** - the address of the strategy contract to be added
* **disallow-3rd-party** - boolean, `true` or `false`. If 3rd party transfers are allowed

### deposit-strategy

Deposit into the strategy from the wallet address set in the configuration file

```
satlayer-cli strategy deposit-strategy <user-key-name> <strategy-addresss> <token-address> <amount>
```

In which:

* **user-key-name** - name of the key in the keyring to use for contract execution
* **strategy-address** - the address of the strategy contract to be added
* **token-address** - the address of the CW20 token
* **amount** - the amount to be deposited

### get-deposits

Query a staker's deposit information regarding a strategy

```
satlayer-cli strategy get-deposits <staker-address> <strategy-adress>
```

In which:

* **staker-address** - the address of the staker  you are querying
* **strategy-address** - the address of the strategy

### get-staker-strategy-list-length

Queries how many strategy a staker has staked into

```
satlayer-cli strategy get-staker-strategy-list-length <staker>
```

In which:

* **staker-address** - the address of the staker you are querying

### get-staker-strategy-shares

Query how many shares a staker owns given a strategy

```
satlayer-cli strategy get-staker-strategy-shares <staker-address> <strategy-adress>
```

In which:

* **staker-address** - the address of the staker you are querying
* **strategy-address** - the address of the strategy

### is-third-transfer-forbidden

Queries if 3rd perty transfer is disallowed (set by `set-third-transfer-forbidden`).&#x20;

```
satlayer-cli strategy is-third-transfer-forbidden <strategy-address>
```

In which:

* **strategy-address** - the address of the strategy

### get-staker-strategy-list

Queries the list of strategy a staker has staked into

```
satlayer-cli strategy get-staker-strategy-list-length <staker>
```

In which:

* **staker-address** - the address of the staker you are querying

### get-owner

Queries the owner of the strategy, set in the configuration file.

```
satlayer-cli strategy get-owner
```

### is-strategy-whitelisted

Query is a strategy is whitelisted

```
satlayer-cli strategy is-strategy-whitelisted <strategy-address>
```

In which:

* **strategy-address -** The address of the strategy
