v1

latestOpenAPI 3.1.02026-07-243035381.4 MB
Staking

Get staked account 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).
get/v4/data/staking/native/rewards

Query parameters

chain'solana-mainnet' | 'ethereum-mainnet' required
Example:solana-mainnet

The blockchain to work with.

stakeAddressstring required
Example:8JMUtSoHS3h28tL7AJHP1SbXfhfeZSnpJ1hWZNCMSw9G

The blockchain address of the stake account (Solana) or withdrawal address (Ethereum).

epochFromnumber
Example:870

Filter rewards from this epoch (inclusive). Ethereum: ...From only auto-sets epochTo = epochFrom + 9 (capped at finalized). Max range 10 epochs.

epochTonumber
Example:872

Filter rewards to this epoch (inclusive). Ethereum: ...To only auto-sets epochFrom = epochTo - 9. Max range 10 epochs.

blockFromnumber
Example:376272225

Filter rewards from this block number (inclusive). Ethereum: blockFrom only auto-sets blockTo; blocks converted to consensus epochs. Max range 320 blocks.

blockTonumber
Example:377136045

Filter rewards to this block number (inclusive). Ethereum: blockTo only auto-sets blockFrom; blocks converted to consensus epochs. Max range 320 blocks.

timeFromstring date-time
Example:2024-01-01T00:00:00Z

Filter rewards from this date (inclusive). ISO 8601 format. Ethereum: timeFrom only auto-sets timeTo; timestamps converted to consensus epochs. Max range 3840 seconds.

timeTostring date-time
Example:2024-12-31T23:59:59Z

Filter rewards to this date (inclusive). ISO 8601 format. Ethereum: timeTo only auto-sets timeFrom; timestamps converted to consensus epochs. Max range 3840 seconds.

unixFromnumber
Example:1704067200

Filter rewards from this unix timestamp (inclusive). Ethereum: unixFrom only auto-sets unixTo; timestamps converted to consensus epochs. Max range 3840 seconds.

unixTonumber
Example:1735689599

Filter rewards to this unix timestamp (inclusive). Ethereum: unixTo only auto-sets unixFrom; timestamps converted to consensus epochs. Max range 3840 seconds.

Response

OK

stakeAddressstring required

The stake account address.

totalAmountstring required

Total rewards amount in SOL.

Example response

{
  "stakeAddress": "8JMUtSoHS3h28tL7AJHP1SbXfhfeZSnpJ1hWZNCMSw9G",
  "totalAmount": "1234.567890123",
  "rewards": [
    {
      "epoch": 873,
      "blockNumber": 377568231,
      "amount": "230.858942334",
      "postBalance": "677185.048123885"
    }
  ]
}