# Models

## The StakingRequest object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"StakingRequest":{"title":"Staking Request","type":"object","required":["client_req_id","network","validator_count","withdrawal_address"],"properties":{"client_req_id":{"type":"string","description":"A unique identifier for the staking request generated by the client."},"network":{"type":"string","description":"The network on which validators should be created. Supported values are;\r\n- mainnet\r\n- hoodi","enum":["mainnet","hoodi"]},"withdrawal_credentials_type":{"enum":["0x01","0x02"],"description":"The withdrawal credential type of the validator(s) to be created. Supported values are;\r\n- 0x01 (Default)\r\n- 0x02","default":"0x01"},"amounts_unit":{"description":"The unit in which the staking amount is specified for withdrawal_credential_type = 0x02 validators in the amounts field. Supported values are:\r\n- ETH\r\n- GWEI\r\n\r\nConditionally required if the withdrawal_credential_type = 0x02.","enum":["ETH","GWEI"]},"amounts":{"type":"array","description":"The Ethereum amounts to be staked, specified in either ETH or GWEI. This is required if the withdrawal credentials type is 0x02. \r\n\r\n- When specified in ETH, up to 9 decimal places are supported.\r\n- When specified in GWEI, only whole numbers are supported.\r\n- Any additional decimal places will be ignored.","items":{"type":"integer","format":"int32"}},"validator_count":{"type":"integer","description":"The number of validators required. A maximum of 1000 validators are supported","format":"int32"},"withdrawal_address":{"type":"string","description":"The ETH account (wallet) used for the withdrawal credentials of the validators. This is the address that will receive consensus rewards and unstaked ETH after exiting."},"fee_recipient_address":{"type":"string","description":"The ETH account (wallet) that will receive the execution layer rewards. If not provided, this will be defaulted to the withdrawal address."},"region":{"type":"string","description":"The geographic region where the validator will be created. Supported values are;\r\n- US\r\n- EU (Default)\r\n- KR","default":"EU","enum":["US","EU","KR"]},"account":{"type":"string","description":"The account name registered on the platform that is associated with the client's customer. If not provided, requests will be assigned to a default account.\n"}}}}}}
```

## The ErrorMessage object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ErrorMessage":{"title":"Error Message","type":"object","description":"An array of errors that resulted from this request.","required":["code","message"],"properties":{"code":{"type":"integer","description":"The code related to the error being reported.","format":"int32"},"message":{"type":"string","description":"The description related to the error being reported."}}}}}}
```

## The ValidatorErrorMessage object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ValidatorErrorMessage":{"title":"Validator Error Message","type":"object","description":"An array of errors that resulted from this request.","required":["code","message"],"properties":{"code":{"type":"integer","description":"The code related to the error being reported.","format":"int32"},"message":{"type":"string","description":"The description related to the error being reported."}}}}}}
```

## The StakingErrorListResponse object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"StakingErrorListResponse":{"title":"Error List","type":"object","properties":{"client_req_id":{"type":"string","description":"The client_req_id of the request addressed by this response message."},"errors":{"type":"array","description":"An array of errors that resulted from this request.","items":{"$ref":"#/components/schemas/ErrorMessage"}}}},"ErrorMessage":{"title":"Error Message","type":"object","description":"An array of errors that resulted from this request.","required":["code","message"],"properties":{"code":{"type":"integer","description":"The code related to the error being reported.","format":"int32"},"message":{"type":"string","description":"The description related to the error being reported."}}}}}}
```

## The InternalServerErrorMessage object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"InternalServerErrorMessage":{"title":"Error Message","type":"object","description":"An array of errors that resulted from this request.","required":["message"],"properties":{"code":{"type":"string","description":"Error code"},"message":{"type":"string","description":"The description related to the error being reported."}}}}}}
```

## The InternalServerInfoErrorMessage object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"InternalServerInfoErrorMessage":{"title":"Error Message","type":"object","description":"An array of errors that resulted from this request.","required":["message"],"properties":{"message":{"type":"string","description":"The description related to the error being reported."}}}}}}
```

## The InternalServerStakingErrorListResponse object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"InternalServerStakingErrorListResponse":{"title":"Error List","type":"object","properties":{"client_req_id":{"type":"string","description":"The client_req_id of the request addressed by this response message."},"errors":{"type":"array","description":"An array of errors that resulted from this request.","items":{"$ref":"#/components/schemas/InternalServerErrorMessage"}}},"description":""},"InternalServerErrorMessage":{"title":"Error Message","type":"object","description":"An array of errors that resulted from this request.","required":["message"],"properties":{"code":{"type":"string","description":"Error code"},"message":{"type":"string","description":"The description related to the error being reported."}}}}}}
```

## The BatchData object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"BatchData":{"title":"Staking Response Batch","type":"object","properties":{"batch_id":{"type":"integer","description":"Identifier of the validator batch.","format":"int32","enum":[1,2,3,4,5,6,7,8,9,10]},"deposit_data":{"type":"array","description":"An array of validator details in this batch.","items":{"$ref":"#/components/schemas/DepositData"}},"deposit_transaction":{"$ref":"#/components/schemas/DepositTransaction"}},"description":"A block that contains validator batches. Each batch includes details of 250 validators and the associated funding transaction."},"DepositData":{"title":"Staking Response Batch Deposit Data","type":"object","description":"An array of validator details in this batch.","properties":{"pubkey":{"type":"string","description":"Public key of the validator."},"amount":{"type":"number","description":"The amount of ETH in GWEI required to be deposited.","format":"double"},"withdrawal_credentials":{"type":"string","description":"Withdrawal credentials for the validator funds to be withdrawn upon exit."},"signature":{"type":"string","description":"A “proof of possession” which signs over pubkey, withdrawal_credentials, and amount using the validator private key."},"deposit_data_root":{"type":"string","description":"Merkle root hash of the deposit data."},"deposit_message_root":{"type":"string","description":"Merkle root hash of the deposit message."},"fork_version":{"type":"string","description":"The genesis fork version."},"deposit_cli_version":{"type":"string","description":"Staking deposit cli version."}}},"DepositTransaction":{"title":"Staking Response Batch Deposit Transaction","type":"object","description":"The JSON object that contains the funding transaction details of all validators belonging to this batch.","properties":{"deposit_amount_wei":{"type":"string","description":"The total amount of ETH to be staked for the batch in WEI."},"deposit_address":{"type":"string","description":"Batch deposit contract address."},"contract_call_data":{"type":"string","description":"Encoded function call data to be broadcasted to the Batch Deposit Contract. "}}}}}}
```

## The DepositData object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"DepositData":{"title":"Staking Response Batch Deposit Data","type":"object","description":"An array of validator details in this batch.","properties":{"pubkey":{"type":"string","description":"Public key of the validator."},"amount":{"type":"number","description":"The amount of ETH in GWEI required to be deposited.","format":"double"},"withdrawal_credentials":{"type":"string","description":"Withdrawal credentials for the validator funds to be withdrawn upon exit."},"signature":{"type":"string","description":"A “proof of possession” which signs over pubkey, withdrawal_credentials, and amount using the validator private key."},"deposit_data_root":{"type":"string","description":"Merkle root hash of the deposit data."},"deposit_message_root":{"type":"string","description":"Merkle root hash of the deposit message."},"fork_version":{"type":"string","description":"The genesis fork version."},"deposit_cli_version":{"type":"string","description":"Staking deposit cli version."}}}}}}
```

## The DepositTransaction object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"DepositTransaction":{"title":"Staking Response Batch Deposit Transaction","type":"object","description":"The JSON object that contains the funding transaction details of all validators belonging to this batch.","properties":{"deposit_amount_wei":{"type":"string","description":"The total amount of ETH to be staked for the batch in WEI."},"deposit_address":{"type":"string","description":"Batch deposit contract address."},"contract_call_data":{"type":"string","description":"Encoded function call data to be broadcasted to the Batch Deposit Contract. "}}}}}}
```

