Reserves a validator for the specific client (0x01 credentials only). Requires an idempotent key.
It takes the supplied withdrawal_pubkey, the amount which must be equal to 32,000,000,000 Gwei (32 ETH), with the following optional fields: a vault_name, a fee_recipient ETH1 address and builder_relays with the array of MEV relay addresses.
It returns the deposit payload for the user to send.
Filtering options available. Customer can choose CloudProvider(s), Region(s) and ClientType(s) (see documentation for full list of possibilities) If omitted, validators allocated as per default.
| Idempotency-Key required | string <uuid> Example: f1c971b4-7114-4c4b-8ad2-a6f9e33e2cd0 the unique idempotency key for this request |
Withdrawal Public Key, the pledged Amount of 32,000,000,000 Gwei (32 ETH) and an option vault name.
| withdrawal_pubkey required | string (PublicKey) ^(0x[a-fA-F0-9]{40})$ Unique Ethereum address withdrawal key: 20-bytes, hex-encoded, optional 0x prefix, case insensitive. |
| amount required | string (Gwei) ^[0-9]+$ |
| vault_name | string^[ a-zA-Z0-9_-]{3,20}$ |
| fee_recipient | string (Eth1Address) ^0x[a-fA-F0-9]{40}$ An ethereum 1 address, uniquely identifying them. 20-bytes, hex encoded with 0x prefix, case insensitive. |
| builder_relays | Array of strings (BuilderRelayAddress) [ items^(?:https?://)((0x[a-fA-F0-9]{96})|(0x[a-fA-F... ] |
| cloud_providers | Array of strings (CloudProvider) Items Enum: "azure" "aws" |
| regions | Array of strings (Region) Items Enum: "as-japan" "as-singapore" "eu-sweden" "eu-ireland" "us-central" |
| client_types | Array of strings (ClientType) Items Enum: "teku" "lighthouse" |
{- "withdrawal_pubkey": "0x93247f2209abcacf57b75a51dafae777f9dd38bc",
- "amount": "32000000000",
- "vault_name": "precious_vault",
- "fee_recipient": "0x93247f2209abcacf57b75a51dafae777f9dd38bc",
- "cloud_providers": [
- "azure"
], - "regions": [
- "as-japan"
], - "client_types": [
- "teku"
]
}{- "chain_deposit_configuration": {
- "eth1_contract_address": "0x93247f2209abcacf57b75a51dafae777f9dd38bc",
- "chain_id": "18446744073709551615",
- "network_id": "18446744073709551615"
}, - "stake": {
- "pubkey": "0x93247f2209abcacf57b75a51dafae777f9dd38bc",
- "withdrawal_credentials": "string",
- "amount": "32000000000",
- "signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505",
- "deposit_root": "string",
- "deposit_message_root": "string",
- "hex": "string"
}, - "fee_recipient": "0x93247f2209abcacf57b75a51dafae777f9dd38bc"
}Reserves validators for the specific client (0x01 credentials only). Requires an idempotent key.
It takes the supplied withdrawal_pubkey, the amount which must equal to or a multiple of 32,000,000,000 Gwei (32 ETH), with the following optional fields: a vault_name, a fee_recipient ETH1 address and builder_relays with the array of MEV relay addresses.
It returns the deposit payloads for the user to send.
Filtering options available. Customer can choose CloudProvider(s), Region(s) and ClientType(s) (see documentation for full list of possibilities) If omitted, validators allocated as per default.
| Idempotency-Key required | string <uuid> Example: f1c971b4-7114-4c4b-8ad2-a6f9e33e2cd0 the unique idempotency key for this request |
Withdrawal Public Key, the pledged Amount of 32,000,000,000 Gwei (32 ETH) and an option vault name.
| withdrawal_pubkey required | string (PublicKey) ^(0x[a-fA-F0-9]{40})$ Unique Ethereum address withdrawal key: 20-bytes, hex-encoded, optional 0x prefix, case insensitive. |
| amount required | string (Gwei) ^[0-9]+$ |
| vault_name | string^[ a-zA-Z0-9_-]{3,20}$ |
| fee_recipient | string (Eth1Address) ^0x[a-fA-F0-9]{40}$ An ethereum 1 address, uniquely identifying them. 20-bytes, hex encoded with 0x prefix, case insensitive. |
| builder_relays | Array of strings (BuilderRelayAddress) [ items^(?:https?://)((0x[a-fA-F0-9]{96})|(0x[a-fA-F... ] |
| cloud_providers | Array of strings (CloudProvider) Items Enum: "azure" "aws" |
| regions | Array of strings (Region) Items Enum: "as-japan" "as-singapore" "eu-sweden" "eu-ireland" "us-central" |
| client_types | Array of strings (ClientType) Items Enum: "teku" "lighthouse" |
{- "withdrawal_pubkey": "0x93247f2209abcacf57b75a51dafae777f9dd38bc",
- "amount": "32000000000",
- "vault_name": "precious_vault",
- "fee_recipient": "0x93247f2209abcacf57b75a51dafae777f9dd38bc",
- "cloud_providers": [
- "azure"
], - "regions": [
- "as-japan"
], - "client_types": [
- "teku"
]
}{- "chain_deposit_configuration": {
- "eth1_contract_address": "0x93247f2209abcacf57b75a51dafae777f9dd38bc",
- "chain_id": "18446744073709551615",
- "network_id": "18446744073709551615"
}, - "stakes": [
- {
- "pubkey": "0x93247f2209abcacf57b75a51dafae777f9dd38bc",
- "withdrawal_credentials": "string",
- "amount": "32000000000",
- "signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505",
- "deposit_root": "string",
- "deposit_message_root": "string",
- "hex": "string"
}
], - "fee_recipient": "0x93247f2209abcacf57b75a51dafae777f9dd38bc"
}Reserves a consolidated validator for the specific client (withdrawal credential 0x02). Requires an idempotent key.
It takes an amount must equal or above 32,000,000,000 Gwei (32 ETH) and equal or below 2,048,000,000,000 Gwei (2048 ETH). It uses the supplied withdrawal_pubkey, with the following optional fields: a vault_name, a fee_recipient ETH1 address and builder_relays with the array of MEV relay addresses.
It returns the deposit payloads for the user to send for each validator.
Filtering options available. Customer can choose CloudProvider(s), Region(s) and ClientType(s) (see documentation for full list of possibilities) If omitted, validators allocated as per default.
| Idempotency-Key required | string <uuid> Example: f1c971b4-7114-4c4b-8ad2-a6f9e33e2cd0 the unique idempotency key for this request |
Stake a single consolidated validator (0x02 withdrawal credential)
| withdrawal_pubkey required | string (PublicKey) ^(0x[a-fA-F0-9]{40})$ Unique Ethereum address withdrawal key: 20-bytes, hex-encoded, optional 0x prefix, case insensitive. |
| amount required | string (Gwei) ^[0-9]+$ |
| vault_name | string^[ a-zA-Z0-9_-]{3,20}$ |
| fee_recipient | string (Eth1Address) ^0x[a-fA-F0-9]{40}$ An ethereum 1 address, uniquely identifying them. 20-bytes, hex encoded with 0x prefix, case insensitive. |
| builder_relays | Array of strings (BuilderRelayAddress) [ items^(?:https?://)((0x[a-fA-F0-9]{96})|(0x[a-fA-F... ] |
| cloud_providers | Array of strings (CloudProvider) Items Enum: "azure" "aws" |
| regions | Array of strings (Region) Items Enum: "as-japan" "as-singapore" "eu-sweden" "eu-ireland" "us-central" |
| client_types | Array of strings (ClientType) Items Enum: "teku" "lighthouse" |
{- "withdrawal_pubkey": "0x93247f2209abcacf57b75a51dafae777f9dd38bc",
- "amount": "32000000000",
- "vault_name": "precious_vault",
- "fee_recipient": "0x93247f2209abcacf57b75a51dafae777f9dd38bc",
- "cloud_providers": [
- "azure"
], - "regions": [
- "as-japan"
], - "client_types": [
- "teku"
]
}{- "chain_deposit_configuration": {
- "eth1_contract_address": "0x93247f2209abcacf57b75a51dafae777f9dd38bc",
- "chain_id": "18446744073709551615",
- "network_id": "18446744073709551615"
}, - "stakes": [
- {
- "pubkey": "0x93247f2209abcacf57b75a51dafae777f9dd38bc",
- "withdrawal_credentials": "string",
- "amount": "32000000000",
- "signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505",
- "deposit_root": "string",
- "deposit_message_root": "string",
- "hex": "string"
}
], - "fee_recipient": "0x93247f2209abcacf57b75a51dafae777f9dd38bc"
}It returns the deposit payloads for the the previously reserved stake.
| stakeID required | string (UUID) ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}... Example: deadbeef-cafe-1337-2021-339ab8909701 Stake ID |
{- "chain_deposit_configuration": {
- "eth1_contract_address": "0x93247f2209abcacf57b75a51dafae777f9dd38bc",
- "chain_id": "18446744073709551615",
- "network_id": "18446744073709551615"
}, - "stakes": [
- {
- "pubkey": "0x93247f2209abcacf57b75a51dafae777f9dd38bc",
- "withdrawal_credentials": "string",
- "amount": "32000000000",
- "signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505",
- "deposit_root": "string",
- "deposit_message_root": "string",
- "hex": "string"
}
], - "fee_recipient": "0x93247f2209abcacf57b75a51dafae777f9dd38bc"
}This endpoint prepares a signed voluntary exit message. It won't submit the message to the consensus client.
The are two possible cases: the Default and Open PGP cyphered.
The successful response object has two fields:exit_transaction and fork_version.
exit_transaction contains a signed voluntary exit messagefork_version is the current fork version.The successful response object has the same exit_transaction and fork_version fields as in the previous case. The difference is that exit_transaction is an 0x-prefixed hex encoded string which contains a signed voluntary exit message encrypted as an ASCII armored message.
The customer should manually provide their armored PGP public key, and set the cypher query parameter to openpgp.
cypher=openpgp -> 400 - bad requestcypher is not specified -> 400 - bad requestcypher=openpgp -> Open PGP cyphered.cypher is not specified -> default.| validatorID required | string (ValidatorID) Examples:
Validator identifier |
| cypher | string Value: "openpgp" Cypher type. The only available option at the moment is |
{- "exit_transaction": {
- "message": {
- "epoch": 0,
- "validator_index": 0
}, - "signature": "0x2126140d542c1c23533e015b4b501715002a0c565c25182a5a29352a4a545652260757250b45010b5c3f31285e0103401520355a133e4e005538275c081e1b245f4421045f2e481208574b05262528624c27134c12590a420c3e472f46191159"
}, - "fork_version": "0x00000001"
}This endpoint submits the voluntary validator exit by preparing and submitting a signed voluntary exit message. It will submit the message to the consensus client. It does not support cyphering.
| validatorID required | string (ValidatorID) Examples:
Validator identifier |
| cypher | string Value: "openpgp" Cypher type. The only available option at the moment is |
{- "code": 400,
- "message": "api error: code 400: bad request: cannot initiate validator voluntary exit: validator is not active"
}Add ETH1 withdrawal public key (to create 0x01 withdrawals credentials).
Withdrawal public key with label.
| id | string (UUID) ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}... Unique identifier. |
| name required | string^[ a-zA-Z0-9_-]{3,20}$ |
| status | string |
| public_key required | string (PublicKey) ^(0x[a-fA-F0-9]{40})$ Unique Ethereum address withdrawal key: 20-bytes, hex-encoded, optional 0x prefix, case insensitive. |
{- "id": "deadbeef-cafe-1337-2021-339ab8909701",
- "name": "string",
- "status": "string",
- "public_key": "0x93247f2209abcacf57b75a51dafae777f9dd38bc"
}{- "id": "deadbeef-cafe-1337-2021-339ab8909701",
- "name": "string",
- "status": "string",
- "public_key": "0x93247f2209abcacf57b75a51dafae777f9dd38bc"
}