Skip to main content

Staking

The endpoint /stake is the entry point for staking at Consensys Staking. The endpoint /stake is the entry point for staking with Consensys Staking.

The following are required:

  • Unique idempotency key for the request
  • Withdrawal public key.
  • 32 ETH.

The POST request returns the payload required for sending the transaction to the deposit contract.

{
"eth1_contract_address": "0x93247f2209abcacf57b75a51dafae777f9dd38bc",
"stakes":
[
{
"pubkey": "0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a",
"withdrawal_credentials": "string",
"amount": "32000000000",
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505",
"deposit_root": "string",
},
],
}

This payload also contains the reserved validator public key and the signature of its private counterpart.

The API provides a number of filter options for the staker

ClientType.

  • Lighthouse ClientType = "lighthouse"
  • Teku ClientType = "teku"

CloudProvider.

  • Aws CloudProvider = "aws"
  • Azure CloudProvider = "azure"

Region.

  • AWS Singapore Region = "as-singapore"
  • Azure Japan Region = "as-japan"
  • Azure Ireland Region = "eu-ireland"
  • AWS Sweden Region = "eu-sweden"
  • Azure US Central Region = "us-central"
  • Azure US East Region = "us-east"

Batch staking

API customers can also leverage the /batch-stake endpoint. This follows the same pattern as the /stake endpoint except the caller can request up to 100 validators (3200 ETH) in a single call. The endpoint will return the correct number of deposit payloads appropriately constructed and signed by their respective validator keys.

info

The same withdrawal key, fee_recipient and builder_relays are applied to all of the deposits. Our general view is that using the \stake endpoint provides greater control and flexibility for customers. It also makes it easier to use the \deposit-data endpoint when recalling deposit payloads.