## The StakingResponse object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"StakingResponse":{"title":"Staking Response","type":"object","properties":{"client_req_id":{"type":"string","description":"The client_req_id of the staking request addressed by this response message."},"staking_ref_id":{"type":"string","description":"A unique reference ID generated by the staking infrastructure for the staking request."},"network":{"type":"string","description":"The network on which validators should be created. Supported values are;\r\n- mainnet\r\n- hoodi","enum":["mainnet","hoodi"]},"withdrawal_credentials_type":{"enum":["0x01","0x02"],"description":"The withdrawal credential type of the validator(s) that will be created. Applicable values are;\r\n- 0x01\r\n- 0x02"},"withdrawal_address":{"type":"string","description":"The specified address to which funds will be withdrawn, as mentioned in the staking request."},"fee_recipient_address":{"type":"string","description":"The fee recipient address that receives Execution Layer fees, as mentioned in the staking request."},"region":{"type":"string","description":"The geographic region where the validator will be created. Supported values are;\r\n- US\r\n- EU\r\n- KR","enum":["US","EU","KR"]},"provisioned_at":{"type":"string","description":"The date and time when the validator was provisioned by the staking infrastructure.","format":"date-time"},"data":{"type":"array","description":"A block that contains validator batches. Each batch includes details of 100 validators and the associated funding transaction.","items":{"$ref":"#/components/schemas/BatchData"}}}},"BatchData":{"title":"Staking Response Batch","type":"object","properties":{"batch_id":{"type":"integer","description":"Identifier of the validator batch.","format":"int32","enum":[1,2,3,4,5,6,7,8,9,10]},"deposit_data":{"type":"array","description":"An array of validator details in this batch.","items":{"$ref":"#/components/schemas/DepositData"}},"deposit_transaction":{"$ref":"#/components/schemas/DepositTransaction"}},"description":"A block that contains validator batches. Each batch includes details of 250 validators and the associated funding transaction."},"DepositData":{"title":"Staking Response Batch Deposit Data","type":"object","description":"An array of validator details in this batch.","properties":{"pubkey":{"type":"string","description":"Public key of the validator."},"amount":{"type":"number","description":"The amount of ETH in GWEI required to be deposited.","format":"double"},"withdrawal_credentials":{"type":"string","description":"Withdrawal credentials for the validator funds to be withdrawn upon exit."},"signature":{"type":"string","description":"A “proof of possession” which signs over pubkey, withdrawal_credentials, and amount using the validator private key."},"deposit_data_root":{"type":"string","description":"Merkle root hash of the deposit data."},"deposit_message_root":{"type":"string","description":"Merkle root hash of the deposit message."},"fork_version":{"type":"string","description":"The genesis fork version."},"deposit_cli_version":{"type":"string","description":"Staking deposit cli version."}}},"DepositTransaction":{"title":"Staking Response Batch Deposit Transaction","type":"object","description":"The JSON object that contains the funding transaction details of all validators belonging to this batch.","properties":{"deposit_amount_wei":{"type":"string","description":"The total amount of ETH to be staked for the batch in WEI."},"deposit_address":{"type":"string","description":"Batch deposit contract address."},"contract_call_data":{"type":"string","description":"Encoded function call data to be broadcasted to the Batch Deposit Contract. "}}}}}}
```

## The EthEpochLevelInfoRequest object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"EthEpochLevelInfoRequest":{"title":"Rewards Request","type":"object","required":["network","start","end","rollup_type"],"properties":{"network":{"type":"string","description":"The network on which validators should be created. Supported values are;\r\n- mainnet\r\n- hoodi","enum":["mainnet","hoodi"]},"start":{"type":"string","description":"It specifies the start epoch if the type is 1, or the start date in the \"YYYY-MM-DD\" format (UTC timezone) if the type is 2"},"end":{"type":"string","description":"It specifies the end epoch if the type is 1, or the end date in the \"YYYY-MM-DD\" format (UTC timezone) if the type is 2"},"rollup_type":{"type":"string","description":"Denotes the granularity of rewards breakdown. The applicable values are,\n <ul><li>1 (epoch)</li><li>2 (date)</li>","enum":["1","2"]},"pubkeys":{"type":"array","items":{"type":"string","description":"List of validator public keys to fetch the rewards breakdown. A maximum of 50 entries are allowed."}}}}}}}
```

## The ValidatorErrorListResponse object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ValidatorErrorListResponse":{"title":"Validator Error Response","type":"object","properties":{"error":{"type":"array","items":{"$ref":"#/components/schemas/ValidatorErrorMessage"}}}},"ValidatorErrorMessage":{"title":"Validator Error Message","type":"object","description":"An array of errors that resulted from this request.","required":["code","message"],"properties":{"code":{"type":"integer","description":"The code related to the error being reported.","format":"int32"},"message":{"type":"string","description":"The description related to the error being reported."}}}}}}
```

## The InternalServerValidatorErrorListResponse object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"InternalServerValidatorErrorListResponse":{"title":"Validator Error Response","type":"object","properties":{"error":{"type":"array","items":{"$ref":"#/components/schemas/InternalServerErrorMessage"}}}},"InternalServerErrorMessage":{"title":"Error Message","type":"object","description":"An array of errors that resulted from this request.","required":["message"],"properties":{"code":{"type":"string","description":"Error code"},"message":{"type":"string","description":"The description related to the error being reported."}}}}}}
```

## The EthEpochLevelInfoResponseWithWithdrawalSlotInfo object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"EthEpochLevelInfoResponseWithWithdrawalSlotInfo":{"title":"Withdrawals","type":"object","properties":{"network":{"type":"string","description":"Network specified in the request. ","enum":["mainnet","hoodi"]},"start":{"type":"string","description":"Start epoch or start date specified in the request. "},"end":{"type":"string","description":"End epoch or end date specified in the request."},"page":{"type":"integer","description":"The current page number sent in the request","format":"int32"},"total":{"type":"integer","description":"The total number of records resulted for the input criteria.","format":"int32"},"data":{"type":"array","description":"An array that contains the breakdown.","items":{"$ref":"#/components/schemas/WithdrawalSlotInfoType1"}}}},"WithdrawalSlotInfoType1":{"title":"Withdrawals","type":"object","description":"An array that contains the breakdown.","properties":{"timestamp":{"type":"string","description":"The timestamp corresponds to the withdrawal epoch. This should be in the format of “YYYY-MM-DD HH:mm:ss” in UTC."},"slot":{"type":"integer","description":"The consensus layer slot at which withdrawal occurred.","format":"int32"},"block":{"type":"integer","description":"The execution layer block number at which withdrawal occurred.","format":"int64"},"epoch":{"type":"integer","description":"The epoch at which the withdrawal was executed. Applicable only if the rollup_type is 1.","format":"int32"},"pubkey":{"type":"string","description":"Public key of the validator."},"validator_index":{"type":"string","description":"The index of the validator."},"withdrawal_credential_type":{"type":"string","description":"Withdrawal credential type of the validator. Applicable values are:\r\n- 0x00\r\n- 0x01\r\n- 0x02"},"withdrawal_address":{"type":"string","description":"The withdrawal address of the validator."},"withdrawal_amount_eth":{"type":"number","description":"The withdrawn amount in ETH.","format":"double"},"withdrawal_amount_wei":{"type":"string","description":"The withdrawn amount in WEI."},"is_full_withdrawal":{"type":"boolean","description":"This parameter indicates whether the validator’s balance was fully withdrawn or not."}}}}}}
```

## The WithdrawalSlotInfoType1 object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"WithdrawalSlotInfoType1":{"title":"Withdrawals","type":"object","description":"An array that contains the breakdown.","properties":{"timestamp":{"type":"string","description":"The timestamp corresponds to the withdrawal epoch. This should be in the format of “YYYY-MM-DD HH:mm:ss” in UTC."},"slot":{"type":"integer","description":"The consensus layer slot at which withdrawal occurred.","format":"int32"},"block":{"type":"integer","description":"The execution layer block number at which withdrawal occurred.","format":"int64"},"epoch":{"type":"integer","description":"The epoch at which the withdrawal was executed. Applicable only if the rollup_type is 1.","format":"int32"},"pubkey":{"type":"string","description":"Public key of the validator."},"validator_index":{"type":"string","description":"The index of the validator."},"withdrawal_credential_type":{"type":"string","description":"Withdrawal credential type of the validator. Applicable values are:\r\n- 0x00\r\n- 0x01\r\n- 0x02"},"withdrawal_address":{"type":"string","description":"The withdrawal address of the validator."},"withdrawal_amount_eth":{"type":"number","description":"The withdrawn amount in ETH.","format":"double"},"withdrawal_amount_wei":{"type":"string","description":"The withdrawn amount in WEI."},"is_full_withdrawal":{"type":"boolean","description":"This parameter indicates whether the validator’s balance was fully withdrawn or not."}}}}}}
```

