Skip to main content Here are some production-grade modules that can be used in Cosmos SDK applications, along with their respective documentation: 
Auth  - Authentication of accounts and transactions for Cosmos SDK applications.Authz  - Authorization for accounts to perform actions on behalf of other accounts.Bank  - Token transfer functionalities.Crisis  - Halting the blockchain under certain circumstances (e.g. if an invariant is broken).Distribution  - Fee distribution, and staking token provision distribution.Evidence  - Evidence handling for double signing, misbehaviour, etc.Feegrant  - Grant fee allowances for executing transactions.Governance  - On-chain proposals and voting.Mint  - Creation of new units of staking token.Params  - Globally available parameter store.Slashing  - Validator punishment mechanisms.Staking  - Proof-of-Stake layer for public blockchains.Upgrade  - Software upgrades handling and coordination.NFT  - NFT module implemented based on ADR43 .Consensus  - Consensus module for modifying CometBFT’s ABCI consensus params.Circuit  - Circuit breaker module for pausing messages.Genutil  - Genesis utilities for the Cosmos SDK. 
To learn more about the process of building modules, visit the building modules reference documentation . 
The IBC module for the SDK is maintained by the IBC Go team in its own repository . 
Additionally, the capability module  is from v0.48+ maintained by the IBC Go team in its own repository . 
CosmWasm  The CosmWasm module enables smart contracts, learn more by going to their documentation site , or visit the repository . 
Read more about writing smart contracts with solidity at the official evm documentation page