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

# Get position

> Get the wallet's supplied USDC balance and estimated withdrawal availability in the selected market. Provide marketId or chainId. Para derives the chain from marketId; chainId alone selects Aave V3. If both are supplied, they must identify the same chain.



## OpenAPI

````yaml /openapi.yaml get /v1/wallets/{walletId}/yield/position
openapi: 3.0.3
info:
  title: Para REST API
  version: '1.0'
  description: Server-to-server wallet creation and signing over HTTP
servers:
  - url: https://api.beta.getpara.com
    description: Beta
  - url: https://api.getpara.com
    description: Production
security:
  - ApiKeyAuth: []
paths:
  /v1/wallets/{walletId}/yield/position:
    get:
      tags:
        - Yield
      summary: Get position
      description: >-
        Get the wallet's supplied USDC balance and estimated withdrawal
        availability in the selected market. Provide marketId or chainId. Para
        derives the chain from marketId; chainId alone selects Aave V3. If both
        are supplied, they must identify the same chain.
      operationId: getYieldPosition
      parameters:
        - $ref: '#/components/parameters/WalletId'
        - $ref: '#/components/parameters/RequestId'
        - name: chainId
          in: query
          required: false
          description: >-
            Optional when marketId is supplied; must match its chain. Without
            marketId, selects Aave V3 on this chain. Native USDC on Ethereum
            mainnet (1) or Base mainnet (8453), or Aave test USDC on Sepolia
            (11155111). Base Sepolia (84532) uses test USDC and is available
            only in sandbox and local test environments.
          schema:
            type: integer
            enum:
              - 1
              - 8453
              - 11155111
              - 84532
        - name: marketId
          in: query
          required: false
          description: >-
            Market ID from the markets endpoint. Determines the chain and asset.
            Required if chainId is omitted. Without marketId, chainId selects
            Aave V3. Unsupported IDs or a mismatched chainId return 400. The
            sandbox-only Morpho demo market is morpho-v2-base-sepolia-demo-usdc
            on Base Sepolia (84532); it holds test USDC idle and earns no
            lending yield.
          schema:
            type: string
            example: morpho-v2-base-steakhouse-usdc
      responses:
        '200':
          description: Current position and snapshot block.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/YieldPosition'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          description: Wallet is not ready for signing.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/ServerError'
