Hummingbot /connector/raydium API

Raydium connector endpoints

OpenAPI Specification

hummingbot-connector-raydium-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Hummingbot Gateway /chain/ethereum /chain/ethereum /connector/raydium API
  description: API endpoints for interacting with DEXs and blockchains
  version: dev-2.11.0
servers:
- url: http://localhost:15888
tags:
- name: /connector/raydium
  description: Raydium connector endpoints
paths:
  /connectors/raydium/amm/pool-info:
    get:
      tags:
      - /connector/raydium
      description: Get AMM pool information from Raydium
      parameters:
      - schema:
          default: mainnet-beta
          enum:
          - devnet
          - mainnet-beta
          type: string
        in: query
        name: network
        required: false
        description: Solana network to use
      - schema:
          type: string
        example: 58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2
        in: query
        name: poolAddress
        required: true
        description: Raydium AMM pool address
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  address:
                    type: string
                  baseTokenAddress:
                    type: string
                  quoteTokenAddress:
                    type: string
                  feePct:
                    type: number
                  price:
                    type: number
                  baseTokenAmount:
                    type: number
                  quoteTokenAmount:
                    type: number
                required:
                - address
                - baseTokenAddress
                - quoteTokenAddress
                - feePct
                - price
                - baseTokenAmount
                - quoteTokenAmount
  /connectors/raydium/amm/position-info:
    get:
      tags:
      - /connector/raydium
      description: Get info about a Raydium AMM position
      parameters:
      - schema:
          default: mainnet-beta
          enum:
          - devnet
          - mainnet-beta
          type: string
        in: query
        name: network
        required: false
        description: Solana network to use
      - schema:
          type: string
        example: 58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2
        in: query
        name: poolAddress
        required: true
        description: Raydium AMM pool address
      - schema:
          default: Fxu7UU5D9ry1qDQj41Yp3oTeAdqxShzVYna44JE7E1gn
          type: string
        in: query
        name: walletAddress
        required: false
        description: Solana wallet address
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  poolAddress:
                    type: string
                  walletAddress:
                    type: string
                  baseTokenAddress:
                    type: string
                  quoteTokenAddress:
                    type: string
                  lpTokenAmount:
                    type: number
                  baseTokenAmount:
                    type: number
                  quoteTokenAmount:
                    type: number
                  price:
                    type: number
                required:
                - poolAddress
                - walletAddress
                - baseTokenAddress
                - quoteTokenAddress
                - lpTokenAmount
                - baseTokenAmount
                - quoteTokenAmount
                - price
  /connectors/raydium/amm/quote-liquidity:
    get:
      tags:
      - /connector/raydium
      description: Quote amounts for a new Raydium AMM liquidity position
      parameters:
      - schema:
          default: mainnet-beta
          enum:
          - devnet
          - mainnet-beta
          type: string
        in: query
        name: network
        required: false
        description: Solana network to use
      - schema:
          type: string
        example: 58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2
        in: query
        name: poolAddress
        required: true
        description: Raydium AMM pool address
      - schema:
          type: number
        example: 0.01
        in: query
        name: baseTokenAmount
        required: true
        description: Amount of base token to add
      - schema:
          type: number
        example: 2
        in: query
        name: quoteTokenAmount
        required: true
        description: Amount of quote token to add
      - schema:
          minimum: 0
          maximum: 100
          default: 2
          type: number
        example: 2
        in: query
        name: slippagePct
        required: false
        description: Maximum acceptable slippage percentage
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  baseLimited:
                    type: boolean
                  baseTokenAmount:
                    type: number
                  quoteTokenAmount:
                    type: number
                  baseTokenAmountMax:
                    type: number
                  quoteTokenAmountMax:
                    type: number
                required:
                - baseLimited
                - baseTokenAmount
                - quoteTokenAmount
                - baseTokenAmountMax
                - quoteTokenAmountMax
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
  /connectors/raydium/amm/quote-swap:
    get:
      tags:
      - /connector/raydium
      description: Get swap quote for Raydium AMM
      parameters:
      - schema:
          default: mainnet-beta
          enum:
          - devnet
          - mainnet-beta
          type: string
        in: query
        name: network
        required: false
        description: Solana network to use
      - schema:
          type: string
        example: 58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2
        in: query
        name: poolAddress
        required: false
        description: AMM pool address (optional - can be looked up from baseToken and quoteToken)
      - schema:
          type: string
        example: SOL
        in: query
        name: baseToken
        required: true
        description: Token to determine swap direction
      - schema:
          type: string
        example: USDC
        in: query
        name: quoteToken
        required: false
        description: The other token in the pair (optional - required if poolAddress not provided)
      - schema:
          type: number
        example: 0.01
        in: query
        name: amount
        required: true
        description: Amount to swap
      - schema:
          enum:
          - BUY
          - SELL
          default: SELL
          type: string
        in: query
        name: side
        required: true
        description: Trade direction
      - schema:
          minimum: 0
          maximum: 100
          default: 2
          type: number
        example: 2
        in: query
        name: slippagePct
        required: false
        description: Maximum acceptable slippage percentage
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  poolAddress:
                    type: string
                  tokenIn:
                    type: string
                  tokenOut:
                    type: string
                  amountIn:
                    type: number
                  amountOut:
                    type: number
                  price:
                    type: number
                  slippagePct:
                    type: number
                  minAmountOut:
                    type: number
                  maxAmountIn:
                    type: number
                  priceImpactPct:
                    type: number
                required:
                - poolAddress
                - tokenIn
                - tokenOut
                - amountIn
                - amountOut
                - price
                - minAmountOut
                - maxAmountIn
                - priceImpactPct
  /connectors/raydium/amm/execute-swap:
    post:
      tags:
      - /connector/raydium
      description: Execute a swap on Raydium AMM or CPMM
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                walletAddress:
                  type: string
                  example: Fxu7UU5D9ry1qDQj41Yp3oTeAdqxShzVYna44JE7E1gn
                network:
                  type: string
                  default: mainnet-beta
                poolAddress:
                  type: string
                  example: ''
                baseToken:
                  type: string
                  example: SOL
                quoteToken:
                  type: string
                  example: USDC
                amount:
                  type: number
                  example: 0.01
                side:
                  type: string
                  example: SELL
                slippagePct:
                  type: number
                  example: 1
              required:
              - baseToken
              - amount
              - side
        required: true
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  signature:
                    type: string
                  status:
                    description: TransactionStatus enum value
                    type: number
                  data:
                    type: object
                    properties:
                      tokenIn:
                        type: string
                      tokenOut:
                        type: string
                      amountIn:
                        type: number
                      amountOut:
                        type: number
                      fee:
                        type: number
                      baseTokenBalanceChange:
                        type: number
                      quoteTokenBalanceChange:
                        type: number
                    required:
                    - tokenIn
                    - tokenOut
                    - amountIn
                    - amountOut
                    - fee
                    - baseTokenBalanceChange
                    - quoteTokenBalanceChange
                required:
                - signature
                - status
  /connectors/raydium/amm/add-liquidity:
    post:
      tags:
      - /connector/raydium
      description: Add liquidity to a Raydium AMM/CPMM pool
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                network:
                  description: Solana network to use
                  default: mainnet-beta
                  enum:
                  - devnet
                  - mainnet-beta
                  type: string
                walletAddress:
                  description: Solana wallet address
                  default: Fxu7UU5D9ry1qDQj41Yp3oTeAdqxShzVYna44JE7E1gn
                  type: string
                poolAddress:
                  description: Raydium AMM pool address
                  type: string
                  example: 58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2
                baseTokenAmount:
                  description: Amount of base token to add
                  type: number
                  example: 0.01
                quoteTokenAmount:
                  description: Amount of quote token to add
                  type: number
                  example: 2
                slippagePct:
                  minimum: 0
                  maximum: 100
                  description: Maximum acceptable slippage percentage
                  default: 2
                  type: number
                  example: 2
              required:
              - poolAddress
              - baseTokenAmount
              - quoteTokenAmount
        required: true
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  signature:
                    type: string
                  status:
                    description: TransactionStatus enum value
                    type: number
                  data:
                    type: object
                    properties:
                      fee:
                        type: number
                      baseTokenAmountAdded:
                        type: number
                      quoteTokenAmountAdded:
                        type: number
                    required:
                    - fee
                    - baseTokenAmountAdded
                    - quoteTokenAmountAdded
                required:
                - signature
                - status
  /connectors/raydium/amm/remove-liquidity:
    post:
      tags:
      - /connector/raydium
      description: Remove liquidity from a Raydium AMM/CPMM pool
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                network:
                  description: Solana network to use
                  default: mainnet-beta
                  enum:
                  - devnet
                  - mainnet-beta
                  type: string
                walletAddress:
                  description: Solana wallet address
                  default: Fxu7UU5D9ry1qDQj41Yp3oTeAdqxShzVYna44JE7E1gn
                  type: string
                poolAddress:
                  description: Raydium AMM pool address
                  type: string
                  example: 58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2
                percentageToRemove:
                  minimum: 0
                  maximum: 100
                  description: Percentage of liquidity to remove
                  type: number
                  example: 100
              required:
              - poolAddress
              - percentageToRemove
        required: true
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  signature:
                    type: string
                  status:
                    description: TransactionStatus enum value
                    type: number
                  data:
                    type: object
                    properties:
                      fee:
                        type: number
                      baseTokenAmountRemoved:
                        type: number
                      quoteTokenAmountRemoved:
                        type: number
                    required:
                    - fee
                    - baseTokenAmountRemoved
                    - quoteTokenAmountRemoved
                required:
                - signature
                - status
  /connectors/raydium/clmm/pool-info:
    get:
      tags:
      - /connector/raydium
      description: Get CLMM pool information from Raydium
      parameters:
      - schema:
          default: mainnet-beta
          enum:
          - devnet
          - mainnet-beta
          type: string
        in: query
        name: network
        required: false
        description: Solana network to use
      - schema:
          type: string
        example: 3ucNos4NbumPLZNWztqGHNFFgkHeRMBQAVemeeomsUxv
        in: query
        name: poolAddress
        required: true
        description: Raydium CLMM pool address
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  address:
                    type: string
                  baseTokenAddress:
                    type: string
                  quoteTokenAddress:
                    type: string
                  binStep:
                    type: number
                  feePct:
                    type: number
                  price:
                    type: number
                  baseTokenAmount:
                    type: number
                  quoteTokenAmount:
                    type: number
                  activeBinId:
                    type: number
                required:
                - address
                - baseTokenAddress
                - quoteTokenAddress
                - feePct
                - price
                - baseTokenAmount
                - quoteTokenAmount
                - activeBinId
  /connectors/raydium/clmm/positions-owned:
    get:
      tags:
      - /connector/raydium
      description: Retrieve all positions owned by a user's wallet across all Raydium CLMM pools
      parameters:
      - schema:
          default: mainnet-beta
          enum:
          - devnet
          - mainnet-beta
          type: string
        in: query
        name: network
        required: false
        description: Solana network to use
      - schema:
          type: string
        example: Fxu7UU5D9ry1qDQj41Yp3oTeAdqxShzVYna44JE7E1gn
        in: query
        name: walletAddress
        required: true
        description: Solana wallet address to check for positions
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    address:
                      type: string
                    poolAddress:
                      type: string
                    baseTokenAddress:
                      type: string
                    quoteTokenAddress:
                      type: string
                    baseTokenAmount:
                      type: number
                    quoteTokenAmount:
                      type: number
                    baseFeeAmount:
                      type: number
                    quoteFeeAmount:
                      type: number
                    lowerBinId:
                      type: number
                    upperBinId:
                      type: number
                    lowerPrice:
                      type: number
                    upperPrice:
                      type: number
                    price:
                      type: number
                    rewardTokenAddress:
                      type: string
                    rewardAmount:
                      type: number
                  required:
                  - address
                  - poolAddress
                  - baseTokenAddress
                  - quoteTokenAddress
                  - baseTokenAmount
                  - quoteTokenAmount
                  - baseFeeAmount
                  - quoteFeeAmount
                  - lowerBinId
                  - upperBinId
                  - lowerPrice
                  - upperPrice
                  - price
  /connectors/raydium/clmm/position-info:
    get:
      tags:
      - /connector/raydium
      description: Get info about a Raydium CLMM position
      parameters:
      - schema:
          default: mainnet-beta
          enum:
          - devnet
          - mainnet-beta
          type: string
        in: query
        name: network
        required: false
        description: Solana network to use
      - schema:
          type: string
        example: <sample-position-address>
        in: query
        name: positionAddress
        required: true
        description: Position NFT address
      - schema:
          default: Fxu7UU5D9ry1qDQj41Yp3oTeAdqxShzVYna44JE7E1gn
          type: string
        in: query
        name: walletAddress
        required: false
        description: Solana wallet address
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  address:
                    type: string
                  poolAddress:
                    type: string
                  baseTokenAddress:
                    type: string
                  quoteTokenAddress:
                    type: string
                  baseTokenAmount:
                    type: number
                  quoteTokenAmount:
                    type: number
                  baseFeeAmount:
                    type: number
                  quoteFeeAmount:
                    type: number
                  lowerBinId:
                    type: number
                  upperBinId:
                    type: number
                  lowerPrice:
                    type: number
                  upperPrice:
                    type: number
                  price:
                    type: number
                  rewardTokenAddress:
                    type: string
                  rewardAmount:
                    type: number
                required:
                - address
                - poolAddress
                - baseTokenAddress
                - quoteTokenAddress
                - baseTokenAmount
                - quoteTokenAmount
                - baseFeeAmount
                - quoteFeeAmount
                - lowerBinId
                - upperBinId
                - lowerPrice
                - upperPrice
                - price
  /connectors/raydium/clmm/quote-position:
    get:
      tags:
      - /connector/raydium
      description: Quote amounts for a new Raydium CLMM position
      parameters:
      - schema:
          default: mainnet-beta
          enum:
          - devnet
          - mainnet-beta
          type: string
        in: query
        name: network
        required: false
        description: Solana network to use
      - schema:
          type: number
        example: 100
        in: query
        name: lowerPrice
        required: true
        description: Lower price bound for the position
      - schema:
          type: number
        example: 300
        in: query
        name: upperPrice
        required: true
        description: Upper price bound for the position
      - schema:
          type: string
        example: 3ucNos4NbumPLZNWztqGHNFFgkHeRMBQAVemeeomsUxv
        in: query
        name: poolAddress
        required: true
        description: Raydium CLMM pool address
      - schema:
          type: number
        example: 0.01
        in: query
        name: baseTokenAmount
        required: false
        description: Amount of base token to deposit
      - schema:
          type: number
        example: 2
        in: query
        name: quoteTokenAmount
        required: false
        description: Amount of quote token to deposit
      - schema:
          minimum: 0
          maximum: 100
          default: 2
          type: number
        example: 2
        in: query
        name: slippagePct
        required: false
        description: Maximum acceptable slippage percentage
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  baseLimited:
                    type: boolean
                  baseTokenAmount:
                    type: number
                  quoteTokenAmount:
                    type: number
                  baseTokenAmountMax:
                    type: number
                  quoteTokenAmountMax:
                    type: number
                  liquidity: {}
                required:
                - baseLimited
                - baseTokenAmount
                - quoteTokenAmount
                - baseTokenAmountMax
                - quoteTokenAmountMax
  /connectors/raydium/clmm/quote-swap:
    get:
      tags:
      - /connector/raydium
      description: Get swap quote for Raydium CLMM
      parameters:
      - schema:
          default: mainnet-beta
          enum:
          - devnet
          - mainnet-beta
          type: string
        in: query
        name: network
        required: false
        description: Solana network to use
      - schema:
          type: string
        example: 3ucNos4NbumPLZNWztqGHNFFgkHeRMBQAVemeeomsUxv
        in: query
        name: poolAddress
        required: false
        description: CLMM pool address (optional - can be looked up from tokens)
      - schema:
          type: string
        example: SOL
        in: query
        name: baseToken
        required: true
        description: Token to determine swap direction
      - schema:
          type: string
        example: USDC
        in: query
        name: quoteToken
        required: false
        description: The other token in the pair
      - schema:
          type: number
        example: 0.01
        in: query
        name: amount
        required: true
        description: Amount to swap
      - schema:
          enum:
          - BUY
          - SELL
          default: SELL
          type: string
        in: query
        name: side
        required: true
        description: Trade direction
      - schema:
          minimum: 0
          maximum: 100
          default: 2
          type: number
        example: 2
        in: query
        name: slippagePct
        required: false
        description: Maximum acceptable slippage percentage
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  poolAddress:
                    type: string
                  tokenIn:
                    type: string
                  tokenOut:
                    type: string
                  amountIn:
                    type: number
                  amountOut:
                    type: number
                  price:
                    type: number
                  slippagePct:
                    type: number
                  minAmountOut:
                    type: number
                  maxAmountIn:
                    type: number
                  priceImpactPct:
                    type: number
                required:
                - poolAddress
                - tokenIn
                - tokenOut
                - amountIn
                - amountOut
                - price
                - minAmountOut
                - maxAmountIn
                - priceImpactPct
  /connectors/raydium/clmm/execute-swap:
    post:
      tags:
      - /connector/raydium
      description: Execute a swap on Raydium CLMM
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                walletAddress:
                  description: Solana wallet address
                  default: Fxu7UU5D9ry1qDQj41Yp3oTeAdqxShzVYna44JE7E1gn
                  type: string
                  example: Fxu7UU5D9ry1qDQj41Yp3oTeAdqxShzVYna44JE7E1gn
                network:
                  description: Solana network to use
                  default: mainnet-beta
                  enum:
                  - devnet
                  - mainnet-beta
                  type: string
                poolAddress:
                  description: CLMM pool address (optional)
                  type: string
                  example: 3ucNos4NbumPLZNWztqGHNFFgkHeRMBQAVemeeomsUxv
                baseToken:
                  description: Base token symbol or address
                  type: string
                  example: SOL
                quoteToken:
                  description: Quote token symbol or address
                  type: string
                  example: USDC
                amount:
                  description: Amount to swap
                  type: number
                  example: 0.01
                side:
                  description: Trade direction
                  enum:
                  - BUY
                  - SELL
                  default: SELL
                  type: string
                  example: SELL
                slippagePct:
                  minimum: 0
                  maximum: 100
                  description: Maximum acceptable slippage percentage
                  default: 2
                  type: number
                  example: 2
              required:
              - baseToken
              - amount
              - side
        required: true
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  signature:
                    type: string
                  status:
                    description: TransactionStatus enum value
                    type: number
                  data:
                    type: object
                    properties:
                      tokenIn:
                        type: string
                      tokenOut:
                        type: string
                      amountIn:
                        type: number
                      amountOut:
                        type: number
                      fee:
                        type: number
                      baseTokenBalanceChange:
                        type: number
                      quoteTokenBalanceChange:
                        type: number
                    required:
                    - tokenIn
                    - tokenOut
                    - amountIn
                    - amountOut
                    - fee
                    - baseTokenBalanceChange
                    - quoteTokenBalanceChange
                required:
                - signature
                - status
  /connectors/raydium/clmm/open-position:
    post:
      tags:
      - /connector/raydium
      description: Open a new Raydium CLMM position
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                network:
                  description: Solana network to use
                  default: mainnet-beta
                  enum:
                  - devnet
                  - mainnet-beta
                  type: string
                walletAddress:
                  description: Solana wallet address
                  default: Fxu7UU5D9ry1qDQj41Yp3oTeAdqxShzVYna44JE7E1gn
                  type: string
                lowerPrice:
                  description: Lower price bound for the position
                  type: number
                  example: 100
                upperPrice:
                  description: Upper price bound for the position
                  type: number
                  example: 300
                poolAddress:
                  description: Raydium CLMM pool address
                  type: string
                  example: 3ucNos4NbumPLZNWztqGHNFFgkHeRMBQAVemeeomsUxv
                baseTokenAmount:
                  description: Amount of base token to deposit
                  type: number
                  example: 0.01
                quoteTokenAmount:
                  description: Amount of quote token to deposit
                  type: number
                  example: 2
                slippagePct:
                  minimum: 0
                  maximum: 100
                  description: Maximum acceptable slippage percentage
                  default: 2
                  type: number
                  example: 2
              required:
              - lowerPrice
              - upperPrice
              - poolAddress
        required: true
      responses:
        '200':
          descript

# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hummingbot/refs/heads/main/openapi/hummingbot-connector-raydium-api-openapi.yml