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

# Create withdrawal request



## OpenAPI

````yaml /openapi.json post /withdrawal-request
openapi: 3.0.3
info:
  description: API documentation for Crypto service
  title: Crypto API
  version: 1.0.0
servers:
  - description: Development
    url: https://tag.alfa-bot.com/api/prod/v1
security:
  - apiKeyAuth: []
tags:
  - description: Methods for working with wallets
    name: Wallets
  - description: Methods related to users
    name: User
  - description: Methods for AML verification
    name: AML
  - description: Test methods
    name: Test
  - description: Methods for withdrawal funds
    name: Withdrawal
  - description: Methods for working with transactions
    name: Transactions
  - description: Methods for working with exchange transactions
    name: Exchange
paths:
  /withdrawal-request:
    post:
      tags:
        - Withdrawal
      summary: Create withdrawal request
      operationId: postWithdrawalRequest
      requestBody:
        content:
          application/json:
            schema:
              properties:
                amount:
                  type: string
                  example: '100.00'
                  description: Amount to withdraw
                network:
                  type: string
                  enum:
                    - trx
                    - eth
                    - bnb
                    - sol
                  example: trx
                currency:
                  type: string
                  enum:
                    - USDT
                    - USDC
                    - ETH
                    - TRX
                    - BNB
                    - SOL
                  example: USDT
                sender:
                  type: string
                  enum:
                    - user
                    - exchange
                  example: exchange
                external_id:
                  type: string
                  example: client_request_10001
                  description: Request ID in your system
                recipient_wallet:
                  type: string
                  example: TVx9EXAMPLE1bC
                  description: Recipient wallet
                comment:
                  type: string
                  example: Client withdrawal
                  description: >-
                    Comment for the withdrawal request. Displayed to the account
                    owner when confirming the transaction in the bot, so they
                    can see the purpose of the payment before approving it (max
                    length = 160)
                sender_wallet:
                  type: string
                  example: TQv5pEXAMPLE9xA
                  description: >-
                    Sender wallet (required param for sender = user). For sender
                    = exchange - ignore this param.
                fee_included:
                  type: boolean
                  example: true
                  description: >-
                    Default: fee_included=true. If `fee_included` is not
                    specified or `fee_included=true`, the transfer fee will be
                    deducted from the amount
                refund_transaction_id:
                  type: string
                  example: '4'
                  description: >-
                    Pass this if the output is a refund for a blocked deposit.
                    You can view the list of blocked deposits for a wallet in
                    the `refund` array returned by the GET /wallets method.
              required:
                - amount
                - network
                - currency
                - sender
                - external_id
                - recipient_wallet
              type: object
        required: true
      responses:
        '200':
          description: OK - withdrawal request was created successfully
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - error_code
                  - error_message
                  - data
                properties:
                  code:
                    type: string
                    description: Response code.
                    example: '200'
                  error_code:
                    type: string
                    nullable: true
                    description: >-
                      Application-level error code. Null for successful
                      responses.
                    example: null
                  error_message:
                    type: string
                    nullable: true
                    description: >-
                      Human-readable error message. Null for successful
                      responses.
                    example: null
                  data:
                    type: object
                    properties:
                      success:
                        type: boolean
                      data:
                        $ref: '#/components/schemas/WithdrawalRequest'
              examples:
                success:
                  summary: Created withdrawal request
                  value:
                    code: '200'
                    error_code: null
                    error_message: null
                    data:
                      success: true
                      data:
                        request_id: wd_6a16c48222d327108513784f
                        external_id: client_request_10001
                        amount: '100.00'
                        currency: USDT
                        network: trx
                        sender: exchange
                        sender_wallet: TQv5p...9xA
                        recipient_wallet: TVx9...1bC
                        fee: '1.00'
                        fee_included: true
                        status: new
                        comment: Client withdrawal
                        created_at: '2026-05-28T09:00:00.000Z'
                        updated_at: '2026-05-28T09:00:00.000Z'
        '400':
          description: Bad Request - validation error or incorrect request parameters
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - error_code
                  - error_message
                  - data
                properties:
                  code:
                    type: string
                    description: Response code.
                    example: '400'
                  error_code:
                    type: string
                    nullable: true
                    description: >-
                      Application-level error code. Null for successful
                      responses.
                    example: request
                  error_message:
                    type: string
                    nullable: true
                    description: >-
                      Human-readable error message. Null for successful
                      responses.
                    example: Validation failed
                  data:
                    type: object
                    nullable: true
                    description: Additional error details when available.
                    additionalProperties: true
              examples:
                validation_error:
                  summary: Validation error
                  value:
                    code: '400'
                    error_code: request
                    error_message: >-
                      Validation failed: amount, network, currency, sender,
                      external_id and recipient_wallet are required
                    data:
                      amount: Required field
                      network: 'Allowed values: trx, eth, bnb, sol'
                      currency: Unsupported currency
                      sender: 'Allowed values: user, exchange'
                      recipient_wallet: Invalid wallet address for selected network
        '500':
          description: Internal Server Error - unexpected server error
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - error_code
                  - error_message
                  - data
                properties:
                  code:
                    type: string
                    description: Response code.
                    example: '500'
                  error_code:
                    type: string
                    nullable: true
                    description: >-
                      Application-level error code. Null for successful
                      responses.
                    example: system
                  error_message:
                    type: string
                    nullable: true
                    description: >-
                      Human-readable error message. Null for successful
                      responses.
                    example: Validation failed
                  data:
                    type: object
                    nullable: true
                    description: Additional error details when available.
                    additionalProperties: true
              examples:
                internal_error:
                  summary: Internal server error
                  value:
                    code: '500'
                    error_code: system
                    error_message: Unexpected server error. Please try again later.
                    data: null
components:
  schemas:
    WithdrawalRequest:
      type: object
      properties:
        request_id:
          type: string
          example: wd_6a16c48222d327108513784f
        external_id:
          type: string
          example: client_request_10001
        amount:
          type: string
          example: '100.00'
        currency:
          type: string
          example: USDT
        network:
          type: string
          example: trx
        sender:
          type: string
          example: exchange
        sender_wallet:
          type: string
          example: TQv5p...9xA
        recipient_wallet:
          type: string
          example: TVx9...1bC
        fee:
          type: string
          example: '1.00'
        fee_included:
          type: boolean
          example: true
        status:
          type: string
          example: new
          enum:
            - new
            - awaiting_approval
            - completed
            - rejected
            - canceled
            - failed
        comment:
          type: string
          example: Client withdrawal
        created_at:
          type: string
          format: date-time
          example: '2026-05-28T09:00:00.000Z'
        updated_at:
          type: string
          format: date-time
          example: '2026-05-28T09:01:00.000Z'
        transaction_status:
          type: string
          nullable: true
          description: >-
            Status of the related blockchain transaction. Null when no linked
            transaction exists yet.
          enum:
            - in_progress
            - completed
            - error
          example: completed
        hash:
          type: string
          nullable: true
          description: >-
            Blockchain transaction hash. Null when the transaction has not been
            broadcast or confirmed yet.
          example: 96fa587a6b44bcb1c2d17958b18d1b2bb89a5453d6be0098f8e1ea8dfe5b591b
  securitySchemes:
    apiKeyAuth:
      in: header
      name: token
      type: apiKey
      description: Pass your API token in the `token` request header.

````