{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/galaxy-com/main/json-schema/galaxy-com-deposit-data-response-schema.json",
  "title": "Staking Response",
  "x-generated": "2026-10-14",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/galaxy-com-ethereum-staking-openapi.yml#/components/schemas/DepositDataResponse",
  "type": "object",
  "properties": {
    "client_req_id": {
      "type": "string",
      "description": "The client_req_id of the original Provision Validators request for which the response is returned."
    },
    "staking_ref_id": {
      "type": "string",
      "description": "A unique reference ID generated by the staking infrastructure for the staking request."
    },
    "network": {
      "type": "string",
      "description": "The network on which validators should be created. Supported values are;\r\n- mainnet\r\n- hoodi",
      "enum": [
        "mainnet",
        "hoodi"
      ]
    },
    "withdrawal_credentials_type": {
      "enum": [
        "0x01",
        "0x02"
      ],
      "description": "The withdrawal credential type of the validator(s) that will be created. Applicable values are;\r\n- 0x01\r\n- 0x02"
    },
    "withdrawal_address": {
      "type": "string",
      "description": "The specified address to which funds will be withdrawn, as mentioned in the staking request."
    },
    "fee_recipient_address": {
      "type": "string",
      "description": "The fee recipient address that receives Execution Layer fees, as mentioned in the staking request."
    },
    "region": {
      "type": "string",
      "description": "The geographic region where the validator will be created. Supported values are;\r\n- US\r\n- EU\r\n- KR",
      "enum": [
        "US",
        "EU",
        "KR"
      ]
    },
    "provisioned_at": {
      "type": "string",
      "description": "The date and time when the validator was provisioned by the staking infrastructure."
    },
    "data": {
      "type": "array",
      "description": "A block that contains validator batches. Each batch includes details of 100 validators and the associated funding transaction.",
      "items": {
        "$ref": "#/$defs/BatchData"
      }
    }
  },
  "$defs": {
    "BatchData": {
      "title": "Staking Response Batch",
      "type": "object",
      "properties": {
        "batch_id": {
          "type": "integer",
          "description": "Identifier of the validator batch.",
          "format": "int32",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10
          ]
        },
        "deposit_data": {
          "type": "array",
          "description": "An array of validator details in this batch.",
          "items": {
            "$ref": "#/$defs/DepositData"
          }
        },
        "deposit_transaction": {
          "$ref": "#/$defs/DepositTransaction"
        }
      },
      "description": "A block that contains validator batches. Each batch includes details of 250 validators and the associated funding transaction."
    },
    "DepositData": {
      "title": "Staking Response Batch Deposit Data",
      "type": "object",
      "description": "An array of validator details in this batch.",
      "properties": {
        "pubkey": {
          "type": "string",
          "description": "Public key of the validator."
        },
        "amount": {
          "type": "number",
          "description": "The amount of ETH in GWEI required to be deposited.",
          "format": "double"
        },
        "withdrawal_credentials": {
          "type": "string",
          "description": "Withdrawal credentials for the validator funds to be withdrawn upon exit."
        },
        "signature": {
          "type": "string",
          "description": "A “proof of possession” which signs over pubkey, withdrawal_credentials, and amount using the validator private key."
        },
        "deposit_data_root": {
          "type": "string",
          "description": "Merkle root hash of the deposit data."
        },
        "deposit_message_root": {
          "type": "string",
          "description": "Merkle root hash of the deposit message."
        },
        "fork_version": {
          "type": "string",
          "description": "The genesis fork version."
        },
        "deposit_cli_version": {
          "type": "string",
          "description": "Staking deposit cli version."
        }
      }
    },
    "DepositTransaction": {
      "title": "Staking Response Batch Deposit Transaction",
      "type": "object",
      "description": "The JSON object that contains the funding transaction details of all validators belonging to this batch.",
      "properties": {
        "deposit_amount_wei": {
          "type": "string",
          "description": "The total amount of ETH to be staked for the batch in WEI."
        },
        "deposit_address": {
          "type": "string",
          "description": "Batch deposit contract address."
        },
        "contract_call_data": {
          "type": "string",
          "description": "Encoded function call data to be broadcasted to the Batch Deposit Contract. "
        }
      }
    }
  }
}