Skip to main content

Getting Started

To start staking on the SSV network using our DVT Staking API, there are a few essential prerequisites to ensure a smooth and efficient setup:

  • Minimum Stake Requirement: You will need a minimum of 32 ETH for each staking validator you wish to run.
  • SSV Tokens: To operate validators on the SSV network, holding at least 6.15 SSV tokens per validator is recommended to cover yearly operational costs.
  • API Key Request: Get an authentication token to start using DVT Staking API.
  • We provide two distinct endpoints for testing and production environments(Ethereum).

Steps

1. Prepare an request id

which is UUID, Generate it with this uuid npm package.

2. Create a order to set up staking SSV nodes through Ebunker infrastructure

sending a POST request to API.

Example Request

curl --request POST \
--url http://api-test.ssv.ebunker.io/api/v1/eth/staking/ssv/order \
--header 'accept: application/json' \
--header 'authorization: Bearer <token>' \
--header 'content-type: application/json' \
--data '
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa5",
"validatorsCount": "1",
"withdrawalAddress": "0x39D02C253dA1d9F85ddbEB3B6Dc30bc1EcBbFA17",
"feeRecipientAddress": "0x39D02C253dA1d9F85ddbEB3B6Dc30bc1EcBbFA17",
"ssvOwnerAddress": "0x39D02C253dA1d9F85ddbEB3B6Dc30bc1EcBbFA17",
"type": "without-encrypt-key",
"operationPeriodInDays": 30,
"ecdhPublicKey": null
}

Parameters

  • id — arbitrary UUID. You can later use that UUID to check the status of the set-up operation.
  • validatorsCount — number of validators. One validator is equal to 32 ETH.
  • withdrawalAddress — withdrawal address for the client. This address is also used as the validator owner's address and must be - used to sign the transaction to register the SSV validator at step 6.
  • feeRecipientAddress — Eth1 address that receives the fee recipient rewards.
  • ssvOwnerAddress — address that acts as the owner of the SSV cluster. The cluster owner can register the validator, update the - fee recipient address, top-up the cluster balance, and claim SSV incentives rewards.
  • type— type of operation:
    • without-encrypt-key (available) — validator's private key is returned encrypted to the client.
    • with-encrypt-key (not available) — validator private key is instead maintained by P2P to initiate withdrawals when requested by the client. If selected, fill the ecdhPublicKeyfield.
  • operationPeriodInDays— operation period in days.
  • ecdhPublicKey— your ECDH public key to obtain an encrypted validator private key.

Example response

{
"code": 200,
"message": "success"
}
3. Check the node set-up order's status

sending a POST request to API.

Example request:

curl -X 'GET' \
'http://api-test.ssv.ebunker.io/api/v1/eth/staking/ssv/order?id=123' \
-H 'accept: application/json'
  • id — UUID that was specified in the SSV set-up request.

Example response:

