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
api-key*
String
API Key provided by Luganodes
Request Body
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"
}
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
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
api-key*
String
API Key provided by Luganodes
Request Body
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"
}
Sample Request
curl --location '{{url}}/api/validators/switch' \
--header 'api-key: ee908371-d13b-43dd-ae33-b854dade5e9d' \
--data '{
"pubKey": "0x9838f66ccbe1dcd40b31e619c8fdd6aa3ce1e4f8c5ba0eb04776202612d4898f9967de72983711297b1af0868c73f973"
}'
Types
Switch Response Object
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