Hummingbot /pools API

Pool management endpoints

OpenAPI Specification

hummingbot-pools-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Hummingbot Gateway /chain/ethereum /chain/ethereum /pools API
  description: API endpoints for interacting with DEXs and blockchains
  version: dev-2.11.0
servers:
- url: http://localhost:15888
tags:
- name: /pools
  description: Pool management endpoints
paths:
  /pools/{tradingPair}:
    get:
      tags:
      - /pools
      description: Get a specific pool by trading pair
      parameters:
      - schema:
          type: string
        examples:
          raydium:
            value: raydium
          meteora:
            value: meteora
          uniswap:
            value: uniswap
          orca:
            value: orca
        in: query
        name: connector
        required: true
        description: Connector (raydium, meteora, uniswap, orca)
      - schema:
          default: mainnet-beta
          type: string
        examples:
          mainnet-beta:
            value: mainnet-beta
          mainnet:
            value: mainnet
        in: query
        name: network
        required: true
        description: Network name (mainnet, mainnet-beta, etc)
      - schema:
          enum:
          - amm
          - clmm
          type: string
        examples:
          amm:
            value: amm
          clmm:
            value: clmm
        in: query
        name: type
        required: true
        description: Pool type
      - schema:
          type: string
        examples:
          SOL-USDC:
            value: SOL-USDC
          ETH-USDC:
            value: ETH-USDC
        in: path
        name: tradingPair
        required: true
        description: Trading pair (e.g., SOL-USDC, ETH-USDC)
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    description: Pool type
                    enum:
                    - clmm
                    - amm
                    type: string
                    example: clmm
                  network:
                    type: string
                  baseSymbol:
                    type: string
                  quoteSymbol:
                    type: string
                  baseTokenAddress:
                    type: string
                  quoteTokenAddress:
                    type: string
                  feePct:
                    type: number
                  address:
                    type: string
                required:
                - type
                - network
                - baseSymbol
                - quoteSymbol
                - baseTokenAddress
                - quoteTokenAddress
                - feePct
                - address
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
  /pools/find/{address}:
    get:
      tags:
      - /pools
      description: Get detailed pool information by address from GeckoTerminal
      parameters:
      - schema:
          type: string
        examples:
          solana-mainnet-beta:
            value: solana-mainnet-beta
          ethereum-mainnet:
            value: ethereum-mainnet
          ethereum-base:
            value: ethereum-base
          ethereum-polygon:
            value: ethereum-polygon
        in: query
        name: chainNetwork
        required: true
        description: 'Chain and network in format: chain-network (e.g., solana-mainnet-beta, ethereum-mainnet)'
      - schema:
          type: string
        examples:
          58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2:
            value: 58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2
          '0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640':
            value: '0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640'
        in: path
        name: address
        required: true
        description: Pool contract address
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    description: Pool type
                    enum:
                    - clmm
                    - amm
                    type: string
                    example: clmm
                  network:
                    type: string
                  baseSymbol:
                    type: string
                  quoteSymbol:
                    type: string
                  baseTokenAddress:
                    type: string
                  quoteTokenAddress:
                    type: string
                  feePct:
                    type: number
                  address:
                    type: string
                  geckoData:
                    type: object
                    properties:
                      volumeUsd24h:
                        description: 24-hour trading volume in USD
                        type: string
                      liquidityUsd:
                        description: Total liquidity in USD
                        type: string
                      priceNative:
                        description: Base token price in quote token
                        type: string
                      priceUsd:
                        description: Base token price in USD
                        type: string
                      buys24h:
                        description: Number of buy transactions in 24h
                        type: number
                      sells24h:
                        description: Number of sell transactions in 24h
                        type: number
                      apr:
                        description: Annual percentage rate
                        type: number
                      timestamp:
                        description: Unix timestamp (ms) when data was fetched
                        type: number
                    required:
                    - volumeUsd24h
                    - liquidityUsd
                    - priceNative
                    - priceUsd
                    - buys24h
                    - sells24h
                    - timestamp
                required:
                - type
                - network
                - baseSymbol
                - quoteSymbol
                - baseTokenAddress
                - quoteTokenAddress
                - feePct
                - address
  /pools/find:
    get:
      tags:
      - /pools
      description: Find pools for a token pair from GeckoTerminal
      parameters:
      - schema:
          type: string
        examples:
          solana-mainnet-beta:
            value: solana-mainnet-beta
          ethereum-mainnet:
            value: ethereum-mainnet
          ethereum-base:
            value: ethereum-base
          ethereum-polygon:
            value: ethereum-polygon
        in: query
        name: chainNetwork
        required: true
        description: 'Chain and network in format: chain-network (e.g., solana-mainnet-beta, ethereum-mainnet)'
      - schema:
          type: string
        examples:
          raydium:
            value: raydium
          meteora:
            value: meteora
          uniswap:
            value: uniswap
          pancakeswap:
            value: pancakeswap
          pancakeswap-sol:
            value: pancakeswap-sol
          orca:
            value: orca
        in: query
        name: connector
        required: false
        description: Filter by connector name (e.g., raydium, meteora, uniswap, pancakeswap, pancakeswap-sol)
      - schema:
          enum:
          - clmm
          - amm
          default: clmm
          type: string
        examples:
          clmm:
            value: clmm
          amm:
            value: amm
        in: query
        name: type
        required: false
        description: 'Filter by pool type: clmm (v3-style concentrated liquidity) or amm (v2-style)'
      - schema:
          type: string
        examples:
          SOL:
            value: SOL
          So11111111111111111111111111111111111111112:
            value: So11111111111111111111111111111111111111112
          USDC:
            value: USDC
        in: query
        name: tokenA
        required: false
        description: First token symbol or contract address (optional - for filtering by token pair)
      - schema:
          type: string
        examples:
          USDC:
            value: USDC
          EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v:
            value: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
          SOL:
            value: SOL
        in: query
        name: tokenB
        required: false
        description: Second token symbol or contract address (optional - for filtering by token pair)
      - schema:
          minimum: 1
          maximum: 10
          default: 10
          type: number
        in: query
        name: pages
        required: false
        description: 'Number of pages to fetch from GeckoTerminal (1-10, default: 10)'
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    type:
                      description: Pool type
                      enum:
                      - clmm
                      - amm
                      type: string
                      example: clmm
                    network:
                      type: string
                    baseSymbol:
                      type: string
                    quoteSymbol:
                      type: string
                    baseTokenAddress:
                      type: string
                    quoteTokenAddress:
                      type: string
                    feePct:
                      type: number
                    address:
                      type: string
                    geckoData:
                      type: object
                      properties:
                        volumeUsd24h:
                          description: 24-hour trading volume in USD
                          type: string
                        liquidityUsd:
                          description: Total liquidity in USD
                          type: string
                        priceNative:
                          description: Base token price in quote token
                          type: string
                        priceUsd:
                          description: Base token price in USD
                          type: string
                        buys24h:
                          description: Number of buy transactions in 24h
                          type: number
                        sells24h:
                          description: Number of sell transactions in 24h
                          type: number
                        apr:
                          description: Annual percentage rate
                          type: number
                        timestamp:
                          description: Unix timestamp (ms) when data was fetched
                          type: number
                      required:
                      - volumeUsd24h
                      - liquidityUsd
                      - priceNative
                      - priceUsd
                      - buys24h
                      - sells24h
                      - timestamp
                  required:
                  - type
                  - network
                  - baseSymbol
                  - quoteSymbol
                  - baseTokenAddress
                  - quoteTokenAddress
                  - feePct
                  - address
  /pools/:
    get:
      tags:
      - /pools
      description: List all pools for a connector, optionally filtered by network, type, or search term
      parameters:
      - schema:
          type: string
        examples:
          raydium:
            value: raydium
          meteora:
            value: meteora
          uniswap:
            value: uniswap
          orca:
            value: orca
        in: query
        name: connector
        required: true
        description: Connector (raydium, meteora, uniswap, orca)
      - schema:
          type: string
        examples:
          mainnet:
            value: mainnet
          mainnet-beta:
            value: mainnet-beta
          base:
            value: base
        in: query
        name: network
        required: false
        description: 'Optional: filter by network (mainnet, mainnet-beta, etc)'
      - schema:
          enum:
          - clmm
          - amm
          type: string
        examples:
          clmm:
            value: clmm
          amm:
            value: amm
        in: query
        name: type
        required: false
        description: 'Optional: filter by pool type'
      - schema:
          type: string
        in: query
        name: search
        required: false
        description: 'Optional: search by token symbol or address'
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    type:
                      description: Pool type
                      enum:
                      - clmm
                      - amm
                      type: string
                      example: clmm
                    network:
                      type: string
                    baseSymbol:
                      type: string
                    quoteSymbol:
                      type: string
                    baseTokenAddress:
                      type: string
                    quoteTokenAddress:
                      type: string
                    feePct:
                      type: number
                    address:
                      type: string
                  required:
                  - type
                  - network
                  - baseSymbol
                  - quoteSymbol
                  - baseTokenAddress
                  - quoteTokenAddress
                  - feePct
                  - address
    post:
      tags:
      - /pools
      description: Add a new pool
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                connector:
                  description: Connector (raydium, meteora, uniswap, orca)
                  type: string
                  example: raydium
                type:
                  description: Pool type
                  enum:
                  - clmm
                  - amm
                  type: string
                  example: clmm
                network:
                  description: Network name (mainnet, mainnet-beta, etc)
                  default: mainnet-beta
                  type: string
                  example: mainnet-beta
                address:
                  description: Pool contract address
                  type: string
                baseSymbol:
                  description: Base token symbol
                  type: string
                  example: SOL
                quoteSymbol:
                  description: Quote token symbol
                  type: string
                  example: USDC
                baseTokenAddress:
                  description: Base token contract address
                  type: string
                  example: So11111111111111111111111111111111111111112
                quoteTokenAddress:
                  description: Quote token contract address
                  type: string
                  example: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
                feePct:
                  description: Pool fee percentage (optional - fetched from pool-info if not provided)
                  minimum: 0
                  maximum: 100
                  type: number
                  example: 0.25
              required:
              - connector
              - type
              - network
              - address
              - baseSymbol
              - quoteSymbol
              - baseTokenAddress
              - quoteTokenAddress
        required: true
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                - message
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
  /pools/save/{address}:
    post:
      tags:
      - /pools
      description: Find pool from GeckoTerminal and save it to the pool list
      parameters:
      - schema:
          type: string
        examples:
          solana-mainnet-beta:
            value: solana-mainnet-beta
          ethereum-mainnet:
            value: ethereum-mainnet
          ethereum-base:
            value: ethereum-base
          ethereum-polygon:
            value: ethereum-polygon
        in: query
        name: chainNetwork
        required: true
        description: 'Chain and network in format: chain-network (e.g., solana-mainnet-beta, ethereum-mainnet)'
      - schema:
          type: string
        examples:
          58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2:
            value: 58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2
          '0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640':
            value: '0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640'
        in: path
        name: address
        required: true
        description: Pool contract address
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  pool:
                    type: object
                    properties:
                      type:
                        description: Pool type
                        enum:
                        - clmm
                        - amm
                        type: string
                        example: clmm
                      network:
                        type: string
                      baseSymbol:
                        type: string
                      quoteSymbol:
                        type: string
                      baseTokenAddress:
                        type: string
                      quoteTokenAddress:
                        type: string
                      feePct:
                        type: number
                      address:
                        type: string
                      geckoData:
                        type: object
                        properties:
                          volumeUsd24h:
                            description: 24-hour trading volume in USD
                            type: string
                          liquidityUsd:
                            description: Total liquidity in USD
                            type: string
                          priceNative:
                            description: Base token price in quote token
                            type: string
                          priceUsd:
                            description: Base token price in USD
                            type: string
                          buys24h:
                            description: Number of buy transactions in 24h
                            type: number
                          sells24h:
                            description: Number of sell transactions in 24h
                            type: number
                          apr:
                            description: Annual percentage rate
                            type: number
                          timestamp:
                            description: Unix timestamp (ms) when data was fetched
                            type: number
                        required:
                        - volumeUsd24h
                        - liquidityUsd
                        - priceNative
                        - priceUsd
                        - buys24h
                        - sells24h
                        - timestamp
                    required:
                    - type
                    - network
                    - baseSymbol
                    - quoteSymbol
                    - baseTokenAddress
                    - quoteTokenAddress
                    - feePct
                    - address
                required:
                - message
                - pool
  /pools/{address}:
    delete:
      tags:
      - /pools
      description: Remove a pool by address
      parameters:
      - schema:
          type: string
        examples:
          raydium:
            value: raydium
          meteora:
            value: meteora
          uniswap:
            value: uniswap
          orca:
            value: orca
        in: query
        name: connector
        required: true
        description: Connector (raydium, meteora, uniswap, orca)
      - schema:
          type: string
        examples:
          mainnet:
            value: mainnet
          mainnet-beta:
            value: mainnet-beta
        in: query
        name: network
        required: true
        description: Network name (mainnet, mainnet-beta, etc)
      - schema:
          type: string
        examples:
          amm:
            value: amm
          clmm:
            value: clmm
        in: query
        name: type
        required: true
        description: Pool type
      - schema:
          type: string
        in: path
        name: address
        required: true
        description: Pool contract address to remove
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                - message
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string