components:
  parameters:
    WalletId:
      name: walletId
      in: path
      required: true
      description: Wallet UUID. A malformed or inaccessible wallet ID returns `404`.
      schema:
        type: string
        format: uuid
        example: 0a1b2c3d-4e5f-6789-abcd-ef0123456789
    RequestId:
      name: X-Request-Id
      in: header
      required: false
      description: UUID for request tracing. Para returns one if omitted.
      schema:
        type: string
        format: uuid
  schemas:
    YieldPosition:
      type: object
      properties:
        chainId:
          example: 8453
          type: integer
          enum:
            - 1
            - 8453
            - 11155111
        marketId:
          type: string
          example: morpho-v2-base-steakhouse-usdc
        protocol:
          type: string
          enum:
            - aave-v3
            - morpho-v2
        asset:
          type: string
          enum:
            - USDC
        tokenAddress:
          type: string
        suppliedBalance:
          type: string
          description: >-
            Current position value in USDC decimal units, including accrued
            yield. Aave uses the aToken balance; Morpho uses previewRedeem for
            the current shares, rounding down. Not historical earnings.
        walletBalance:
          type: string
          description: Wallet USDC balance in decimal units.
        availableLiquidity:
          type: string
          description: >-
            Aave only. USDC held by the reserve aToken contract; other protocol
            constraints may restrict withdrawals.
        withdrawal:
          type: object
          properties:
            availableAmount:
              type: string
              nullable: true
              description: >-
                Advisory amount in USDC units. Morpho returns the full-position
                previewRedeem value only when a full redemption simulation
                succeeds, null if it fails, and zero for an empty position. This
                is not an exact maximum; a partial withdrawal may still succeed.
                Morpho V2 maxWithdraw and maxRedeem return zero and are not
                used. Aave returns null for failed simulation or debt
                constraints, and zero for inactive or paused reserves.
            advisory:
              type: boolean
              enum:
                - true
            restrictions:
              type: array
              items:
                type: string
              description: >-
                Examples: reserve_inactive, reserve_paused,
                collateral_or_debt_constraints, limited_reserve_liquidity,
                withdrawal_simulation_unavailable, zero_redeemable_assets.
          required:
            - availableAmount
            - advisory
            - restrictions
        vaultAddress:
          type: string
          description: >-
            Morpho only. Address of the selected Morpho V2 vault on Ethereum or
            Base.
          example: '0xbeef0e0834849aCC03f0089F01f4F1Eeb06873C9'
        shares:
          type: object
          description: Morpho only. Vault share balance in raw units, not a USDC amount.
          properties:
            balance:
              type: string
              pattern: ^[0-9]+$
            decimals:
              type: integer
              enum:
                - 18
          required:
            - balance
            - decimals
        reserve:
          type: object
          description: Aave only. Current reserve configuration.
          properties:
            active:
              type: boolean
            frozen:
              type: boolean
            paused:
              type: boolean
          required:
            - active
            - frozen
            - paused
        blockNumber:
          type: integer
        blockTimestamp:
          type: string
          format: date-time
      required:
        - chainId
        - protocol
        - marketId
        - asset
        - tokenAddress
        - suppliedBalance
        - walletBalance
        - withdrawal
        - blockNumber
        - blockTimestamp
    Error:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Machine-readable error code for programmatic handling
          example: INVALID_REQUEST
        message:
          type: string
          description: Human-readable error message
        transactionId:
          type: string
          format: uuid
          description: >-
            Persisted transaction record id. Present only when a broadcast
            request failed after a history row was created.
        failureStage:
          type: string
          enum:
            - mpc_sign
            - signature_apply
            - signer_verify
            - broadcast
            - monitor_timeout
          description: >-
            Which stage of the broadcast lifecycle failed. Present on persisted
            broadcast failures.
        failureCode:
          type: string
          description: >-
            Machine-readable failure reason from the underlying broadcast helper
            (e.g. `INSUFFICIENT_NATIVE_BALANCE`, `EXECUTION_FAILED`). Present on
            broadcast-stage failures.
        signedTransaction:
          type: string
          description: >-
            Legacy signed transaction bytes on broadcast failures after signing.
            Sponsored responses never expose signed payloads.
      additionalProperties: true
      description: >
        All error responses include `code` and `message` fields. Some errors
        include extra fields (e.g. `walletId` on 409 Conflict).

        Broadcast failures that occur after a persisted transaction row is
        created include `transactionId`,

        `failureStage`, and (on broadcast-stage failures) `failureCode`, and
        also set the `x-transaction-id`

        response header. Legacy failures after signing can include
        `signedTransaction` for inspecting

        the already-signed bytes. Sponsored responses never expose signed
        payloads; recover the original

        operation with its tracking ID or original request and idempotency key.


        Common error codes: `INVALID_REQUEST`, `UNAUTHORIZED`, `FORBIDDEN`,
        `NOT_FOUND`, `CONFLICT`, `WALLET_ALREADY_EXISTS`,
        `WALLET_ALREADY_CLAIMED`, `RATE_LIMITED`, `INTERNAL_ERROR`.
  responses:
    BadRequest:
      description: Invalid request body
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: INVALID_REQUEST
            message: type must be one of EVM, SOLANA, COSMOS, STELLAR, SUI
    Unauthorized:
      description: API key not provided
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: UNAUTHORIZED
            message: secret api key not provided
    Forbidden:
      description: Invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: FORBIDDEN
            message: invalid secret api key
    NotFound:
      description: Wallet not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: NOT_FOUND
            message: wallet not found
    TooManyRequests:
      description: Rate limit exceeded
      headers:
        Retry-After:
          schema:
            type: integer
          description: Seconds until the rate limit window resets
          example: 60
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: RATE_LIMITED
            message: Rate limit exceeded, try again shortly.
    ServerError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: INTERNAL_ERROR
            message: Internal Server Error
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Your partner secret key (server-side only)
      x-default: sk_your_secret_key_here

````

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