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

# Vesting

> gRPC queries and transaction messages defined by the vesting 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>

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

### CreatePeriodicVestingAccount

CreatePeriodicVestingAccount defines a method that enables creating a periodic vesting account.

|            |                                                           |
| ---------- | --------------------------------------------------------- |
| Type URL   | `/cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccount` |
| Handler    | `cosmos.vesting.v1beta1.Msg/CreatePeriodicVestingAccount` |
| Signer     | `from_address`                                            |
| Amino name | `cosmos-sdk/MsgCreatePeriodVestAccount`                   |

| Field             | Type                                          | Description                                 |
| ----------------- | --------------------------------------------- | ------------------------------------------- |
| `from_address`    | `string`                                      |                                             |
| `to_address`      | `string`                                      |                                             |
| `start_time`      | `int64`                                       | start of vesting as unix time (in seconds). |
| `vesting_periods` | [`Period`](#cosmos-vesting-v1beta1-period)\[] |                                             |

In a transaction:

```json theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
{
  "@type": "/cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccount",
  "from_address": "<string>",
  "to_address": "<string>",
  "start_time": "1",
  "vesting_periods": [
    {
      "length": "1",
      "amount": [
        {
          "denom": "<string>",
          "amount": "<string>"
        }
      ]
    }
  ]
}
```

Response `MsgCreatePeriodicVestingAccountResponse`:

This message has no fields.

### CreatePermanentLockedAccount

CreatePermanentLockedAccount defines a method that enables creating a permanent locked account.

|            |                                                           |
| ---------- | --------------------------------------------------------- |
| Type URL   | `/cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccount` |
| Handler    | `cosmos.vesting.v1beta1.Msg/CreatePermanentLockedAccount` |
| Signer     | `from_address`                                            |
| Amino name | `cosmos-sdk/MsgCreatePermLockedAccount`                   |

| Field          | Type                                   | Description |
| -------------- | -------------------------------------- | ----------- |
| `from_address` | `string`                               |             |
| `to_address`   | `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.vesting.v1beta1.MsgCreatePermanentLockedAccount",
  "from_address": "<string>",
  "to_address": "<string>",
  "amount": [
    {
      "denom": "<string>",
      "amount": "<string>"
    }
  ]
}
```

Response `MsgCreatePermanentLockedAccountResponse`:

This message has no fields.

### CreateVestingAccount

CreateVestingAccount defines a method that enables creating a vesting account.

|            |                                                   |
| ---------- | ------------------------------------------------- |
| Type URL   | `/cosmos.vesting.v1beta1.MsgCreateVestingAccount` |
| Handler    | `cosmos.vesting.v1beta1.Msg/CreateVestingAccount` |
| Signer     | `from_address`                                    |
| Amino name | `cosmos-sdk/MsgCreateVestingAccount`              |

| Field          | Type                                   | Description                               |
| -------------- | -------------------------------------- | ----------------------------------------- |
| `from_address` | `string`                               | Encoded as cosmos.AddressString.          |
| `to_address`   | `string`                               | Encoded as cosmos.AddressString.          |
| `amount`       | [`Coin`](#cosmos-base-v1beta1-coin)\[] |                                           |
| `end_time`     | `int64`                                | end of vesting as unix time (in seconds). |
| `delayed`      | `bool`                                 |                                           |

In a transaction:

```json theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
{
  "@type": "/cosmos.vesting.v1beta1.MsgCreateVestingAccount",
  "from_address": "<string>",
  "to_address": "<string>",
  "amount": [
    {
      "denom": "<string>",
      "amount": "<string>"
    }
  ],
  "end_time": "1",
  "delayed": false
}
```

Response `MsgCreateVestingAccountResponse`:

This message has no fields.

## 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.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.vesting.v1beta1.Period

Period defines a length of time and amount of coins that will vest.

| Field    | Type                                   | Description                 |
| -------- | -------------------------------------- | --------------------------- |
| `length` | `int64`                                | Period duration in seconds. |
| `amount` | [`Coin`](#cosmos-base-v1beta1-coin)\[] |                             |
