curl https://api.arcus.xyz/v1/lendingAttributesimport requests
url = "https://api.arcus.xyz/v1/lendingAttributes"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.arcus.xyz/v1/lendingAttributes', 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.arcus.xyz/v1/lendingAttributes",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.arcus.xyz/v1/lendingAttributes"
req, _ := http.NewRequest("GET", url, nil)
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.arcus.xyz/v1/lendingAttributes")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arcus.xyz/v1/lendingAttributes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"configured": true,
"userBorrowCap": "1000000000000",
"userBorrowCapUsd": "1000",
"reserveRatioPpm": 250000,
"reserveRatio": "0.25",
"globalDepositCapNotional": "0",
"globalDepositCapNotionalUsd": "0",
"userDepositCapNotional": "0",
"userDepositCapNotionalUsd": "0",
"borrowRatePpm": 49000,
"borrowApr": "0.049",
"borrowIndex": "5306333040",
"utilizationPpm": 251,
"loanSettlementBps": 25,
"gsn": 3196059452
}{
"error": "rate limited",
"reason": "account_empty",
"retryAfterMs": 850,
"clientId": "my-order-42"
}{
"error": "Invalid request body",
"code": "GEO_RESTRICTED",
"errorSource": "Order",
"errorType": "Tick",
"rejectionReason": "POST_ONLY_WOULD_CROSS"
}{
"error": "Invalid request body",
"code": "GEO_RESTRICTED",
"errorSource": "Order",
"errorType": "Tick",
"rejectionReason": "POST_ONLY_WOULD_CROSS"
}Get global lending attributes
Returns the global lending-engine attributes: the lending limits (per-account borrow cap, vault reserve ratio, the exchange-wide and per-account spot-deposit notional caps, loan-settlement bps) and the live borrow cost (rate/APR, cumulative borrow index, utilization).
curl https://api.arcus.xyz/v1/lendingAttributesimport requests
url = "https://api.arcus.xyz/v1/lendingAttributes"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.arcus.xyz/v1/lendingAttributes', 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.arcus.xyz/v1/lendingAttributes",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.arcus.xyz/v1/lendingAttributes"
req, _ := http.NewRequest("GET", url, nil)
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.arcus.xyz/v1/lendingAttributes")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arcus.xyz/v1/lendingAttributes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"configured": true,
"userBorrowCap": "1000000000000",
"userBorrowCapUsd": "1000",
"reserveRatioPpm": 250000,
"reserveRatio": "0.25",
"globalDepositCapNotional": "0",
"globalDepositCapNotionalUsd": "0",
"userDepositCapNotional": "0",
"userDepositCapNotionalUsd": "0",
"borrowRatePpm": 49000,
"borrowApr": "0.049",
"borrowIndex": "5306333040",
"utilizationPpm": 251,
"loanSettlementBps": 25,
"gsn": 3196059452
}{
"error": "rate limited",
"reason": "account_empty",
"retryAfterMs": 850,
"clientId": "my-order-42"
}{
"error": "Invalid request body",
"code": "GEO_RESTRICTED",
"errorSource": "Order",
"errorType": "Tick",
"rejectionReason": "POST_ONLY_WOULD_CROSS"
}{
"error": "Invalid request body",
"code": "GEO_RESTRICTED",
"errorSource": "Order",
"errorType": "Tick",
"rejectionReason": "POST_ONLY_WOULD_CROSS"
}GET /v1/spotAssets.
A global read: no parameters, no authentication, and readable even when trading access is restricted.Response
Global lending attributes.
Global lending-engine attributes (GET /v1/lendingAttributes). Quote-quantum amounts (1e9 = $1) are paired with a decimal USD rendering, and ppm values with a decimal fraction.
False until lending has been configured; the values then hold defaults (0 = uncapped borrow, 0 reserve ratio) and should be read as "unset".
true
Per-account borrow cap in quote quantums (1e9 = $1). "0" = uncapped.
"1000000000000"
userBorrowCap as decimal USD.
"1000"
Committable fraction of vault capital, in parts-per-million (>= 1000000 = 100%).
250000
reserveRatioPpm as a decimal fraction.
"0.25"
Exchange-wide ceiling on total spot collateral value admitted at deposit, in quote quantums (1e9 = $1). "0" = no cap. A single aggregate, mark-valued gate — distinct from the per-market supply caps on GET /v1/spotAssets.
"0"
globalDepositCapNotional as decimal USD.
"0"
Per-account ceiling on an account's own spot collateral value (sum over markets of held amount × mark price) admitted at deposit, in quote quantums (1e9 = $1). "0" = no cap.
"0"
userDepositCapNotional as decimal USD.
"0"
Current annual borrow rate the live rate segment opened at, in parts-per-million per year (e.g. 49000 = 4.9%/yr).
49000
borrowRatePpm as a decimal fraction (the borrow cost).
"0.049"
Global cumulative borrow index, stringified integer at 1e12 scale.
"5306333040"
Exchange-wide lending utilization (borrowed / lendable) in parts-per-million (1000000 = 100%). null when utilization is not yet known, so "unknown" is distinguishable from a genuine 0%.
251
Loan-settlement amount in basis points (25 = 0.25%). When unset, a default applies, so clients need not hardcode it. Display / audit only.
25
Global sequence number of the lending configuration these values reflect (0 when unconfigured).
3196059452
Was this page helpful?