---
title: "Create Amm Pool"
method: POST
path: "/gateway/amm/create-pool"
tags: ["Gateway AMM"]
---

# Create Amm Pool

`POST /gateway/amm/create-pool`

Create and seed a new AMM pool.

Seed price priority: initial_price → quote_token_amount ratio → live market price (anti-snipe).
Connector-specific params ride extra_params under Gateway's own names (configAddress for
meteora — required there, ammConfigIndex for raydium) — the same contract as clmm open's
extra_params. Seeding slippage for uniswap/pancakeswap is the standard slippage_pct field.

## Request body

- AMMCreatePoolRequest — Request to create and seed a new AMM pool.
  - `connector` string, required — AMM connector (e.g., 'meteora', 'raydium', 'uniswap')
  - `network` string, required — Network ID in 'chain-network' format (e.g., 'solana-mainnet-beta')
  - `base_token` string, required — Base token symbol or address (becomes the pool base)
  - `quote_token` string, required — Quote token symbol or address (becomes the pool quote)
  - `base_token_amount` union, required — Amount of base token to seed the pool with
    - number
    - string
  - `quote_token_amount` union — Amount of quote to seed (sets price if given)
    - number
    - string
  - `initial_price` union — Initial price (quote per base); overrides quote amount
    - number
    - string
  - `slippage_pct` union — Seeding slippage percentage (uniswap/pancakeswap only); omit to use the connector's configured slippagePct
    - number
    - string
  - `wallet_address` string, nullable — Wallet address (optional, uses default)
  - `extra_params` object, nullable — Connector-specific create params, passed through to Gateway under its own names: configAddress (meteora DAMM v2, required there), ammConfigIndex (raydium CPMM). Unknown keys are rejected.

## Response `200`

Successful Response

- AMMCreatePoolResponse — Response after creating an AMM pool.
  - `signature` string, required — Transaction signature (Solana) or transaction hash (EVM)
  - `status` string, required — Transaction status: SUBMITTED, CONFIRMED or FAILED. Mapped from Gateway's TransactionStatus enum by the same helper the swap and CLMM surfaces use, so one vocabulary spans all three.
  - `poolAddress` string, required — Address of the newly created pool
  - `price` string, nullable — Initial price the pool was seeded at (quote per base)
  - `data` object, nullable — Connector-specific confirmed-tx details

## Other responses

- `422` — Validation Error

## Changes

- **2026-08-27** `6edd79085219` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/hummingbot/apis/hummingbot-api/changes/gateway/amm/create-pool/post.md)

---

[API](https://skmtc.dev/hummingbot/apis/hummingbot-api.md) · [All operations](https://skmtc.dev/hummingbot/apis/hummingbot-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hummingbot/apis/hummingbot-api/revisions/6edd79085219?raw)
