Consolidation & Switch

Simplify your validator operations

What is Consolidation and Switching ?

Pectra EIP 7251 enables consolidation of stake from multiple validators into a single validator with a maximum effective balance of 2048 ETH. This operations moves stake from multiple validators into a single validator without having to exit the validators from the network.

Switching operations are performed to convert validators with 0x01 type withdrawal credentials to 0x02 type withdrawal credentials in order to be eligible for auto-compounding and partial withdrawals.

API Reference

Consolidation Request

POST /validators/consolidate

Submits a consolidate request to generate an unsigned transaction. This transaction needs to be signed by the validator withdrawal address and broadcasted to the network to trigger consolidation.

Headers

Name
Type
Description

api-key*

String

API Key provided by Luganodes

Request Body

Name
Type
Description

sourcePubKey*

String

Public address of source validator

targetPubKey*

String

Public address of target validator

{
    "message": "Consolidation request transaction created successfully",
    "consolidationRequestTrx": {
        "to": "0x0000bbddc7ce488642fb579f8b00f3a590007251",
        "data": "0x9838f66ccbe1dcd40b31e619c8fdd6aa3ce1e4f8c5ba0eb04776202612d4898f9967de72983711297b1af0868c73f973b5a2635ef8d420a0c5d23341c638dd11a500aefa8f7d9fc1f726edbf8163f4e0b727f47faa57b91af50c13e863f13142",
        "value": 1,
        "nonce": 54,
        "gasLimit": 100000,
        "maxFeePerGas": "2297448015",
        "maxPriorityFeePerGas": "84044341",
        "type": 2,
        "chainId": "560048"
    },
    "unsignedTx": "0x02f87883088bb0368405026a358488f0464f830186a08001b8609838f66ccbe1dcd40b31e619c8fdd6aa3ce1e4f8c5ba0eb04776202612d4898f9967de72983711297b1af0868c73f973b5a2635ef8d420a0c5d23341c638dd11a500aefa8f7d9fc1f726edbf8163f4e0b727f47faa57b91af50c13e863f13142c0"
}

Consolidation operations can be performed for one source and one target validator at a time. If you want to perform batch operations, you can use our CLI.

Sample Request

curl --location '{{url}}/api/validators/consolidate' \
--header 'api-key: ee908371-d13b-43dd-ae33-b854dade5e9d' \
--data '{
    "sourcePubKey": "0x9838f66ccbe1dcd40b31e619c8fdd6aa3ce1e4f8c5ba0eb04776202612d4898f9967de72983711297b1af0868c73f973",
    "targetPubKey": "0xb5a2635ef8d420a0c5d23341c638dd11a500aefa8f7d9fc1f726edbf8163f4e0b727f47faa57b91af50c13e863f13142"
}'

Types

Consolidate Response Object

Property
Description
Type

message

Transaction generation status

String

consolidationRequestTrx

Transaction Object

Object

unsignedTx

Unsigned transaction object which needs to be signed wiith the validator withdrawal address

String

Switch Request

POST /validators/switch

Submits a switch request to generate an unsigned transaction which needs to be signed with the validators withdrawal address and broadcasted to the network. This operation will convert your validators 0x01 withdrawal credentials to 0x02 type.

Headers

Name
Type
Description

api-key*

String

API Key provided by Luganodes

Request Body

Name
Type
Description

pubKey*

String

Public address of validator

{
    "message": "Validator switch request txn created successfully",
    "switchRequestTrx": {
        "to": "0x0000bbddc7ce488642fb579f8b00f3a590007251",
        "data": "0x9838f66ccbe1dcd40b31e619c8fdd6aa3ce1e4f8c5ba0eb04776202612d4898f9967de72983711297b1af0868c73f9739838f66ccbe1dcd40b31e619c8fdd6aa3ce1e4f8c5ba0eb04776202612d4898f9967de72983711297b1af0868c73f973",
        "value": "11",
        "nonce": 60,
        "gasLimit": 100000,
        "maxFeePerGas": "2267675245",
        "maxPriorityFeePerGas": "87740461",
        "type": 2,
        "chainId": "560048"
    },
    "unsignedTx": "0x02f88c83088bb03c84053ad02d848729fa6d830186a0940000bbddc7ce488642fb579f8b00f3a5900072510bb8609838f66ccbe1dcd40b31e619c8fdd6aa3ce1e4f8c5ba0eb04776202612d4898f9967de72983711297b1af0868c73f9739838f66ccbe1dcd40b31e619c8fdd6aa3ce1e4f8c5ba0eb04776202612d4898f9967de72983711297b1af0868c73f973c0"
}

Switch operations can be performed for one validator at a time. If you want to perform batch operations, you can use our CLI.

Sample Request

curl --location '{{url}}/api/validators/switch' \
--header 'api-key: ee908371-d13b-43dd-ae33-b854dade5e9d' \
--data '{
    "pubKey": "0x9838f66ccbe1dcd40b31e619c8fdd6aa3ce1e4f8c5ba0eb04776202612d4898f9967de72983711297b1af0868c73f973"
}'

Types

Switch Response Object

Property
Description
Type

message

Transaction generation status

String

switchRequestTrx

Transaction Object

Object

unsignedTx

Unsigned transaction object which needs to be signed wiith the validator withdrawal address

String

Last updated