Get positions summary
Returns an aggregated cross-vault summary: active/inactive counts, total staked, and total rewards per chain.
GET
/
staking
/
positions
/
summary
TypeScript
const response: Promise<FireblocksResponse<DelegationSummary>> = fireblocks.staking.getSummary();CompletableFuture<ApiResponse<DelegationSummary>> response = fireblocks.staking().getSummary();response = fireblocks.staking.get_summary();curl --request GET \
--url https://api.fireblocks.io/v1/staking/positions/summaryconst options = {method: 'GET'};
fetch('https://api.fireblocks.io/v1/staking/positions/summary', 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",
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"
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")
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{
"active": [
{
"chainDescriptor": "ETH",
"amount": "64.036604667"
},
{
"chainDescriptor": "SOL",
"amount": "0.077345939"
}
],
"inactive": [
{
"chainDescriptor": "ETH",
"amount": "0"
},
{
"chainDescriptor": "SOL",
"amount": "0"
}
],
"rewardsAmount": [
{
"chainDescriptor": "ETH",
"amount": "0.036604667"
},
{
"chainDescriptor": "SOL",
"amount": "0.001345939"
}
],
"totalStaked": [
{
"chainDescriptor": "ETH",
"amount": "64.036604667"
},
{
"chainDescriptor": "SOL",
"amount": "0.077345939"
}
]
}{
"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
Summary across all vaults returned successfully.
An array of objects containing chain descriptors and associated amounts, representing active positions.
Show child attributes
Show child attributes
An array of objects containing chain descriptors and associated amounts, representing inactive positions.
Show child attributes
Show child attributes
An array of objects containing chain descriptors and associated amounts, representing rewards positions.
Show child attributes
Show child attributes
An array of objects with chain descriptors and total staked amounts, representing the combined staked totals of active and inactive positions.
Show child attributes
Show child attributes
Was this page helpful?
Previous
Get positions summary by vaultReturns per-vault aggregates: status breakdown, total staked, and total rewards per chain.
Next
⌘I
TypeScript
const response: Promise<FireblocksResponse<DelegationSummary>> = fireblocks.staking.getSummary();CompletableFuture<ApiResponse<DelegationSummary>> response = fireblocks.staking().getSummary();response = fireblocks.staking.get_summary();curl --request GET \
--url https://api.fireblocks.io/v1/staking/positions/summaryconst options = {method: 'GET'};
fetch('https://api.fireblocks.io/v1/staking/positions/summary', 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",
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"
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")
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{
"active": [
{
"chainDescriptor": "ETH",
"amount": "64.036604667"
},
{
"chainDescriptor": "SOL",
"amount": "0.077345939"
}
],
"inactive": [
{
"chainDescriptor": "ETH",
"amount": "0"
},
{
"chainDescriptor": "SOL",
"amount": "0"
}
],
"rewardsAmount": [
{
"chainDescriptor": "ETH",
"amount": "0.036604667"
},
{
"chainDescriptor": "SOL",
"amount": "0.001345939"
}
],
"totalStaked": [
{
"chainDescriptor": "ETH",
"amount": "64.036604667"
},
{
"chainDescriptor": "SOL",
"amount": "0.077345939"
}
]
}{
"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
}