# Modules

# 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

osmo1yl6hdjhmkf37639730gffanpzndzdpmhxy9ep3 (opens new window)

minter, burner
bonded_tokens_pool

osmo1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3aq6l09 (opens new window)

burner, staking
not_bonded_tokens_pool

osmo1tygms3xhhs3yv487phx3dw4a95jn7t7lfqxwe3 (opens new window)

burner, staking
developer_vesting_unvested

osmo1vqy8rqqlydj9wkcyvct9zxl3hc4eqgu3d7hd9k (opens new window)

minter
gov

osmo10d07y265gmmuvt4z0w9aw880jnsr700jjeq4qp (opens new window)

burner
distribution

osmo1jv65s3grqf6v6jl3dp4t6c9t9rk99cd80yhvld (opens new window)

none
lockup

osmo1njty28rqtpw6n59sjj4esw76enp4mg6g7cwrhc (opens new window)

minter, burner
incentives

osmo1krxwf5e308jmclyhfd9u92kp369l083wequge6 (opens new window)

minter, burner
gamm

osmo1c9y7crgg6y9pfkq0y8mqzknqz84c3etr0kpcvj (opens new window)

minter, burner
mint

osmo1m3h30wlvsf8llruxtpukdvsy0km2kum8q25g3j (opens new window)

minter, burner
claim

osmo1m5dncvfv7lvpvycr23zja93fecun2kcv226glq (opens new window)

minter
poolincentives

osmo1upfuxznarpja3sywq0tzd2kktg9wv8mcc0rlm9 (opens new window)

none
fee_collector

osmo17xpfvakm2amg962yls6f84z3kell8c5lczssa0 (opens new window)

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:

  1. (IBC-Transfer) IBC Received
  2. (GAMM) Swap Exact Amount In
  3. (GAMM) Join Pool
  4. (lockup) Lock-tokens
  5. (superfluid) Calculate and delegate synthetic Osmo
  6. (lockup) Begin-unlock-tokens
  7. (GAMM) Exit Pool