> ## Documentation Index
> Fetch the complete documentation index at: https://docs.defindex.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Vault Administration

Methods for whoever operates the vault, rather than for its depositors.

## Rebalance

To adjust asset allocation within the vault, use the `rebalance` method. Here are the steps to create the transaction:

1. **Prepare parameters**:
   * `caller`: The address of the user performing the rebalance.
2. **Example transaction**:

   ```json theme={null}
   {
     "method": "rebalance",
     "params": {
       "caller": "GCINP..."
     }
   }
   ```

***

## Rescue

To recover assets in critical situations, use the `rescue` method. Here are the steps to create the transaction:

1. **Prepare parameters**:
   * `strategy_address`: The address of the strategy from which you want to recover assets. This must be a valid address of a strategy linked to the vault.
   * `caller`: The address of the user performing the rescue operation.
2. **Example transaction**:

   ```json theme={null}
   {
     "method": "rescue",
     "params": {
       "strategy_address": "GCINP...",
       "caller": "GCINP..."
     }
   }
   ```

***

## Pause / Unpause

To pause or unpause a strategy, use the `pause_strategy` and `unpause_strategy` methods. Here are the steps to create the transactions:

1. **Prepare parameters**:
   * `strategy_address`: The address of the strategy you want to pause or unpause.
   * `caller`: The address of the user performing the operation.
2. **Example transaction for pausing**:

   ```json theme={null}
   {
     "method": "pause_strategy",
     "params": {
       "strategy_address": "GCINP...",
       "caller": "GCINP..."
     }
   }
   ```
3. **Example transaction for unpausing**:

   ```json theme={null}
   {
     "method": "unpause_strategy",
     "params": {
       "strategy_address": "GCINP...",
       "caller": "GCINP..."
     }
   }
   ```

***

## Upgrade

To update the vault's WASM code, use the `upgrade` method. Here are the steps to create the transaction:

1. **Prepare parameters**:
   * `new_wasm_hash`: The hash of the new WASM code.
   * `caller`: The address of the user performing the upgrade.
2. **Example transaction**:

   ```json theme={null}
   {
     "method": "upgrade",
     "params": {
       "new_wasm_hash": "HASH...",
       "caller": "GCINP..."
     }
   }
   ```

## Methods by role

Anyone with the right role can call these. See [Vault Roles](/getting-started/vault-roles) for who holds what.

**Management**: `rebalance`, `rescue`, `set_fees`, `pause_strategy` / `unpause_strategy`.

**Manager only**: `set_fee_receiver`, `set_manager`, `set_emergency_manager`, `set_rebalance_manager`, `upgrade`, `lock_fees`, `release_fees`.

The complete list with parameters is in the [vault interface](https://github.com/defindex-io/stellar-contracts/blob/main/vault/src/interface.rs).
