Get Staking Report Data
curl --request POST \
--url https://api.custody.api-zodia.io/v3/api/ase/staking/report/data \
--header 'Content-Type: application/json' \
--header 'submitter-id: <submitter-id>' \
--data '
{
"fromDate": "2025-03-17T00:00:00.000Z",
"toDate": "2025-03-19T00:00:00.000Z",
"currency": "<string>",
"walletIds": [
"<string>"
],
"voteAddresses": [
"<string>"
]
}
'import requests
url = "https://api.custody.api-zodia.io/v3/api/ase/staking/report/data"
payload = {
"fromDate": "2025-03-17T00:00:00.000Z",
"toDate": "2025-03-19T00:00:00.000Z",
"currency": "<string>",
"walletIds": ["<string>"],
"voteAddresses": ["<string>"]
}
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({
fromDate: '2025-03-17T00:00:00.000Z',
toDate: '2025-03-19T00:00:00.000Z',
currency: '<string>',
walletIds: ['<string>'],
voteAddresses: ['<string>']
})
};
fetch('https://api.custody.api-zodia.io/v3/api/ase/staking/report/data', 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/report/data",
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([
'fromDate' => '2025-03-17T00:00:00.000Z',
'toDate' => '2025-03-19T00:00:00.000Z',
'currency' => '<string>',
'walletIds' => [
'<string>'
],
'voteAddresses' => [
'<string>'
]
]),
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/report/data"
payload := strings.NewReader("{\n \"fromDate\": \"2025-03-17T00:00:00.000Z\",\n \"toDate\": \"2025-03-19T00:00:00.000Z\",\n \"currency\": \"<string>\",\n \"walletIds\": [\n \"<string>\"\n ],\n \"voteAddresses\": [\n \"<string>\"\n ]\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/report/data")
.header("submitter-id", "<submitter-id>")
.header("Content-Type", "application/json")
.body("{\n \"fromDate\": \"2025-03-17T00:00:00.000Z\",\n \"toDate\": \"2025-03-19T00:00:00.000Z\",\n \"currency\": \"<string>\",\n \"walletIds\": [\n \"<string>\"\n ],\n \"voteAddresses\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.custody.api-zodia.io/v3/api/ase/staking/report/data")
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 \"fromDate\": \"2025-03-17T00:00:00.000Z\",\n \"toDate\": \"2025-03-19T00:00:00.000Z\",\n \"currency\": \"<string>\",\n \"walletIds\": [\n \"<string>\"\n ],\n \"voteAddresses\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body[
{
"walletId": "<string>",
"walletAddress": "<string>",
"validatorPublicKey": "<string>",
"currency": "<string>",
"startingBalance": {
"amount": "6,41400",
"amountLedger": "641400",
"amountFiat": "32,07"
},
"timeStart": "<string>",
"timeEnd": "<string>",
"protocolRewards": {
"amount": "6,41400",
"amountLedger": "641400",
"amountFiat": "32,07"
},
"txFeeRewards": {
"amount": "6,41400",
"amountLedger": "641400",
"amountFiat": "32,07"
},
"mevRewards": {
"amount": "6,41400",
"amountLedger": "641400",
"amountFiat": "32,07"
},
"totalRewards": {
"amount": "6,41400",
"amountLedger": "641400",
"amountFiat": "32,07"
},
"nodeProvider": "<string>",
"withdrawals": {
"amount": "6,41400",
"amountLedger": "641400",
"amountFiat": "32,07"
},
"validatorStatus": "<string>",
"voteAddress": "<string>",
"rewardAdditionalData": {
"epoch": "<string>",
"slot": "<string>",
"activeStake": "<string>"
}
}
]{
"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"
}
]
}Reporting-V3
Get Staking Report Data
Available staking Report Data
POST
/
v3
/
api
/
ase
/
staking
/
report
/
data
Get Staking Report Data
curl --request POST \
--url https://api.custody.api-zodia.io/v3/api/ase/staking/report/data \
--header 'Content-Type: application/json' \
--header 'submitter-id: <submitter-id>' \
--data '
{
"fromDate": "2025-03-17T00:00:00.000Z",
"toDate": "2025-03-19T00:00:00.000Z",
"currency": "<string>",
"walletIds": [
"<string>"
],
"voteAddresses": [
"<string>"
]
}
'import requests
url = "https://api.custody.api-zodia.io/v3/api/ase/staking/report/data"
payload = {
"fromDate": "2025-03-17T00:00:00.000Z",
"toDate": "2025-03-19T00:00:00.000Z",
"currency": "<string>",
"walletIds": ["<string>"],
"voteAddresses": ["<string>"]
}
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({
fromDate: '2025-03-17T00:00:00.000Z',
toDate: '2025-03-19T00:00:00.000Z',
currency: '<string>',
walletIds: ['<string>'],
voteAddresses: ['<string>']
})
};
fetch('https://api.custody.api-zodia.io/v3/api/ase/staking/report/data', 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/report/data",
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([
'fromDate' => '2025-03-17T00:00:00.000Z',
'toDate' => '2025-03-19T00:00:00.000Z',
'currency' => '<string>',
'walletIds' => [
'<string>'
],
'voteAddresses' => [
'<string>'
]
]),
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/report/data"
payload := strings.NewReader("{\n \"fromDate\": \"2025-03-17T00:00:00.000Z\",\n \"toDate\": \"2025-03-19T00:00:00.000Z\",\n \"currency\": \"<string>\",\n \"walletIds\": [\n \"<string>\"\n ],\n \"voteAddresses\": [\n \"<string>\"\n ]\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/report/data")
.header("submitter-id", "<submitter-id>")
.header("Content-Type", "application/json")
.body("{\n \"fromDate\": \"2025-03-17T00:00:00.000Z\",\n \"toDate\": \"2025-03-19T00:00:00.000Z\",\n \"currency\": \"<string>\",\n \"walletIds\": [\n \"<string>\"\n ],\n \"voteAddresses\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.custody.api-zodia.io/v3/api/ase/staking/report/data")
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 \"fromDate\": \"2025-03-17T00:00:00.000Z\",\n \"toDate\": \"2025-03-19T00:00:00.000Z\",\n \"currency\": \"<string>\",\n \"walletIds\": [\n \"<string>\"\n ],\n \"voteAddresses\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body[
{
"walletId": "<string>",
"walletAddress": "<string>",
"validatorPublicKey": "<string>",
"currency": "<string>",
"startingBalance": {
"amount": "6,41400",
"amountLedger": "641400",
"amountFiat": "32,07"
},
"timeStart": "<string>",
"timeEnd": "<string>",
"protocolRewards": {
"amount": "6,41400",
"amountLedger": "641400",
"amountFiat": "32,07"
},
"txFeeRewards": {
"amount": "6,41400",
"amountLedger": "641400",
"amountFiat": "32,07"
},
"mevRewards": {
"amount": "6,41400",
"amountLedger": "641400",
"amountFiat": "32,07"
},
"totalRewards": {
"amount": "6,41400",
"amountLedger": "641400",
"amountFiat": "32,07"
},
"nodeProvider": "<string>",
"withdrawals": {
"amount": "6,41400",
"amountLedger": "641400",
"amountFiat": "32,07"
},
"validatorStatus": "<string>",
"voteAddress": "<string>",
"rewardAdditionalData": {
"epoch": "<string>",
"slot": "<string>",
"activeStake": "<string>"
}
}
]{
"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
Example:
"api-maker@zodia.io"
Body
application/json
Payload for generating report data
Earliest date of data returned.
Example:
"2025-03-17T00:00:00.000Z"
Latest date of data returned.
Example:
"2025-03-19T00:00:00.000Z"
Currency of the validator
List of wallet id
(For Solana only) List of vote address the stake account is delegated to
Response
OK
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
⌘I