{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/galaxy-com/main/json-schema/galaxy-com-staking-request-schema.json",
  "title": "Staking Request",
  "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/StakingRequest",
  "type": "object",
  "required": [
    "client_req_id",
    "network",
    "validator_count",
    "withdrawal_address"
  ],
  "properties": {
    "client_req_id": {
      "type": "string",
      "description": "A unique identifier for the staking request generated by the client."
    },
    "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) to be created. Supported values are;\r\n- 0x01 (Default)\r\n- 0x02",
      "default": "0x01"
    },
    "amounts_unit": {
      "description": "The unit in which the staking amount is specified for withdrawal_credential_type = 0x02 validators in the amounts field. Supported values are:\r\n- ETH\r\n- GWEI\r\n\r\nConditionally required if the withdrawal_credential_type = 0x02.",
      "enum": [
        "ETH",
        "GWEI"
      ]
    },
    "amounts": {
      "type": "array",
      "description": "The Ethereum amounts to be staked, specified in either ETH or GWEI. This is required if the withdrawal credentials type is 0x02. \r\n\r\n- When specified in ETH, up to 9 decimal places are supported.\r\n- When specified in GWEI, only whole numbers are supported.\r\n- Any additional decimal places will be ignored.",
      "items": {
        "type": "integer",
        "format": "int32"
      }
    },
    "validator_count": {
      "type": "integer",
      "description": "The number of validators required. A maximum of 1000 validators are supported",
      "format": "int32"
    },
    "withdrawal_address": {
      "type": "string",
      "description": "The ETH account (wallet) used for the withdrawal credentials of the validators. This is the address that will receive consensus rewards and unstaked ETH after exiting."
    },
    "fee_recipient_address": {
      "type": "string",
      "description": "The ETH account (wallet) that will receive the execution layer rewards. If not provided, this will be defaulted to the withdrawal address."
    },
    "region": {
      "type": "string",
      "description": "The geographic region where the validator will be created. Supported values are;\r\n- US\r\n- EU (Default)\r\n- KR",
      "default": "EU",
      "enum": [
        "US",
        "EU",
        "KR"
      ]
    },
    "account": {
      "type": "string",
      "description": "The account name registered on the platform that is associated with the client's customer. If not provided, requests will be assigned to a default account.\n"
    }
  }
}