Get positions summary by vault
Returns per-vault aggregates: status breakdown, total staked, and total rewards per chain.
GET
/
staking
/
positions
/
summary
/
vaults
TypeScript
const response: Promise<FireblocksResponse<StakingGetSummaryByVaultResponse>> = fireblocks.staking.getSummaryByVault();CompletableFuture<ApiResponse<StakingGetSummaryByVaultResponse>> response = fireblocks.staking().getSummaryByVault();response = fireblocks.staking.get_summary_by_vault();curl --request GET \
--url https://api.fireblocks.io/v1/staking/positions/summary/vaultsconst options = {method: 'GET'};
fetch('https://api.fireblocks.io/v1/staking/positions/summary/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.fireblocks.io/v1/staking/positions/summary/vaults",
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.fireblocks.io/v1/staking/positions/summary/vaults"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://api.fireblocks.io/v1/staking/positions/summary/vaults")
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{
"0": {
"active": [
{
"chainDescriptor": "SOL",
"amount": "0.015202376"
}
],
"inactive": [
{
"chainDescriptor": "SOL",
"amount": "0"
}
],
"rewardsAmount": [
{
"chainDescriptor": "SOL",
"amount": "0.000202376"
}
],
"totalStaked": [
{
"chainDescriptor": "SOL",
"amount": "0.015202376"
}
]
},
"1": {
"active": [
{
"chainDescriptor": "ETH",
"amount": "64.036604667"
},
{
"chainDescriptor": "SOL",
"amount": "0.011191566"
}
],
"inactive": [
{
"chainDescriptor": "ETH",
"amount": "0"
},
{
"chainDescriptor": "SOL",
"amount": "0"
}
],
"rewardsAmount": [
{
"chainDescriptor": "ETH",
"amount": "0.036604667"
},
{
"chainDescriptor": "SOL",
"amount": "0.000191566"
}
],
"totalStaked": [
{
"chainDescriptor": "ETH",
"amount": "64.036604667"
},
{
"chainDescriptor": "SOL",
"amount": "0.011191566"
}
]
}
}{
"message": "Couldn't find position with id: abc-123",
"code": 3310,
"descriptor": "{\"positionId\":\"abc-123\"}"
}{
"message": "Couldn't find position with id: abc-123",
"code": 3310,
"descriptor": "{\"positionId\":\"abc-123\"}"
}{
"message": "Couldn't find position with id: abc-123",
"code": 3310,
"descriptor": "{\"positionId\":\"abc-123\"}"
}{
"message": "Couldn't find position with id: abc-123",
"code": 3310,
"descriptor": "{\"positionId\":\"abc-123\"}"
}{
"message": "<string>",
"code": 123
}Response
Per-vault summary returned successfully.
Show child attributes
Show child attributes
Was this page helpful?
Previous
List staking providersReturns all available staking providers with metadata such as name, ID, and supported chains.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
Next
⌘I
TypeScript
const response: Promise<FireblocksResponse<StakingGetSummaryByVaultResponse>> = fireblocks.staking.getSummaryByVault();CompletableFuture<ApiResponse<StakingGetSummaryByVaultResponse>> response = fireblocks.staking().getSummaryByVault();response = fireblocks.staking.get_summary_by_vault();curl --request GET \
--url https://api.fireblocks.io/v1/staking/positions/summary/vaultsconst options = {method: 'GET'};
fetch('https://api.fireblocks.io/v1/staking/positions/summary/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.fireblocks.io/v1/staking/positions/summary/vaults",
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.fireblocks.io/v1/staking/positions/summary/vaults"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://api.fireblocks.io/v1/staking/positions/summary/vaults")
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{
"0": {
"active": [
{
"chainDescriptor": "SOL",
"amount": "0.015202376"
}
],
"inactive": [
{
"chainDescriptor": "SOL",
"amount": "0"
}
],
"rewardsAmount": [
{
"chainDescriptor": "SOL",
"amount": "0.000202376"
}
],
"totalStaked": [
{
"chainDescriptor": "SOL",
"amount": "0.015202376"
}
]
},
"1": {
"active": [
{
"chainDescriptor": "ETH",
"amount": "64.036604667"
},
{
"chainDescriptor": "SOL",
"amount": "0.011191566"
}
],
"inactive": [
{
"chainDescriptor": "ETH",
"amount": "0"
},
{
"chainDescriptor": "SOL",
"amount": "0"
}
],
"rewardsAmount": [
{
"chainDescriptor": "ETH",
"amount": "0.036604667"
},
{
"chainDescriptor": "SOL",
"amount": "0.000191566"
}
],
"totalStaked": [
{
"chainDescriptor": "ETH",
"amount": "64.036604667"
},
{
"chainDescriptor": "SOL",
"amount": "0.011191566"
}
]
}
}{
"message": "Couldn't find position with id: abc-123",
"code": 3310,
"descriptor": "{\"positionId\":\"abc-123\"}"
}{
"message": "Couldn't find position with id: abc-123",
"code": 3310,
"descriptor": "{\"positionId\":\"abc-123\"}"
}{
"message": "Couldn't find position with id: abc-123",
"code": 3310,
"descriptor": "{\"positionId\":\"abc-123\"}"
}{
"message": "Couldn't find position with id: abc-123",
"code": 3310,
"descriptor": "{\"positionId\":\"abc-123\"}"
}{
"message": "<string>",
"code": 123
}