> ## Documentation Index
> Fetch the complete documentation index at: https://docs.whitebit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Mining Account

> Create a new mining account linked to a WhiteBIT account via the V4 API.



## OpenAPI

````yaml /openapi/private/main_api_v4.yaml POST /api/v4/mining/accounts/create
openapi: 3.0.3
info:
  title: WhiteBIT Private HTTP API V4
  description: |
    WhiteBIT Private HTTP API V4 for Main balance changes.

    Base URL: https://whitebit.com

    All endpoints return time in Unix-time format.
    All endpoints return either a JSON object or array.
    For receiving responses from API calls please use http method POST.
  version: 4.0.0
  contact:
    name: WhiteBIT Support
    email: support@whitebit.com
    url: https://whitebit.com
servers:
  - url: https://whitebit.com
    description: WhiteBIT Global Server
  - url: https://whitebit.eu
    description: WhiteBIT EU Server
security:
  - ApiKeyAuth: []
    PayloadAuth: []
    SignatureAuth: []
tags:
  - name: Main Account
    description: Main account balance and operations
  - name: Deposit
    description: Cryptocurrency and fiat deposit operations
  - name: Withdraw
    description: Cryptocurrency and fiat withdrawal operations
  - name: Transfer
    description: Balance transfer operations
  - name: Codes
    description: WhiteBIT codes operations
  - name: Crypto Lending - Fixed
    description: Fixed crypto lending plans
  - name: Crypto Lending - Flex
    description: Flexible crypto lending plans
  - name: Fees
    description: Fee information
  - name: Sub-Account
    description: Sub-account management
  - name: Sub-Account API Keys
    description: Sub-account API key management
  - name: Mining Pool
    description: Mining pool operations
  - name: Credit Line
    description: Credit line information
  - name: JWT
    description: JWT token management
paths:
  /api/v4/mining/accounts/create:
    post:
      tags:
        - Mining Pool
      summary: Create Mining Account
      description: >
        Creates a new mining account for the authenticated user. The account
        name must be unique within the user's accounts.


        <Note>

        The number of mining accounts per user is capped (configurable
        server-side).

        Creating an account beyond the cap returns a `400` with

        `miningPool.validation.maxAccounts`.

        </Note>


        <Warning>

        Rate limit: 1000 requests/10 sec.

        </Warning>
      operationId: createMiningAccount
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - name
                - request
                - nonce
              properties:
                name:
                  type: string
                  maxLength: 255
                  description: >-
                    Mining pool account name. Must be unique. Alphanumeric
                    characters and underscores allowed.
                  example: my_miner_01
                referralCode:
                  type: string
                  maxLength: 50
                  description: Optional referral code for account creation
                  example: REF123
                request:
                  type: string
                  description: Request signature
                  example: '{{request}}'
                nonce:
                  type: integer
                  description: Unique request identifier
                  example: 1594297865000
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      name:
                        type: string
                        description: Created mining account name
                      createdAt:
                        type: integer
                        description: Account creation timestamp (Unix time)
              example:
                data:
                  name: my_miner_01
                  createdAt: 1709340000
        '400':
          description: >
            Validation failed. The `maxAccounts` value is a translation key that
            may

            render as a localized string.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  message:
                    type: string
                  errors:
                    type: object
              examples:
                nameTaken:
                  summary: Account name already exists
                  value:
                    code: 0
                    message: Validation failed
                    errors:
                      name:
                        - The name has already been taken.
                maxAccounts:
                  summary: Maximum number of mining accounts reached
                  value:
                    code: 0
                    message: Validation failed
                    errors:
                      error:
                        - miningPool.validation.maxAccounts
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-TXC-APIKEY
      description: The public WhiteBIT API key.
    PayloadAuth:
      type: apiKey
      in: header
      name: X-TXC-PAYLOAD
      description: Base64-encoded JSON request body.
    SignatureAuth:
      type: apiKey
      in: header
      name: X-TXC-SIGNATURE
      description: >-
        HMAC-SHA512 signature of the payload, hex-encoded. Computed as
        hex(HMAC-SHA512(payload, api_secret)).

````