Ethereum (ETH): Fetch staking rewards
Fetch Ethereum Staking Rewards easily to make your reportings programmatically.
Ethereum Stake is an API object which represents a validation key (ie a 32ETH stake) in its current state.
Field | Value Type | Description |
---|---|---|
validator_address | string | Validator address (BLS format) |
state | string (see Ethereum Stake State) | Current state of the stake. See Ethereum Stake Stake below. |
activated_at | string | Date when the stake became active (RFC3339 UTC time) |
balance | string | Current balance on the consensus layer of the validator (wei) |
effective_balance | string | Effective balance used by the consensus layer as a base for consensus rewards (wei) |
consensus_rewards | string | Current consensus rewards of the validator (wei) |
execution_rewards | string | Total execution rewards earned by the validator fee recipient (wei) |
rewards | string | Total consensus and execution rewards earned by the validator (wei) |
gross_apy | float | Gross Annual Percentage Yield based on the rewards of the validator until now |
deposit_tx_sender | string | Ethereum address used to deposit this validator |
withdrawal_credentials | string | Withdrawal Credential of the validator |
execution_fee_recipient | string | Ethereum address that received the last block proposal transaction fees and mev rewards |
Ethereum Stake State represents the state of a validator on the beacon chain (consensus-layer).
Value | Description |
---|---|
unknown | Not on chain and unknown to Kiln |
not_staked | Part of Kiln but not yet staked |
deposit_in_progress | Deposit TX was/were detected on the execution layer |
pending_initialized* | First deposit was processed but more deposits are needed to reach 32 ETH |
pending_queued* | Properly funded and being processed by the consensus layer |
active_ongoing* | Part of the consensus and expected to be attesting/proposing blocks |
active_exiting* | Voluntary exit was triggered but still part of the consensus, scheduled to exit |
active_slashed* | Slashed but still part of the consensus, scheduled to exit |
exited_unslashed* | Exited without being slashed |
exited_slashed* | Exited due to a slash |
withdrawal_possible* | Exited and is allowed to move funds |
withdrawal_done* | Exited and has moved funds |
/* async getStakesByValidators(validatorAddresses: string[]): Promise<EthStake[]> */
const stakes = await k.eth.getStakesByValidators(['abcd...']);
/* async getStakesByWallets(walletAddresses: string[]): Promise<EthStake[]> */
const stakes = await k.eth.getStakesByWallets(['abcd...']);
/* async getStakesByAccounts(accountIds: string[]): Promise<EthStake[]> */
const stakes = await k.eth.getStakesByAccounts(['abcd...']);
get
https://api.kiln.fi/v1
/eth/stakes
Retrieve Ethereum Stakes, for an Account, a Wallet or a Pubkey
Ethereum reward represents the amount of reward that a validator received for a given day.
Field | Value type | Description |
---|---|---|
date | string | Date (RFC3339 UTC time) |
consensus_rewards | string | Consensus rewards earned that day in wei |
execution_rewards | string | Execution rewards earned that day in wei |
gross_apy | float | Gross APY |
stake_balance | string | Staked balance that generated those rewards |
cl_apy | float | Consensus layer APY |
el_apy | float | Execution layer APY |
/* async getRewardsByValidators(validatorAddresses: string[], startDay?: string, endDay?: string): Promise<EthReward[]> */
const rewards = await k.eth.getRewardsByValidators(['abcd...'], '2022-10-01', '2022-10-05');
/* async getRewardsByWallets(walletAddresses: string[], startDay?: string, endDay?: string): Promise<EthReward[]> */
const rewards = await k.eth.getRewardsByWallets(['abcd...']);
/* async getRewardsByAccounts(accountIds: string[], startDay?: string, endDay?: string): Promise<EthReward[]> */
const rewards = await k.eth.getRewardsByAccounts(['abcd...']);
get
https://api.kiln.fi/v1
/eth/rewards
Retrieve Ethereum Rewards, for an Account, a Wallet or a Pubkey
Last modified 1mo ago