Node Provisioning APIs
Provisioning APIs for Ethereum nodes creation and staking delegation
What are the Node Provisioning APIs?
Provision Request API: The client calls this API to initiate a request to create the transaction objects needed to sign
Get Delegation Objects API: The client calls this API to receive the transaction objects that are used to stake with the Ethereum staking contract
Add Stake API: The client calls this API add more stake to an existing validator by retrieving the transaction objects used to stake with the Beacon deposit contract.
Active Indexes API
The client calls this API to receive indexes of all current active validators associated with an API key.
The Node Provisioning APIs allow clients to spin up new Ethereum nodes via APIs. The APIs can be used to create and receive the transaction objects that need to be signed using the Ethereum Staking contract. The APIs involved are
API Reference
Provisioning Request
POST /provision
Submits a provision request to our secure node systems to generate the required files based on the withdrawal address and the number of validators sent in the request.
The response will contain a UUID which can be used to track the provision request.
Query Parameters
api_key*
String
API Key provided by Luganodes
Request Body
attributes*
Object
Attributes Object
Attributes Object
eth1Address*
Ethereum wallet address which will be used to create withdrawal credentials for the validator
String
validators*
Array of Validator Config Object
Array
compounding
true will return transaction objects for 0x02 type withdrawal credentials
false will return transactions objects for 0x01 type withdrawal credentials
NOTE: 0x02 type validators can accommodate stake between 32 - 2048 ETH and are eligible for partial withdrawals.
Default is false
Boolean
amountPerValidator
Stake amount that can be set for each validator with 0x02 type withdrawal credentials.
Default is 32 ETH
Number
Validator Config Object
Provisioning Response Object
uuid
Unique identifier of provisioning request
String
withdrawalKey
withdrawal key added to the validators
String
status
Provisioning request status - "CREATED"
String
clientId
Client identifier associated with api key
String
attributes
attributes object that is passed in the request's body
Object
created
Timestamp of the creation of the provision request
String
Get Delegation Objects
GET /validators
Fetch the transaction objects that need to be signed by sending the UUID received in the Provisioning Request API.
Query Parameters
api_key*
String
API key provided by Luganodes
filters*
String
provisioning_request_uuid:YOUR UUID
page
Number
page number to be fetched
per_page
Number
Number of results per page
Paginated Response Object
results
Array of ETH2 delegation objects
Array
page
Page of fetched results
Number
per_page
Number of results per page
Number
pages
Total number of pages
Number
total
Number of results in total
Number
Delegation Object
id
Identifier of delegation object
String
address
Validator public key
String
attributes
Delegation attributes object
Object
amount
Amount currently delegated
String
created
Delegation object creation time
String
status
Delegation status enum
String
clientId
Partner identifier associated with api key
String
provisioning_request_uuid
Associated provisioning request unique identifier
String
Delegation Attributes Object
count
Total number of validators in associated provisioning request
Number
index
Index of validator in associated provisioning request
Number
depositInput
Validator deposit transaction data
String
validatorKey
Validator public key
String
Delegation Status Enum
CREATED
Validator was provisioned through Luganodes API
DEPOSITED
Deposit is waiting to be seen by ETH2 chain
PENDING
Validator is in the queue waiting to go live
ACTIVE
Validator is participating and earning rewards
EXIT_SENT
Exit transaction for the validator is issued
EXITED
Validator has exited from the network
UNKNOWN
Error while fetching the status of validator
Add Stake Request
POST /validators/add-stake
Submits a request to generate the transaction objects required to stake with the beacon deposit contract. This request allows users to add more stake to only active validators having 0x02 type withdrawal credentials. If validator does not have 0x02 type withdrawal credentials, it can be switched through the Switch API.
Query Parameters
api_key*
String
API Key provided by Luganodes
Request Body
address*
String
Public address of validator
amount*
Number
Amount to be staked
Sample Request
Types
Add Stake Response Object
address
Public address of validator
String
addStakeAmount
Amount which needs to be staked
Object
depositInput
Unsigned deposit object for executing the transaction on the Beacon deposit contract.
String
Get Active Indexes
GET /active-indexes
Fetch the indexes of all current active validators associated with an API key.
Query Parameters
api_key*
String
API key provided by Luganodes
Response Object
activeIndexes
Array of indexes of all active validators
Array
Last updated