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

# Params

> The IBC transfer application module contains the following parameters:

The IBC transfer application module contains the following parameters:

| Name             | Type | Default Value |
| ---------------- | ---- | ------------- |
| `SendEnabled`    | bool | `true`        |
| `ReceiveEnabled` | bool | `true`        |

The IBC transfer module stores its parameters in its keeper with the prefix of `0x03`.

## `SendEnabled`

The `SendEnabled` parameter controls send cross-chain transfer capabilities for all fungible tokens.

To prevent a single token from being transferred from the chain, set the `SendEnabled` parameter to `true` and then, depending on the Cosmos SDK version, do one of the following:

* For Cosmos SDK v0.46.x or earlier, set the bank module's [`SendEnabled` parameter](https://github.com/cosmos/cosmos-sdk/blob/release/v0.46.x/x/bank/spec/05_params.md#sendenabled) for the denomination to `false`.
* For Cosmos SDK versions above v0.46.x, set the bank module's `SendEnabled` entry for the denomination to `false` using `MsgSetSendEnabled` as a governance proposal.

<Warning>
  Doing so will prevent the token from being transferred between any accounts in the blockchain.
</Warning>

## `ReceiveEnabled`

The transfers enabled parameter controls receive cross-chain transfer capabilities for all fungible tokens.

To prevent a single token from being transferred to the chain, set the `ReceiveEnabled` parameter to `true` and then, depending on the Cosmos SDK version, do one of the following:

* For Cosmos SDK v0.46.x or earlier, set the bank module's [`SendEnabled` parameter](https://github.com/cosmos/cosmos-sdk/blob/release/v0.46.x/x/bank/spec/05_params.md#sendenabled) for the denomination to `false`.
* For Cosmos SDK versions above v0.46.x, set the bank module's `SendEnabled` entry for the denomination to `false` using `MsgSetSendEnabled` as a governance proposal.

<Warning>
  Doing so will prevent the token from being transferred between any accounts in the blockchain.
</Warning>

## Queries

Current parameter values can be queried via a query message.

```protobuf theme={"system"}
/ proto/ibc/applications/transfer/v1/query.proto

/ QueryParamsRequest is the request type for the Query/Params RPC method.
message QueryParamsRequest {}

/ QueryParamsResponse is the response type for the Query/Params RPC method.
message QueryParamsResponse {
  / params defines the parameters of the module.
  Params params = 1;
}
```

To execute the query in `simd`, you use the following command:

```bash theme={"system"}
simd query ibc-transfer params
```

## Changing Parameters

To change the parameter values, you must make a governance proposal that executes the `MsgUpdateParams` message.

```protobuf expandable theme={"system"}
/ proto/ibc/applications/transfer/v1/tx.proto

/ MsgUpdateParams is the Msg/UpdateParams request type.
message MsgUpdateParams {
  / signer address (it may be the address that controls the module, which defaults to x/gov unless overwritten).
  string signer = 1;

  / params defines the transfer parameters to update.
  /
  / NOTE: All parameters must be supplied.
  Params params = 2 [(gogoproto.nullable) = false];
}

/ MsgUpdateParamsResponse defines the response structure for executing a
/ MsgUpdateParams message.
message MsgUpdateParamsResponse {}
```
