Hifi Crypto Transfer API

Crypto Transfer endpoints

Operations 6

POST /v2/wallets/transfers Create a crypto transfer
GET /v2/wallets/transfers List all crypto transfers
GET /v2/wallets/transfers/{transferId} Retrieve a crypto transfer
POST /v2/wallets/transfers/batches Create a batch crypto transfer
GET /v2/wallets/transfers/batches List all batch crypto transfers
GET /v2/wallets/transfers/batches/{transferId} Retrieve a batch crypto transfer

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/hifi-crypto-transfer-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

hifi-crypto-transfer-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Hifi Account Crypto Transfer API
  version: 2.0.0
  description: API documentation for Hifi
servers:
- url: https://production.hifibridge.com
  description: Production server
- url: https://sandbox.hifibridge.com
  description: Sandbox server
security:
- bearerAuth: []
tags:
- name: Crypto Transfer
  description: Crypto Transfer endpoints
paths:
  /v2/wallets/transfers:
    post:
      summary: Create a crypto transfer
      description: 'Create a crypto transfer between two wallet addresses among users.

        '
      tags:
      - Crypto Transfer
      requestBody:
        $ref: '#/components/requestBodies/CreateCryptoTransferBody'
      responses:
        '200':
          $ref: '#/components/responses/CryptoToCryptoTransferResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
    get:
      summary: List all crypto transfers
      description: 'Returns a list of crypto transfers associated with a user under your organization. The crypto transfers are returned sorted by creation date, with the most recent crypto transfers appearing first.

        '
      tags:
      - Crypto Transfer
      parameters:
      - $ref: '#/components/parameters/UserIdOptionalParameter'
      - $ref: '#/components/parameters/LimitParameter'
      - $ref: '#/components/parameters/CreatedBeforeParameter'
      - $ref: '#/components/parameters/CreatedAfterParameter'
      responses:
        '200':
          $ref: '#/components/responses/CryptoToCryptoAllRecordsResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v2/wallets/transfers/{transferId}:
    get:
      summary: Retrieve a crypto transfer
      tags:
      - Crypto Transfer
      parameters:
      - $ref: '#/components/parameters/CryptoTransferRecordIDPathParameter'
      responses:
        '200':
          $ref: '#/components/responses/CryptoToCryptoRecordResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v2/wallets/transfers/batches:
    post:
      summary: Create a batch crypto transfer
      description: 'Create a batch crypto transfer from a single wallet address to multiple wallet addresses among users.

        '
      tags:
      - Crypto Transfer
      requestBody:
        $ref: '#/components/requestBodies/CreateBatchCryptoTransferBody'
      responses:
        '200':
          $ref: '#/components/responses/BatchCryptoTransferResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
    get:
      summary: List all batch crypto transfers
      description: 'Returns a list of batch crypto transfers associated with a user under your organization. The batch crypto transfers are returned sorted by creation date, with the most recent batch crypto transfers appearing first.

        '
      tags:
      - Crypto Transfer
      parameters:
      - $ref: '#/components/parameters/UserIdOptionalParameter'
      - $ref: '#/components/parameters/LimitParameter'
      - $ref: '#/components/parameters/CreatedBeforeParameter'
      - $ref: '#/components/parameters/CreatedAfterParameter'
      responses:
        '200':
          $ref: '#/components/responses/BatchCryptoTransferAllRecordsResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v2/wallets/transfers/batches/{transferId}:
    get:
      summary: Retrieve a batch crypto transfer
      tags:
      - Crypto Transfer
      parameters:
      - $ref: '#/components/parameters/BatchCryptoTransferRecordIDPathParameter'
      responses:
        '200':
          $ref: '#/components/responses/BatchCryptoTransferResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