## The AccumulatedEthRewardsData object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"AccumulatedEthRewardsData":{"title":"Accumulated Rewards","type":"object","description":"An array that contains accumulated consensus and execution layer rewards for the given validator and the query criteria. ","properties":{"type":{"type":"string","description":"Type of rewards.","enum":["CONSENSUS","EXECUTION"]},"accumulated_eth":{"type":"number","description":"Accumulated rewards in ETH between the start and the end specified in the request.","format":"double"},"accumulated_wei":{"type":"string","description":"Accumulated rewards in WEI between the start and the end specified in the request."}}}}}}
```

## The EthEpochLevelInfoResponseWithValidatorData object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"EthEpochLevelInfoResponseWithValidatorData":{"title":"Validator Rewards","type":"object","properties":{"network":{"type":"string","description":"Network specified in the request. ","enum":["mainnet","hoodi"]},"start":{"type":"string","description":"Start epoch or start date specified in the request. "},"end":{"type":"string","description":"End epoch or end date specified in the request."},"page":{"type":"integer","description":"The current page number sent in the request","format":"int32"},"total":{"type":"integer","description":"The total number of records resulted for the input criteria.","format":"int32"},"data":{"type":"array","description":"An array that contains the breakdown.","items":{"$ref":"#/components/schemas/ValidatorAddressWiseData"}}}},"ValidatorAddressWiseData":{"title":"Validator Rewards","type":"object","description":"An array that contains the breakdown.","properties":{"pubkey":{"type":"string","description":"Public key of the validator."},"validator_index":{"type":"string","description":"Validator index."},"withdrawal_credential_type":{"type":"string","description":"Withdrawal credential type of the validator. Applicable values are:\r\n- 0x00\r\n- 0x01\r\n- 0x02"},"total_eth":{"type":"number","description":"Total rewards the validator earned since inception in ETH.","format":"double"},"total_wei":{"type":"string","description":"Total rewards the validator earned since inception in WEI."},"accumulated_rewards":{"type":"array","description":"An array that contains accumulated consensus and execution layer rewards for the given validator and the query criteria. ","items":{"$ref":"#/components/schemas/AccumulatedEthRewardsData"}},"rewards_breakdown":{"title":"Rewards Breakdown","type":"object","description":"An array that contains breakdown of rewards depending on the “rollup_type” parameter specified in the request. ","properties":{"epoch":{"type":"integer","description":"The epoch corresponds to the rewards. This is applicable only if the rollup_type is 1.","format":"int32"},"balance_in_wei":{"type":"string","description":"Balance of the validator in the corresponding epoch, in WEI."},"balance_in_eth":{"type":"number","description":"Balance of the validator in the corresponding epoch, in ETH.","format":"double"},"timestamp":{"type":"string","description":"If the rollup_type is 1, it should specify the timestamp corresponding to the epoch at which the rewards were given. If it’s 2, it should specify the latest timestamp at which the rewards were given on the given date. Should be in the format of “YYYY-MM-DD HH:mm:ss”."},"rewards":{"title":"Epoch Rewards","type":"object","description":"An array that contains the consensus and execution layer rewards corresponding to the given epoch.","properties":{"type":{"type":"string","description":"Type of rewards.","enum":["CONSENSUS","EXECUTION"]},"recipient":{"type":"string","description":"The recipient address of the execution rewards. This field should be presented only for execution layer rewards."},"slot":{"type":"integer","description":"The slot number of the proposal made by the validator.This field should be presented only for execution layer rewards.","format":"int32"},"block":{"type":"integer","description":"The execution layer block number of the proposal made by the validator.This field should be presented only for execution layer rewards.","format":"int64"},"rewards_eth":{"type":"number","description":"Rewards accumulated during the period in ETH.","format":"double"},"rewards_wei":{"type":"string","description":"Rewards accumulated during the period in wei. "},"is_mev":{"type":"boolean","description":"When the MEV boost was used for the block proposal, this should be set to ‘true’, otherwise it will be ‘false’. This field should be presented only for execution layer rewards"},"mev_relay":{"type":"string","description":"The name of the MEV boost service, applicable when the is_mev is set to true, otherwise it will be set to null.This field should be presented only for execution layer rewards."},"mev_builder":{"type":"string","description":"The address of the MEV builder that sent the execution rewards. Applicable only if is_mev is true, otherwise it will be null. This field should be presented only for execution layer rewards."},"tx_hash":{"type":"string","description":"The hash of the transaction that used to send the MEV rewards.  Applicable only if is_mev is true, otherwise it will be null.This field should be presented only for execution layer rewards."}}}}}}},"AccumulatedEthRewardsData":{"title":"Accumulated Rewards","type":"object","description":"An array that contains accumulated consensus and execution layer rewards for the given validator and the query criteria. ","properties":{"type":{"type":"string","description":"Type of rewards.","enum":["CONSENSUS","EXECUTION"]},"accumulated_eth":{"type":"number","description":"Accumulated rewards in ETH between the start and the end specified in the request.","format":"double"},"accumulated_wei":{"type":"string","description":"Accumulated rewards in WEI between the start and the end specified in the request."}}}}}}
```

## The ValidatorAddressWiseData object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ValidatorAddressWiseData":{"title":"Validator Rewards","type":"object","description":"An array that contains the breakdown.","properties":{"pubkey":{"type":"string","description":"Public key of the validator."},"validator_index":{"type":"string","description":"Validator index."},"withdrawal_credential_type":{"type":"string","description":"Withdrawal credential type of the validator. Applicable values are:\r\n- 0x00\r\n- 0x01\r\n- 0x02"},"total_eth":{"type":"number","description":"Total rewards the validator earned since inception in ETH.","format":"double"},"total_wei":{"type":"string","description":"Total rewards the validator earned since inception in WEI."},"accumulated_rewards":{"type":"array","description":"An array that contains accumulated consensus and execution layer rewards for the given validator and the query criteria. ","items":{"$ref":"#/components/schemas/AccumulatedEthRewardsData"}},"rewards_breakdown":{"title":"Rewards Breakdown","type":"object","description":"An array that contains breakdown of rewards depending on the “rollup_type” parameter specified in the request. ","properties":{"epoch":{"type":"integer","description":"The epoch corresponds to the rewards. This is applicable only if the rollup_type is 1.","format":"int32"},"balance_in_wei":{"type":"string","description":"Balance of the validator in the corresponding epoch, in WEI."},"balance_in_eth":{"type":"number","description":"Balance of the validator in the corresponding epoch, in ETH.","format":"double"},"timestamp":{"type":"string","description":"If the rollup_type is 1, it should specify the timestamp corresponding to the epoch at which the rewards were given. If it’s 2, it should specify the latest timestamp at which the rewards were given on the given date. Should be in the format of “YYYY-MM-DD HH:mm:ss”."},"rewards":{"title":"Epoch Rewards","type":"object","description":"An array that contains the consensus and execution layer rewards corresponding to the given epoch.","properties":{"type":{"type":"string","description":"Type of rewards.","enum":["CONSENSUS","EXECUTION"]},"recipient":{"type":"string","description":"The recipient address of the execution rewards. This field should be presented only for execution layer rewards."},"slot":{"type":"integer","description":"The slot number of the proposal made by the validator.This field should be presented only for execution layer rewards.","format":"int32"},"block":{"type":"integer","description":"The execution layer block number of the proposal made by the validator.This field should be presented only for execution layer rewards.","format":"int64"},"rewards_eth":{"type":"number","description":"Rewards accumulated during the period in ETH.","format":"double"},"rewards_wei":{"type":"string","description":"Rewards accumulated during the period in wei. "},"is_mev":{"type":"boolean","description":"When the MEV boost was used for the block proposal, this should be set to ‘true’, otherwise it will be ‘false’. This field should be presented only for execution layer rewards"},"mev_relay":{"type":"string","description":"The name of the MEV boost service, applicable when the is_mev is set to true, otherwise it will be set to null.This field should be presented only for execution layer rewards."},"mev_builder":{"type":"string","description":"The address of the MEV builder that sent the execution rewards. Applicable only if is_mev is true, otherwise it will be null. This field should be presented only for execution layer rewards."},"tx_hash":{"type":"string","description":"The hash of the transaction that used to send the MEV rewards.  Applicable only if is_mev is true, otherwise it will be null.This field should be presented only for execution layer rewards."}}}}}}},"AccumulatedEthRewardsData":{"title":"Accumulated Rewards","type":"object","description":"An array that contains accumulated consensus and execution layer rewards for the given validator and the query criteria. ","properties":{"type":{"type":"string","description":"Type of rewards.","enum":["CONSENSUS","EXECUTION"]},"accumulated_eth":{"type":"number","description":"Accumulated rewards in ETH between the start and the end specified in the request.","format":"double"},"accumulated_wei":{"type":"string","description":"Accumulated rewards in WEI between the start and the end specified in the request."}}}}}}
```

## The ValidatorExitRequest object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ValidatorExitRequest":{"title":"Validator Exit Request","type":"object","required":["client_req_id","network","type"],"properties":{"client_req_id":{"type":"string","description":"A unique identifier generated and sent by the client for the exit request. Refer Client Request Identifier for further details."},"network":{"type":"string","description":"The network on which validators were created. Supported values are;\r\n- mainnet\r\n- hoodi","enum":["mainnet","hoodi"]},"type":{"type":"integer","description":"Indicates the type of attribute used to identify the validators to exit. The possible values are,\n- 1 (pubkey)\n- 2 (validator_index)\n- 3 (withdrawal_address)","format":"int32","enum":[1,2,3]},"pubkeys":{"type":"array","items":{"type":"string","description":"List of validator public keys to be exited. \nThis is required if the exit type is 1. \nA maximum of 250 public keys can be specified."}},"validator_indexes":{"type":"array","items":{"type":"integer","description":"The list of validator indexes to be exited. \nRequired if exit type is 2. \nA maximum of 250 validator indexes can be specified.","format":"int32"}},"withdrawal_address":{"type":"string","description":"The withdrawal address of the validators that should be exited.\nRequired if exit type is 3"},"validator_count":{"type":"integer","description":"Required if exit type is 3. \nThe Max count should be 250.","format":"int32"}}}}}}
```

## The ValidatorExitData object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ValidatorExitData":{"title":"Validator Exit Data","type":"object","description":"An array which contains the details of the validators to be exited.","properties":{"pubkey":{"type":"string","description":"Public key of the validator."},"validator_index":{"type":"integer","description":"Index of the corresponding validator.","format":"int32"},"withdrawal_address":{"type":"string","description":"Withdrawal address of the corresponding validator. "},"status":{"type":"string","description":"Current status of the validator.","enum":["STAKING_INITIATED","PENDING_DEPOSIT","DEPOSITED","DEPOSIT_FAILED","ACTIVE","SLASHING","SLASHED","EXIT_INITIATED","EXITING","EXITED","WITHDRAWABLE","WITHDRAWN"]}}}}}}
```

## The ValidatorExitResponse object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ValidatorExitResponse":{"title":"Validator Exit Response","type":"object","properties":{"client_req_id":{"type":"string","description":"Unique identifier specified in the request."},"network":{"type":"string","description":"Network specified in the request. Supported values are;\r\n- mainnet\r\n- hoodi","enum":["mainnet","hoodi"]},"data":{"type":"array","description":"An array which contains the details of the validators to be exited.","items":{"$ref":"#/components/schemas/ValidatorExitData"}}}},"ValidatorExitData":{"title":"Validator Exit Data","type":"object","description":"An array which contains the details of the validators to be exited.","properties":{"pubkey":{"type":"string","description":"Public key of the validator."},"validator_index":{"type":"integer","description":"Index of the corresponding validator.","format":"int32"},"withdrawal_address":{"type":"string","description":"Withdrawal address of the corresponding validator. "},"status":{"type":"string","description":"Current status of the validator.","enum":["STAKING_INITIATED","PENDING_DEPOSIT","DEPOSITED","DEPOSIT_FAILED","ACTIVE","SLASHING","SLASHED","EXIT_INITIATED","EXITING","EXITED","WITHDRAWABLE","WITHDRAWN"]}}}}}}
```

