> ## 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.

# Get a loan

> Returns detailed information about a specific loan position.



## OpenAPI

````yaml openapi/digital-asset-backed-borrowing.yaml get /v1/borrow/loans/{id}
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/{id}:
    get:
      tags:
        - Borrow Loans
      summary: Get a loan
      description: Returns detailed information about a specific loan position.
      operationId: getBorrowLoan
      parameters:
        - $ref: '#/components/parameters/IdPath'
      responses:
        '200':
          description: Successfully retrieved a loan.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
          content:
            application/json:
              schema:
                title: GetBorrowLoanResponse
                type: object
                properties:
                  data:
                    $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'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - bearerAuth: []
components:
  parameters:
    IdPath:
      name: id
      description: Universally unique identifier (UUID v4) of a resource.
      in: path
      required: true
      schema:
        type: string
        format: uuid
        example: b3d9d2d5-4c12-4946-a09d-953e82fae2b0
  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:
    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
    NotFound:
      description: The specified resource was not found.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            type: object
            title: NotFound
            required:
              - code
              - message
            properties:
              code:
                type: integer
                example: 400
              message:
                type: string
                example: Something went wrong.
            example:
              code: 404
              message: Not found.
          examples:
            response:
              value:
                code: 404
                message: Not found.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````