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

# Transfer Tokens

> Transfer native tokens, ERC20, ERC721, or ERC1155 to a recipient address



## OpenAPI

````yaml POST /v1/project-wallet/transfer
openapi: 3.0.0
info:
  title: Lootex Plus API - V1
  description: V1 endpoints
  version: 0.0.1
  contact: {}
servers:
  - url: https://api.lootexplus.com
security: []
tags: []
paths:
  /v1/project-wallet/transfer:
    post:
      tags:
        - V1
      description: Transfer native tokens, ERC20, ERC721, or ERC1155 to a recipient address
      operationId: transfer
      parameters: []
      requestBody:
        required: true
        description: Transfer request details
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransferDto'
            examples:
              native:
                summary: Native ETH Transfer
                description: Transfer native ETH to recipient
                value:
                  type: native
                  chainId: 1
                  recipientAddress: '0x1234567890123456789012345678901234567890'
                  amount: '1000000000000000000'
              erc20:
                summary: ERC20 Token Transfer
                description: Transfer ERC20 tokens to recipient
                value:
                  type: erc20
                  chainId: 1
                  contractAddress: ERC20ContractAddress
                  recipientAddress: '0x1234567890123456789012345678901234567890'
                  amount: '1000000'
              erc721:
                summary: ERC721 NFT Transfer
                description: Transfer ERC721 NFT to recipient
                value:
                  type: erc721
                  chainId: 1
                  contractAddress: ERC721ContractAddress
                  recipientAddress: '0x1234567890123456789012345678901234567890'
                  tokenId: '123'
              erc1155:
                summary: ERC1155 NFT Transfer
                description: Transfer ERC1155 NFT to recipient
                value:
                  type: erc1155
                  chainId: 1
                  contractAddress: ERC1155ContractAddress
                  recipientAddress: '0x1234567890123456789012345678901234567890'
                  tokenId: '456'
                  amount: '5'
      responses:
        '200':
          description: Transfer successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferResponseDto'
        '400':
          description: Bad request - validation error or insufficient balance
          content:
            application/json:
              schema:
                example:
                  statusCode: 400
                  message: >-
                    Insufficient ETH balance: Need 1.0 ETH, but only have 0.5
                    ETH. Missing 0.5 ETH.
        '401':
          description: Unauthorized - invalid or missing secret key
      security:
        - bearer: []
components:
  schemas:
    TransferDto:
      type: object
      properties:
        type:
          type: string
          enum:
            - native
            - erc20
            - erc721
            - erc1155
          description: >-
            The type of token to transfer. (Options: `native`, `erc20`,
            `erc721`, `erc1155`)
          example: native
        chainId:
          type: number
          example: 1868
          description: The chain ID of the token to transfer
        contractAddress:
          type: string
          description: Contract address - required for ERC20, ERC721, and ERC1155 transfers
          example: '0x1234567890123456789012345678901234567890'
        recipientAddress:
          type: string
          description: Recipient wallet address
          example: '0x742D35Cc6634C0532925a3b8D4c4D9e2c8E0B3E9'
        amount:
          type: string
          description: >-
            Transfer amount in smallest unit (wei for ETH, base units for
            tokens) - required for native, ERC20, and ERC1155 transfers. Must be
            a positive integer string without decimals.
          example: '1000000000000000000'
        tokenId:
          type: string
          description: >-
            Token ID - required for ERC721 and ERC1155 transfers. Must be a
            positive integer string.
          example: '123'
        data:
          type: string
          description: Additional data for ERC1155 transfers (optional)
        metadata:
          type: object
          description: Additional metadata for the transfer (optional)
      required:
        - type
        - chainId
        - recipientAddress
    TransferResponseDto:
      type: object
      properties:
        id:
          type: string
        jobId:
          type: string
        status:
          type: string
        projectId:
          type: string
        transactionHash:
          type: string
        chainId:
          type: number
        from:
          type: string
        to:
          type: string
        value:
          type: string
        data:
          type: string
        gasUsed:
          type: string
        gasPrice:
          type: string
        totalGasFee:
          type: string
        metadata:
          type: object
        createdAt:
          format: date-time
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
        - id
        - jobId
        - status
        - projectId
        - transactionHash
        - chainId
        - from
        - to
        - createdAt
        - updatedAt
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: Secret key for authentication

````