## The PreSignedExitDBO object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"PreSignedExitDBO":{"title":"Validator Pre-signed Exit Data","type":"object","description":"An array which contains the details of the validators to be exited.","properties":{"pubkey":{"type":"string","description":"Public key of the validator."},"validator_index":{"type":"integer","description":"Index of the corresponding validator.","format":"int32"},"withdrawal_address":{"type":"string","description":"Withdrawal address of the corresponding validator."},"encrypted_exit_message":{"type":"string","description":"The encrypted pre-signed exit message.The client can decrypt this message using their private key."},"fork_version":{"type":"string","description":"The genesis fork version used when generating the pre-signed exit message."},"status":{"type":"string","description":"Current status of the validator.","enum":["STAKING_INITIATED","PENDING_DEPOSIT","DEPOSITED","DEPOSIT_FAILED","ACTIVE","SLASHING","SLASHED","EXIT_INITIATED","EXITING","EXITED","WITHDRAWABLE","WITHDRAWN"]}}}}}}
```

## The ValidatorPreSignedExitResponse object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ValidatorPreSignedExitResponse":{"title":"Validator Pre-signed Exit Response","type":"object","properties":{"network":{"type":"string","description":"Network specified in the request.","enum":["mainnet","hoodi"]},"data":{"type":"array","description":"An array which contains the details of the validators to be exited.","items":{"$ref":"#/components/schemas/PreSignedExitDBO"}}}},"PreSignedExitDBO":{"title":"Validator Pre-signed Exit Data","type":"object","description":"An array which contains the details of the validators to be exited.","properties":{"pubkey":{"type":"string","description":"Public key of the validator."},"validator_index":{"type":"integer","description":"Index of the corresponding validator.","format":"int32"},"withdrawal_address":{"type":"string","description":"Withdrawal address of the corresponding validator."},"encrypted_exit_message":{"type":"string","description":"The encrypted pre-signed exit message.The client can decrypt this message using their private key."},"fork_version":{"type":"string","description":"The genesis fork version used when generating the pre-signed exit message."},"status":{"type":"string","description":"Current status of the validator.","enum":["STAKING_INITIATED","PENDING_DEPOSIT","DEPOSITED","DEPOSIT_FAILED","ACTIVE","SLASHING","SLASHED","EXIT_INITIATED","EXITING","EXITED","WITHDRAWABLE","WITHDRAWN"]}}}}}}
```

## The PresignedExitData object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"PresignedExitData":{"title":"Pre-signed Exit Data","type":"object","properties":{"fork_version":{"type":"string","description":"The genesis fork version used when generating the pre-signed exit message."},"encrypted_exit_message":{"type":"string","description":"The encrypted pre-signed exit message. The client can decrypt this message using their private key."}},"description":"This JSON object will be populated if the include_presigned_exit query parameter is set to “true” and the validator is in active status for at-least 256 epochs. Otherwise, it will be set to null."}}}}
```

## The StakingRequestInfo object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"StakingRequestInfo":{"title":"Staking Request Data","type":"object","properties":{"staking_ref_id":{"type":"string","description":"A unique reference ID generated by the staking infrastructure for the staking request."},"provisioned_at":{"type":"string","description":"The date and time when the validator was provisioned by the staking infrastructure. It will be in the format of “YYYY-MM-DD HH:mm:ss”."}},"description":"JSON object that contains the staking request id and validators provisioned date and time. This should be set to ‘null’ for externally provisioned validators."}}}}
```

## The StatusHistoryData object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"StatusHistoryData":{"title":"Status History Data","type":"object","properties":{"status":{"type":"string","description":"Status of the validator.","enum":["STAKING_INITIATED","PENDING_DEPOSIT","DEPOSITED","DEPOSIT_FAILED","ACTIVE","SLASHING","SLASHED","EXIT_INITIATED","EXITING","EXITED","WITHDRAWABLE","WITHDRAWN"]},"transitioned_at":{"type":"string","description":"The date and time the validator transitioned into the given status. It will be in the format of “YYYY-MM-DD HH:mm:ss”."}},"description":"An array that contains the state transition of the validator. "}}}}
```

## The ValidatorInfoData object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ValidatorInfoData":{"title":"Validator Info Data","type":"object","description":"An array that contains the details about validators.","properties":{"epoch":{"type":"integer","description":"The specific blockchain epoch to which the returned validator details correspond.","format":"int32"},"status":{"type":"string","description":"Current status of the validator.","enum":["STAKING_INITIATED","PENDING_DEPOSIT","DEPOSITED","DEPOSIT_FAILED","ACTIVE","SLASHING","SLASHED","EXIT_INITIATED","EXITING","EXITED","WITHDRAWABLE","WITHDRAWN"]},"pubkey":{"type":"string","description":"Public key of the validator."},"region":{"type":"string","description":"The geographic region where the validator will be created.","enum":["US","EU","KR"]},"validator_index":{"type":"integer","description":"Validator index.","format":"int32"},"withdrawal_credential_type":{"type":"string","description":"Withdrawal credential type of the validator. Applicable values are:\r\n- 0x00\r\n- 0x01\r\n- 0x02"},"withdrawal_address":{"type":"string","description":"Withdrawal address of the corresponding validator. "},"fee_recipient_address":{"type":"string","description":"The fee recipient address belongs to the validator."},"estimated_activation_at":{"type":"string","description":"Estimate of when the validator will become active and start earning rewards. This will be populated since the validator is transitioned to DEPOSITED status. Until then, it will be null. It will be in the format of “YYYY-MM-DD HH:mm:ss”."},"estimated_exit_at":{"type":"string","description":"Estimate of when the validator will exit and stop earning rewards. This will be populated since the validator is transitioned to EXIT_INITIATED status. Until then, it will be null. It will be in the format of “YYYY-MM-DD HH:mm:ss”."},"estimated_withdrawal_at":{"type":"string","description":"Estimate of when the validator’s principal will become withdrawable. This will be populated since the validator is transitioned to EXITED status. Until then, it will be null. It will be in the format of “YYYY-MM-DD HH:mm:ss”."},"balance_in_wei":{"type":"string","description":"Current balance of the validator in WEI."},"balance_in_eth":{"type":"number","description":"Current balance of the validator in ETH.","format":"double"},"status_history":{"type":"array","items":{"$ref":"#/components/schemas/StatusHistoryData"}},"voluntary_exit":{"$ref":"#/components/schemas/VoluntaryExitData"},"presigned_exit":{"$ref":"#/components/schemas/PresignedExitData"},"staking_request_info":{"$ref":"#/components/schemas/StakingRequestInfo"}}},"StatusHistoryData":{"title":"Status History Data","type":"object","properties":{"status":{"type":"string","description":"Status of the validator.","enum":["STAKING_INITIATED","PENDING_DEPOSIT","DEPOSITED","DEPOSIT_FAILED","ACTIVE","SLASHING","SLASHED","EXIT_INITIATED","EXITING","EXITED","WITHDRAWABLE","WITHDRAWN"]},"transitioned_at":{"type":"string","description":"The date and time the validator transitioned into the given status. It will be in the format of “YYYY-MM-DD HH:mm:ss”."}},"description":"An array that contains the state transition of the validator. "},"VoluntaryExitData":{"title":"Voluntary Exit Data","type":"object","properties":{"request_id":{"type":"string","description":"Unique request id sent by the client when requesting the voluntary exit."},"requested_at":{"type":"string","description":"The date and time the exit request was received. It will be in the format of “YYYY-MM-DD HH:mm:ss”."},"submitted_at":{"type":"string","description":"The date and time the validator’s exit message was broadcasted to the beacon node. It will be in the format of “YYYY-MM-DD HH:mm:ss”."}},"description":"JSON object that contains on demand exit related information if the validator has initiated the voluntary exit. Otherwise, it will be null."},"PresignedExitData":{"title":"Pre-signed Exit Data","type":"object","properties":{"fork_version":{"type":"string","description":"The genesis fork version used when generating the pre-signed exit message."},"encrypted_exit_message":{"type":"string","description":"The encrypted pre-signed exit message. The client can decrypt this message using their private key."}},"description":"This JSON object will be populated if the include_presigned_exit query parameter is set to “true” and the validator is in active status for at-least 256 epochs. Otherwise, it will be set to null."},"StakingRequestInfo":{"title":"Staking Request Data","type":"object","properties":{"staking_ref_id":{"type":"string","description":"A unique reference ID generated by the staking infrastructure for the staking request."},"provisioned_at":{"type":"string","description":"The date and time when the validator was provisioned by the staking infrastructure. It will be in the format of “YYYY-MM-DD HH:mm:ss”."}},"description":"JSON object that contains the staking request id and validators provisioned date and time. This should be set to ‘null’ for externally provisioned validators."}}}}
```

