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

# Cosmos SDK LSM

> As of the v24.x release of Gaia, the Cosmos SDK based Liquid Staking Module is deprecated. The v24 release line will still have all the types from the forked SDK version, but all the API endpoints will be disabled.

## Deprecation

As of the `v24.x` release of Gaia, the Cosmos SDK based Liquid Staking Module is deprecated. The `v24` release line
will still have all the types from the forked SDK version, but all the API endpoints will be disabled.

## Migration

The following outlines the key differences between the Cosmos SDK LSM and the x/liquid module, including message and
API removals between the two, as well as parameter and limit changes. In general an effort was made to keep as much
as possible the same between the two. Cases where removals were made were largely due to no longer be able to
properly track state from outside the staking module.

The state associated with each account currently on a live network which is using the SDK LSM will be migrated to
use the liquid module. There should be no change to the existing liquid staking denoms, tokenize share records, or
rewards associated with any owner of a tokenize share record.

### Removals

* MsgUnbondValidator
* MsgValidatorBond

Both the message types and the APIs for Validator Bonds have been removed. The `min_self_delegation` field in the
SDK's staking module, which had previously been marked as deprecated, has been restored to its upstream state.

Note that if you created a validator after the field was deprecated, you may end up with `0` self delegation and a
`min_self_delegation` of `1`. This should be minimally invasive and will only affect you if you try to  call
`EditValidator` or potentially in an `Unjail` scenario. The resolution for this is to self delegate a minimal amount
of stake.

* Limits changes

The `GlobalLiquidStakingCap` and `ValidatorLiquidStakingCap` are now the only protocol limits and are enforced
solely on tokenized shares through the x/liquid module itself. Previously this tracked delegations via ICA as
counting towards these limits, but the new tallies do not take that into account.

Additionally, the `liquid_shares` field of the `Validator` object returned in staking module queries will no longer
be updated. Its removal is planned in v25, but as of v24 that value will still show up, but will not be updated and
is not used in limits calculations. To query the same information, you can use the `QueryLiquidValidator` request
added to the x/liquid module.

### Migrations

All messages and APIs have been moved.

For protobuf, the types within the distribution and staking modules have all been moved to

```protobuf theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
gaia.liquid.v1beta1.*
```

For API paths, the module-specific paths have all been moved to

```
/gaia/liquid/v1beta1/
```

CLI interactions with the liquid module should use `gaiad q liquid` or `gaiad tx liquid`, etc.
