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

# Get staked account rewards

`GET /v4/data/staking/native/rewards`

/v4/data/staking/native/rewards

**100 credits per API call**

Get historical staking rewards for a stake account. Returns detailed reward information including epoch, block number, reward amount, and post-balance for each reward period.

Supported blockchains:

*   Solana - solana-mainnet (optional epoch/block/time filters)
*   Ethereum - ethereum-mainnet (epochFrom/epochTo, blockFrom/blockTo, timeFrom/timeTo, unixFrom/unixTo; block/time/unix are converted to consensus epochs; omit all for last 10 finalized epochs; max range 10 epochs ≈320 blocks or ≈3840 seconds; epoch and blockNumber are consensus-layer values)

To get started:

*   Provide a chain and stake address. The API will return all historical rewards for the stake account.
*   For Ethereum, omitting all filters returns the last 10 finalized epochs. **Partial filters auto-complete:** ...From only → ...To = ...From + 10 epochs (capped at finalized); ...To only → ...From = ...To − 10 epochs. Applies to epoch, block, time, unix.
*   You can filter rewards by epoch range using `epochFrom` and `epochTo` parameters.
*   You can filter rewards by block range using `blockFrom` and `blockTo` parameters.
*   You can filter rewards by time range using `timeFrom` and `timeTo` parameters (ISO 8601 format).
*   You can filter rewards by unix timestamp range using `unixFrom` and `unixTo` parameters.
*   **Important:** You can only use one filter type at a time. Valid combinations: (epochFrom/epochTo), (blockFrom/blockTo), (timeFrom/timeTo), (unixFrom/unixTo). You cannot mix different types like epochFrom with blockTo.
*   Rewards are sorted by epoch in descending order (newest first).

## Query parameters

- `chain` 'solana-mainnet' | 'ethereum-mainnet', required
- `stakeAddress` string, required
- `epochFrom` number
- `epochTo` number
- `blockFrom` number
- `blockTo` number
- `timeFrom` string, date-time
- `timeTo` string, date-time
- `unixFrom` number
- `unixTo` number

## Response `200`

OK

- StakedAccountRewardsResponse — Response containing staked account rewards.
  - `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)