## The ValidatorsInfoResponse object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ValidatorsInfoResponse":{"title":"Validator Info Response","type":"object","properties":{"network":{"type":"string","description":"Network specified in the request.","enum":["mainnet","hoodi"]},"page":{"type":"integer","description":"The current page number sent in the request.","format":"int32"},"total":{"type":"integer","description":"Total number of validators provisioned for the given client and the network.","format":"int32"},"data":{"type":"array","description":"An array that contains the details about validators.","items":{"$ref":"#/components/schemas/ValidatorInfoData"}}}},"ValidatorInfoData":{"title":"Validator Info Data","type":"object","description":"An array that contains the details about validators.","properties":{"epoch":{"type":"integer","description":"The specific blockchain epoch to which the returned validator details correspond.","format":"int32"},"status":{"type":"string","description":"Current status of the validator.","enum":["STAKING_INITIATED","PENDING_DEPOSIT","DEPOSITED","DEPOSIT_FAILED","ACTIVE","SLASHING","SLASHED","EXIT_INITIATED","EXITING","EXITED","WITHDRAWABLE","WITHDRAWN"]},"pubkey":{"type":"string","description":"Public key of the validator."},"region":{"type":"string","description":"The geographic region where the validator will be created.","enum":["US","EU","KR"]},"validator_index":{"type":"integer","description":"Validator index.","format":"int32"},"withdrawal_credential_type":{"type":"string","description":"Withdrawal credential type of the validator. Applicable values are:\r\n- 0x00\r\n- 0x01\r\n- 0x02"},"withdrawal_address":{"type":"string","description":"Withdrawal address of the corresponding validator. "},"fee_recipient_address":{"type":"string","description":"The fee recipient address belongs to the validator."},"estimated_activation_at":{"type":"string","description":"Estimate of when the validator will become active and start earning rewards. This will be populated since the validator is transitioned to DEPOSITED status. Until then, it will be null. It will be in the format of “YYYY-MM-DD HH:mm:ss”."},"estimated_exit_at":{"type":"string","description":"Estimate of when the validator will exit and stop earning rewards. This will be populated since the validator is transitioned to EXIT_INITIATED status. Until then, it will be null. It will be in the format of “YYYY-MM-DD HH:mm:ss”."},"estimated_withdrawal_at":{"type":"string","description":"Estimate of when the validator’s principal will become withdrawable. This will be populated since the validator is transitioned to EXITED status. Until then, it will be null. It will be in the format of “YYYY-MM-DD HH:mm:ss”."},"balance_in_wei":{"type":"string","description":"Current balance of the validator in WEI."},"balance_in_eth":{"type":"number","description":"Current balance of the validator in ETH.","format":"double"},"status_history":{"type":"array","items":{"$ref":"#/components/schemas/StatusHistoryData"}},"voluntary_exit":{"$ref":"#/components/schemas/VoluntaryExitData"},"presigned_exit":{"$ref":"#/components/schemas/PresignedExitData"},"staking_request_info":{"$ref":"#/components/schemas/StakingRequestInfo"}}},"StatusHistoryData":{"title":"Status History Data","type":"object","properties":{"status":{"type":"string","description":"Status of the validator.","enum":["STAKING_INITIATED","PENDING_DEPOSIT","DEPOSITED","DEPOSIT_FAILED","ACTIVE","SLASHING","SLASHED","EXIT_INITIATED","EXITING","EXITED","WITHDRAWABLE","WITHDRAWN"]},"transitioned_at":{"type":"string","description":"The date and time the validator transitioned into the given status. It will be in the format of “YYYY-MM-DD HH:mm:ss”."}},"description":"An array that contains the state transition of the validator. "},"VoluntaryExitData":{"title":"Voluntary Exit Data","type":"object","properties":{"request_id":{"type":"string","description":"Unique request id sent by the client when requesting the voluntary exit."},"requested_at":{"type":"string","description":"The date and time the exit request was received. It will be in the format of “YYYY-MM-DD HH:mm:ss”."},"submitted_at":{"type":"string","description":"The date and time the validator’s exit message was broadcasted to the beacon node. It will be in the format of “YYYY-MM-DD HH:mm:ss”."}},"description":"JSON object that contains on demand exit related information if the validator has initiated the voluntary exit. Otherwise, it will be null."},"PresignedExitData":{"title":"Pre-signed Exit Data","type":"object","properties":{"fork_version":{"type":"string","description":"The genesis fork version used when generating the pre-signed exit message."},"encrypted_exit_message":{"type":"string","description":"The encrypted pre-signed exit message. The client can decrypt this message using their private key."}},"description":"This JSON object will be populated if the include_presigned_exit query parameter is set to “true” and the validator is in active status for at-least 256 epochs. Otherwise, it will be set to null."},"StakingRequestInfo":{"title":"Staking Request Data","type":"object","properties":{"staking_ref_id":{"type":"string","description":"A unique reference ID generated by the staking infrastructure for the staking request."},"provisioned_at":{"type":"string","description":"The date and time when the validator was provisioned by the staking infrastructure. It will be in the format of “YYYY-MM-DD HH:mm:ss”."}},"description":"JSON object that contains the staking request id and validators provisioned date and time. This should be set to ‘null’ for externally provisioned validators."}}}}
```

## The VoluntaryExitData object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"VoluntaryExitData":{"title":"Voluntary Exit Data","type":"object","properties":{"request_id":{"type":"string","description":"Unique request id sent by the client when requesting the voluntary exit."},"requested_at":{"type":"string","description":"The date and time the exit request was received. It will be in the format of “YYYY-MM-DD HH:mm:ss”."},"submitted_at":{"type":"string","description":"The date and time the validator’s exit message was broadcasted to the beacon node. It will be in the format of “YYYY-MM-DD HH:mm:ss”."}},"description":"JSON object that contains on demand exit related information if the validator has initiated the voluntary exit. Otherwise, it will be null."}}}}
```

## The ValidatorInfoResponse object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ValidatorInfoResponse":{"title":"Validator Info","type":"object","properties":{"network":{"type":"string","description":"The network on which validators were created.","enum":["mainnet","hoodi"]},"epoch":{"type":"integer","description":"The specific blockchain epoch to which the returned validator details correspond.","format":"int32"},"status":{"type":"string","description":"Current status of the validator.","enum":["STAKING_INITIATED","PENDING_DEPOSIT","DEPOSITED","DEPOSIT_FAILED","ACTIVE","SLASHING","SLASHED","EXIT_INITIATED","EXITING","EXITED","WITHDRAWABLE","WITHDRAWN"]},"pubkey":{"type":"string","description":"Public key of the validator."},"region":{"type":"string","description":"The geographic region where the validator will be created.","enum":["US","EU","KR"]},"validator_index":{"type":"integer","description":"Validator index.","format":"int32"},"withdrawal_credential_type":{"type":"string","description":"Withdrawal credential type of the validator. Applicable values are:\r\n- 0x00\r\n- 0x01\r\n- 0x02"},"withdrawal_address":{"type":"string","description":"Withdrawal address of the corresponding validator. "},"fee_recipient_address":{"type":"string","description":"The fee recipient address belongs to the validator."},"estimated_activation_at":{"type":"string","description":"Estimate of when the validator will become active and start earning rewards. This will be populated since the validator is transitioned to DEPOSITED status. Until then, it will be null. It will be in the format of “YYYY-MM-DD HH:mm:ss”."},"estimated_exit_at":{"type":"string","description":"Estimate of when the validator will exit and stop earning rewards. This will be populated since the validator is transitioned to EXIT_INITIATED status. Until then, it will be null. It will be in the format of “YYYY-MM-DD HH:mm:ss”."},"estimated_withdrawal_at":{"type":"string","description":"Estimate of when the validator’s principal will become withdrawable. This will be populated since the validator is transitioned to EXITED status. Until then, it will be null. It will be in the format of “YYYY-MM-DD HH:mm:ss”."},"balance_in_wei":{"type":"string","description":"Current balance of the validator in WEI."},"balance_in_eth":{"type":"number","description":"Current balance of the validator in ETH.","format":"double"},"status_history":{"type":"array","items":{"$ref":"#/components/schemas/StatusHistoryData"}},"voluntary_exit":{"$ref":"#/components/schemas/VoluntaryExitData"},"presigned_exit":{"$ref":"#/components/schemas/PresignedExitData"},"staking_request_info":{"$ref":"#/components/schemas/StakingRequestInfo"}}},"StatusHistoryData":{"title":"Status History Data","type":"object","properties":{"status":{"type":"string","description":"Status of the validator.","enum":["STAKING_INITIATED","PENDING_DEPOSIT","DEPOSITED","DEPOSIT_FAILED","ACTIVE","SLASHING","SLASHED","EXIT_INITIATED","EXITING","EXITED","WITHDRAWABLE","WITHDRAWN"]},"transitioned_at":{"type":"string","description":"The date and time the validator transitioned into the given status. It will be in the format of “YYYY-MM-DD HH:mm:ss”."}},"description":"An array that contains the state transition of the validator. "},"VoluntaryExitData":{"title":"Voluntary Exit Data","type":"object","properties":{"request_id":{"type":"string","description":"Unique request id sent by the client when requesting the voluntary exit."},"requested_at":{"type":"string","description":"The date and time the exit request was received. It will be in the format of “YYYY-MM-DD HH:mm:ss”."},"submitted_at":{"type":"string","description":"The date and time the validator’s exit message was broadcasted to the beacon node. It will be in the format of “YYYY-MM-DD HH:mm:ss”."}},"description":"JSON object that contains on demand exit related information if the validator has initiated the voluntary exit. Otherwise, it will be null."},"PresignedExitData":{"title":"Pre-signed Exit Data","type":"object","properties":{"fork_version":{"type":"string","description":"The genesis fork version used when generating the pre-signed exit message."},"encrypted_exit_message":{"type":"string","description":"The encrypted pre-signed exit message. The client can decrypt this message using their private key."}},"description":"This JSON object will be populated if the include_presigned_exit query parameter is set to “true” and the validator is in active status for at-least 256 epochs. Otherwise, it will be set to null."},"StakingRequestInfo":{"title":"Staking Request Data","type":"object","properties":{"staking_ref_id":{"type":"string","description":"A unique reference ID generated by the staking infrastructure for the staking request."},"provisioned_at":{"type":"string","description":"The date and time when the validator was provisioned by the staking infrastructure. It will be in the format of “YYYY-MM-DD HH:mm:ss”."}},"description":"JSON object that contains the staking request id and validators provisioned date and time. This should be set to ‘null’ for externally provisioned validators."}}}}
```

## The SummaryData object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"SummaryData":{"title":"Summary Data","type":"object","properties":{"status":{"type":"string","description":"Status of the validator.","enum":["STAKING_INITIATED","PENDING_DEPOSIT","DEPOSITED","DEPOSIT_FAILED","ACTIVE","SLASHING","SLASHED","EXIT_INITIATED","EXITING","EXITED","WITHDRAWABLE","WITHDRAWN"]},"count":{"type":"integer","description":"The number of validators in the corresponding status. ","format":"int64"}},"description":"An array that contains validators summary."}}}}
```