components:
  schemas:
    CryptoToCryptoRecordObject:
      type: object
      properties:
        transferType:
          type: string
          example: WALLET.TRANSFER
        transferDetails:
          type: object
          properties:
            id:
              type: string
              format: uuid
              example: 006737ca-42d5-4780-b3c2-aeb63279c591
            requestId:
              type: string
              format: uuid
              example: d0d62bec-2623-4f61-afda-148d6a8e1009
            createdAt:
              type: string
              format: date-time
              example: '2025-02-03T16:11:36.654998+00:00'
            updatedAt:
              type: string
              format: date-time
              example: '2025-02-03T16:12:41.503+00:00'
            chain:
              type: string
              example: POLYGON_MAINNET
            currency:
              type: string
              example: usdc
            contractAddress:
              type: string
              example: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359'
            status:
              type: string
              example: CREATED
            failedReason:
              type: string
              example: ''
            source:
              type: object
              properties:
                userId:
                  type: string
                  format: uuid
                  example: aec66b02-4f3f-471c-839a-94820b36abb2
                walletAddress:
                  type: string
                  example: '0xA25641cB6056C371CB65F28aC02450c9206e0fAA'
                walletType:
                  type: string
                  example: INDIVIDUAL
                user:
                  type: object
                  properties:
                    email:
                      type: string
                      example: samuelyoon0@gmail.com
                    lastName:
                      type: string
                      example: Yoon
                    firstName:
                      type: string
                      example: Samuel
                    businessName:
                      type: string
                      example: null
            destination:
              type: object
              properties:
                userId:
                  type: string
                  format: uuid
                  example: aec66b02-4f3f-471c-839a-94820b36abb2
                walletType:
                  type: string
                  example: INDIVIDUAL
                walletAddress:
                  type: string
                  example: '0xA25641cB6056C371CB65F28aC02450c9206e0fAA'
                user:
                  type: object
                  properties:
                    email:
                      type: string
                      example: samuelyoon0@gmail.com
                    lastName:
                      type: string
                      example: Yoon
                    firstName:
                      type: string
                      example: Samuel
                    businessName:
                      type: string
                      example: null
            amount:
              type: number
              format: float
              example: 0.01
            amountIncludeDeveloperFee:
              type: number
              format: float
              example: 0.01
            receipt:
              type: object
              properties:
                transactionHash:
                  type: string
                  example: '0x5784890f9efd0160e9401439a5cf2aa5350580ecf48f9ca2af617338ae089e53'
                userOpHash:
                  type: string
                  example: '0xef7bdb071b1fcfb5df629bd4d27ffa6dc32d0a5df676f26fb8c25311df1185ac'
            developerFee:
              type: object
              properties:
                feeId:
                  type: string
                  format: uuid
                  example: 9b354c37-d20d-4d94-bcd8-c852353ca406
                feeType:
                  type: string
                  example: FIX
                feeAmount:
                  type: number
                  format: float
                  example: 0.5
                feePercent:
                  type: number
                  format: float
                  example: 0
                status:
                  type: string
                  example: CREATED
                transactionHash:
                  type: string
                  example: null
                failedReason:
                  type: string
                  example: null
      example:
        transferType: WALLET.TRANSFER
        transferDetails:
          id: 006737ca-42d5-4780-b3c2-aeb63279c591
          requestId: d0d62bec-2623-4f61-afda-148d6a8e1009
          createdAt: '2025-02-03T16:11:36.654998+00:00'
          updatedAt: '2025-02-03T16:12:41.503+00:00'
          chain: POLYGON_MAINNET
          currency: usdc
          contractAddress: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359'
          status: CREATED
          failedReason: ''
          source:
            userId: aec66b02-4f3f-471c-839a-94820b36abb2
            walletAddress: '0xA25641cB6056C371CB65F28aC02450c9206e0fAA'
            walletType: INDIVIDUAL
            user:
              email: samuelyoon0@gmail.com
              lastName: Yoon
              firstName: Samuel
              businessName: null
          destination:
            userId: aec66b02-4f3f-471c-839a-94820b36abb2
            walletType: INDIVIDUAL
            walletAddress: '0xA25641cB6056C371CB65F28aC02450c9206e0fAA'
            user:
              email: samuelyoon0@gmail.com
              lastName: Yoon
              firstName: Samuel
              businessName: null
          amount: 0.01
          amountIncludeDeveloperFee: 0.01
          receipt:
            transactionHash: '0x5784890f9efd0160e9401439a5cf2aa5350580ecf48f9ca2af617338ae089e53'
            userOpHash: '0xef7bdb071b1fcfb5df629bd4d27ffa6dc32d0a5df676f26fb8c25311df1185ac'
          developerFee:
            feeId: 9b354c37-d20d-4d94-bcd8-c852353ca406
            feeType: FIX
            feeAmount: 0.5
            feePercent: 0
            status: CREATED
            transactionHash: null
            failedReason: null
    CryptoToCryptoTransferObject:
      type: object
      properties:
        transferType:
          type: string
          example: WALLET.TRANSFER
        transferDetails:
          type: object
          properties:
            id:
              type: string
              format: uuid
              example: 006737ca-42d5-4780-b3c2-aeb63279c591
            requestId:
              type: string
              format: uuid
              example: d0d62bec-2623-4f61-afda-148d6a8e1009
            createdAt:
              type: string
              format: date-time
              example: '2025-02-03T16:11:36.654998+00:00'
            updatedAt:
              type: string
              format: date-time
              example: '2025-02-03T16:12:41.503+00:00'
            chain:
              type: string
              example: POLYGON_MAINNET
            currency:
              type: string
              example: usdc
            contractAddress:
              type: string
              example: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359'
            status:
              type: string
              example: CREATED
            failedReason:
              type: string
              example: ''
            source:
              type: object
              properties:
                userId:
                  type: string
                  format: uuid
                  example: aec66b02-4f3f-471c-839a-94820b36abb2
                walletAddress:
                  type: string
                  example: '0xA25641cB6056C371CB65F28aC02450c9206e0fAA'
                walletType:
                  type: string
                  example: INDIVIDUAL
                user:
                  type: object
                  properties:
                    email:
                      type: string
                      example: samuelyoon0@gmail.com
                    lastName:
                      type: string
                      example: Yoon
                    firstName:
                      type: string
                      example: Samuel
                    businessName:
                      type: string
                      example: null
            destination:
              type: object
              properties:
                userId:
                  type: string
                  format: uuid
                  example: aec66b02-4f3f-471c-839a-94820b36abb2
                walletType:
                  type: string
                  example: INDIVIDUAL
                walletAddress:
                  type: string
                  example: '0xA25641cB6056C371CB65F28aC02450c9206e0fAA'
                user:
                  type: object
                  properties:
                    email:
                      type: string
                      example: samuelyoon0@gmail.com
                    lastName:
                      type: string
                      example: Yoon
                    firstName:
                      type: string
                      example: Samuel
                    businessName:
                      type: string
                      example: null
            amount:
              type: number
              format: float
              example: 0.01
            amountIncludeDeveloperFee:
              type: number
              format: float
              example: 0.01
            receipt:
              type: object
              properties:
                transactionHash:
                  type: string
                  example: '0x5784890f9efd0160e9401439a5cf2aa5350580ecf48f9ca2af617338ae089e53'
                userOpHash:
                  type: string
                  example: '0xef7bdb071b1fcfb5df629bd4d27ffa6dc32d0a5df676f26fb8c25311df1185ac'
            developerFee:
              type: object
              properties:
                feeId:
                  type: string
                  format: uuid
                  example: 9b354c37-d20d-4d94-bcd8-c852353ca406
                feeType:
                  type: string
                  example: FIX
                feeAmount:
                  type: number
                  format: float
                  example: 0.5
                feePercent:
                  type: number
                  format: float
                  example: 0
                status:
                  type: string
                  example: CREATED
                transactionHash:
                  type: string
                  example: null
                failedReason:
                  type: string
                  example: null
            approval:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  example: 006737ca-42d5-4780-b3c2-aeb63279c591
                status:
                  type: string
                  example: PENDING
                createdAt:
                  type: string
                  format: date-time
                  example: '2025-02-03T16:11:36.654998+00:00'
                updatedAt:
                  type: string
                  format: date-time
                  example: '2025-02-03T16:12:41.503+00:00'
                transferId:
                  type: string
                  format: uuid
                  example: 006737ca-42d5-4780-b3c2-aeb63279c591
                transferType:
                  type: string
                  example: WALLET.TRANSFER
                fromDashboard:
                  type: boolean
                  example: true
                initiatorProfileId:
                  type: string
                  format: uuid
                  example: aec66b02-4f3f-471c-839a-94820b36abb2
                votes:
                  type: array
                  description: Array of approval votes (only present when status is PENDING_APPROVAL or REJECTED)
                  items:
                    type: object
                    properties:
                      approverId:
                        type: string
                        format: uuid
                        example: aec66b02-4f3f-471c-839a-94820b36abb2
                      vote:
                        type: string
                        enum:
                        - APPROVE
                        - REJECT
                        example: REJECT
                      comment:
                        type: string
                        example: Transfer amount exceeds daily limit
                      createdAt:
                        type: string
                        format: date-time
                        example: '2025-02-03T16:12:41.503+00:00'
      example:
        transferType: WALLET.TRANSFER
        transferDetails:
          id: 006737ca-42d5-4780-b3c2-aeb63279c591
          requestId: d0d62bec-2623-4f61-afda-148d6a8e1009
          createdAt: '2025-02-03T16:11:36.654998+00:00'
          updatedAt: '2025-02-03T16:12:41.503+00:00'
          chain: POLYGON_MAINNET
          currency: usdc
          contractAddress: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359'
          status: CREATED
          failedReason: ''
          source:
            userId: aec66b02-4f3f-471c-839a-94820b36abb2
            walletAddress: '0xA25641cB6056C371CB65F28aC02450c9206e0fAA'
            walletType: INDIVIDUAL
            user:
              email: samuelyoon0@gmail.com
              lastName: Yoon
              firstName: Samuel
              businessName: null
          destination:
            userId: aec66b02-4f3f-471c-839a-94820b36abb2
            walletType: INDIVIDUAL
            walletAddress: '0xA25641cB6056C371CB65F28aC02450c9206e0fAA'
            user:
              email: samuelyoon0@gmail.com
              lastName: Yoon
              firstName: Samuel
              businessName: null
          amount: 0.01
          amountIncludeDeveloperFee: 0.01
          receipt:
            transactionHash: '0x5784890f9efd0160e9401439a5cf2aa5350580ecf48f9ca2af617338ae089e53'
            userOpHash: '0xef7bdb071b1fcfb5df629bd4d27ffa6dc32d0a5df676f26fb8c25311df1185ac'
          developerFee:
            feeId: 9b354c37-d20d-4d94-bcd8-c852353ca406
            feeType: FIX
            feeAmount: 0.5
            feePercent: 0
            status: CREATED
            transactionHash: null
            failedReason: null
    CryptoTransferFee:
      type: object
      properties:
        type:
          type: string
          enum:
          - FIX
          - PERCENT
        value:
          type: number
          format: float
          minimum: 0
          description: 'custom transaction fee (`0.01` represents `1%` when `type` is set to `PERCENT`, checkout https://docs.hifibridge.com/v2/docs/fee-collection for more information)

            '
      required:
      - type
      - value
    CryptoToCryptoAllRecordsObject:
      type: object
      properties:
        count:
          type: integer
        records:
          type: array
          items:
            type: object
            properties:
              transferType:
                type: string
                example: WALLET.TRANSFER
              transferDetails:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    example: 006737ca-42d5-4780-b3c2-aeb63279c591
                  requestId:
                    type: string
                    format: uuid
                    example: d0d62bec-2623-4f61-afda-148d6a8e1009
                  createdAt:
                    type: string
                    format: date-time
                    example: '2025-02-03T16:11:36.654998+00:00'
                  updatedAt:
                    type: string
                    format: date-time
                    example: '2025-02-03T16:12:41.503+00:00'
                  chain:
                    type: string
                    example: POLYGON_MAINNET
                  currency:
                    type: string
                    example: usdc
                  contractAddress:
                    type: string
                    example: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359'
                  status:
                    type: string
                    example: CREATED
                  failedReason:
                    type: string
                    example: ''
                  approval:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        example: 006737ca-42d5-4780-b3c2-aeb63279c591
                      status:
                        type: string
                        example: PENDING
                      createdAt:
                        type: string
                        format: date-time
                        example: '2025-02-03T16:11:36.654998+00:00'
                      updatedAt:
                        type: string
                        format: date-time
                        example: '2025-02-03T16:12:41.503+00:00'
                      transferId:
                        type: string
                        format: uuid
                        example: 006737ca-42d5-4780-b3c2-aeb63279c591
                      transferType:
                        type: string
                        example: WALLET.TRANSFER
                      fromDashboard:
                        type: boolean
                        example: true
                      initiatorProfileId:
                        type: string
                        format: uuid
                        example: aec66b02-4f3f-471c-839a-94820b36abb2
                      votes:
                        type: array
                        description: Array of approval votes (only present when status is PENDING_APPROVAL or REJECTED)
                        items:
                          type: object
                          properties:
                            approverId:
                              type: string
                              format: uuid
                              example: aec66b02-4f3f-471c-839a-94820b36abb2
                            vote:
                              type: string
                              enum:
                              - APPROVE
                              - REJECT
                              example: REJECT
                            comment:
                              type: string
                              example: Transfer amount exceeds daily limit
                            createdAt:
                              type: string
                              format: date-time
                              example: '2025-02-03T16:12:41.503+00:00'
                  source:
                    type: object
                    properties:
                      userId:
                        type: string
                        format: uuid
                        example: aec66b02-4f3f-471c-839a-94820b36abb2
                      walletAddress:
                        type: string
                        example: '0xA25641cB6056C371CB65F28aC02450c9206e0fAA'
                      walletType:
                        type: string
                        example: INDIVIDUAL
                      user:
                        type: object
                        properties:
                          email:
                            type: string
                            example: samuelyoon0@gmail.com
                          lastName:
                            type: string
                            example: Yoon
                          firstName:
                            type: string
                            example: Samuel
                          businessName:
                            type: string
                            example: null
                  destination:
                    type: object
                    properties:
                      userId:
                        type: string
                        format: uuid
                        example: aec66b02-4f3f-471c-839a-94820b36abb2
                      walletType:
                        type: string
                        example: INDIVIDUAL
                      walletAddress:
                        type: string
                        example: '0xA25641cB6056C371CB65F28aC02450c9206e0fAA'
                      user:
                        type: object
                        properties:
                          email:
                            type: string
                            example: samuelyoon0@gmail.com
                          lastName:
                            type: string
                            example: Yoon
                          firstName:
                            type: string
                            example: Samuel
                          businessName:
                            type: string
                            example: null
                  amount:
                    type: number
                    format: float
                    example: 0.01
                  amountIncludeDeveloperFee:
                    type: number
                    format: float
                    example: 0.01
                  receipt:
                    type: object
                    properties:
                      transactionHash:
                        type: string
                        example: '0x5784890f9efd0160e9401439a5cf2aa5350580ecf48f9ca2af617338ae089e53'
                      userOpHash:
                        type: string
                        example: '0xef7bdb071b1fcfb5df629bd4d27ffa6dc32d0a5df676f26fb8c25311df1185ac'
                  developerFee:
                    type: object
                    properties:
                      feeId:
                        type: string
                        format: uuid
                        example: 9b354c37-d20d-4d94-bcd8-c852353ca406
                      feeType:
                        type: string
                        example: FIX
                      feeAmount:
                        type: number
                        format: float
                        example: 0.5
                      feePercent:
                        type: number
                        format: float
                        example: 0
                      status:
                        type: string
                        example: CREATED
                      transactionHash:
                        type: string
                        example: null
                      failedReason:
                        type: string
                        example: null
        nextCursor:
          type: string
          description: The `createdAt` timestamp of the last record in the current page. Pass this as `createdBefore` in the next request to retrieve the next page of results.
      example:
        count: 1
        records:
        - transferType: WALLET.TRANSFER
          transferDetails:
            id: 006737ca-42d5-4780-b3c2-aeb63279c591
            requestId: d0d62bec-2623-4f61-afda-148d6a8e1009
            createdAt: '2025-02-03T16:11:36.654+00:00'
            updatedAt: '2025-02-03T16:12:41.503+00:00'
            chain: POLYGON_MAINNET
            currency: usdc
            contractAddress: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359'
            status: CREATED
            failedReason: ''
            source:
              userId: aec66b02-4f3f-471c-839a-94820b36abb2
              walletAddress: '0xA25641cB6056C371CB65F28aC02450c9206e0fAA'
              walletType: INDIVIDUAL
              user:
                email: samuelyoon0@gmail.com
                lastName: Yoon
                firstName: Samuel
                businessName: null
            destination:
              userId: aec66b02-4f3f-471c-839a-94820b36abb2
              walletType: INDIVIDUAL
              walletAddress: '0xA25641cB6056C371CB65F28aC02450c9206e0fAA'
              user:
                email: samuelyoon0@gmail.com
                lastName: Yoon
                firstName: Samuel
                businessName: null
            amount: 0.01
            amountIncludeDeveloperFee: 0.01
            receipt:
              transactionHash: '0x5784890f9efd0160e9401439a5cf2aa5350580ecf48f9ca2af617338ae089e53'
              userOpHash: '0xef7bdb071b1fcfb5df629bd4d27ffa6dc32d0a5df676f26fb8c25311df1185ac'
            developerFee:
              feeId: 9b354c37-d20d-4d94-bcd8-c852353ca406
              feeType: FIX
              feeAmount: 0.5
              feePercent: 0
              status: CREATED
              transactionHash: null
              failedReason: null
        nextCursor: '2025-02-03T16:11:36.654+00:00'
    BatchCryptoTransferObject:
      type: object
      required:
      - transferType
      - transferDetails
      properties:
        transferType:
          type: string
          example: WALLET.TRANSFER.BATCH
        transferDetails:
          type: object
          required:
          - id
          - requestId
          - createdAt
          - updatedAt
          - chain
          - currency
          - contractAddress
          - status
          - source
          - destination
          - receipt
          properties:
            id:
              type: string
              format: uuid
              example: 879af7af-67bf-469f-b718-d262a39d4857
            requestId:
              type: string
              format: uuid
              example: 14a84906-b72e-4847-b34d-51b9048fa6a5
            createdAt:
              type: string
              format: date-time
              example: '2025-04-05T00:55:50.609Z'
            updatedAt:
              type: string
              format: date-time
              example: '2025-04-05T00:56:33.236Z'
            chain:
              type: string
              enum:
              - POLYGON
              example: POLYGON
            currency:
              type: string
              enum:
              - usdc
              example: usdc
            contractAddress:
              type: string
              example: '0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582'
            status:
              type: string
              enum:
              - NOT_INITIATED
              - CREATED
              - INITIATED
              - PENDING
              - COMPLETED
              - FAILED
              - UNKNOWN
              example: COMPLETED
            source:
              type: object
              required:
              - userId
              - walletAddress
              - walletType
              properties:
                userId:
                  type: string
                  format: uuid
                  example: 6a13bd30-b3a3-4d44-af33-0b32e58261be
                walletAddress:
                  type: string
                  pattern: ^0x[a-fA-F0-9]{40}$
                  example: '0x99a8c5ED386d217BC6ff0AA1b3585606D475432B'
                walletType:
                  type: string
                  enum:
                  - INDIVIDUAL
                  - BUSINESS
                  example: INDIVIDUAL
            destination:
              type: object
              required:
              - batch
              properties:
                batch:
                  type: array
                  maxItems: 50
                  items:
                    type: object
                    required:
                    - amount
                    properties:
                      amount:
                        type: string
                        example: '0.04'
                      userId:
                        type: 

# --- truncated at 32 KB (52 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hifi/refs/heads/main/openapi/hifi-crypto-transfer-api-openapi.yml