curl --request POST \
--url https://api.custody.api-zodia.io/v3/api/ase/staking/eth/dashboard \
--header 'Content-Type: application/json' \
--header 'submitter-id: <submitter-id>' \
--data '
{
"walletId": "ZTEST-NOBENF-849P8XKKAO"
}
'import requests
url = "https://api.custody.api-zodia.io/v3/api/ase/staking/eth/dashboard"
payload = { "walletId": "ZTEST-NOBENF-849P8XKKAO" }
headers = {
"submitter-id": "<submitter-id>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'submitter-id': '<submitter-id>', 'Content-Type': 'application/json'},
body: JSON.stringify({walletId: 'ZTEST-NOBENF-849P8XKKAO'})
};
fetch('https://api.custody.api-zodia.io/v3/api/ase/staking/eth/dashboard', 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.custody.api-zodia.io/v3/api/ase/staking/eth/dashboard",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'walletId' => 'ZTEST-NOBENF-849P8XKKAO'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"submitter-id: <submitter-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.custody.api-zodia.io/v3/api/ase/staking/eth/dashboard"
payload := strings.NewReader("{\n \"walletId\": \"ZTEST-NOBENF-849P8XKKAO\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("submitter-id", "<submitter-id>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.custody.api-zodia.io/v3/api/ase/staking/eth/dashboard")
.header("submitter-id", "<submitter-id>")
.header("Content-Type", "application/json")
.body("{\n \"walletId\": \"ZTEST-NOBENF-849P8XKKAO\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.custody.api-zodia.io/v3/api/ase/staking/eth/dashboard")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["submitter-id"] = '<submitter-id>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"walletId\": \"ZTEST-NOBENF-849P8XKKAO\"\n}"
response = http.request(request)
puts response.read_body{
"currency": "ETH",
"totalStakedBalance": {
"amount": "<string>",
"amountUnit": "<string>",
"fiatValue": "<string>",
"fiatCurrency": "USD"
},
"totalConsensusRewardsBalance": {
"amount": "<string>",
"amountUnit": "<string>",
"fiatValue": "<string>",
"fiatCurrency": "USD"
},
"totalExecutionRewardsBalance": {
"amount": "<string>",
"amountUnit": "<string>",
"fiatValue": "<string>",
"fiatCurrency": "USD"
},
"totalWithdrawalsBalance": {
"amount": "<string>",
"amountUnit": "<string>",
"fiatValue": "<string>",
"fiatCurrency": "USD"
},
"validatorSummary": {
"total": 123,
"active": {
"count": 123,
"balance": {
"amount": "<string>",
"amountUnit": "<string>",
"fiatValue": "<string>",
"fiatCurrency": "USD"
}
},
"exiting": {
"count": 123,
"balance": {
"amount": "<string>",
"amountUnit": "<string>",
"fiatValue": "<string>",
"fiatCurrency": "USD"
}
},
"exited": {
"count": 123,
"balance": {
"amount": "<string>",
"amountUnit": "<string>",
"fiatValue": "<string>",
"fiatCurrency": "USD"
}
},
"pendingActivation": {
"count": 123,
"balance": {
"amount": "<string>",
"amountUnit": "<string>",
"fiatValue": "<string>",
"fiatCurrency": "USD"
}
}
},
"bondedBalance": {
"amount": "<string>",
"amountUnit": "<string>",
"fiatValue": "<string>",
"fiatCurrency": "USD"
},
"accruedRewards": {
"amount": "<string>",
"amountUnit": "<string>",
"fiatValue": "<string>",
"fiatCurrency": "USD"
}
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}Get ETH Staking Dashboard
Retrieve an aggregated staking dashboard (balances and validator summary) for an ETH wallet
curl --request POST \
--url https://api.custody.api-zodia.io/v3/api/ase/staking/eth/dashboard \
--header 'Content-Type: application/json' \
--header 'submitter-id: <submitter-id>' \
--data '
{
"walletId": "ZTEST-NOBENF-849P8XKKAO"
}
'import requests
url = "https://api.custody.api-zodia.io/v3/api/ase/staking/eth/dashboard"
payload = { "walletId": "ZTEST-NOBENF-849P8XKKAO" }
headers = {
"submitter-id": "<submitter-id>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'submitter-id': '<submitter-id>', 'Content-Type': 'application/json'},
body: JSON.stringify({walletId: 'ZTEST-NOBENF-849P8XKKAO'})
};
fetch('https://api.custody.api-zodia.io/v3/api/ase/staking/eth/dashboard', 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.custody.api-zodia.io/v3/api/ase/staking/eth/dashboard",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'walletId' => 'ZTEST-NOBENF-849P8XKKAO'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"submitter-id: <submitter-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.custody.api-zodia.io/v3/api/ase/staking/eth/dashboard"
payload := strings.NewReader("{\n \"walletId\": \"ZTEST-NOBENF-849P8XKKAO\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("submitter-id", "<submitter-id>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.custody.api-zodia.io/v3/api/ase/staking/eth/dashboard")
.header("submitter-id", "<submitter-id>")
.header("Content-Type", "application/json")
.body("{\n \"walletId\": \"ZTEST-NOBENF-849P8XKKAO\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.custody.api-zodia.io/v3/api/ase/staking/eth/dashboard")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["submitter-id"] = '<submitter-id>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"walletId\": \"ZTEST-NOBENF-849P8XKKAO\"\n}"
response = http.request(request)
puts response.read_body{
"currency": "ETH",
"totalStakedBalance": {
"amount": "<string>",
"amountUnit": "<string>",
"fiatValue": "<string>",
"fiatCurrency": "USD"
},
"totalConsensusRewardsBalance": {
"amount": "<string>",
"amountUnit": "<string>",
"fiatValue": "<string>",
"fiatCurrency": "USD"
},
"totalExecutionRewardsBalance": {
"amount": "<string>",
"amountUnit": "<string>",
"fiatValue": "<string>",
"fiatCurrency": "USD"
},
"totalWithdrawalsBalance": {
"amount": "<string>",
"amountUnit": "<string>",
"fiatValue": "<string>",
"fiatCurrency": "USD"
},
"validatorSummary": {
"total": 123,
"active": {
"count": 123,
"balance": {
"amount": "<string>",
"amountUnit": "<string>",
"fiatValue": "<string>",
"fiatCurrency": "USD"
}
},
"exiting": {
"count": 123,
"balance": {
"amount": "<string>",
"amountUnit": "<string>",
"fiatValue": "<string>",
"fiatCurrency": "USD"
}
},
"exited": {
"count": 123,
"balance": {
"amount": "<string>",
"amountUnit": "<string>",
"fiatValue": "<string>",
"fiatCurrency": "USD"
}
},
"pendingActivation": {
"count": 123,
"balance": {
"amount": "<string>",
"amountUnit": "<string>",
"fiatValue": "<string>",
"fiatCurrency": "USD"
}
}
},
"bondedBalance": {
"amount": "<string>",
"amountUnit": "<string>",
"fiatValue": "<string>",
"fiatCurrency": "USD"
},
"accruedRewards": {
"amount": "<string>",
"amountUnit": "<string>",
"fiatValue": "<string>",
"fiatCurrency": "USD"
}
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}Headers
Email of API user submitting the request
"api-maker@zodia.io"
Body
ID of the wallet
"ZTEST-NOBENF-849P8XKKAO"
Response
OK
"ETH"
Show child attributes
Show child attributes
Cumulative consensus-layer rewards since the wallet's first stake transaction (not point-in-time)
Show child attributes
Show child attributes
Cumulative execution-layer tips and MEV rewards since the wallet's first stake transaction (not point-in-time)
Show child attributes
Show child attributes
Cumulative withdrawals since the wallet's first stake transaction (not point-in-time)
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Shared with the Polkadot dashboard response. Always null for ETH.
Show child attributes
Show child attributes
Shared with the Polkadot dashboard response. Always null for ETH.
Show child attributes
Show child attributes