## The ValidatorsSummaryResponse object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ValidatorsSummaryResponse":{"title":"Validator Summary Response","type":"object","properties":{"network":{"type":"string","description":"Network specified in the request.","enum":["mainnet","hoodi"]},"total":{"type":"integer","description":"Total number of validators provisioned for the given client and the network.","format":"int64"},"data":{"type":"array","description":"An array that contains validators summary.","items":{"$ref":"#/components/schemas/SummaryData"}}}},"SummaryData":{"title":"Summary Data","type":"object","properties":{"status":{"type":"string","description":"Status of the validator.","enum":["STAKING_INITIATED","PENDING_DEPOSIT","DEPOSITED","DEPOSIT_FAILED","ACTIVE","SLASHING","SLASHED","EXIT_INITIATED","EXITING","EXITED","WITHDRAWABLE","WITHDRAWN"]},"count":{"type":"integer","description":"The number of validators in the corresponding status. ","format":"int64"}},"description":"An array that contains validators summary."}}}}
```

## The ConsolidateRequest object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ConsolidateRequest":{"title":"Consolidate Request","type":"object","required":["client_req_id","network","source_pubkeys"],"properties":{"client_req_id":{"type":"string","description":"A unique identifier for the staking request generated by the client."},"network":{"description":"The network to which the source and destination validators belong to. Supported values are:\r\n- mainnet\r\n- hoodi","enum":["mainnet","hoodi"]},"source_pubkeys":{"type":"array","minItems":1,"maxItems":50,"uniqueItems":true,"description":"The type 0x01 validators to be converted to type 0x02 or type 0x01 and 0x02 validators to be merged with the destination_pubkey. \r\n\r\nA maximum of 50 validators are supported.","items":{"type":"string"}},"destination_pubkey":{"type":"string","description":"The validator that will hold the merged balance. Must be a 0x02 type validator."}}}}}}
```

## The ConsolidateResponse object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ConsolidateResponse":{"title":"Consolidate Response","type":"object","properties":{"client_req_id":{"type":"string","description":"The unique identifier specified in the request."},"network":{"description":"Network to which the source and destination validators belong to. ","enum":["mainnet","hoodi"]},"destination_pubkey":{"type":"string","description":"The validator that will hold the merged balance. If the request was a conversion, this will be kept empty."},"consolidation_contract_address":{"type":"string","description":"Encoded function call data to be broadcasted to the Batch Deposit Contract."},"data":{"type":"array","items":{"$ref":"#/components/schemas/ConsolidateResponseData"}},"created_at":{"type":"string","format":"date-time","description":"The time at which the request was received by the platform. Time will be shown in the “YYYY-MM-DD HH:mm:ss” format."}}},"ConsolidateResponseData":{"title":"Consolidate Response Data","type":"object","properties":{"source_pubkey":{"type":"string","description":"Source public key."},"contract_call_data":{"type":"string","description":"The unsigned transaction payload relevant for the source public key."},"signer":{"type":"array","minItems":1,"maxItems":1,"description":"Withdrawal address of the source public key.","items":{"type":"string"}}}}}}}
```

## The ConsolidateResponseData object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ConsolidateResponseData":{"title":"Consolidate Response Data","type":"object","properties":{"source_pubkey":{"type":"string","description":"Source public key."},"contract_call_data":{"type":"string","description":"The unsigned transaction payload relevant for the source public key."},"signer":{"type":"array","minItems":1,"maxItems":1,"description":"Withdrawal address of the source public key.","items":{"type":"string"}}}}}}}
```

## The ELExitRequest object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ELExitRequest":{"title":"EL Exit Request","type":"object","required":["client_req_id","network","type"],"properties":{"client_req_id":{"type":"string","description":"A unique identifier for the execution layer triggerable exit request provided by the client."},"network":{"enum":["mainnet","hoodi"],"description":"Network to which the validators belongs to. Supported values are:\r\n- mainnet\r\n- hoodi"},"type":{"enum":[1,2],"description":"Indicates the type of attribute used to identify the validators to exit. The possible values are:\r\n- 1 (pubkey)\r\n- 2 (validator_index)"},"pubkeys":{"type":"array","minItems":1,"maxItems":100,"uniqueItems":true,"description":"List of validator public keys to be exited. \r\n\r\nThis is required if the exit type is 1. \r\n\r\nA maximum of 100 public keys can be specified.","items":{"type":"string"}},"validator_indexes":{"type":"array","minItems":1,"maxItems":100,"uniqueItems":true,"description":"List of validator indexes to be exited. \r\n\r\nThis is required if the exit type is 2.\r\n\r\nA maximum of 100 validator indexes can be specified.","items":{"type":"integer","format":"int32"}}}}}}}
```

## The ELExitResponse object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ELExitResponse":{"title":"EL Exit Response","type":"object","properties":{"client_req_id":{"type":"string","description":"The unique identifier specified in the request."},"network":{"description":"Network to which the validators belong to. ","enum":["mainnet","hoodi"]},"exit_contract_address":{"type":"string","description":"Encoded function call data to be broadcasted to the Batch Deposit Contract."},"data":{"type":"array","items":{"$ref":"#/components/schemas/ELExitResponseData"}},"created_at":{"type":"string","format":"date-time","description":"The time at which the request was received by the platform. Time will be shown in the “YYYY-MM-DD HH:mm:ss” format."}}},"ELExitResponseData":{"title":"EL Exit Response Data","type":"object","properties":{"pubkey":{"type":"string","description":"Public key of the validator."},"validator_index":{"type":"integer","format":"int32","description":"Index of the validator."},"contract_call_data":{"type":"string","description":"The unsigned transaction payload associated with the exit."},"signer":{"type":"array","minItems":1,"maxItems":1,"description":"Withdrawal address of the validator public key.","items":{"type":"string"}}}}}}}
```

## The ELExitResponseData object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ELExitResponseData":{"title":"EL Exit Response Data","type":"object","properties":{"pubkey":{"type":"string","description":"Public key of the validator."},"validator_index":{"type":"integer","format":"int32","description":"Index of the validator."},"contract_call_data":{"type":"string","description":"The unsigned transaction payload associated with the exit."},"signer":{"type":"array","minItems":1,"maxItems":1,"description":"Withdrawal address of the validator public key.","items":{"type":"string"}}}}}}}
```

## The ELWithdrawalRequest object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ELWithdrawalRequest":{"title":"EL Withdrawal Request","type":"object","required":["client_req_id","network","type","data"],"properties":{"client_req_id":{"type":"string","description":"A unique identifier for the execution layer triggerable withdrawal request provided by the client."},"network":{"enum":["mainnet","hoodi"],"description":"Network to which the validators belongs to. Supported values are:\r\n- mainnet\r\n- hoodi"},"type":{"enum":[1,2],"description":"Indicates the type of attribute used to identify the validators that need partial withdrawals. The possible values are:\r\n- 1 (pubkey)\r\n- 2 (validator_index)"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ELWithdrawalRequestData"}}}},"ELWithdrawalRequestData":{"title":"EL Withdrawal Request Data","type":"object","required":["amount"],"properties":{"pubkey":{"type":"string","description":"Validator public key that needs a partial withdrawal. \r\n\r\nThis is required if the partial withdrawal type is 1. "},"validator_index":{"type":"integer","description":"Validator index that needs a partial withdrawal. \r\n\r\nThis is required if the partial withdrawal type is 2."},"amount":{"type":"number","format":"float","description":"Withdrawal amount corresponding to the given validator."}}}}}}
```

