Skip to main content

入门指南

Obol接口提供了ETH在Obol上部署Cluster和生成Deposit数据相关的API,目前针对ETH在Obol上批量部署Validator提供了生成cluster的服务,方便您在系统中集成我们的API来完成ETH Validator部署到Obol上的相关操作。开始使用我们的DVT Staking API在Obol网络上进行质押前,有一些先决条件需要确保顺利设置:

  • 最低质押要求:您需要为每个要运行的validator准备最低32个ETH。
  • API密钥请求:获取认证令牌开始使用Ebunker staking API。
  • FeeRecipientAddress:为了在Obol网络上获取激励,需要Ebunker提供一个Obol split地址用于拆分分配EL奖励,请注意,此地址必须在创建cluster前联系Ebunker获取,否则会影响您的Boost收益。

Obol API提供了以下接口:

  1. 创建 Obol cluster:构建一个Obol cluster,生成cluster关联的deposit数据和cluster部署数据。已支持Pectra升级,支持0x02类型的validator生成。
  2. 查询 Obol cluster:查询cluster生成的deposit数据,用来质押validator,单个cluster的数量为1~2000个validator,建议1个cluster生成足够数量的validator,可以激活部分validator,后期有增量继续质押激活剩余的validator即可.
  3. 取消 Obol cluster:用于取消已生成的obol cluster,请谨慎操作。取消后cluster将不再继续运行,请确保cluster上没有运行validator。

步骤

1. 创建 Obol cluster

创建一个Obol cluster,生成cluster相关的节点数据和validator池子,cluster的数据是Job任务异步生成的,当cluster查询的状态变更为ready状态后,可通过查询接口获取deposit数据用于在Beacon上质押validator,查询接口会返回所有生成的validator的deposit数据,当您想分批质押和激活validator时,您根据实际需求截取deposit数据,质押激活需要的validator即可。注意:请求参数 feeRecipientAddress 是一个Obol split地址,需要添加Obol项目方的分成地址,请联系Ebunker确认后再生成cluster,feeRecipientAddress 由Ebunker提供给用户

示例请求

curl -X 'POST' \
'https://api-test.ssv.ebunker.io/api/v1/eth/obol/cluster' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
-d '{
"id": "deed7216-21dc-4101-b66e-8f8e46a3a82e",
"validatorsCount": 500,
"amount": 64,
"credentialsType": "0x02",
"withdrawalAddress": "0xaC8583143bD6dCE71D15d26833CaF638A4b925b5",
"feeRecipientAddress": "0xA67a8F15E3b4780cb88e3f1B2702D0357fb2134f"
}'

请求参数

  • id — cluster的UUID,后面用于查询cluster数据。
  • validatorsCount — 验证者数量。
  • amount — 每个验证者的ETH质押数量,32~2048。
  • credentialsType — 验证者类型,0x01或者0x02。
  • withdrawalAddress — validator的提款地址。
  • feeRecipientAddress — 获取EL上奖励的地址。此地址为Ebunker提供的Obol split地址。

示例响应

{
"code": 200,
"message": "Success"
}

2.获取cluster数据

通过cluster id获取cluster数据,当异步任务执行完成,cluster的状态变更为"ready"时,会返回depositData用于用户在Beacon上完成validator质押

示例请求

curl --request GET \
--url https://api-test.ssv.ebunker.io/api/v1/eth/obol/cluster?id=deed7216-21dc-4101-b66e-8f8e46a3a82e \
--header 'accept: application/json' \
--header 'authorization: Bearer <token>' \
--header 'content-type: application/json' \

请求参数

  • id — cluster的UUID,用于查询cluster数据。

示例响应

{
"code": 200,
"message": "Success",
"result": {
"id": "deed7216-21dc-4101-b66e-8f8e46a3a82e",
"amount": 32,
"credentialsType": "0x01",
"validatorsCount": 1,
"withdrawalAddress": "0xaC8583143bD6dCE71D15d26833CaF638A4b925b5",
"feeRecipientAddress": "0xA67a8F15E3b4780cb88e3f1B2702D0357fb2134f",
"status": "ready",
"depositData": [
{
"pubkey": "866b5ce06ffae156595f287c51423251ea118bb97dcc0231a777bf849b01103faf11757b1c18aa974e8c804047541a2b",
"withdrawal_credentials": "010000000000000000000000ac8583143bd6dce71d15d26833caf638a4b925b5",
"amount": 32000000000,
"signature": "8b7fdf95776f8adea1450499593c7c2dec44e70ea378c5fbe62fe1ee7d2534add2491c342e36a8905eedf0169c87972715c2e17b95c4c3a62661e64f6afa4852c4727ec6e575a6a51efab68f5fa5ce4529f86ceb9f69e14cad63ed16ab774813",
"deposit_message_root": "3d66694e657adf5fa5c3d23de7d233e4b395998c16861cc5890b1eabda102a30",
"deposit_data_root": "b72bb42f0dfd8e7a62cf4e7a2bd5f38639f8807555df207f1253e13092e9d42a",
"fork_version": "01017000",
"network_name": "holesky",
"deposit_cli_version": "2.3.0"
}
]
}
}

响应参数

  • id — cluster的UUID。
  • amount — 每个验证者的ETH质押数量,32~2048。
  • credentialsType — 验证者类型,0x01或者0x02。
  • validatorsCount — 验证者数量。
  • withdrawalAddress — validator的提款地址。
  • feeRecipientAddress — 获取EL上奖励的地址。此参地址为Ebunker提供的Obol split地址。
  • status - cluster状态:init(cluster初始化) processing(cluster数据Job任务执行中) deploying(cluster节点部署中) ready(cluster完成) cancel(cluster取消)
  • depositData - cluster生成的Validator的deposit数据,用于ETH Beacon上的质押

3. 取消cluster

把创建的cluster修改为取消状态,cluster修改为取消状态后Ebunker将不再部署运行该cluster生成的cluster,请谨慎操作。如果cluster的状态是processing说明生成cluster的异步Job任务正在执行,此时不能取消cluster。注意:当您取消cluster时如果生成的cluser信息已经上传了obol,那么您的cluster仍然会显示在Obol的explor里,但请不要使用已取消的cluster去Beacon上质押validator

示例请求

curl --request DELETE \
--url https://api-test.ssv.ebunker.io/api/v1/eth/obol/cluster?id=deed7216-21dc-4101-b66e-8f8e46a3a82e \
--header 'accept: application/json' \
--header 'authorization: Bearer <token>' \
--header 'content-type: application/json' \
'

请求参数

  • id — cluster的UUID。

示例响应

{
"code": 200,
"message": "Success",
"result": {
"id": "deed7216-21dc-4101-b66e-8f8e46a3a82e",
"validatorsCount": 1,
"withdrawalAddress": "0xaC8583143bD6dCE71D15d26833CaF638A4b925b5",
"feeRecipientAddress": "0xA67a8F15E3b4780cb88e3f1B2702D0357fb2134f",
"status": "cancel",
"createdTime": "2025-04-11T09:18:36.654Z",
"updatedTime": "2025-04-15T06:38:04.107Z"
}
}

响应参数

  • id — cluster的UUID。
  • amount — 每个验证者的ETH质押数量,32~2048。
  • credentialsType — 验证者类型,0x01或者0x02。
  • validatorsCount — 验证者数量。
  • withdrawalAddress — validator的提款地址。
  • feeRecipientAddress — 获取EL上奖励的地址。此参地址为Ebunker提供的Obol split地址。
  • status - cluster状态:cancel(cluster取消)