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

# Batch Get Orca Positions

> Same as the list endpoint, multiple Solana wallets in one POST. Returns the same shape as `?full=true` on the list endpoint — for scanning many addresses at once.

**Credits:** 12 per position returned on this page.



## OpenAPI

````yaml /openapi.yaml post /v1/positions/orca/batch
openapi: 3.1.0
info:
  title: DeFi Orbit API
  version: 1.0.0
  description: Public REST API for DeFi Orbit positions, lending, portfolio, and usage.
servers:
  - url: https://api.defiorbit.xyz
security:
  - bearerAuth: []
tags:
  - name: Portfolio
  - name: Snapshots
  - name: Uniswap V3
  - name: Aerodrome V3
  - name: Orca
  - name: Aave V3
  - name: Morpho
  - name: Kamino
  - name: Usage
paths:
  /v1/positions/orca/batch:
    post:
      tags:
        - Orca
      summary: Batch Get Orca Positions
      description: >-
        Same as the list endpoint, multiple Solana wallets in one POST. Returns
        the same shape as `?full=true` on the list endpoint — for scanning many
        addresses at once.


        **Credits:** 12 per position returned on this page.
      operationId: post_v1_positions_orca_batch
      parameters:
        - name: page
          in: query
          required: false
          schema:
            type: integer
            description: 'Page. Default: 1.'
            default: 1
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            description: 'Maximum 25. Default: 10.'
            default: 10
            maximum: 25
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                wallets:
                  type: array
                  description: Solana wallets (JSON array in the request body).
                  items:
                    type: string
                  example:
                    - CqB5nxVwQkjjaq3qpzBcJRwych1sZJDeT37BgDSXwpyp
                  x-default:
                    - CqB5nxVwQkjjaq3qpzBcJRwych1sZJDeT37BgDSXwpyp
                chain_id:
                  type: integer
                  description: Chain ID.
              required:
                - wallets
            example:
              wallets:
                - CqB5nxVwQkjjaq3qpzBcJRwych1sZJDeT37BgDSXwpyp
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/RequestId'
                  - type: object
                    properties:
                      data:
                        type: array
                        items:
                          type: object
                          properties:
                            position_id:
                              type: string
                            chain_id:
                              type: integer
                            wallet:
                              type: string
                            is_active:
                              type: boolean
                            sub_protocol:
                              type: string
                            position:
                              type: object
                              properties:
                                positionData:
                                  type: object
                                  properties:
                                    id:
                                      type: string
                                    owner:
                                      type: string
                                    tickLower:
                                      type: string
                                    tickUpper:
                                      type: string
                                  required:
                                    - id
                                    - owner
                                    - tickLower
                                    - tickUpper
                                calculations:
                                  type: object
                                  properties:
                                    inRange:
                                      type: boolean
                                      description: >-
                                        True when the pool price is inside the
                                        position tick range.
                                    positionUsdValue:
                                      type: string
                                      description: >-
                                        USD string. Token principal plus
                                        unclaimed fees and rewards.
                                    isClosed:
                                      type: boolean
                                      description: >-
                                        True when the position liquidity is
                                        zero.
                                  required:
                                    - inRange
                                    - positionUsdValue
                                    - isClosed
                              required:
                                - positionData
                                - calculations
                          required:
                            - position_id
                            - chain_id
                            - wallet
                            - is_active
                            - sub_protocol
                            - position
                      pagination:
                        $ref: '#/components/schemas/Pagination'
                      counts:
                        type: object
                        properties:
                          totalActive:
                            type: number
                          totalInactive:
                            type: number
                          total:
                            type: number
                          filtered:
                            type: number
                          errors:
                            type: number
                        required:
                          - totalActive
                          - totalInactive
                          - total
                          - filtered
                          - errors
                    required:
                      - data
                      - pagination
                      - counts
              example:
                data:
                  - position_id: FUvNMzGMEwFmy6QreoZG7TijmRrDNhKFXJDQYzHM2uEr
                    chain_id: 101
                    wallet: CqB5nxVwQkjjaq3qpzBcJRwych1sZJDeT37BgDSXwpyp
                    is_active: true
                    sub_protocol: orca
                    position:
                      positionData:
                        id: FUvNMzGMEwFmy6QreoZG7TijmRrDNhKFXJDQYzHM2uEr
                        owner: CqB5nxVwQkjjaq3qpzBcJRwych1sZJDeT37BgDSXwpyp
                        tickLower: '-4928'
                        tickUpper: '-2624'
                      calculations:
                        inRange: true
                        positionUsdValue: '100.00'
                        isClosed: false
                pagination:
                  page: 1
                  limit: 10
                  total: 2
                  next_page: null
                  prev_page: null
                counts:
                  totalActive: 2
                  totalInactive: 2
                  total: 4
                  filtered: 2
                  errors: 0
                request_id: req_...
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  schemas:
    RequestId:
      type: object
      required:
        - request_id
      properties:
        request_id:
          type: string
          description: Id to quote when you contact support.
    Pagination:
      type: object
      required:
        - page
        - limit
        - total
        - next_page
        - prev_page
      properties:
        page:
          type: integer
        limit:
          type: integer
        total:
          type: integer
          description: Matching rows, before this page is sliced.
        next_page:
          type: string
          nullable: true
          description: URL of the next page, or null on the last page.
        prev_page:
          type: string
          nullable: true
          description: URL of the previous page, or null on the first page.
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
            - request_id
          properties:
            code:
              type: string
            message:
              type: string
            request_id:
              type: string
  responses:
    BadRequest:
      description: Missing or invalid parameter.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: INVALID_PARAMETER
              message: page must be a positive integer.
              request_id: req_...
    Unauthorized:
      description: Missing, malformed, invalid, or revoked API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: INVALID_API_KEY
              message: Missing API key.
              request_id: req_...
    PaymentRequired:
      description: The organization does not have enough credits.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: INSUFFICIENT_CREDITS
              message: Insufficient API credits.
              request_id: req_...
    Forbidden:
      description: The organization is suspended, or the endpoint or feature is disabled.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: ACCOUNT_SUSPENDED
              message: This organization is suspended.
              request_id: req_...
    TooManyRequests:
      description: The organization exceeded its requests-per-second limit.
      headers:
        Retry-After:
          description: Seconds to wait before retrying.
          schema:
            type: integer
        X-RateLimit-Limit:
          description: Requests per second for the organization.
          schema:
            type: integer
        X-RateLimit-Remaining:
          description: Requests left in the current window.
          schema:
            type: integer
        X-RateLimit-Reset:
          description: Unix time when the window resets.
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: RATE_LIMIT_EXCEEDED
              message: Rate limit exceeded. Please try again later.
              request_id: req_...
    InternalError:
      description: Unexpected server error, or pricing is not configured.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: INTERNAL_ERROR
              message: An unexpected error occurred.
              request_id: req_...
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Paste your API key from the
        [dashboard](https://platform.defiorbit.xyz/dashboard/keys). The key
        starts with `do_sk_`.
      x-default: YOUR_API_KEY

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.