> ## Documentation Index
> Fetch the complete documentation index at: https://docs.loopscale.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Transfer Raydium position

> Reposition a Raydium CLMM collateral position to a new tick range on an existing loan.



## OpenAPI

````yaml post /markets/creditbook/collateral/raydium/transfer_position
openapi: 3.1.0
info:
  title: Loopscale API
  version: 0.1.0
servers:
  - url: https://tars.loopscale.com/v1
    description: Loopscale Production Server
security: []
paths:
  /markets/creditbook/collateral/raydium/transfer_position:
    post:
      tags:
        - creditbook
      summary: Transfer Raydium position
      description: >-
        Reposition a Raydium CLMM collateral position to a new tick range on an
        existing loan.
      operationId: query_transfer_raydium_position
      parameters:
        - name: Idempotent-Key
          in: header
          description: >-
            Optional idempotency key; a retried write with the same key replays
            the original response
          required: false
          schema:
            type:
              - string
              - 'null'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TxnTransferRaydiumPositionParams'
        required: true
      responses:
        '200':
          description: Serialized transaction message and signatures
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VersionedTransactionReturn'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: Idempotency-Key reused with a different request body
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    TxnTransferRaydiumPositionParams:
      type: object
      required:
        - loan
        - positionMint
        - slippageDecimals
        - transferParams
      properties:
        loan:
          type: string
        positionMint:
          type: string
        slippageDecimals:
          type: number
          format: double
        transferParams:
          $ref: '#/components/schemas/TransferPositionParamsSchema'
    VersionedTransactionReturn:
      type: object
      description: versioned txn return
      required:
        - message
        - signatures
      properties:
        message:
          type: string
          description: serialized message
        signatures:
          type: array
          items:
            $ref: '#/components/schemas/VersionedTransactionSignature'
          description: serialized signatures
    ErrorResponse:
      type: object
      description: |-
        Canonical error envelope for every endpoint. The `x-request-id` response
        header carries the correlation id for the failing request.
      required:
        - error
      properties:
        error:
          $ref: '#/components/schemas/ErrorDetails'
          description: error detail
    TransferPositionParamsSchema:
      type: object
      description: |-
        Params for transferring an Orca/Raydium CLMM position as collateral
        (`transfer_*_position`).
      required:
        - liquidityAmount
        - collateralIndex
        - transferParams
        - tickLowerIndex
        - tickUpperIndex
        - assetIndexGuidance
      properties:
        assetIndexGuidance:
          type: array
          items:
            type: integer
            format: int32
            minimum: 0
        collateralIndex:
          type: integer
          format: int32
          minimum: 0
        liquidityAmount:
          type: integer
          minimum: 0
        tickLowerIndex:
          type: integer
          format: int32
        tickUpperIndex:
          type: integer
          format: int32
        transferParams:
          $ref: '#/components/schemas/TransferTypeParamsSchema'
    VersionedTransactionSignature:
      type: object
      description: versioned txn return
      required:
        - publicKey
        - signature
      properties:
        publicKey:
          type: string
          description: serialized message
        signature:
          type: string
          description: serialized signatures
    ErrorDetails:
      type: object
      description: Inner detail of the [`ErrorResponse`] envelope.
      required:
        - code
        - message
      properties:
        code:
          type: integer
          format: int32
          description: HTTP status code, mirrored in the response status line
          example: 400
          minimum: 0
        message:
          type: string
          description: human-readable, client-safe message (sensitive data redacted)
          example: Request could not be processed.
    TransferTypeParamsSchema:
      oneOf:
        - type: object
          required:
            - Liquidity
          properties:
            Liquidity:
              $ref: '#/components/schemas/LiquidityParamsSchema'
        - type: object
          required:
            - TokenAmounts
          properties:
            TokenAmounts:
              $ref: '#/components/schemas/TokenAmountsParamsSchema'
      description: >-
        How a CLMM transfer/manage sizes the position: by liquidity or by
        explicit

        token amounts (externally-tagged: `{ "Liquidity": … }` / `{
        "TokenAmounts": … }`).
    LiquidityParamsSchema:
      type: object
      description: |-
        CLMM liquidity-management params (slippage bound), used by Orca/Raydium
        `manage_liquidity`.
      required:
        - slippageToleranceBps
      properties:
        slippageToleranceBps:
          type: integer
          format: int32
          description: Slippage tolerance, in basis points.
          minimum: 0
    TokenAmountsParamsSchema:
      type: object
      description: >-
        Explicit token-amount params for a CLMM position (Raydium / token-amount
        mode).
      required:
        - tokenAAmount
        - tokenBAmount
      properties:
        tokenAAmount:
          type: integer
          format: int64
          minimum: 0
        tokenBAmount:
          type: integer
          format: int64
          minimum: 0

````