Modules
📄️ Introduction
Module Accounts
📄️ Epochs
Abstract
🗃️ GAMM
2 items
📄️ Gov
The `gov` module enables on-chain governance which allows Osmosis token holders to participate in a community led decision-making process. For example, users can:
📄️ Incentives
Abstract
📄️ Lockup
Abstract
📄️ Mint
The mint module is responsible for creating tokens in a flexible way to reward
📄️ Pool Incentives
Abstract
📄️ Superfluid Staking
Abstract
📄️ Token Factory
The tokenfactory module allows any account to create a new token with
📄️ TWAP
Time Weighted Average Price
📄️ Txfees
The txfees modules allows nodes to easily support many tokens for usage as txfees, while letting node operators only specify their tx fee parameters for a single "base" asset.
Module Accounts
All modules have their own module account. Think of this as a wallet that can only be controlled by that module. Here are a few with their respective wallet addresses and permissions:
| Name | Address | Permissions | 
|---|---|---|
| transfer | minter, burner | |
| bonded_tokens_pool | burner, staking | |
| not_bonded_tokens_pool | burner, staking | |
| developer_vesting_unvested | minter | |
| gov | burner | |
| distribution | none | |
| lockup | minter, burner | |
| incentives | minter, burner | |
| gamm | minter, burner | |
| mint | minter, burner | |
| claim | minter | |
| poolincentives | none | |
| fee_collector | none | 
Module Flow
While module functions can be called in many different orders, here is a basic flow of module commands to bring assets onto Osmosis and then add/remove liquidity:
- (IBC-Transfer) IBC Received
- (GAMM) Swap Exact Amount In
- (GAMM) Join Pool
- (lockup) Lock-tokens
- (superfluid) Calculate and delegate synthetic Osmo
- (lockup) Begin-unlock-tokens
- (GAMM) Exit Pool