# Messages

This directory contains documentation for the core transaction messages supported by the `x/gamm` module.

## Core Operations

### Pool Management

* [MsgCreateBalancerPool](https://docs.bitbadges.io/other-modules/x-gamm/messages/msg-create-balancer-pool) - Create new balancer pool with initial liquidity
* [MsgJoinPool](https://docs.bitbadges.io/other-modules/x-gamm/messages/msg-join-pool) - Join existing pool with liquidity
* [MsgExitPool](https://docs.bitbadges.io/other-modules/x-gamm/messages/msg-exit-pool) - Exit pool and receive underlying tokens

### Trading

* [MsgSwapExactAmountIn](https://docs.bitbadges.io/other-modules/x-gamm/messages/msg-swap-exact-amount-in) - Swap exact amount of tokens in
* [MsgSwapExactAmountInWithIBCTransfer](https://docs.bitbadges.io/other-modules/x-gamm/messages/msg-swap-exact-amount-in-with-ibc-transfer) - Swap exact amount of tokens in and send via IBC

## Core Message List

The GAMM module supports 5 core transaction messages:

1. **MsgCreateBalancerPool** - Create new balancer pool
2. **MsgJoinPool** - Join pool with proportional tokens
3. **MsgSwapExactAmountIn** - Swap exact input for minimum output
4. **MsgSwapExactAmountInWithIBCTransfer** - Swap exact input and send output via IBC
5. **MsgExitPool** - Exit pool and receive underlying tokens