## The ELWithdrawalRequestData object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ELWithdrawalRequestData":{"title":"EL Withdrawal Request Data","type":"object","required":["amount"],"properties":{"pubkey":{"type":"string","description":"Validator public key that needs a partial withdrawal. \r\n\r\nThis is required if the partial withdrawal type is 1. "},"validator_index":{"type":"integer","description":"Validator index that needs a partial withdrawal. \r\n\r\nThis is required if the partial withdrawal type is 2."},"amount":{"type":"number","format":"float","description":"Withdrawal amount corresponding to the given validator."}}}}}}
```

## The ELWithdrawalResponse object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ELWithdrawalResponse":{"title":"EL Withdrawal Response","type":"object","properties":{"client_req_id":{"type":"string","description":"The unique identifier specified in the request."},"network":{"description":"Network to which the validators belong to. ","enum":["mainnet","hoodi"]},"withdrawal_contract_address":{"type":"string","description":"Encoded function call data to be broadcasted to the Batch Deposit Contract."},"data":{"type":"array","items":{"$ref":"#/components/schemas/ELWithdrawalResponseData"}},"created_at":{"type":"string","format":"date-time","description":"The time at which the request was received by the platform. Time will be shown in the “YYYY-MM-DD HH:mm:ss” format."}}},"ELWithdrawalResponseData":{"title":"EL Withdrawal Response Data","type":"object","properties":{"pubkey":{"type":"string","description":"Public key of the validator."},"validator_index":{"type":"integer","format":"int32","description":"Index of the validator."},"amount":{"type":"number","format":"float","description":"Amount to be withdrawn."},"contract_call_data":{"type":"string","description":"The unsigned transaction payload associated with the partial withdrawal."},"signer":{"type":"array","minItems":1,"maxItems":1,"description":"Withdrawal address of the validator public key.","items":{"type":"string"}}}}}}}
```

## The ELWithdrawalResponseData object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ELWithdrawalResponseData":{"title":"EL Withdrawal Response Data","type":"object","properties":{"pubkey":{"type":"string","description":"Public key of the validator."},"validator_index":{"type":"integer","format":"int32","description":"Index of the validator."},"amount":{"type":"number","format":"float","description":"Amount to be withdrawn."},"contract_call_data":{"type":"string","description":"The unsigned transaction payload associated with the partial withdrawal."},"signer":{"type":"array","minItems":1,"maxItems":1,"description":"Withdrawal address of the validator public key.","items":{"type":"string"}}}}}}}
```

## The TopUpRequest object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"TopUpRequest":{"title":"Top Up Request","type":"object","required":["client_req_id","network","data"],"properties":{"client_req_id":{"type":"string","description":"A unique identifier for the execution layer triggerable withdrawal request provided by the client."},"network":{"enum":["mainnet","hoodi"],"description":"Network to which the validators belongs to. Supported values are:\r\n- mainnet\r\n- hoodi"},"data":{"type":"array","items":{"$ref":"#/components/schemas/TopUpRequestData"}}}},"TopUpRequestData":{"title":"Top Up Request Data","type":"object","required":["pubkey","deposit_amount"],"properties":{"pubkey":{"type":"string","description":"Validator that needs to be topped up. "},"deposit_amount":{"type":"number","format":"float","description":"The ETH amount that must be topped up. "}}}}}}
```

## The TopUpRequestData object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"TopUpRequestData":{"title":"Top Up Request Data","type":"object","required":["pubkey","deposit_amount"],"properties":{"pubkey":{"type":"string","description":"Validator that needs to be topped up. "},"deposit_amount":{"type":"number","format":"float","description":"The ETH amount that must be topped up. "}}}}}}
```

## The TopUpResponse object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"TopUpResponse":{"title":"Top Up Response","type":"object","properties":{"client_req_id":{"type":"string","description":"The unique identifier specified in the request."},"network":{"type":"string","description":"Network to which the validators belong to. ","enum":["mainnet","hoodi"]},"data":{"type":"array","description":"A block that contains validator batches. Each batch includes details of 100 validators and the associated funding transaction.","items":{"$ref":"#/components/schemas/TopUpResponseBatchData"}}}},"TopUpResponseBatchData":{"title":"Top Up Response Batch Data","type":"object","properties":{"batch_id":{"description":"Identifier of the validator batch. Possible values are 1 - 10. ","enum":[1,2,3,4,5,6,7,8,9,10]},"deposit_data":{"type":"array","description":"An array of validator details in this batch. ","items":{"$ref":"#/components/schemas/TopUpResponseDepositData"}},"deposit_transaction":{"type":"array","items":{"$ref":"#/components/schemas/TopUpResponseTransactionData"}}}},"TopUpResponseDepositData":{"title":"Top Up Response Deposit Data","type":"object","description":"An array of validator details in this batch.","properties":{"pubkey":{"type":"string","description":"Public key of the validator."},"amount":{"type":"number","description":"The amount of ETH in GWEI required to be deposited.","format":"double"},"withdrawal_credentials":{"type":"string","description":"Withdrawal credentials for the validator funds to be withdrawn upon exit."},"signature":{"type":"string","description":"A “proof of possession” which signs over pubkey, withdrawal_credentials, and amount using the validator private key."},"deposit_data_root":{"type":"string","description":"Merkle root hash of the deposit data."},"deposit_message_root":{"type":"string","description":"Merkle root hash of the deposit message."},"fork_version":{"type":"string","description":"The genesis fork version."},"deposit_cli_version":{"type":"string","description":"Staking deposit cli version."}}},"TopUpResponseTransactionData":{"title":"Top Up Response Transaction Data","type":"object","description":"The JSON object that contains the funding transaction details of all validators belonging to this batch.","properties":{"deposit_amount_wei":{"type":"string","description":"Total amount of ETH to be topped up for the received top up request, in wei."},"deposit_address":{"type":"string","description":"Batch deposit contract address."},"contract_call_data":{"type":"string","description":"Encoded function call data to be broadcasted to the Batch Deposit Contract. "}}}}}}
```

## The TopUpResponseBatchData object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"TopUpResponseBatchData":{"title":"Top Up Response Batch Data","type":"object","properties":{"batch_id":{"description":"Identifier of the validator batch. Possible values are 1 - 10. ","enum":[1,2,3,4,5,6,7,8,9,10]},"deposit_data":{"type":"array","description":"An array of validator details in this batch. ","items":{"$ref":"#/components/schemas/TopUpResponseDepositData"}},"deposit_transaction":{"type":"array","items":{"$ref":"#/components/schemas/TopUpResponseTransactionData"}}}},"TopUpResponseDepositData":{"title":"Top Up Response Deposit Data","type":"object","description":"An array of validator details in this batch.","properties":{"pubkey":{"type":"string","description":"Public key of the validator."},"amount":{"type":"number","description":"The amount of ETH in GWEI required to be deposited.","format":"double"},"withdrawal_credentials":{"type":"string","description":"Withdrawal credentials for the validator funds to be withdrawn upon exit."},"signature":{"type":"string","description":"A “proof of possession” which signs over pubkey, withdrawal_credentials, and amount using the validator private key."},"deposit_data_root":{"type":"string","description":"Merkle root hash of the deposit data."},"deposit_message_root":{"type":"string","description":"Merkle root hash of the deposit message."},"fork_version":{"type":"string","description":"The genesis fork version."},"deposit_cli_version":{"type":"string","description":"Staking deposit cli version."}}},"TopUpResponseTransactionData":{"title":"Top Up Response Transaction Data","type":"object","description":"The JSON object that contains the funding transaction details of all validators belonging to this batch.","properties":{"deposit_amount_wei":{"type":"string","description":"Total amount of ETH to be topped up for the received top up request, in wei."},"deposit_address":{"type":"string","description":"Batch deposit contract address."},"contract_call_data":{"type":"string","description":"Encoded function call data to be broadcasted to the Batch Deposit Contract. "}}}}}}
```

## The TopUpResponseDepositData object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"TopUpResponseDepositData":{"title":"Top Up Response Deposit Data","type":"object","description":"An array of validator details in this batch.","properties":{"pubkey":{"type":"string","description":"Public key of the validator."},"amount":{"type":"number","description":"The amount of ETH in GWEI required to be deposited.","format":"double"},"withdrawal_credentials":{"type":"string","description":"Withdrawal credentials for the validator funds to be withdrawn upon exit."},"signature":{"type":"string","description":"A “proof of possession” which signs over pubkey, withdrawal_credentials, and amount using the validator private key."},"deposit_data_root":{"type":"string","description":"Merkle root hash of the deposit data."},"deposit_message_root":{"type":"string","description":"Merkle root hash of the deposit message."},"fork_version":{"type":"string","description":"The genesis fork version."},"deposit_cli_version":{"type":"string","description":"Staking deposit cli version."}}}}}}
```

## The TopUpResponseTransactionData object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"TopUpResponseTransactionData":{"title":"Top Up Response Transaction Data","type":"object","description":"The JSON object that contains the funding transaction details of all validators belonging to this batch.","properties":{"deposit_amount_wei":{"type":"string","description":"Total amount of ETH to be topped up for the received top up request, in wei."},"deposit_address":{"type":"string","description":"Batch deposit contract address."},"contract_call_data":{"type":"string","description":"Encoded function call data to be broadcasted to the Batch Deposit Contract. "}}}}}}
```

## The FeeRequest object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"FeeRequest":{"title":"Fee Request","type":"object","required":["network","operation_type"],"properties":{"network":{"description":"Network to which the validators belongs to. Supported values are:\r\n- mainnet\r\n- hoodi","enum":["mainnet","hoodi"]},"operation_type":{"enum":[1,2],"description":"Indicates the type of operation for which the user is requesting fees.\r\n- 1 (validator_consolidation_or_conversion)\r\n- 2 (el_triggerable_exit_or_withdrawal)"}}}}}}
```

