curl https://api.arcus.xyz/v1/spotAssets
curl "https://api.arcus.xyz/v1/spotAssets?spotAsset=SPY-USD-SPOT"import requests
url = "https://api.arcus.xyz/v1/spotAssets"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.arcus.xyz/v1/spotAssets', 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/spotAssets",
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/spotAssets"
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/spotAssets")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arcus.xyz/v1/spotAssets")
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{
"spotAssets": [
{
"spotAssetId": 1,
"spotAssetDisplayName": "SPY-USD-SPOT",
"enabled": true,
"ltvInitial": "0.5",
"ltvMaintenance": "0.6",
"liquidationFactor": "0.85",
"priceSourceMarketId": 123,
"priceSourceMarket": "SPY-USD",
"oraclePrice": "<string>",
"tickSize": "<string>",
"stepSize": "<string>",
"userSupplyCap": "<string>",
"globalSupplyCap": "10000",
"oracleSequence": 123,
"contractId": "<string>"
}
]
}{
"error": "Invalid request body",
"code": "GEO_RESTRICTED",
"errorSource": "Order",
"errorType": "Tick",
"rejectionReason": "POST_ONLY_WOULD_CROSS"
}{
"error": "rate limited",
"reason": "account_empty",
"retryAfterMs": 850,
"clientId": "my-order-42"
}Get spot collateral assets
Returns the spot collateral assets (wire schema v52) — the assets accepted as multi-asset collateral for lending, NOT tradable order books. A separate id namespace from perpetual marketId. Optionally filter to a single asset.
curl https://api.arcus.xyz/v1/spotAssets
curl "https://api.arcus.xyz/v1/spotAssets?spotAsset=SPY-USD-SPOT"import requests
url = "https://api.arcus.xyz/v1/spotAssets"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.arcus.xyz/v1/spotAssets', 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/spotAssets",
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/spotAssets"
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/spotAssets")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arcus.xyz/v1/spotAssets")
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{
"spotAssets": [
{
"spotAssetId": 1,
"spotAssetDisplayName": "SPY-USD-SPOT",
"enabled": true,
"ltvInitial": "0.5",
"ltvMaintenance": "0.6",
"liquidationFactor": "0.85",
"priceSourceMarketId": 123,
"priceSourceMarket": "SPY-USD",
"oraclePrice": "<string>",
"tickSize": "<string>",
"stepSize": "<string>",
"userSupplyCap": "<string>",
"globalSupplyCap": "10000",
"oracleSequence": 123,
"contractId": "<string>"
}
]
}{
"error": "Invalid request body",
"code": "GEO_RESTRICTED",
"errorSource": "Order",
"errorType": "Tick",
"rejectionReason": "POST_ONLY_WOULD_CROSS"
}{
"error": "rate limited",
"reason": "account_empty",
"retryAfterMs": 850,
"clientId": "my-order-42"
}marketId. Optionally filter to a single asset.Query Parameters
Restrict results to a single spot collateral asset. Accepts either the display name (e.g. SPY-USD-SPOT, case-insensitive) or the numeric spot asset id (e.g. 1). Omit to return every asset. An unresolvable value (including the reserved USDG quote slot 0, which is not a collateral asset) → 400.
"SPY-USD-SPOT"
Response
Spot collateral assets list.
Spot collateral assets — the assets accepted as multi-asset collateral for lending, NOT tradable order books. Separate id namespace from perp marketId. Empty array in deployments with no spot assets.
Show child attributes
Show child attributes
Was this page helpful?