# Submitting a Proposal (CLI)

[Governance proposals](https://hub.cosmos.network/main/governance/) target the parameters of specific modules. Go to the [list of modules](https://docs.cosmos.network/master/modules/), and go to the 'parameters' tab for the module you are interested in.

You can query the current setting for that parameter with sourced query params subspace \[module] \[parameter]. For example, to query [the communitytax param in distribution](https://docs.cosmos.network/master/modules/distribution/07_params.html), you would do:

```
sourced query params subspace distribution communitytax
```

NB: if you have not set it in config, you will need to add chain-id: --chain-id sourcechain-testnet

This will return:

```
key: communitytax
subspace: distribution
value: '"0.020000000000000000"'
```

You can query [BaseApp](https://docs.cosmos.network/master/core/baseapp.html) parameters as well:

```
sourced query params subspace baseapp BlockParams
```

This will return:

```
key: BlockParams
subspace: baseapp
value: '{"max_bytes":"22020096","max_gas":"80000000"}'
```

Let's take this BlockParams parameter as an example. Say we want to create a proposal that increases this value.

We can encode the parameter change in a JSON proposal like so:

```
{
  "title": "Governance Proposal to add maximum per block gas",
  "description": "To stop potential attacks against the network via the use of malicious smart contracts, we need to set a max per block gas limit. From testing on the Source Chain testnet, the core team feel this value is a good starting point, and it can be increased in future if necessary.",
  "changes": [{
    "key": "BlockParams",
    "subspace": "baseapp",
    "value": {
      "max_gas": "100000000"
    }
  }],
  "deposit": "10000000usource"
}
```

We can then submit it:

```
sourced tx gov submit-proposal param-change ./max_block_gas_proposal.json --from sourceuser --fees 5000usource --gas auto
```

Other types of proposals include community-pool-spend and software-upgrade/cancel-software-upgrade.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sourceprotocol.io/governance/submitting-a-proposal-cli.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