## The FeeResponse object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"FeeResponse":{"title":"FeeResponse","type":"object","properties":{"network":{"description":"Network to which the validators belong to.","enum":["mainnet","hoodi"]},"operation_type":{"description":"Indicates the type of operation for which the user is requesting fees.\r\n- validator_consolidation_or_conversion\r\n- el_triggerable_exit_or_withdrawal","enum":["validator_consolidation_or_conversion","el_triggerable_exit_or_withdrawal"]},"fee_in_ETH":{"type":"number","description":"The applicable fee in ETH. ","format":"float"},"fee_in_WEI":{"type":"string","description":"The applicable fee in WEI. "},"retrieved_at":{"type":"string","description":"The time at which the fee was retrieved by the platform. Time will be shown in the “YYYY-MM-DD HH:mm:ss” format."}}}}}}
```

## The DepositDataResponse object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"DepositDataResponse":{"title":"Staking Response","type":"object","properties":{"client_req_id":{"type":"string","description":"The client_req_id of the original Provision Validators request for which the response is returned."},"staking_ref_id":{"type":"string","description":"A unique reference ID generated by the staking infrastructure for the staking request."},"network":{"type":"string","description":"The network on which validators should be created. Supported values are;\r\n- mainnet\r\n- hoodi","enum":["mainnet","hoodi"]},"withdrawal_credentials_type":{"enum":["0x01","0x02"],"description":"The withdrawal credential type of the validator(s) that will be created. Applicable values are;\r\n- 0x01\r\n- 0x02"},"withdrawal_address":{"type":"string","description":"The specified address to which funds will be withdrawn, as mentioned in the staking request."},"fee_recipient_address":{"type":"string","description":"The fee recipient address that receives Execution Layer fees, as mentioned in the staking request."},"region":{"type":"string","description":"The geographic region where the validator will be created. Supported values are;\r\n- US\r\n- EU\r\n- KR","enum":["US","EU","KR"]},"provisioned_at":{"type":"string","description":"The date and time when the validator was provisioned by the staking infrastructure.","format":"date-time"},"data":{"type":"array","description":"A block that contains validator batches. Each batch includes details of 100 validators and the associated funding transaction.","items":{"$ref":"#/components/schemas/BatchData"}}}},"BatchData":{"title":"Staking Response Batch","type":"object","properties":{"batch_id":{"type":"integer","description":"Identifier of the validator batch.","format":"int32","enum":[1,2,3,4,5,6,7,8,9,10]},"deposit_data":{"type":"array","description":"An array of validator details in this batch.","items":{"$ref":"#/components/schemas/DepositData"}},"deposit_transaction":{"$ref":"#/components/schemas/DepositTransaction"}},"description":"A block that contains validator batches. Each batch includes details of 250 validators and the associated funding transaction."},"DepositData":{"title":"Staking Response Batch Deposit Data","type":"object","description":"An array of validator details in this batch.","properties":{"pubkey":{"type":"string","description":"Public key of the validator."},"amount":{"type":"number","description":"The amount of ETH in GWEI required to be deposited.","format":"double"},"withdrawal_credentials":{"type":"string","description":"Withdrawal credentials for the validator funds to be withdrawn upon exit."},"signature":{"type":"string","description":"A “proof of possession” which signs over pubkey, withdrawal_credentials, and amount using the validator private key."},"deposit_data_root":{"type":"string","description":"Merkle root hash of the deposit data."},"deposit_message_root":{"type":"string","description":"Merkle root hash of the deposit message."},"fork_version":{"type":"string","description":"The genesis fork version."},"deposit_cli_version":{"type":"string","description":"Staking deposit cli version."}}},"DepositTransaction":{"title":"Staking Response Batch Deposit Transaction","type":"object","description":"The JSON object that contains the funding transaction details of all validators belonging to this batch.","properties":{"deposit_amount_wei":{"type":"string","description":"The total amount of ETH to be staked for the batch in WEI."},"deposit_address":{"type":"string","description":"Batch deposit contract address."},"contract_call_data":{"type":"string","description":"Encoded function call data to be broadcasted to the Batch Deposit Contract. "}}}}}}
```

## The DepositDataErrorResponse object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"DepositDataErrorResponse":{"title":"DepositDataErrorResponse","type":"object","required":["client_req_id","errors"],"properties":{"client_req_id":{"type":"string","description":"Client Request ID that the Staking Partner provided."},"errors":{"type":"array","items":{"$ref":"#/components/schemas/DepositDataErrorMessage"}}}},"DepositDataErrorMessage":{"title":"DepositDataErrorMessage","type":"object","required":["code","message"],"properties":{"code":{"type":"integer","description":"The code related to the error being reported.","format":"int32"},"message":{"type":"string","description":"The description related to the error being reported."}}}}}}
```

## The DepositDataErrorMessage object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"DepositDataErrorMessage":{"title":"DepositDataErrorMessage","type":"object","required":["code","message"],"properties":{"code":{"type":"integer","description":"The code related to the error being reported.","format":"int32"},"message":{"type":"string","description":"The description related to the error being reported."}}}}}}
```

## The UpdateFeeRecipientRequest object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"UpdateFeeRecipientRequest":{"title":"UpdateFeeRecipientRequest","type":"object","required":["client_req_id","network","type","data"],"properties":{"client_req_id":{"type":"string","description":"A unique identifier for the request provided by the client."},"network":{"type":"string","description":"Network to which the validators belong to.\r\n\r\nPossible values:\r\n- mainnet\r\n- hoodi"},"type":{"type":"integer","description":"Indicates the type of attribute used to identify the validators that need address changes. The possible values are,\r\n- 1 (pubkeys)\r\n\r\n2 (validator_index)"},"data":{"type":"array","items":{"$ref":"#/components/schemas/UpdateFeeRecipientData"}}}},"UpdateFeeRecipientData":{"title":"UpdateFeeRecipientData","type":"object","required":["fee_recipient_address"],"properties":{"pubkey":{"type":"string","description":"Validator public key that needs an address change. \r\n\r\nWill only be required if type = 1.\r\n\r\nAny value provided in this field when type = 2, will be ignored."},"validator_index":{"type":"number","description":"Validator index that needs an address change. \r\n\r\nWill only be required if type = 2.\r\n\r\nAny value provided in this field when type = 1, will be ignored."},"fee_recipient_address":{"type":"string","description":"The new fee recipient address corresponding to the given validator."}}}}}}
```

## The UpdateFeeRecipientData object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"UpdateFeeRecipientData":{"title":"UpdateFeeRecipientData","type":"object","required":["fee_recipient_address"],"properties":{"pubkey":{"type":"string","description":"Validator public key that needs an address change. \r\n\r\nWill only be required if type = 1.\r\n\r\nAny value provided in this field when type = 2, will be ignored."},"validator_index":{"type":"number","description":"Validator index that needs an address change. \r\n\r\nWill only be required if type = 2.\r\n\r\nAny value provided in this field when type = 1, will be ignored."},"fee_recipient_address":{"type":"string","description":"The new fee recipient address corresponding to the given validator."}}}}}}
```

## The UpdateFeeRecipientResponse object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"UpdateFeeRecipientResponse":{"title":"UpdateFeeRecipientResponse","type":"object","properties":{"client_req_id":{"type":"string","description":"The unique identifier specified in the request."},"network":{"type":"string","description":"Network to which the validators belong to."},"data":{"type":"array","items":{"$ref":"#/components/schemas/UpdateFeeRecipientResponseData"}}}},"UpdateFeeRecipientResponseData":{"title":"UpdateFeeRecipientData","type":"object","properties":{"pubkey":{"type":"string","description":"Public key of the validator."},"validator_index":{"type":"number","description":"Index of the validator."},"fee_recipient_address":{"type":"string","description":"The updated fee recipient address."}}}}}}
```

## The UpdateFeeRecipientResponseData object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"UpdateFeeRecipientResponseData":{"title":"UpdateFeeRecipientData","type":"object","properties":{"pubkey":{"type":"string","description":"Public key of the validator."},"validator_index":{"type":"number","description":"Index of the validator."},"fee_recipient_address":{"type":"string","description":"The updated fee recipient address."}}}}}}
```

## The ValidatorMonitoringRequest object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ValidatorMonitoringRequest":{"title":"ValidatorMonitoringRequest","type":"object","required":["network","data"],"properties":{"network":{"type":"string","description":"Network to which the validators belongs to. Supported values are:\r\n- mainnet\r\n- hoodi"},"data":{"$ref":"#/components/schemas/ValidatorMonitoringRequestData"}}},"ValidatorMonitoringRequestData":{"title":"ValidatorMonitoringRequestData","type":"object","required":["pubkey"],"properties":{"pubkey":{"type":"string","description":"The public key of the validator that will be monitored on the platform."},"account":{"type":"string","description":"The account name registered on the platform that is associated with the Staking Partner. If not provided, requests will be assigned to the default account."}}}}}}
```

## The ValidatorMonitoringRequestData object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ValidatorMonitoringRequestData":{"title":"ValidatorMonitoringRequestData","type":"object","required":["pubkey"],"properties":{"pubkey":{"type":"string","description":"The public key of the validator that will be monitored on the platform."},"account":{"type":"string","description":"The account name registered on the platform that is associated with the Staking Partner. If not provided, requests will be assigned to the default account."}}}}}}
```

## The ValidatorMonitoringResponse object

```json
{"openapi":"3.0.1","info":{"title":"Ethereum API Specification","version":"1.117.0"},"components":{"schemas":{"ValidatorMonitoringResponse":{"title":"ValidatorMonitoringResponse","type":"object","properties":{"validator_monitoring_reference_id":{"type":"string","description":"A system-generated unique identifier for the API request. This identifier is recorded in the ‘Link ID’ field of all positions created through the API request."}}}}}}
```
