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

# List all loans

> Returns a paginated list of loans you own, sorted by `createDate`, most
recent first.




## OpenAPI

````yaml openapi/digital-asset-backed-borrowing.yaml get /v1/borrow/loans
openapi: 3.0.2
info:
  version: ${version}
  title: Digital Asset-Backed Borrowing API
  description: >
    The Digital Asset-Backed Borrowing API lets you borrow stablecoin liquidity
    against onchain collateral. It uses a dedicated wallet to hold collateral
    and borrowed funds, and Circle handles the onchain transactions. Write
    operations are asynchronous and return a job that can be polled for status.
servers:
  - url: https://api-sandbox.circle.com
  - url: https://api.circle.com
security: []
tags:
  - name: Borrow Wallets
    description: >-
      Provision and inspect the per-entity MSCA wallet that holds collateral and
      borrowed funds.
  - name: Borrow Loans
    description: Originate, inspect, repay, and add collateral to borrow positions.
  - name: Borrow Jobs
    description: Observe asynchronous onchain operations.
  - name: Borrow Markets
    description: Discover allowlisted lending markets.
paths:
  /v1/borrow/loans:
    get:
      tags:
        - Borrow Loans
      summary: List all loans
      description: |
        Returns a paginated list of loans you own, sorted by `createDate`, most
        recent first.
      operationId: listBorrowLoans
      parameters:
        - in: query
          name: status
          required: false
          schema:
            type: string
            enum:
              - active
              - closed
              - liquidated
              - failed
          description: Filter by loan status.
        - $ref: '#/components/parameters/PageBefore'
        - $ref: '#/components/parameters/PageAfter'
        - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: Successfully retrieved a list of loans.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
          content:
            application/json:
              schema:
                title: ListBorrowLoansResponse
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/OnchainLoan'
              examples:
                response:
                  value:
                    data:
                      - id: fc988ed5-c129-4f70-a064-e5beb7eb8e32
                        protocol: morpho
                        marketId: >-
                          0x3a85e6f1c2d3b4a596877869504132e1d0c9b8a7766554433221100ffeeddccbb
                        walletAddress: '0x742d35Cc6634C0532925a3b844Bc9e7595f9f68C'
                        protocolAddress: '0x33333aea097c193e66081E930c33020272b33333'
                        borrowAsset: USD
                        collateralAsset: CIRBTC
                        borrowDepositAddress: '0x5a0b4a11d3f9b2c1e8a7d6c5b4a39281f0e1d2c3'
                        collateralDepositAddress: '0xbb81dcaf9e7a6b5c4d3e2f1908172635445362718'
                        collateralAmount: '0.05'
                        debtAmount: '1000.00'
                        oraclePrice: '67234.51'
                        ltv: '0.30'
                        healthFactor: '2.85'
                        borrowApy: '0.0542'
                        status: active
                        createDate: '2026-06-20T14:22:00.000Z'
                        updateDate: '2026-06-21T09:00:00.000Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - bearerAuth: []
