Obol Deposit Data API
The Deposit Data API from Obol — 4 operation(s) for deposit data.
The Deposit Data API from Obol — 4 operation(s) for deposit data.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/obol-deposit-data-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Obol Deposit Data API
description: '## What is this API?
This API is for creating and managing Distributed Validators. This API works in tandem with Obol''s Distributed Validator Launchpad, a dapp designed to allow people to authenticate their counterparties and agree to the terms of a Distributed Validator Cluster. This API will be made more easy for code-only interaction in the coming quarters with the release of the Obol-SDK.
Read more about Obol and how to use the launchpad on our docs site.
For enquiries:'
version: v1.0.0-local
contact:
name: Obol Labs
url: https://obol.tech
email: support@obol.tech
servers:
- url: https://api.obol.tech
description: Production environment
- url: http://localhost:3000
description: Local development server
- url: https://localhost:3000
description: HTTPS Local development server
tags:
- name: Deposit Data
paths:
/deposit_data/{lockHash}/{pubkey}:
get:
description: This endpoint returns all partial deposit data grouped by amount for a specific validator
operationId: DepositController_getDeposits[0]
parameters:
- name: lockHash
required: true
in: path
description: The cluster lock hash
schema:
type: string
- name: pubkey
required: true
in: path
description: The validator public key (distributed_public_key)
schema:
type: string
responses:
'200':
description: The deposit data
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/DepositDataResponse'
'404':
description: Data is not found
'500':
description: An unknown error occurred
summary: Retrieve partial deposit data for a validator
tags:
- Deposit Data
/v1/deposit_data/{lockHash}/{pubkey}:
get:
description: This endpoint returns all partial deposit data grouped by amount for a specific validator
operationId: DepositController_getDeposits[1]_v1
parameters:
- name: lockHash
required: true
in: path
description: The cluster lock hash
schema:
type: string
- name: pubkey
required: true
in: path
description: The validator public key (distributed_public_key)
schema:
type: string
responses:
'200':
description: The deposit data
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/DepositDataResponse'
'404':
description: Data is not found
'500':
description: An unknown error occurred
summary: Retrieve partial deposit data for a validator
tags:
- Deposit Data
/deposit_data/partial_deposits/{lockHash}/{share_index}:
post:
description: This endpoint saves partial deposit data signed by an operator
operationId: DepositController_submitPartialDeposits[0]
parameters:
- name: lockHash
required: true
in: path
description: The lock hash of the cluster
schema:
type: string
- name: share_index
required: true
in: path
description: The share index (operator index + 1)
schema:
type: number
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DepositDto'
responses:
'201':
description: Deposit data saved successfully
'400':
description: Invalid request format | Conflicting withdrawal address. Delete the existing deposits first. | Validator is already initialised.
'401':
description: Invalid deposit signature
'404':
description: Data or validator not found
'500':
description: An unknown error occurred
summary: Push partial deposit data
tags:
- Deposit Data
/v1/deposit_data/partial_deposits/{lockHash}/{share_index}:
post:
description: This endpoint saves partial deposit data signed by an operator
operationId: DepositController_submitPartialDeposits[1]_v1
parameters:
- name: lockHash
required: true
in: path
description: The lock hash of the cluster
schema:
type: string
- name: share_index
required: true
in: path
description: The share index (operator index + 1)
schema:
type: number
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DepositDto'
responses:
'201':
description: Deposit data saved successfully
'400':
description: Invalid request format | Conflicting withdrawal address. Delete the existing deposits first. | Validator is already initialised.
'401':
description: Invalid deposit signature
'404':
description: Data or validator not found
'500':
description: An unknown error occurred
summary: Push partial deposit data
tags:
- Deposit Data
components:
schemas:
DepositDto:
type: object
properties:
partial_deposit_data:
minItems: 1
type: array
items:
$ref: '#/components/schemas/PartialDepositDataDto'
required:
- partial_deposit_data
AmountGroupResponse:
type: object
properties:
amount:
type: string
example: '32000000000'
description: Amount in Gwei
partials:
description: Array of partial deposits for this amount
type: array
items:
$ref: '#/components/schemas/PartialDepositResponse'
required:
- amount
- partials
DepositDataResponse:
type: object
properties:
lock_hash:
type: string
example: ''
description: ''
pubkey:
type: string
example: 0xFULL_1
description: Full public key of the validator
withdrawal_credentials:
type: string
example: 0xWITHDRAW_1
description: Withdrawal credentials
amounts:
description: Array of amounts with their partial deposits
type: array
items:
$ref: '#/components/schemas/AmountGroupResponse'
required:
- lock_hash
- pubkey
- withdrawal_credentials
- amounts
PartialDepositDataDto:
type: object
properties:
pubkey:
type: string
pattern: ^(0x|0h)?[0-9A-F]+$
example: '0x8b69c67720c909423d7edc5d3a7554e1d1e50f6d7d5f8d18548d68daf424e536afba8b31fbd15df1970ba4af4a7d944c'
description: Public key of the validator (should be in lock file)
withdrawal_credentials:
type: string
example: '0x010000000000000000000000abcdef1234567890abcdef1234567890abcdef12'
description: Withdrawal credentials (0x01 or 0x02)
amount:
type: string
pattern: ^\d+$
example: '32000000000'
description: Amount in Gwei as string (between 1 and 2048 ETH)
signature:
type: string
example: 0x1234...
description: BLS signature over (pubkey, withdrawal_credentials, amount)
required:
- pubkey
- withdrawal_credentials
- amount
- signature
PartialDepositResponse:
type: object
properties:
partial_public_key:
type: string
example: 0xPARTIAL_A
description: Partial public key of the operator
partial_deposit_signature:
type: string
example: 0xSIG_A1
description: Partial deposit signature
required:
- partial_public_key
- partial_deposit_signature
securitySchemes:
bearer:
scheme: bearer
bearerFormat: JWT
type: http