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

# Confirm Transfer (beta)

> Confirm a transfer to withdraw from wallet. Each transfer expires within 2 minutes to avoid provide the best estimate in the network charge of the specified blockchain.
## Returns

A successful response returns a `Transfer` object with updated `status` and `blockchain_tx`. We recommend that you check to make sure status is `completed`. If `status` is `pending`, perform polling on `GetTransfer` until status is completed or failed.



## OpenAPI

````yaml post /v1/transfers/{transfer_id}/confirm
openapi: 3.1.0
info:
  title: MoonKey Auth API
  description: >-
    Explore all the details of MoonKey Auth API. All of our APIs are RESTful and
    accept and return JSON.
  version: v1
servers:
  - url: https://api.moonkey.fun
    description: Production
    variables: {}
security:
  - Authorization: []
tags:
  - name: Users
    description: User management API
  - name: Magic Links
    description: ''
  - name: OTPs
    description: >-
      Send OTP (One-time passcodes) by all the supported delivery methods such
      as SMS, email.
  - name: OAuth
    description: ''
  - name: Wallets Login
    description: ''
  - name: Managed Wallets
    description: ''
  - name: Wallet Import
    description: >-
      Import existing wallets into the platform using secure HPKE encryption.
      This flow ensures raw entropy (seed phrases or private keys) never touches
      the server in plaintext.
externalDocs:
  url: ''
  description: ''
paths:
  /v1/transfers/{transfer_id}/confirm:
    parameters:
      - schema:
          type: string
        name: transfer_id
        in: path
        required: true
        description: ID of the transfer to confirm
    post:
      tags:
        - Transfers
      summary: Confirm Transfer (beta)
      description: >-
        Confirm a transfer to withdraw from wallet. Each transfer expires within
        2 minutes to avoid provide the best estimate in the network charge of
        the specified blockchain.

        ## Returns


        A successful response returns a `Transfer` object with updated `status`
        and `blockchain_tx`. We recommend that you check to make sure status is
        `completed`. If `status` is `pending`, perform polling on `GetTransfer`
        until status is completed or failed.
      operationId: ConfirmTransfer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfirmTransferRequest'
            examples:
              ConfirmTransferReq:
                value:
                  user_id: user_26l6ha8syVN8oqmaHaFShTxZ5RC
      responses:
        '200':
          description: Confirm Transfer (beta) response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  app_id:
                    type: string
                  user_id:
                    type: string
                  status:
                    type: string
                  source:
                    type: string
                  source_amount:
                    type: string
                  dest:
                    type: string
                  dest_amount:
                    type: string
                  dest_currency:
                    type: string
                  source_currency:
                    type: string
                  custom_id:
                    nullable: true
                  total_fees:
                    type: string
                  notes:
                    type: string
                  blockchain_tx_hash:
                    type: string
                  completed_at:
                    type: integer
                  cancelled_at:
                    type: integer
                  expires_at:
                    type: integer
                  created_at:
                    type: integer
                  updated_at:
                    type: integer
              examples:
                ConfirmTransferResp:
                  value:
                    id: transfer_2DHHNuneKLlqAr1ooaBb531mOy4
                    app_id: app_25ldv51seNohTaYRsxdfoxMlAa2
                    user_id: user_26l6ha8syVN8oqmaHaFShTxZ5RC
                    status: completed
                    source: wallet_2CxAACd2h0dwzSlsqqyFLsJXCxW
                    source_amount: '0.050005'
                    dest: 5H6JCEqnLPjYsoGkBGPaxqrviYKbVrggB7MZTmE1euNA
                    dest_amount: '0.05'
                    dest_currency: solana
                    source_currency: solana
                    custom_id: null
                    total_fees: '0.000005'
                    notes: test
                    blockchain_tx_hash: >-
                      5XaDKrbsCuYP1QyngWuidx4PvwjkPEBXox8Wqt9K8MHT7qTeZ3c6WbSWGkrKXPYvwtfcYuVaTJAVaqNZ8sDRHyHA
                    completed_at: 0
                    cancelled_at: 0
                    expires_at: 1660349172
                    created_at: 1660349052
                    updated_at: 1660349067
components:
  schemas:
    ConfirmTransferRequest:
      type: object
      properties:
        user_id:
          type: string
          description: >-
            Optional user ID to send in with the transfer, which will trigger a
            platform validation to ensure the source wallet is owned by the
            specified user to avoid usage error.
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer
      description: >-
        Auth Platform API includes all the Auth related features. All Users,
        Phone Numbers, Emails, and OTPs are associated with an `App` as the
        container.


        Endpoints only accept App's `Secret API keys` other than certain
        endpoints that are used client side or via SDK that accept the
        `public_token`.


        ## Authentication using App Api Key


        ## Header:


        ```

        Authorization: Bearer {api_key}

        ```


        ## Authenticated Request


        ```curl

        curl \
          -X GET https://api.moonkey.fun/v1/auth/users/user_24wFP9pDa9YiMJLun94iKykoZs2 \
          -H "Authorization: Bearer sk_test_pRqweh3wvWmJAAVYv7Z0T5iPLzFM4ql0muoyQcjOxGeN3p1r"
        ```

````