components:
  parameters:
    PageBefore:
      name: pageBefore
      description: >
        A collection ID value used for pagination.


        It marks the exclusive end of a page. When provided, the collection
        resource will return the next `n` items before

        the id, with `n` being specified by `pageSize`.


        The items will be returned in the natural order of the collection.


        The resource will return the first page if neither `pageAfter` nor
        `pageBefore` are specified.


        SHOULD NOT be used in conjuction with pageAfter.
      in: query
      required: false
      schema:
        type: string
    PageAfter:
      name: pageAfter
      description: >
        A collection ID value used for pagination.


        It marks the exclusive begin of a page. When provided, the collection
        resource will return the next `n` items after

        the id, with `n` being specified by `pageSize`.


        The items will be returned in the natural order of the collection.


        The resource will return the first page if neither `pageAfter` nor
        `pageBefore` are specified.


        SHOULD NOT be used in conjuction with pageBefore.
      in: query
      required: false
      schema:
        type: string
    PageSize:
      name: pageSize
      description: >
        Limits the number of items to be returned.


        Some collections have a strict upper bound that will disregard this
        value. In case the specified value is higher

        than the allowed limit, the collection limit will be used.


        If avoided, the collection will determine the page size itself.
      in: query
      required: false
      schema:
        type: integer
        minimum: 1
        example: 5
  headers:
    XRequestId:
      description: >-
        Universally unique identifier (UUID v4) for the request. Helpful for
        identifying a request when communicating with Circle support.
      schema:
        type: string
        format: uuid
        example: 2adba88e-9d63-44bc-b975-9b6ae3440dde
  schemas:
    OnchainLoan:
      type: object
      description: >
        A borrow position on a lending protocol. You can hold at most one borrow

        position per lending market on each protocol. Position values
        (`oraclePrice`,

        `ltv`, `healthFactor`, `borrowApy`, and amounts) reflect the most recent
        LTV

        monitoring snapshot. These values are not read live from the blockchain.
      required:
        - id
        - protocol
        - marketId
        - walletAddress
        - borrowAsset
        - collateralAsset
        - status
        - createDate
      properties:
        id:
          type: string
          format: uuid
          description: Identifier of the loan.
        protocol:
          type: string
          enum:
            - morpho
          description: Lending protocol.
        marketId:
          type: string
          description: Identifier of the lending market (protocol-specific).
        walletAddress:
          type: string
          description: The MSCA address that holds this position.
        protocolAddress:
          type: string
          description: >
            Onchain address of the lending protocol contract that holds this
            position,

            such as the Morpho Blue contract. Useful for verifying the position

            onchain.
          example: '0x33333aea097c193e66081E930c33020272b33333'
        borrowAsset:
          type: string
          description: |
            Circle currency code of the borrowed asset, such as `USD` for USDC.
            Distinct from the token symbol (`USDC`), which appears as a key in
            `wallet.depositAddresses`.
          example: USD
        collateralAsset:
          type: string
          description: >-
            Circle currency code of the collateral asset, such as `CIRBTC` for
            cirBTC.
          example: CIRBTC
        borrowDepositAddress:
          type: string
          description: Wallet deposit address that receives the borrowed funds.
        collateralDepositAddress:
          type: string
          description: >-
            Wallet deposit address that receives residual collateral after a
            position is partially liquidated.
        collateralAmount:
          type: string
          description: Collateral posted, in native token units (decimal string).
        debtAmount:
          type: string
          description: Outstanding debt, in native token units (decimal string).
        oraclePrice:
          type: string
          description: >
            Collateral price denominated in `borrowAsset` from the latest
            monitoring snapshot

            (decimal string).
        ltv:
          type: string
          description: >-
            Loan-to-value ratio from the latest snapshot (decimal string between
            `0.0` and `1.0`).
        healthFactor:
          type: string
          description: >
            Health factor from the latest snapshot (decimal string). Positions
            are

            liquidatable when this value drops below `1.0`.
        borrowApy:
          type: string
          description: >-
            Annualized borrow rate from the latest snapshot (decimal string,
            such as `0.0542`).
        status:
          type: string
          enum:
            - active
            - closed
            - liquidated
            - failed
          description: Status of the loan.
        liquidationDetectedAt:
          type: string
          format: date-time
          description: |
            Date and time when this position's liquidation was first detected.
            Present only for liquidated loans.
        liquidatedDebtAmount:
          type: string
          description: >
            Debt repaid by the liquidation, in native token units (decimal
            string). Present only

            for liquidated loans.
        liquidatedCollateralSeized:
          type: string
          description: >
            Collateral seized by the liquidator, in native token units (decimal
            string). Present

            only for liquidated loans.
        liquidationOraclePrice:
          type: string
          description: >
            Collateral price (denominated in `borrowAsset`) recorded at
            liquidation (decimal

            string). Present only for liquidated loans.
        createDate:
          type: string
          format: date-time
          description: Date and time when the loan was created.
        updateDate:
          type: string
          format: date-time
          description: Date and time when the loan was last updated.
      example:
        id: fc988ed5-c129-4f70-a064-e5beb7eb8e32
        protocol: morpho
        marketId: '0x3a85e6f1c2d3b4a596877869504132e1d0c9b8a7766554433221100ffeeddccbb'
        walletAddress: '0x742d35Cc6634C0532925a3b844Bc9e7595f9f68C'
        protocolAddress: '0x33333aea097c193e66081E930c33020272b33333'
        borrowAsset: USD
        collateralAsset: CIRBTC
        borrowDepositAddress: '0x5a0b4a11d3f9b2c1e8a7d6c5b4a39281f0e1d2c3'
        collateralDepositAddress: '0xbb81dcaf9e7a6b5c4d3e2f1908172635445362718'
        collateralAmount: '0.05'
        debtAmount: '1000.00'
        oraclePrice: '67234.51'
        ltv: '0.30'
        healthFactor: '2.85'
        borrowApy: '0.0542'
        status: active
        createDate: '2026-06-20T14:22:00.000Z'
        updateDate: '2026-06-21T09:00:00.000Z'
  responses:
    BadRequest:
      description: The request cannot be processed due to a client error.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            type: object
            title: BadRequest
            required:
              - code
              - message
            properties:
              code:
                type: integer
                example: 400
              message:
                type: string
                example: Something went wrong.
            example:
              code: 400
              message: Bad request.
          examples:
            response:
              value:
                code: 400
                message: Bad request.
    NotAuthorized:
      description: >-
        The request has not been applied because it lacks valid authentication
        credentials.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            type: object
            title: NotAuthorized
            required:
              - code
              - message
            properties:
              code:
                type: integer
                example: 400
              message:
                type: string
                example: Something went wrong.
            example:
              code: 401
              message: Malformed authorization.
          examples:
            response:
              value:
                code: 401
                message: Malformed authorization.
    Forbidden:
      description: >-
        The request provides authentication, but the authenticated user does not
        possess sufficient permissions for accessing this resource.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            type: object
            title: Forbidden
            required:
              - code
              - message
            properties:
              code:
                type: integer
                example: 400
              message:
                type: string
                example: Something went wrong.
            example:
              code: 3
              message: Forbidden
          examples:
            response:
              value:
                code: 3
                message: Forbidden
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````