> ## 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.

# Distribution

> gRPC queries and transaction messages defined by the distribution module in Cosmos SDK v0.55 (unreleased).

<Info>
  Generated from [`cosmos/cosmos-sdk@c1126e4e5460`](https://github.com/cosmos/cosmos-sdk/tree/c1126e4e5460571378bf9bd9c49cce476b0791e2/proto) on ref `main`.
</Info>

## Queries

A node exposes only the services its application registers:

* gRPC on port 9090
* REST on port 1317, if the method has an HTTP binding

Run `grpcurl -plaintext localhost:9090 list` to see what a node serves.

Queries are read-only and never pass through consensus. See [Queries](/sdk/next/learn/concepts/transactions#queries).

Replace `<string>` placeholders with real values and omit unused filters. Payloads use protobuf JSON, and some `string` fields accept enum constants listed under Types. Field tables give the encoding each value takes.

Examples assume a local node. For TLS endpoints, use port 443 and omit `-plaintext`. See [gRPC services](/sdk/next/api-reference/grpc/index) for reflection, address formats, and decimal encoding.

### CommunityPool

CommunityPool queries the community pool coins.

| | |
| - | - |
| gRPC | `cosmos.distribution.v1beta1.Query/CommunityPool` |
| REST | `GET /cosmos/distribution/v1beta1/community_pool` |

Request `QueryCommunityPoolRequest`:

This message has no fields.

Response `QueryCommunityPoolResponse`:

| Field | Type | Description |
| - | - | - |
| `pool` | [`DecCoin`](#cosmos-base-v1beta1-deccoin)\[] | pool defines community pool's coins. |

```bash theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
grpcurl -plaintext localhost:9090 cosmos.distribution.v1beta1.Query/CommunityPool
```

### DelegationRewards

DelegationRewards queries the total rewards accrued by a delegation.

| | |
| - | - |
| gRPC | `cosmos.distribution.v1beta1.Query/DelegationRewards` |
| REST | `GET /cosmos/distribution/v1beta1/delegators/{delegatorAddress}/rewards/{validatorAddress}` |

Request `QueryDelegationRewardsRequest`:

| Field | Type | Description |
| - | - | - |
| `delegator_address` | `string` | delegator\_address defines the delegator address to query for. Encoded as cosmos.AddressString. |
| `validator_address` | `string` | validator\_address defines the validator address to query for. Encoded as cosmos.ValidatorAddressString. |

Response `QueryDelegationRewardsResponse`:

| Field | Type | Description |
| - | - | - |
| `rewards` | [`DecCoin`](#cosmos-base-v1beta1-deccoin)\[] | rewards defines the rewards accrued by a delegation. |

```bash theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
grpcurl -plaintext -d '{"delegator_address":"<string>","validator_address":"<string>"}' \
  localhost:9090 cosmos.distribution.v1beta1.Query/DelegationRewards
```

### DelegationTotalRewards

DelegationTotalRewards queries the total rewards accrued by each validator.

| | |
| - | - |
| gRPC | `cosmos.distribution.v1beta1.Query/DelegationTotalRewards` |
| REST | `GET /cosmos/distribution/v1beta1/delegators/{delegatorAddress}/rewards` |

Request `QueryDelegationTotalRewardsRequest`:

| Field | Type | Description |
| - | - | - |
| `delegator_address` | `string` | delegator\_address defines the delegator address to query for. Encoded as cosmos.AddressString. |

Response `QueryDelegationTotalRewardsResponse`:

| Field | Type | Description |
| - | - | - |
| `rewards` | [`DelegationDelegatorReward`](#cosmos-distribution-v1beta1-delegationdelegatorreward)\[] | rewards defines all the rewards accrued by a delegator. |
| `total` | [`DecCoin`](#cosmos-base-v1beta1-deccoin)\[] | total defines the sum of all the rewards. |
| `claimable` | [`Coin`](#cosmos-base-v1beta1-coin)\[] | claimable defines the amount that can actually be withdrawn. Each delegation reward is truncated individually, mirroring what Msg/WithdrawDelegatorReward pays out, so claimable is at most total. |

```bash theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
grpcurl -plaintext -d '{"delegator_address":"<string>"}' \
  localhost:9090 cosmos.distribution.v1beta1.Query/DelegationTotalRewards
```

### DelegatorStartingInfo

DelegatorStartingInfo queries the starting info for a delegator.

| | |
| - | - |
| gRPC | `cosmos.distribution.v1beta1.Query/DelegatorStartingInfo` |
| REST | `GET /cosmos/distribution/v1beta1/delegators/{delegatorAddress}/starting_info/{validatorAddress}` |

Request `QueryDelegatorStartingInfoRequest`:

| Field | Type | Description |
| - | - | - |
| `delegator_address` | `string` | delegator\_address defines the delegator address to query for. Encoded as cosmos.AddressString. |
| `validator_address` | `string` | validator\_address defines the validator address to query for. Encoded as cosmos.ValidatorAddressString. |

Response `QueryDelegatorStartingInfoResponse`:

| Field | Type | Description |
| - | - | - |
| `starting_info` | [`DelegatorStartingInfo`](#cosmos-distribution-v1beta1-delegatorstartinginfo) | starting\_info defines the starting info of a delegator. |

```bash theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
grpcurl -plaintext -d '{"delegator_address":"<string>","validator_address":"<string>"}' \
  localhost:9090 cosmos.distribution.v1beta1.Query/DelegatorStartingInfo
```

### DelegatorValidators

DelegatorValidators queries the validators of a delegator.

| | |
| - | - |
| gRPC | `cosmos.distribution.v1beta1.Query/DelegatorValidators` |
| REST | `GET /cosmos/distribution/v1beta1/delegators/{delegatorAddress}/validators` |

Request `QueryDelegatorValidatorsRequest`:

| Field | Type | Description |
| - | - | - |
| `delegator_address` | `string` | delegator\_address defines the delegator address to query for. Encoded as cosmos.AddressString. |

Response `QueryDelegatorValidatorsResponse`:

| Field | Type | Description |
| - | - | - |
| `validators` | `string`\[] | validators defines the validators a delegator is delegating for. |

```bash theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
grpcurl -plaintext -d '{"delegator_address":"<string>"}' \
  localhost:9090 cosmos.distribution.v1beta1.Query/DelegatorValidators
```

### DelegatorWithdrawAddress

DelegatorWithdrawAddress queries withdraw address of a delegator.

| | |
| - | - |
| gRPC | `cosmos.distribution.v1beta1.Query/DelegatorWithdrawAddress` |
| REST | `GET /cosmos/distribution/v1beta1/delegators/{delegatorAddress}/withdraw_address` |

Request `QueryDelegatorWithdrawAddressRequest`:

| Field | Type | Description |
| - | - | - |
| `delegator_address` | `string` | delegator\_address defines the delegator address to query for. Encoded as cosmos.AddressString. |

Response `QueryDelegatorWithdrawAddressResponse`:

| Field | Type | Description |
| - | - | - |
| `withdraw_address` | `string` | withdraw\_address defines the delegator address to query for. Encoded as cosmos.AddressString. |

```bash theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
grpcurl -plaintext -d '{"delegator_address":"<string>"}' \
  localhost:9090 cosmos.distribution.v1beta1.Query/DelegatorWithdrawAddress
```

### Params

Params queries params of the distribution module.

| | |
| - | - |
| gRPC | `cosmos.distribution.v1beta1.Query/Params` |
| REST | `GET /cosmos/distribution/v1beta1/params` |

Request `QueryParamsRequest`:

This message has no fields.

Response `QueryParamsResponse`:

| Field | Type | Description |
| - | - | - |
| `params` | [`Params`](#cosmos-distribution-v1beta1-params) | params defines the parameters of the module. |

```bash theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
grpcurl -plaintext localhost:9090 cosmos.distribution.v1beta1.Query/Params
```

### ValidatorCommission

ValidatorCommission queries accumulated commission for a validator.

| | |
| - | - |
| gRPC | `cosmos.distribution.v1beta1.Query/ValidatorCommission` |
| REST | `GET /cosmos/distribution/v1beta1/validators/{validatorAddress}/commission` |

Request `QueryValidatorCommissionRequest`:

| Field | Type | Description |
| - | - | - |
| `validator_address` | `string` | validator\_address defines the validator address to query for. Encoded as cosmos.ValidatorAddressString. |

Response `QueryValidatorCommissionResponse`:

| Field | Type | Description |
| - | - | - |
| `commission` | [`ValidatorAccumulatedCommission`](#cosmos-distribution-v1beta1-validatoraccumulatedcommission) | commission defines the commission the validator received. |

```bash theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
grpcurl -plaintext -d '{"validator_address":"<string>"}' \
  localhost:9090 cosmos.distribution.v1beta1.Query/ValidatorCommission
```

### ValidatorCurrentRewards

ValidatorCurrentRewards queries current rewards for a validator.

| | |
| - | - |
| gRPC | `cosmos.distribution.v1beta1.Query/ValidatorCurrentRewards` |
| REST | `GET /cosmos/distribution/v1beta1/validators/{validatorAddress}/current_rewards` |

Request `QueryValidatorCurrentRewardsRequest`:

| Field | Type | Description |
| - | - | - |
| `validator_address` | `string` | validator\_address defines the validator address to query for. Encoded as cosmos.ValidatorAddressString. |

Response `QueryValidatorCurrentRewardsResponse`:

| Field | Type | Description |
| - | - | - |
| `rewards` | [`ValidatorCurrentRewards`](#cosmos-distribution-v1beta1-validatorcurrentrewards) | rewards defines the current rewards of a validator. |

```bash theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
grpcurl -plaintext -d '{"validator_address":"<string>"}' \
  localhost:9090 cosmos.distribution.v1beta1.Query/ValidatorCurrentRewards
```

### ValidatorDistributionInfo

ValidatorDistributionInfo queries validator commission and self-delegation rewards for validator

| | |
| - | - |
| gRPC | `cosmos.distribution.v1beta1.Query/ValidatorDistributionInfo` |
| REST | `GET /cosmos/distribution/v1beta1/validators/{validatorAddress}` |

Request `QueryValidatorDistributionInfoRequest`:

| Field | Type | Description |
| - | - | - |
| `validator_address` | `string` | validator\_address defines the validator address to query for. Encoded as cosmos.ValidatorAddressString. |

Response `QueryValidatorDistributionInfoResponse`:

| Field | Type | Description |
| - | - | - |
| `operator_address` | `string` | operator\_address defines the validator operator address. Encoded as cosmos.ValidatorAddressString. |
| `self_bond_rewards` | [`DecCoin`](#cosmos-base-v1beta1-deccoin)\[] | self\_bond\_rewards defines the self delegations rewards. |
| `commission` | [`DecCoin`](#cosmos-base-v1beta1-deccoin)\[] | commission defines the commission the validator received. |

```bash theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
grpcurl -plaintext -d '{"validator_address":"<string>"}' \
  localhost:9090 cosmos.distribution.v1beta1.Query/ValidatorDistributionInfo
```

### ValidatorHistoricalRewards

ValidatorHistoricalRewards queries historical rewards for a validator at a specific period.

| | |
| - | - |
| gRPC | `cosmos.distribution.v1beta1.Query/ValidatorHistoricalRewards` |
| REST | `GET /cosmos/distribution/v1beta1/validators/{validatorAddress}/historical_rewards/{period}` |

Request `QueryValidatorHistoricalRewardsRequest`:

| Field | Type | Description |
| - | - | - |
| `validator_address` | `string` | validator\_address defines the validator address to query for. Encoded as cosmos.ValidatorAddressString. |
| `period` | `uint64` | period defines the period to query historical rewards for. |

Response `QueryValidatorHistoricalRewardsResponse`:

| Field | Type | Description |
| - | - | - |
| `rewards` | [`ValidatorHistoricalRewards`](#cosmos-distribution-v1beta1-validatorhistoricalrewards) | rewards defines the historical rewards of a validator. |

```bash theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
grpcurl -plaintext -d '{"validator_address":"<string>","period":"1"}' \
  localhost:9090 cosmos.distribution.v1beta1.Query/ValidatorHistoricalRewards
```

### ValidatorOutstandingRewards

ValidatorOutstandingRewards queries rewards of a validator address.

| | |
| - | - |
| gRPC | `cosmos.distribution.v1beta1.Query/ValidatorOutstandingRewards` |
| REST | `GET /cosmos/distribution/v1beta1/validators/{validatorAddress}/outstanding_rewards` |

Request `QueryValidatorOutstandingRewardsRequest`:

| Field | Type | Description |
| - | - | - |
| `validator_address` | `string` | validator\_address defines the validator address to query for. Encoded as cosmos.ValidatorAddressString. |

Response `QueryValidatorOutstandingRewardsResponse`:

| Field | Type | Description |
| - | - | - |
| `rewards` | [`ValidatorOutstandingRewards`](#cosmos-distribution-v1beta1-validatoroutstandingrewards) | |

```bash theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
grpcurl -plaintext -d '{"validator_address":"<string>"}' \
  localhost:9090 cosmos.distribution.v1beta1.Query/ValidatorOutstandingRewards
```

### ValidatorSlashes

ValidatorSlashes queries slash events of a validator.

| | |
| - | - |
| gRPC | `cosmos.distribution.v1beta1.Query/ValidatorSlashes` |
| REST | `GET /cosmos/distribution/v1beta1/validators/{validatorAddress}/slashes` |

Request `QueryValidatorSlashesRequest`:

| Field | Type | Description |
| - | - | - |
| `validator_address` | `string` | validator\_address defines the validator address to query for. Encoded as cosmos.ValidatorAddressString. |
| `starting_height` | `uint64` | starting\_height defines the optional starting height to query the slashes. |
| `ending_height` | `uint64` | starting\_height defines the optional ending height to query the slashes. |
| `pagination` | [`PageRequest`](#cosmos-base-query-v1beta1-pagerequest) | pagination defines an optional pagination for the request. |

Response `QueryValidatorSlashesResponse`:

| Field | Type | Description |
| - | - | - |
| `slashes` | [`ValidatorSlashEvent`](#cosmos-distribution-v1beta1-validatorslashevent)\[] | slashes defines the slashes the validator received. |
| `pagination` | [`PageResponse`](#cosmos-base-query-v1beta1-pageresponse) | pagination defines the pagination in the response. |

```bash theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
grpcurl -plaintext -d '{"validator_address":"<string>","starting_height":"1","ending_height":"1","pagination":{"limit":"1"}}' \
  localhost:9090 cosmos.distribution.v1beta1.Query/ValidatorSlashes
```

## Transaction messages

These messages are included in signed transactions, not called as endpoints. See [Transactions](/sdk/next/learn/concepts/transactions#transactions) for the execution model, and [Sending transactions](/sdk/next/api-reference/transactions) for the envelope they go into.

Examples use CLI transaction JSON. Decimal fields use values such as `"0.05"`, even when their proto type is `bytes`. The gRPC `TxEncode` method instead requires the scaled value `"50000000000000000"`. See [scalar encodings](/sdk/next/api-reference/grpc/index#scalar-encodings).

* Handler: Generated client method
* Signer: Account that must sign
* Amino name: Legacy identifier used by hardware wallets and other Amino signers

### CommunityPoolSpend

CommunityPoolSpend defines a governance operation for sending tokens from the community pool in the x/distribution module to another account, which could be the governance module itself. The authority is defined in the keeper.

| | |
| - | - |
| Type URL | `/cosmos.distribution.v1beta1.MsgCommunityPoolSpend` |
| Handler | `cosmos.distribution.v1beta1.Msg/CommunityPoolSpend` |
| Signer | `authority` |
| Amino name | `cosmos-sdk/distr/MsgCommunityPoolSpend` |

<Note>The signer is the governance module account, which no user holds a key for. This message executes only through a passed governance proposal, not as a transaction you submit directly.</Note>

| Field | Type | Description |
| - | - | - |
| `authority` | `string` | authority is the address that controls the module (defaults to x/gov unless overwritten). Encoded as cosmos.AddressString. |
| `recipient` | `string` | |
| `amount` | [`Coin`](#cosmos-base-v1beta1-coin)\[] | |

In a transaction:

```json theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
{
  "@type": "/cosmos.distribution.v1beta1.MsgCommunityPoolSpend",
  "authority": "<string>",
  "recipient": "<string>",
  "amount": [
    {
      "denom": "<string>",
      "amount": "<string>"
    }
  ]
}
```

Response `MsgCommunityPoolSpendResponse`:

This message has no fields.

### DepositValidatorRewardsPool

DepositValidatorRewardsPool defines a method to provide additional rewards to delegators to a specific validator.

| | |
| - | - |
| Type URL | `/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool` |
| Handler | `cosmos.distribution.v1beta1.Msg/DepositValidatorRewardsPool` |
| Signer | `depositor` |
| Amino name | `cosmos-sdk/distr/MsgDepositValRewards` |

| Field | Type | Description |
| - | - | - |
| `depositor` | `string` | Encoded as cosmos.AddressString. |
| `validator_address` | `string` | Encoded as cosmos.ValidatorAddressString. |
| `amount` | [`Coin`](#cosmos-base-v1beta1-coin)\[] | |

In a transaction:

```json theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
{
  "@type": "/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool",
  "depositor": "<string>",
  "validator_address": "<string>",
  "amount": [
    {
      "denom": "<string>",
      "amount": "<string>"
    }
  ]
}
```

Response `MsgDepositValidatorRewardsPoolResponse`:

This message has no fields.

### FundCommunityPool

FundCommunityPool defines a method to allow an account to directly fund the community pool.

| | |
| - | - |
| Type URL | `/cosmos.distribution.v1beta1.MsgFundCommunityPool` |
| Handler | `cosmos.distribution.v1beta1.Msg/FundCommunityPool` |
| Signer | `depositor` |
| Amino name | `cosmos-sdk/MsgFundCommunityPool` |

| Field | Type | Description |
| - | - | - |
| `amount` | [`Coin`](#cosmos-base-v1beta1-coin)\[] | |
| `depositor` | `string` | Encoded as cosmos.AddressString. |

In a transaction:

```json theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
{
  "@type": "/cosmos.distribution.v1beta1.MsgFundCommunityPool",
  "amount": [
    {
      "denom": "<string>",
      "amount": "<string>"
    }
  ],
  "depositor": "<string>"
}
```

Response `MsgFundCommunityPoolResponse`:

This message has no fields.

### SetWithdrawAddress

SetWithdrawAddress defines a method to change the withdraw address for a delegator (or validator self-delegation).

| | |
| - | - |
| Type URL | `/cosmos.distribution.v1beta1.MsgSetWithdrawAddress` |
| Handler | `cosmos.distribution.v1beta1.Msg/SetWithdrawAddress` |
| Signer | `delegator_address` |
| Amino name | `cosmos-sdk/MsgModifyWithdrawAddress` |

| Field | Type | Description |
| - | - | - |
| `delegator_address` | `string` | Encoded as cosmos.AddressString. |
| `withdraw_address` | `string` | Encoded as cosmos.AddressString. |

In a transaction:

```json theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
{
  "@type": "/cosmos.distribution.v1beta1.MsgSetWithdrawAddress",
  "delegator_address": "<string>",
  "withdraw_address": "<string>"
}
```

Response `MsgSetWithdrawAddressResponse`:

This message has no fields.

### UpdateParams

UpdateParams defines a governance operation for updating the x/distribution module parameters. The authority is defined in the keeper.

| | |
| - | - |
| Type URL | `/cosmos.distribution.v1beta1.MsgUpdateParams` |
| Handler | `cosmos.distribution.v1beta1.Msg/UpdateParams` |
| Signer | `authority` |
| Amino name | `cosmos-sdk/distribution/MsgUpdateParams` |

<Note>The signer is the governance module account, which no user holds a key for. This message executes only through a passed governance proposal, not as a transaction you submit directly.</Note>

| Field | Type | Description |
| - | - | - |
| `authority` | `string` | authority is the address that controls the module (defaults to x/gov unless overwritten). Encoded as cosmos.AddressString. |
| `params` | [`Params`](#cosmos-distribution-v1beta1-params) | params defines the x/distribution parameters to update. NOTE: All parameters must be supplied. |

In a transaction:

```json theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
{
  "@type": "/cosmos.distribution.v1beta1.MsgUpdateParams",
  "authority": "<string>",
  "params": {
    "community_tax": "<string>",
    "withdraw_addr_enabled": false
  }
}
```

Response `MsgUpdateParamsResponse`:

This message has no fields.

### WithdrawDelegatorReward

WithdrawDelegatorReward defines a method to withdraw rewards of delegator from a single validator.

| | |
| - | - |
| Type URL | `/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward` |
| Handler | `cosmos.distribution.v1beta1.Msg/WithdrawDelegatorReward` |
| Signer | `delegator_address` |
| Amino name | `cosmos-sdk/MsgWithdrawDelegationReward` |

| Field | Type | Description |
| - | - | - |
| `delegator_address` | `string` | Encoded as cosmos.AddressString. |
| `validator_address` | `string` | Encoded as cosmos.ValidatorAddressString. |

In a transaction:

```json theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
{
  "@type": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",
  "delegator_address": "<string>",
  "validator_address": "<string>"
}
```

Response `MsgWithdrawDelegatorRewardResponse`:

| Field | Type | Description |
| - | - | - |
| `amount` | [`Coin`](#cosmos-base-v1beta1-coin)\[] | |

### WithdrawValidatorCommission

WithdrawValidatorCommission defines a method to withdraw the full commission to the validator address.

| | |
| - | - |
| Type URL | `/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission` |
| Handler | `cosmos.distribution.v1beta1.Msg/WithdrawValidatorCommission` |
| Signer | `validator_address` |
| Amino name | `cosmos-sdk/MsgWithdrawValCommission` |

| Field | Type | Description |
| - | - | - |
| `validator_address` | `string` | Encoded as cosmos.ValidatorAddressString. |

In a transaction:

```json theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
{
  "@type": "/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission",
  "validator_address": "<string>"
}
```

Response `MsgWithdrawValidatorCommissionResponse`:

| Field | Type | Description |
| - | - | - |
| `amount` | [`Coin`](#cosmos-base-v1beta1-coin)\[] | |

## Types

Messages referenced by the fields above. Protocol buffers version 3 has no required fields, so every field is optional on the wire, and a `[]` suffix marks a repeated field.

### cosmos.base.query.v1beta1.PageRequest

PageRequest is to be embedded in gRPC request messages for efficient pagination. Ex:

`message SomeRequest { Foo some_parameter = 1; PageRequest pagination = 2; }`

| Field | Type | Description |
| - | - | - |
| `key` | `bytes` | key is a value returned in PageResponse.next\_key to begin querying the next page most efficiently. Only one of offset or key should be set. |
| `offset` | `uint64` | offset is a numeric offset that can be used when key is unavailable. It is less efficient than using key. Only one of offset or key should be set. |
| `limit` | `uint64` | limit is the total number of results to be returned in the result page. If left empty it will default to a value to be set by each app. |
| `count_total` | `bool` | count\_total is set to true  to indicate that the result set should include a count of the total number of items available for pagination in UIs. count\_total is only respected when offset is used. It is ignored when key is set. |
| `reverse` | `bool` | reverse is set to true if results are to be returned in the descending order. |

### cosmos.base.query.v1beta1.PageResponse

PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest.

`message SomeResponse { repeated Bar results = 1; PageResponse page = 2; }`

| Field | Type | Description |
| - | - | - |
| `next_key` | `bytes` | next\_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results. |
| `total` | `uint64` | total is total number of results available if PageRequest.count\_total was set, its value is undefined otherwise |

### cosmos.base.v1beta1.Coin

Coin defines a token with a denomination and an amount.

NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto.

| Field | Type | Description |
| - | - | - |
| `denom` | `string` | |
| `amount` | `string` | Encoded as cosmos.Int. |

### cosmos.base.v1beta1.DecCoin

DecCoin defines a token with a denomination and a decimal amount.

NOTE: The amount field is a Dec which implements the custom method signatures required by gogoproto.

| Field | Type | Description |
| - | - | - |
| `denom` | `string` | |
| `amount` | `string` | Encoded as cosmos.Dec, read back as an integer string scaled by 10^18 over gRPC. |

### cosmos.distribution.v1beta1.DelegationDelegatorReward

DelegationDelegatorReward represents the properties of a delegator's delegation reward.

| Field | Type | Description |
| - | - | - |
| `validator_address` | `string` | Encoded as cosmos.ValidatorAddressString. |
| `reward` | [`DecCoin`](#cosmos-base-v1beta1-deccoin)\[] | |

### cosmos.distribution.v1beta1.DelegatorStartingInfo

DelegatorStartingInfo represents the starting info for a delegator reward period. It tracks the previous validator period, the delegation's amount of staking token, and the creation height (to check later on if any slashes have occurred). NOTE: Even though validators are slashed to whole staking tokens, the delegators within the validator may be left with less than a full token, thus sdk.Dec is used.

| Field | Type | Description |
| - | - | - |
| `previous_period` | `uint64` | |
| `stake` | `string` | Encoded as cosmos.Dec, read back as an integer string scaled by 10^18 over gRPC. |
| `height` | `uint64` | |

### cosmos.distribution.v1beta1.Params

Params defines the set of params for the distribution module.

| Field | Type | Description |
| - | - | - |
| `community_tax` | `string` | Encoded as cosmos.Dec, read back as an integer string scaled by 10^18 over gRPC. |
| `base_proposer_reward` | `string` | Deprecated: The base\_proposer\_reward field is deprecated and is no longer used in the x/distribution module's reward mechanism. Deprecated. Encoded as cosmos.Dec, read back as an integer string scaled by 10^18 over gRPC. |
| `bonus_proposer_reward` | `string` | Deprecated: The bonus\_proposer\_reward field is deprecated and is no longer used in the x/distribution module's reward mechanism. Deprecated. Encoded as cosmos.Dec, read back as an integer string scaled by 10^18 over gRPC. |
| `withdraw_addr_enabled` | `bool` | |

### cosmos.distribution.v1beta1.ValidatorAccumulatedCommission

ValidatorAccumulatedCommission represents accumulated commission for a validator kept as a running counter, can be withdrawn at any time.

| Field | Type | Description |
| - | - | - |
| `commission` | [`DecCoin`](#cosmos-base-v1beta1-deccoin)\[] | |

### cosmos.distribution.v1beta1.ValidatorCurrentRewards

ValidatorCurrentRewards represents current rewards and current period for a validator kept as a running counter and incremented each block as long as the validator's tokens remain constant.

| Field | Type | Description |
| - | - | - |
| `rewards` | [`DecCoin`](#cosmos-base-v1beta1-deccoin)\[] | |
| `period` | `uint64` | |

### cosmos.distribution.v1beta1.ValidatorHistoricalRewards

ValidatorHistoricalRewards represents historical rewards for a validator. Height is implicit within the store key. Cumulative reward ratio is the sum from the zeroeth period until this period of rewards / tokens, per the spec. The reference count indicates the number of objects which might need to reference this historical entry at any point. ReferenceCount = number of outstanding delegations which ended the associated period (and might need to read that record) + number of slashes which ended the associated period (and might need to read that record) + one per validator for the zeroeth period, set on initialization

| Field | Type | Description |
| - | - | - |
| `cumulative_reward_ratio` | [`DecCoin`](#cosmos-base-v1beta1-deccoin)\[] | |
| `reference_count` | `uint32` | |

### cosmos.distribution.v1beta1.ValidatorOutstandingRewards

ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards for a validator inexpensive to track, allows simple sanity checks.

| Field | Type | Description |
| - | - | - |
| `rewards` | [`DecCoin`](#cosmos-base-v1beta1-deccoin)\[] | |

### cosmos.distribution.v1beta1.ValidatorSlashEvent

ValidatorSlashEvent represents a validator slash event. Height is implicit within the store key. This is needed to calculate appropriate amount of staking tokens for delegations which are withdrawn after a slash has occurred.

| Field | Type | Description |
| - | - | - |
| `validator_period` | `uint64` | |
| `fraction` | `string` | Encoded as cosmos.Dec, read back as an integer string scaled by 10^18 over gRPC. |
