---
title: "Get staked account rewards - Batch"
method: POST
path: "/v4/data/staking/native/rewards/batch"
tags: ["Staking"]
---

# Get staked account rewards - Batch

`POST /v4/data/staking/native/rewards/batch`

/v4/data/staking/native/rewards/batch

**100 credits per stake address per API call**

Get historical staking rewards for up to 50 stake accounts in a single request. Returns the same per-address shape as `/staking/native/rewards`, one entry per input address, in input order.

Supported blockchains:

*   Solana - solana-mainnet (optional epoch/block/time filters)

To get started:

*   POST a JSON body with `chain`, an array of 1–50 unique `stakeAddresses`, and (optionally) shared filters.
*   All filters are shared across all addresses in the request. Filter semantics match the single endpoint (epoch/block/time/unix; only one filter type at a time).
*   The response is an array preserving input order; duplicate input addresses are rejected by validation.
*   Each item has the same shape as the single endpoint response (`stakeAddress`, `totalAmount`, `rewards[]`). Rewards inside each item are sorted by epoch descending.

## Request body

- StakedAccountRewardsBatchRequest — Request body for the staked-account-rewards batch endpoint. All filters are shared across every address in the request.
  - `chain` 'solana-mainnet', required — The blockchain to query. Only Solana mainnet is supported for batch.
  - `stakeAddresses` string[], required — List of stake account addresses to query (1–50 unique entries).
  - `epochFrom` number — Filter rewards from this epoch (inclusive). Only one filter type may be used per request.
  - `epochTo` number — Filter rewards to this epoch (inclusive). Only one filter type may be used per request.
  - `blockFrom` number — Filter rewards from this block number (inclusive). Only one filter type may be used per request.
  - `blockTo` number — Filter rewards to this block number (inclusive). Only one filter type may be used per request.
  - `timeFrom` string, date-time — Filter rewards from this date (inclusive, ISO 8601). Only one filter type may be used per request.
  - `timeTo` string, date-time — Filter rewards to this date (inclusive, ISO 8601). Only one filter type may be used per request.
  - `unixFrom` number — Filter rewards from this unix timestamp (inclusive). Only one filter type may be used per request.
  - `unixTo` number — Filter rewards to this unix timestamp (inclusive). Only one filter type may be used per request.

## Response `200`

OK

- StakedAccountRewardsResponse[] — One entry per input stake address, preserving input order.
  - `stakeAddress` string, required — The stake account address.
  - `totalAmount` string, required — Total rewards amount in SOL.
  - `rewards` StakedAccountReward[], required — Array of individual reward entries, sorted by epoch in descending order.
    - `epoch` number, required — The epoch number when the reward was earned (consensus layer for Ethereum).
    - `blockNumber` number, required — The block number/slot when the reward was earned (consensus layer for Ethereum).
    - `amount` string, required — The reward amount in SOL.
    - `postBalance` string, required — The stake account balance after the reward in SOL.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
- `403` — Forbidden. The request is authenticated, but it is not possible to perform the operation due to logical error or invalid permissions.
- `500` — Internal server error. There was an error on the server during the processing of the request.

---

[API](https://skmtc.net/tatum/apis/blockchain-data.md) · [All operations](https://skmtc.net/tatum/apis/blockchain-data/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tatum/blockchain-data/revisions/8622ee4b8fae/schema)
