Validator

Host a validator (with private key)

POST https://www.allnodes.com/api/v1/node/hosting

This endpoint allows you to host new validator.

Headers

Name
Type
Description

Authorization*

string

Bearer TOKEN

Request Body

Name
Type
Description

currencySymbol*

string

Must be "ETH"

privateKey*

string

Validator private key in HEX (not withdrawal private key)

network*

string

"mainnet" | "pyrmont" | "prater"

graffiti*

string

Graffiti of your new validator (not more than 17 bytes)

relayId

string

MEV-Boost Relay of your new validator. Possible options: * "flashbots" * "ultrasound" * "maxprofit" (Enterprise plan required) * null (this option disables MEV-Boost)

planType

string

Pricing plan. Possible options: * "advanced" (default) * "enterprise"

{
  id: string;
  ip: string;
  name: string;
  currencySymbol: string;
  createdAt: string;
  payoutFrequencySeconds: number;
  apr: string;
  instance: {
    version: string;
    status: string;
    uptimeSeconds: number | null;
    nodeId: number | null;
  };
  address: {
    rewardOwner: string;
    rewardsEarned: number;
    signingPublicKey: string;
  };
}

Host a validator (with keystore and password)

POST https://www.allnodes.com/api/v1/node/hosting

This endpoint allows you to host new validator.

Headers

Name
Type
Description

Authorization*

string

Bearer TOKEN

Request Body

Name
Type
Description

currencySymbol*

string

Must be "ETH"

keystore*

object

Your keystore content in JSON

password*

string

Your keystore password

networkName*

string

"mainnet" | "pyrmont" | "prater"

graffiti*

string

Graffiti of your new validator (not more than 17 bytes)

relayId

string

MEV-Boost Relay of your new validator. Possible options: * "flashbots" * "ultrasound" * "maxprofit" (Enterprise plan required) * null (this option disables MEV-Boost)

planType

string

Pricing plan. Possible options: * "advanced" (default) * "enterprise"

{
  id: string;
  ip: string;
  name: string;
  currencySymbol: string;
  createdAt: string;
  payoutFrequencySeconds: number;
  apr: string;
  instance: {
    version: string;
    status: string;
    uptimeSeconds: number | null;
    nodeId: number | null;
  };
  address: {
    rewardOwner: string;
    rewardsEarned: number;
    signingPublicKey: string;
  };
}

Get message to sign for Fee Recipient address change

GET https://www.allnodes.com/api/v1/node/{id}/fee-recipient/sign-message

Use this endpoint before changing Fee Recipient address.

Path Parameters

Name
Type
Description

id*

string

Node for which you want to change Fee Recipient address. ID can be extracted from the “Get all nodes” call

Query Parameters

Name
Type
Description

address*

string

Your new Fee Recipient address

Headers

Name
Type
Description

Authorization*

string

Bearer TOKEN

{
  message: string;
}

Change Fee Recipient address

PUT https://www.allnodes.com/api/v1/node/{id}/fee-recipient

This endpoint allows you to change Fee Recipient address of your validator.

Path Parameters

Name
Type
Description

id*

string

Node for which you want to change Fee Recipient address. ID can be extracted from the “Get all nodes” call

Headers

Name
Type
Description

Authorization*

string

Bearer TOKEN

Request Body

Name
Type
Description

message*

string

Message to sign

signature*

string

ECDSA signature (HEX). Must be signed by deposit or withdrawal addresses

address*

string

Your new Fee Recipient address

{
  nodeId: string;
}

Change MEV-Boost Relay

PUT https://www.allnodes.com/api/v1/node/{id}/relay

This endpoint allows you to change MEV-Boost Relay of your validator.

Path Parameters

Name
Type
Description

id*

string

Node for which you want to change MEV-Boost Relay. ID can be extracted from the “Get all nodes” call

Headers

Name
Type
Description

Authorization*

string

Bearer TOKEN

Request Body

Name
Type
Description

relayId*

string

MEV-Boost Relay of your new validator. Possible options: * "flashbots" * "ultrasound" * "maxprofit" (Enterprise plan required) * null (this option disables MEV-Boost)

{
  nodeId: string;
  newRelay: string;
}

Get message to sign for Voluntary Exit request

GET https://www.allnodes.com/api/v1/node/{id}/voluntary-exit/sign-message

Use this endpoint before requesting Voluntary Exit.

Path Parameters

Name
Type
Description

id*

string

Node you want to exit. ID can be extracted from the “Get all nodes” call

Headers

Name
Type
Description

Authorization*

string

Bearer TOKEN

{
  message: string;
}

Request Voluntary Exit

POST https://www.allnodes.com/api/v1/node/{id}/voluntary-exit

This endpoint allows you to request Voluntary Exit of your validator.

Path Parameters

Name
Type
Description

id*

string

Node you want to exit. ID can be extracted from the “Get all nodes” call

Headers

Name
Type
Description

Authorization*

string

Bearer TOKEN

Request Body

Name
Type
Description

message*

string

Message to sign

signature*

string

ECDSA signature (HEX). Must be signed by deposit or withdrawal addresses

{
  nodeId: string;
}

Last updated