{
"code": 200,
"message": null,
"result": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa5",
"status": "ready",
"type": "without-encrypt-key",
"operationPeriodInDays": 30,
"liquidationPeriodInDays": 30,
"ecdhPublicKey": null,
"encryptedShares": [
{
"publicKey": "0xb4b5f251eac53f34eb1da2b6659d35db303e408c4c830156cf090441564474f356abd023a0e679aa97cefeed850abb27",
"nonce": 1,
"sharesData": "0x971aade51840b84fc5b88fee2ef1ed80ce57c2ea9a8fb610d2fdb3a287589a87c421b845e3f1cb4ef5a84eaba6c31d4c159ead3c818758d6fc988a207ea467ff35fb90ab502805569f8ff94042d870ebedc327ea0778476559c95076a99c7cd1b78b94bb2a5098c10b50000c7419476f295e0d1e94b17c1f985c76adfad8b7897bdf34b58388b6b201104616e179e93888016e92ab60b4bf5d844b1a8fd9fdd97e3dba2cfadbe65f1bc3b66aeed8b1be8407a150ae6a028fe72e50d70121e7eab424e02922422ce66fb45c5878eb0d307fae5b5b0637cee897a119563d18082c33fe5ac017d3cfd3a42e2f5f7d8bece98e679000fb7cfd339fbc1470177963d5cd73b6b4001e77f3dcb348cb07797b25fd3b6811e4dfbafe78a4a9d70861fd27001d88253500347ba8ff907bd647b83aa6b5bf727929ee35ce5360a0b7810b355f8e524426e8a6db75e240af29527b398c2d5a926e4867f04483ec61338d7f413cd419d17bc572a0b3ecd98e04426964a8350d1545493e2fe039828f8e74fb48da7f4ee26166b4c2b2b05fa94bf4721a0b6888a8065062ed45bd23f9d3fcbb80ecf3febfb8c90522b20ae724a94f12fb9de80c95dd7b1762d6b15312c3bbde291224fb7b809384404bde5d78bd36801a67154addc466d20c6e6146eda1e263167a96a9d21a1b4fef6d532957cfca20d3311ac2f5bfd6c4601df0eebec49b5a74adce8c1b7fbf82c5333d25c499f72928d3bfe47fa9c54ec9f55c63586758af8a256683952376b4feef745bbc2280e66bb475e48edc4a90eb128bfb3322b30065f3fedf6dcd3180798375eee05abc20433f79e3d6e73948a84057ca7b72b6ba756f257ca1a11f2fa3b130bcf28d9ef80cb946bf11e6008815ee6c100ab1527f13c064bac2b67a8f832ab70c98d39d77940f975c35c8dea26f2e25a5e706da368fa0dd08958ea11904b1b51ca40aab37e581e58a5c60ea1caa08063461b3319e6c8ff21b75f2ff9358ddccf27abea55e7dbad4f474741ff14fe9e63d9c001eec990531a5bc6b2196269cfa0050beced2e2ce55f9dfea48c0c81f3d1a1f4f6548e29de76b085f83f9399c29b89880a15b80e049de2fa9eef3eab7a1a15cd1d6ae2bc8fdc9837f59baf56c11ed7405bda5d2cd2de6fd80c7b7461abfb757c742b3216ef79d8268501cb3531a5fcf9d46b58e828e6aaea4bef8484cc8945912ac611827463d4a3dabe56f608181dfba8ffc7cb1cfdef5a09a9f107652b44d290fc42b0d5e3e16634342af07f205153b0c7d095e0d418f1d0aef8a7e00d41e5af183ceed36d5832169bdd91810b4ad686b85130ec07aeaccfbc26d440684ac34c8005c12b38caa41d18ecd51167afaba0aae2b605cb0cefcae1b4f64ff220167d1f93b73abd75368dd67c3a6ad48448021c66086daf62419d6de350ee3f25aef4784340c0932362da25cff3f1ed7316afce3034d264f1206322c6510aacddb9315f8b532516a52f2483d0a191caa38a10cb40d00494c43ddcc49b54349fd809409a8d6131746ef7adc57a9f7feea9bb3a4142d418e5b1f89ccde686a1627c9a9d5ac9bc6a06685017b15eb549e9bc2e7cf98720b616d8bea14b5b9194280bb1386154be5fd31dc6f64cfe5bbf80fff95e2a82a2a803e579e302c0db931470b78fb32fb1774840002417b86c4ad621e43ec36d2496a7f6b63d470fae3edb863f909ee0e4ce43ca293770a229cbcbd542c9bd123889298c3a6e32c2e5c5f4861afa640a16d5c5089373d3e6ddfdebc223a2d966c3e37d135f3f8805eb3432ff46befac6c41aff89739b1bab6ccee383fb524ff985b5054091fed2d351bff38ec78800200",
"ecdhEncryptedPrivateKey": null
}
],
"validatorsCount": 1,
"withdrawalAddress": "0x9c7d4b4595402ed44167C74f9F7c7720AB5528E0",
"ssvOwnerAddress": "0x39D02C253dA1d9F85ddbEB3B6Dc30bc1EcBbFA17",
"feeRecipientAddress": "0x9c7d4b4595402ed44167C74f9F7c7720AB5528E0",
"depositData": [
{
"pubkey": "0xb632ad4ebec8594ec8f2fbacc6df53dec180f8bae6561d70bf74c19520a35beff99cd92513058da6a22a75b9570ab31d",
"signature": "0x836e9eebeb29ed1d4b232fa38649e9902ea7d6f9d19e571c4e76cde4da2bcdbca822c8f29d21379325201735fa93925d1597f0c021a147910c165e60bf3308bc827d5fcd545f1c901e7b3102e28b8ea09d6c162c3ffd57e7398f73e5968e05db",
"depositDataRoot": "0x16678e6d91a8c3a8f1cdabc037fa32f1d296e629d1665a57f493eda1e6a6964a",
"withdrawalCredentials": "0100000000000000000000005cef11327af4104ba0f8a82fbb8628caee7cb1e3",
"amount": "32000000000",
"depositMessageRoot": "6a572503239cd1f11998af7901c0947fe36eb8efec080f22598d607d3938c1a8",
"forkVersion": "00001020",
"eth2NetworkName": "goerli",
"depositCliVersion": "2.3.0"
}
],
"validatorRegistrationTxs": {
"serializeTx": "0x02f9078605010210830f424094c3cd9a0ae89fff83b71b58b6512d43f8a41f363d80b9076406e8fb9c00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000016c7ded605b5c0000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046f3111b30000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000016c7ded605b5c0000000000000000000000000000000000000000000000000000000000000000030b4b5f251eac53f34eb1da2b6659d35db303e408c4c830156cf090441564474f356abd023a0e679aa97cefeed850abb2700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000520971aade51840b84fc5b88fee2ef1ed80ce57c2ea9a8fb610d2fdb3a287589a87c421b845e3f1cb4ef5a84eaba6c31d4c159ead3c818758d6fc988a207ea467ff35fb90ab502805569f8ff94042d870ebedc327ea0778476559c95076a99c7cd1b78b94bb2a5098c10b50000c7419476f295e0d1e94b17c1f985c76adfad8b7897bdf34b58388b6b201104616e179e93888016e92ab60b4bf5d844b1a8fd9fdd97e3dba2cfadbe65f1bc3b66aeed8b1be8407a150ae6a028fe72e50d70121e7eab424e02922422ce66fb45c5878eb0d307fae5b5b0637cee897a119563d18082c33fe5ac017d3cfd3a42e2f5f7d8bece98e679000fb7cfd339fbc1470177963d5cd73b6b4001e77f3dcb348cb07797b25fd3b6811e4dfbafe78a4a9d70861fd27001d88253500347ba8ff907bd647b83aa6b5bf727929ee35ce5360a0b7810b355f8e524426e8a6db75e240af29527b398c2d5a926e4867f04483ec61338d7f413cd419d17bc572a0b3ecd98e04426964a8350d1545493e2fe039828f8e74fb48da7f4ee26166b4c2b2b05fa94bf4721a0b6888a8065062ed45bd23f9d3fcbb80ecf3febfb8c90522b20ae724a94f12fb9de80c95dd7b1762d6b15312c3bbde291224fb7b809384404bde5d78bd36801a67154addc466d20c6e6146eda1e263167a96a9d21a1b4fef6d532957cfca20d3311ac2f5bfd6c4601df0eebec49b5a74adce8c1b7fbf82c5333d25c499f72928d3bfe47fa9c54ec9f55c63586758af8a256683952376b4feef745bbc2280e66bb475e48edc4a90eb128bfb3322b30065f3fedf6dcd3180798375eee05abc20433f79e3d6e73948a84057ca7b72b6ba756f257ca1a11f2fa3b130bcf28d9ef80cb946bf11e6008815ee6c100ab1527f13c064bac2b67a8f832ab70c98d39d77940f975c35c8dea26f2e25a5e706da368fa0dd08958ea11904b1b51ca40aab37e581e58a5c60ea1caa08063461b3319e6c8ff21b75f2ff9358ddccf27abea55e7dbad4f474741ff14fe9e63d9c001eec990531a5bc6b2196269cfa0050beced2e2ce55f9dfea48c0c81f3d1a1f4f6548e29de76b085f83f9399c29b89880a15b80e049de2fa9eef3eab7a1a15cd1d6ae2bc8fdc9837f59baf56c11ed7405bda5d2cd2de6fd80c7b7461abfb757c742b3216ef79d8268501cb3531a5fcf9d46b58e828e6aaea4bef8484cc8945912ac611827463d4a3dabe56f608181dfba8ffc7cb1cfdef5a09a9f107652b44d290fc42b0d5e3e16634342af07f205153b0c7d095e0d418f1d0aef8a7e00d41e5af183ceed36d5832169bdd91810b4ad686b85130ec07aeaccfbc26d440684ac34c8005c12b38caa41d18ecd51167afaba0aae2b605cb0cefcae1b4f64ff220167d1f93b73abd75368dd67c3a6ad48448021c66086daf62419d6de350ee3f25aef4784340c0932362da25cff3f1ed7316afce3034d264f1206322c6510aacddb9315f8b532516a52f2483d0a191caa38a10cb40d00494c43ddcc49b54349fd809409a8d6131746ef7adc57a9f7feea9bb3a4142d418e5b1f89ccde686a1627c9a9d5ac9bc6a06685017b15eb549e9bc2e7cf98720b616d8bea14b5b9194280bb1386154be5fd31dc6f64cfe5bbf80fff95e2a82a2a803e579e302c0db931470b78fb32fb1774840002417b86c4ad621e43ec36d2496a7f6b63d470fae3edb863f909ee0e4ce43ca293770a229cbcbd542c9bd123889298c3a6e32c2e5c5f4861afa640a16d5c5089373d3e6ddfdebc223a2d966c3e37d135f3f8805eb3432ff46befac6c41aff89739b1bab6ccee383fb524ff985b5054091fed2d351bff38ec78800200c0",
"to": "0xC3CD9A0aE89Fff83b71b58b6512D43F8a41f363D",
"gasLimit": "0.000000000001",
"data": "0x06e8fb9c00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000016c7ded605b5c0000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046f3111b30000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000016c7ded605b5c0000000000000000000000000000000000000000000000000000000000000000030b4b5f251eac53f34eb1da2b6659d35db303e408c4c830156cf090441564474f356abd023a0e679aa97cefeed850abb2700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000520971aade51840b84fc5b88fee2ef1ed80ce57c2ea9a8fb610d2fdb3a287589a87c421b845e3f1cb4ef5a84eaba6c31d4c159ead3c818758d6fc988a207ea467ff35fb90ab502805569f8ff94042d870ebedc327ea0778476559c95076a99c7cd1b78b94bb2a5098c10b50000c7419476f295e0d1e94b17c1f985c76adfad8b7897bdf34b58388b6b201104616e179e93888016e92ab60b4bf5d844b1a8fd9fdd97e3dba2cfadbe65f1bc3b66aeed8b1be8407a150ae6a028fe72e50d70121e7eab424e02922422ce66fb45c5878eb0d307fae5b5b0637cee897a119563d18082c33fe5ac017d3cfd3a42e2f5f7d8bece98e679000fb7cfd339fbc1470177963d5cd73b6b4001e77f3dcb348cb07797b25fd3b6811e4dfbafe78a4a9d70861fd27001d88253500347ba8ff907bd647b83aa6b5bf727929ee35ce5360a0b7810b355f8e524426e8a6db75e240af29527b398c2d5a926e4867f04483ec61338d7f413cd419d17bc572a0b3ecd98e04426964a8350d1545493e2fe039828f8e74fb48da7f4ee26166b4c2b2b05fa94bf4721a0b6888a8065062ed45bd23f9d3fcbb80ecf3febfb8c90522b20ae724a94f12fb9de80c95dd7b1762d6b15312c3bbde291224fb7b809384404bde5d78bd36801a67154addc466d20c6e6146eda1e263167a96a9d21a1b4fef6d532957cfca20d3311ac2f5bfd6c4601df0eebec49b5a74adce8c1b7fbf82c5333d25c499f72928d3bfe47fa9c54ec9f55c63586758af8a256683952376b4feef745bbc2280e66bb475e48edc4a90eb128bfb3322b30065f3fedf6dcd3180798375eee05abc20433f79e3d6e73948a84057ca7b72b6ba756f257ca1a11f2fa3b130bcf28d9ef80cb946bf11e6008815ee6c100ab1527f13c064bac2b67a8f832ab70c98d39d77940f975c35c8dea26f2e25a5e706da368fa0dd08958ea11904b1b51ca40aab37e581e58a5c60ea1caa08063461b3319e6c8ff21b75f2ff9358ddccf27abea55e7dbad4f474741ff14fe9e63d9c001eec990531a5bc6b2196269cfa0050beced2e2ce55f9dfea48c0c81f3d1a1f4f6548e29de76b085f83f9399c29b89880a15b80e049de2fa9eef3eab7a1a15cd1d6ae2bc8fdc9837f59baf56c11ed7405bda5d2cd2de6fd80c7b7461abfb757c742b3216ef79d8268501cb3531a5fcf9d46b58e828e6aaea4bef8484cc8945912ac611827463d4a3dabe56f608181dfba8ffc7cb1cfdef5a09a9f107652b44d290fc42b0d5e3e16634342af07f205153b0c7d095e0d418f1d0aef8a7e00d41e5af183ceed36d5832169bdd91810b4ad686b85130ec07aeaccfbc26d440684ac34c8005c12b38caa41d18ecd51167afaba0aae2b605cb0cefcae1b4f64ff220167d1f93b73abd75368dd67c3a6ad48448021c66086daf62419d6de350ee3f25aef4784340c0932362da25cff3f1ed7316afce3034d264f1206322c6510aacddb9315f8b532516a52f2483d0a191caa38a10cb40d00494c43ddcc49b54349fd809409a8d6131746ef7adc57a9f7feea9bb3a4142d418e5b1f89ccde686a1627c9a9d5ac9bc6a06685017b15eb549e9bc2e7cf98720b616d8bea14b5b9194280bb1386154be5fd31dc6f64cfe5bbf80fff95e2a82a2a803e579e302c0db931470b78fb32fb1774840002417b86c4ad621e43ec36d2496a7f6b63d470fae3edb863f909ee0e4ce43ca293770a229cbcbd542c9bd123889298c3a6e32c2e5c5f4861afa640a16d5c5089373d3e6ddfdebc223a2d966c3e37d135f3f8805eb3432ff46befac6c41aff89739b1bab6ccee383fb524ff985b5054091fed2d351bff38ec78800200",
"value": "0.0",
"chainId": 5,
"type": 2,
"maxFeePerGas": "0.000000000000000016",
"maxPriorityFeePerGas": "2"
},
"ssvFeeTxs": [
{
"serializeTx": "0x02f901c605800210830186a094c3cd9a0ae89fff83b71b58b6512d43f8a41f363d80b901a4bc26e7e50000000000000000000000009c7d4b4595402ed44167c74f9f7c7720ab5528e0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000016c7ded605b5c0000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046f3111b30000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000016c7ded605b5c00000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000004c0",
"to": "0xC3CD9A0aE89Fff83b71b58b6512D43F8a41f363D",
"gasLimit": "0.0000000000001",
"data": "0xbc26e7e50000000000000000000000009c7d4b4595402ed44167c74f9f7c7720ab5528e0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000016c7ded605b5c0000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046f3111b30000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000016c7ded605b5c00000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000004",
"value": "0.0",
"chainId": 5,
"type": 2,
"maxFeePerGas": "0.000000000000000016",
"maxPriorityFeePerGas": "2"
}
],
"feeRecipientTx": {
"serializeTx": "0x02f84405800210830186a094c3cd9a0ae89fff83b71b58b6512d43f8a41f363d80a4dbcdc2cc0000000000000000000000009c7d4b4595402ed44167c74f9f7c7720ab5528e0c0",
"to": "0xC3CD9A0aE89Fff83b71b58b6512D43F8a41f363D",
"gasLimit": "0.0000000000001",
"data": "0xdbcdc2cc0000000000000000000000009c7d4b4595402ed44167c74f9f7c7720ab5528e0",
"value": "0.0",
"chainId": 5,
"type": 2,
"maxFeePerGas": "0.000000000000000016",
"maxPriorityFeePerGas": "2"
},
"approveTx": {
"serializeTx": "0x02f86505800210830186a0943a9f01091c446bde031e39ea8354647afef091e780b844095ea7b3000000000000000000000000c3cd9a0ae89fff83b71b58b6512d43f8a41f363dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0",
"to": "0x3a9f01091C446bdE031E39ea8354647AFef091E7",
"gasLimit": "0.0000000000001",
"data": "0x095ea7b3000000000000000000000000c3cd9a0ae89fff83b71b58b6512d43f8a41f363dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"value": "0.0",
"chainId": 5,
"type": 2,
"maxFeePerGas": "0.000000000000000016",
"maxPriorityFeePerGas": "2"
}
}
}
  • id: UUID specified in the SSV setup request.

  • status: Current status of the SSV request:

    • init: Request is stored.
    • processing: Request is in progress, please wait.
    • ready: Request is ready.
    • cancel: Request is canceled due to errors or timeouts. After ready, validator data can be used in the validator registration step.
  • type: Method of operation:

    • without-encrypt-key (available): Returns the validator's private key encrypted to the client.
    • with-encrypt-key (unavailable): Validator's private key is maintained by SSV for initiating withdrawals upon client request.
  • operationPeriodInDays: Operation period in days.

  • liquidationPeriodInDays: Liquidation threshold period in days.

  • ecdhPublicKey: ECDH public key used for obtaining the encrypted validator private key.

  • encryptedShares:

    • publicKey: Validator public key.
    • nonce: Nonce for the validator key owner in sharesData used for signing.
    • sharesData: Shares (transforming the validator key into predefined threshold shares) and signature for proving the validator owner's address. Use registerValidator to create a validator from the SSV smart contract in an Ethereum transaction.
    • ecdhEncryptedPrivateKey: Encrypted validator private key.
  • validatorsCount: Number of validators. One validator equals 32 ETH.

  • withdrawalAddress: Withdrawal address of the cluster owner.

  • ssvOwnerAddress: Address of the cluster owner acting as the SSV cluster owner. Cluster owner can register validators, update fee recipient addresses, deposit cluster balance, and claim SSV rewards.

  • feeRecipientAddress: Eth1 address receiving recipient rewards.

  • depositData:

    • pubkey: Validator public key.
    • signature: Validation signature.
    • depositDataRoot: SHA-256 hash of the ssz-encoded DepositData object, used as protection against malformed inputs.
    • withdrawalCredentials: SHA-256 hash of the ssz-encoded DepositData object, used as protection against malformed inputs. Withdrawal address credential passed in the expected format by the Ethereum deposit contract.
    • amount: Amount of Ether being deposited, valued in gwei.
    • depositMessageRoot: Encrypted hash ensuring integrity and authenticity of deposit data.
    • forkVersion: Network fork version intended for the deposit. It helps keep the deposit consistent with a specific version of the protocol.
    • eth2NetworkName: Name of the Ethereum 2.0 network for the deposit.
    • depositCliVersion: Version of the deposit command-line interface (CLI) tool used for generating deposit data.
  • validatorRegistrationTxs: Transaction data presented in serialized and non-serialized form for registering validators on the SSV network.

  • ssvFeeTxs: Transaction data presented in serialized and non-serialized form for depositing SSV fees into the cluster balance.

  • feeRecipientTx: Transaction data presented in serialized and non-serialized form for setting the recipient address.

  • approveTx: Transaction data presented in serialized and non-serialized form for approving the transfer of SSV tokens from the SSV network smart contract.

