Get a loan
curl --request GET \
--url https://api-sandbox.circle.com/v1/borrow/loans/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api-sandbox.circle.com/v1/borrow/loans/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-sandbox.circle.com/v1/borrow/loans/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-sandbox.circle.com/v1/borrow/loans/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-sandbox.circle.com/v1/borrow/loans/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-sandbox.circle.com/v1/borrow/loans/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.circle.com/v1/borrow/loans/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"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"
}
}{
"code": 401,
"message": "Malformed authorization."
}{
"code": 3,
"message": "Forbidden"
}{
"code": 404,
"message": "Not found."
}Returns detailed information about a specific loan position.
GET
/
v1
/
borrow
/
loans
/
{id}
Get a loan
curl --request GET \
--url https://api-sandbox.circle.com/v1/borrow/loans/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api-sandbox.circle.com/v1/borrow/loans/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-sandbox.circle.com/v1/borrow/loans/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-sandbox.circle.com/v1/borrow/loans/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-sandbox.circle.com/v1/borrow/loans/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-sandbox.circle.com/v1/borrow/loans/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.circle.com/v1/borrow/loans/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"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"
}
}{
"code": 401,
"message": "Malformed authorization."
}{
"code": 3,
"message": "Forbidden"
}{
"code": 404,
"message": "Not found."
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Universally unique identifier (UUID v4) of a resource.
Example:
"b3d9d2d5-4c12-4946-a09d-953e82fae2b0"
Response
Successfully retrieved a loan.
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.
Show child attributes
Show child attributes
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"
}
Was this page helpful?