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