validatorRegistrationTxs, ssvFeeTxs, feeRecipientTx, and approveTx contain the following data field list:

  • serializeTx: Serialized unsigned transaction.
  • to: Recipient address of this transaction.
  • gasLimit: Maximum gas limit for this block.
  • data: Transaction data.
  • value: Amount sent by this transaction in wei.
  • chainId: Chain ID authorized by this transaction, specified by EIP-155.
  • type: EIP-2718 type of this transaction envelope.
  • maxFeePerGas: Base fee of the EIP-1559 block this transaction will pay, plus the priority fee of this transaction in wei.
  • maxPriorityFeePerGas: Price per unit of gas added to the base fee of the EIP-1559 block. This additional fee is used to incentivize miners to prioritize processing this transaction.
4. Sign and broadcast transaction approveTx
  • Sign the transaction using the serialized signature from serializeTx.
  • Construct the signature of approveTx using internally unserialized data.

Use serializeTx to sign and broadcast the signed transaction to the Ethereum network.

Each account needs to perform this step only once. It allows the SSV smart contract to transfer SSV tokens on your behalf to fund the cluster balance.

5. Sign and broadcast transaction feeRecipientTx
  • Sign the transaction using the serialized signature from serializeTx.
  • Construct the signature of feeRecipientTx using internally unserialized data.

Use serializeTx to sign and broadcast the signed transaction to the Ethereum network.

Each account needs to perform this step only once. It sets the fee recipient address for validators on the SSV network. This address will receive accumulated execution layer rewards.

6. Sign and broadcast transaction validatorRegistrationTxs
  • Sign the transaction using the serialized signature from serializeTx.
  • Construct the signature of validatorRegistrationTxs using internally unserialized data.

Use serializeTx to sign and broadcast the signed transaction to the Ethereum network.

By broadcasting this transaction, your validator will be registered on the SSV network and managed by a pool consisting of four top-tier node operators (AntAlpha, Ebunker).

Please include SSV registration in SSV URL

7. Sign and broadcast Ethereum smart contract
  • Construct the signature of depositData using internally unserialized data.

Use sign and broadcast to send the signed transaction to the Ethereum network.

Finally, just wait.