# Modules

A module refers to a set of components performing specific network functions.  These modules work together to ensure the proper functioning and security of the Cascadia blockchain.

Here are the production-grade modules that can be used in Cascadia applications:

<table data-header-hidden><thead><tr><th width="199">Module</th><th>Description</th></tr></thead><tbody><tr><td>abci</td><td>Manages the ABCI protocol communication.</td></tr><tr><td>api</td><td>Facilitates the creation of APIs for interacting with the server.</td></tr><tr><td>auth</td><td>Manages authentication operations, accounts, and signatures.</td></tr><tr><td>authkeeper</td><td>Handles the storage and retrieval of authentication data.</td></tr><tr><td>authsims</td><td>Supports simulations within the authentication module.</td></tr><tr><td>authz</td><td>Provides support for granting and revoking authorization.</td></tr><tr><td>authzkeeper</td><td>Handles the storage and retrieval of authorization data.</td></tr><tr><td>authzmodule</td><td>Provides module interfaces for authorization operations.</td></tr><tr><td>authtx</td><td>Manages transaction operations within the authentication module.</td></tr><tr><td>authtypes</td><td>Contains type definitions for authentication operations.</td></tr><tr><td>baseapp</td><td>A foundational structure upon which the  application is built.</td></tr><tr><td>bank</td><td>Manages token transfer and balance tracking operations.</td></tr><tr><td>bankkeeper</td><td>Handles the storage and retrieval of banking data.</td></tr><tr><td>banktypes</td><td>Contains type definitions for banking operations.</td></tr><tr><td>capability</td><td>Provides support for capability-based security.</td></tr><tr><td>capabilitykeeper</td><td>Handles the storage and retrieval of capability data.</td></tr><tr><td>capabilitytypes</td><td>Contains type definitions for capability operations.</td></tr><tr><td>claims</td><td>Manages operations related to user claims.</td></tr><tr><td>client</td><td>Provides interfaces and functions for client-side interactions.</td></tr><tr><td>codec</td><td>Offers codec utilities for message encoding and decoding.</td></tr><tr><td>config</td><td>Manages server configuration settings.</td></tr><tr><td>crisis</td><td>Manages crisis situations, such as invariant failures.</td></tr><tr><td>crisiskeeper</td><td>Handles the storage and retrieval of crisis data.</td></tr><tr><td>crisistypes</td><td>Contains type definitions for crisis operations.</td></tr><tr><td>dbm</td><td>Offers a simple database interface for the system.</td></tr><tr><td>distr</td><td>Manages operations for token distribution and delegation rewards.</td></tr><tr><td>distrclient</td><td>Provides client-side interactions for the distribution module.</td></tr><tr><td>distrkeeper</td><td>Handles the storage and retrieval of distribution data.</td></tr><tr><td>distrtypes</td><td>Contains type definitions for distribution operations.</td></tr><tr><td>epochs</td><td>Manages operations related to blockchain epochs.</td></tr><tr><td>erc20</td><td>Manages operations related to ERC20 token standards.</td></tr><tr><td>evidence</td><td>Manages evidence of Byzantine behavior.</td></tr><tr><td>evidencekeeper</td><td>Handles the storage and retrieval of evidence data.</td></tr><tr><td>evidencetypes</td><td>Contains type definitions for evidence operations.</td></tr><tr><td>evm</td><td>Manages operations related to the Ethereum Virtual Machine.</td></tr><tr><td>feegrant</td><td>Provides support for granting and revoking fee allowance.</td></tr><tr><td>feegrantkeeper</td><td>Handles the storage and retrieval of fee grant data.</td></tr><tr><td>feegrantmodule</td><td>Provides module interfaces for fee grant operations.</td></tr><tr><td>feemarket</td><td>Manages operations related to the fee market.</td></tr><tr><td>genutil</td><td>Provides utility functions for genesis operations.</td></tr><tr><td>genutiltypes</td><td>Contains type definitions for genesis utility operations.</td></tr><tr><td>gov</td><td>Manages governance operations within the Cascadia network.</td></tr><tr><td>govclient</td><td>Provides client-side interactions for the governance module.</td></tr><tr><td>govkeeper</td><td>Handles the storage and retrieval of governance data.</td></tr><tr><td>govtypes</td><td>Contains type definitions for governance operations.</td></tr><tr><td>govv1</td><td>Contains governance-related types and functions for v1.</td></tr><tr><td>govv1beta1</td><td>Contains governance-related types and functions for v1 beta 1.</td></tr><tr><td>ica</td><td>Manages operations for interchain accounts.</td></tr><tr><td>icacontrollerkeeper</td><td>Handles the storage and retrieval of ICA controller data.</td></tr><tr><td>icacontrollertypes</td><td>Contains type definitions for ICA controller operations.</td></tr><tr><td>incentives</td><td>Manages operations related to blockchain incentives.</td></tr><tr><td>inflation</td><td>Manages operations related to token inflation.</td></tr><tr><td>log</td><td>Provides logging utilities for operations.</td></tr><tr><td>node</td><td>Provides GRPC-based client-side interactions for nodes.</td></tr><tr><td>params</td><td>Manages operations related to network parameters.</td></tr><tr><td>paramsclient</td><td>Provides client-side interactions for the params module.</td></tr><tr><td>paramskeeper</td><td>Handles the storage and retrieval of parameters data.</td></tr><tr><td>paramstypes</td><td>Contains type definitions for params operations.</td></tr><tr><td>paramproposal</td><td>Contains functions related to parameter change proposals.</td></tr><tr><td>posthandler</td><td>Manages transaction operations post block inclusion.</td></tr><tr><td>revenue</td><td>Manages operations related to revenue distribution.</td></tr><tr><td>servertypes</td><td>Contains type definitions for server operations.</td></tr><tr><td>simapp</td><td>Provides the simulation application.</td></tr><tr><td>simappparams</td><td>Contains parameters used for simulations.</td></tr><tr><td>slashing</td><td>Manages the slashing of validators for misbehavior.</td></tr><tr><td>slashingkeeper</td><td>Handles the storage and retrieval of slashing data.</td></tr><tr><td>slashingtypes</td><td>Contains type definitions for slashing operations.</td></tr><tr><td>staking</td><td>Manages operations related to staking and validators.</td></tr><tr><td>stakingkeeper</td><td>Handles the storage and retrieval of staking data.</td></tr><tr><td>stakingtypes</td><td>Contains type definitions for staking operations.</td></tr><tr><td>streaming</td><td>Provides support for streaming data from the state database.</td></tr><tr><td>storetypes</td><td>Contains type definitions for store operations.</td></tr><tr><td>tmos</td><td>Provides OS-level utility functions for operations.</td></tr><tr><td>tmservice</td><td>Provides GRPC-based service interfaces.</td></tr><tr><td>types</td><td>Provides foundational types and interfaces for the codec.</td></tr><tr><td>upgrade</td><td>Manages the upgrade of the blockchain software.</td></tr><tr><td>upgradeclient</td><td>Provides client-side interactions for the upgrade module.</td></tr><tr><td>upgradekeeper</td><td>Handles the storage and retrieval of upgrade data.</td></tr><tr><td>upgradetypes</td><td>Contains type definitions for upgrade operations.</td></tr><tr><td>vesting</td><td>Manages operations related to vesting schedules.</td></tr><tr><td>version</td><td>Manages the current version.</td></tr></tbody></table>


---

# 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://cascadia.gitbook.io/gitbook/network/modules.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.
