Exit Validators
Withdrawal Options for Validators
You can either pass:
- a withdrawal address and an amount of ETH validators (1 validator = 32ETH) to unstake and we will exit validators on your behalf. This only works with validators having a
0x01withdrawal credential. - specific validators pubkeys, if you need more control. This works with any type of validator withdrawal credential, and is the only way to exit
0x02validators.
The endpoint will return a list of validators that will be exited together with estimates for exit and for principal withdrawal.
Validator Specifications
0x02 validators can only be exited by pubkey
Parameters
- pubkeys: array of strings (required)
- network: string (enum) (required)
Allowed:
mainnethoodi
Responses
202 Exit Request Accepted
Response Structure:
{
"data": [
{
"id": "string",
"index": "integer | null",
"network": "string",
"pubkey": "string",
"withdrawal_address": "string",
"status": "string | null",
"withdrawal_credentials": "string | null",
"fee_recipient_address": "string | null",
"net_fee_payout_address": "string | null",
"region": "string | null",
"deposit_data": {
"amount": "number",
"signature": "string",
"figment_signature": "string",
"deposit_data_root": "string",
"deposit_message_root": "string",
"fork_version": "string",
"deposit_cli_version": "string"
},
"status_history": {
"events": [
[
{
"status": "string",
"changed_at": "string"
}
]
]
},
"status_estimates": {
"estimated_active_at": "string",
"estimated_exit_at": "string",
"estimated_withdrawal_at": "string"
},
"on_demand_exit": {
"requested_at": "string",
"approved_at": "string | null",
"submitted_at": "string | null",
"request_id": "string"
},
"exit_message": {
"fork_version": "string",
"encrypted_value": "string"
},
"staking_request": {
"id": "string",
"created_at": "string"
},
"balances": {
"actual": "string",
"pending_deposit": "string",
"pending_topups": "string",
"pending_withdrawals": "string"
}
}
],
"meta": {
"on_demand_exit_request_id": "string"
}
}
Error Responses
- 400: Invalid parameters
- 401: Unauthorized
Example Request
curl --request POST \
--url https://api.figment.io/ethereum/validators/exits \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'x-api-key: your-api-key-here' \
--data '{
"network": "mainnet"
}'
Example Response
{
"data": [
{
"id": "031af36c-508a-4f3d-84dd-f46d9e59428f",
"index": "123456",
"network": "hoodi",
"pubkey": "0xd1ef8d468ef53d82368d2026e321ab2c6d44f44c33b7b9f22369bf6dcf37fb0208f82dd6b485325ce1bbf5aec7ad45bb",
"withdrawal_address": "0xE40F80618324C814cD444434670a44ba4583aE38",
"status": "active_ongoing",
"withdrawal_credentials": "0x010000000000000000000000fc438e6cc4b230eb5bfaae1337c3f5da2b9140f1",
"fee_recipient_address": "0x781462762B706AA7c1DA71FBA1a545724928b81f",
"net_fee_payout_address": "0x781462762B706AA7c1DA71FBA1a545724928b81f",
"region": "ca-central-1",
"deposit_data": {
"amount": 32000000000,
"signature": "0xaab7e3b41689fced6c3437a6bc5caf471ed319b94ad2642c47c5f641d5e3a046432171d47d48cd7a3e8a323939d4976c1315ad4dae134c421214673ddff9105ef1bb7f79c1babc6cd9c31428d5e44472164e9c9fccfd10fb9768c0855b194f49",
"figment_signature": "0xZDFlZjhkNDY4ZWY1M2Q4MjM2OGQyMDI2ZTMyMWFiMmM2ZDQ0ZjQ0YzMzYjdiOWYyMjM2OWJmNmRjZjM3ZmIwMjA4ZjgyZGQ2YjQ4NTMyNWNlMWJiZjVhZWM3YWQ0NWJi",
"deposit_data_root": "b2f5083221d6b61f2237af155c07c746f6a75c7d24dfe418106efdf87e9b9422",
"deposit_message_root": "026cbefa013e03a3d81592b7a5f6205773c12a6f7674529e497e9a4eb2df2d44",
"fork_version": "0x00000000",
"deposit_cli_version": "1.2.0"
},
"status_history": {
"events": [
[
{
"status": "provisioned",
"changed_at": "2023-07-01T00:00:00.000Z"
},
{
"status": "funding_requested",
"changed_at": "2023-07-01T00:00:00.000Z"
},
{
"status": "deposited",
"changed_at": "2023-07-01T00:00:00.000Z"
},
{
"status": "active_ongoing",
"changed_at": "2023-07-01T00:00:00.000Z"
}
]
]
},
"status_estimates": {
"estimated_active_at": "2023-07-01T00:00:00.000Z",
"estimated_exit_at": "2023-07-01T00:00:00.000Z",
"estimated_withdrawal_at": "2023-07-01T00:00:00.000Z"
},
"on_demand_exit": {
"requested_at": "2023-07-01T00:00:00.000Z",
"approved_at": null,
"submitted_at": null,
"request_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"exit_message": {
"fork_version": "0x04001020",
"encrypted_value": "-----BEGIN PGP MESSAGE-----\nVersion: 2023-03-03 (159679)\nComment: 0xf27394bf199c58623206923c26fd186fd1e91302d09f22aaf40c053d8725364b05199bebe91d3a6737aebe8cc5a1b202\n\nwV7DhAgK6qzUbbYSAQdA069SH+2v3hkzd/REedn8/1k2eVK0GGV4r4lzGf5Jg3Ew\n/cFSwaXhaBgfinFXMCmYJtYZF06oZcH4XzZm3IPeXktS6wfScogE+W/eapX0nHlT\n0sF6Bb/uJAExeOtRurwgqDkc/D+g+BioSsg2XQ6O9a6SUj7bb2plX2E9JPhSMhPY\nzLXA4cB8F9IjpSv/Ofhlbid9+cWnZLDHrU69Q0nCcTwZTQZbOoOi7Mj04pKEHux1\nvaalZ4O8N5ptJwWygB7NMxZAkosruPURQ4HS2EaFjr5Fjle6+pfYN1y39hOvsoQe\nT3E1/4DbfmFbDNjBqwjAJLkmEBu18AKgxJtEjQaCoeF1Q/WTIA8JBX3yy14AZI3q\noYZ5gd5QdVo24aoYrm75rQO0GfZqvU5B/kKezrA+eFngO79bgppyjIacItNaHEaD\nkQfO+6SE8A0mQXxQr0IqJiiNhrG8tPhDcLZcvKRXPoGIkQcFNCPiOehFsB6drhP6\n7v/P81fj63df8fk6FBkiDHIdros8xj9PGHbYNrCNsw==\n=DiMO\n-----END PGP MESSAGE-----"
},
"staking_request": {
"id": "f8bd4623-39ed-46ec-8518-991792665e56",
"created_at": "2023-07-01T00:00:00.000Z"
},
"balances": {
"actual": "32.0",
"pending_deposit": "0.0",
"pending_topups": "1.5",
"pending_withdrawals": "0.5"
}
}
],
"meta": {
"on_demand_exit_request_id": "bdb4e909-24f5-412c-a74a-cb030852444f"
}
}