curl --request GET \
--url https://api.mainnet.aptoslabs.com/decibel/api/v1/vaults \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.mainnet.aptoslabs.com/decibel/api/v1/vaults"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.mainnet.aptoslabs.com/decibel/api/v1/vaults', 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.mainnet.aptoslabs.com/decibel/api/v1/vaults",
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.mainnet.aptoslabs.com/decibel/api/v1/vaults"
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.mainnet.aptoslabs.com/decibel/api/v1/vaults")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mainnet.aptoslabs.com/decibel/api/v1/vaults")
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{
"items": [
{
"address": "<string>",
"created_at": 123,
"manager": "<string>",
"name": "<string>",
"status": "<string>",
"all_time_pnl": 123,
"all_time_return": 123,
"apr": 123,
"average_leverage": 123,
"depositors": 123,
"description": "<string>",
"lockdown_period_s": 259200,
"manager_cash_pct": 123,
"max_drawdown": 123,
"net_deposits": 30277044.96,
"past_month_return": 123,
"perp_equity": 123,
"pnl_90d": 123,
"profit_share": 123,
"sharpe_ratio": 123,
"social_links": [
"<string>"
],
"tvl": 123,
"vault_type": "<string>",
"volume": 123,
"volume_30d": 123,
"weekly_win_rate_12w": 123
}
],
"total_count": 1,
"total_value_locked": 123,
"total_volume": 123
}Get public vaults
Retrieve paginated list of public vaults with optional status, vault type, vault address, and search filtering.
Use vault_type query parameter to filter by ‘user’ or ‘protocol’ vaults.
Use vault_address query parameter to fetch a specific vault by its address (exact match).
Use search query parameter to filter by vault address, vault name, or manager address (case-insensitive partial match).
curl --request GET \
--url https://api.mainnet.aptoslabs.com/decibel/api/v1/vaults \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.mainnet.aptoslabs.com/decibel/api/v1/vaults"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.mainnet.aptoslabs.com/decibel/api/v1/vaults', 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.mainnet.aptoslabs.com/decibel/api/v1/vaults",
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.mainnet.aptoslabs.com/decibel/api/v1/vaults"
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.mainnet.aptoslabs.com/decibel/api/v1/vaults")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mainnet.aptoslabs.com/decibel/api/v1/vaults")
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{
"items": [
{
"address": "<string>",
"created_at": 123,
"manager": "<string>",
"name": "<string>",
"status": "<string>",
"all_time_pnl": 123,
"all_time_return": 123,
"apr": 123,
"average_leverage": 123,
"depositors": 123,
"description": "<string>",
"lockdown_period_s": 259200,
"manager_cash_pct": 123,
"max_drawdown": 123,
"net_deposits": 30277044.96,
"past_month_return": 123,
"perp_equity": 123,
"pnl_90d": 123,
"profit_share": 123,
"sharpe_ratio": 123,
"social_links": [
"<string>"
],
"tvl": 123,
"vault_type": "<string>",
"volume": 123,
"volume_30d": 123,
"weekly_win_rate_12w": 123
}
],
"total_count": 1,
"total_value_locked": 123,
"total_volume": 123
}Authorizations
Bearer token from Geomi. See Authentication for setup instructions.
Query Parameters
Vault status filter (created, active, inactive). Defaults to active when omitted.
created, active, inactive Vault type filter (user or protocol). Returns all vaults when omitted.
Vault address filter. If provided, returns only the matching vault address.
Case-insensitive search across vault address, vault name, and manager address.
Page size
0 <= x <= 1000Page offset
0 <= x <= 10000Sort keys for vault listing
Defines the available fields that can be used to sort vaults in the /vaults endpoint.
tvl, age, pnl, sharpe_ratio, weekly_win_rate, max_drawdown, apr ASC, DESC Response
Public vaults retrieved successfully

