# MsgCreateBalancerPool

Creates a new balancer pool.

The poolId will be assigned at execution time and is obtainable in the transaction response. The pool creator must provide initial liquidity and set pool parameters.

## Pool Creation Properties

The creation transaction for a balancer pool is unique in several ways:

* Initial liquidity must be provided by the creator
* Pool parameters like swap fee and exit fee are set
* Token weights are configured for the pool assets
* A dedicated module account is created for the pool

## Proto Definition

```protobuf
// ===================== MsgCreatePool
message MsgCreateBalancerPool {
  option (amino.name) = "gamm/create-balancer-pool";
  option (cosmos.msg.v1.signer) = "sender";

  string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ];

  gamm.poolmodels.balancer.PoolParams pool_params = 2
      [ (gogoproto.moretags) = "yaml:\"pool_params\"" ];

  repeated gamm.poolmodels.balancer.PoolAsset pool_assets = 3
      [ (gogoproto.nullable) = false ];
}

// Returns the poolID
message MsgCreateBalancerPoolResponse {
  uint64 pool_id = 1 [ (gogoproto.customname) = "PoolID" ];
}
```

### JSON Example

```json
{
    "sender": "bb1abc123...",
    "pool_params": {
        "swap_fee": "0.003", // Note: Depending on serialization format this may be something like "300000000" for compatibility with sdk.Int format
        "exit_fee": "0.000"
    },
    "pool_assets": [
        {
            "token": {
                "denom": "ubadge",
                "amount": "1000000"
            },
            "weight": "50"
        },
        {
            "token": {
                "denom": "badgeslp:21:utoken",
                "amount": "5000000"
            },
            "weight": "50"
        }
    ]
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bitbadges.io/other-modules/x-gamm/messages/msg-create-balancer-pool.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
