Create Pectra Validators
Creates new 0x02 (PECTRA) validators and returns a unsigned staking transaction
Please refer to this legacy endpoint to create 0x01 validators here
- Once set, the withdrawal address of a validator cannot be changed.
- Maximum 250 validators can be created per request.
- Transactions in the response are set to our 0x02 batch contract
- We provide 3 transaction formats in the response See the guide to support differing transaction signing approaches.
- If you are restaking via Eigenlayer, your withdrawal address is set to your EigenPod address.
Parameters
network
- Type: string
- Enum:
mainnet,hoodi - Required: Yes
amounts
- Type: array of strings
- Required: Yes
- Description: Amounts in ETH to initially deposit to the validators.
withdrawal_address
- Type: string
- Required: Yes
- Description: An ETH wallet address used for the withdrawals credentials of the validators. This is the address that will receive consensus rewards and unstaked ETH after exiting.
funding_address
- Type: string
- Description: An ETH wallet address that holds the ETH to be staked and that will sign the staking transaction. If not specified,
withdrawal_addresswill be used.
fee_recipient_address
- Type: string
- Description: An ETH wallet address that will receive the execution layer rewards. If not specified,
withdrawal_addresswill be used.
region
- Type: string
- Enum:
ca-central-1,eu-west-1
Response
201 Created Validators
data
- Type: array of objects
data object
- id: string
- index: integer | null
- network: string (enum:
mainnet,hoodi) - pubkey: string (prefixed with
0x) - withdrawal_address: string
- status: string
- withdrawal_credentials: string
- fee_recipient_address: string
- net_fee_payout_address: string
- region: string
- deposit_data: object
- status_history: object
- status_estimates: object
Example Response
{
"data": [
{
"network": "hoodi",
"pubkey": "0x8fc7b098767d6b45f431ac820f6884f6f74bbebee4e6f30456bbcf48a280248307a8260f2913a27c076f2f0c64c67aad",
"status": "provisioned",
"withdrawal_address": "0xE40F80618324C814cD444434670a44ba4583aE38",
"withdrawal_credentials": "0x010000000000000000000000e40f80618324c814cd444434670a44ba4583ae38",
"net_fee_payout_address": "0xE40F80618324C814cD444434670a44ba4583aE38",
"fee_recipient_address": "0xE40F80618324C814cD444434670a44ba4583aE38",
"region": "ca-central-1",
"deposit_data": { /* deposit data fields */ },
"status_history": { /* status history fields */ },
"status_estimates": { /* status estimates fields */ }
}
]
}
Example CURL Request
curl --request POST \
--url https://api.figment.io/ethereum/validators/0x02 \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'x-api-key: your-api-key-here' \
--data '{
"network": "mainnet"
}'
Response Codes
400 Bad request401 Unauthorized422 Unprocessable entity
Updated 4 days ago.