Arkham Transfers API

The Transfers API from Arkham — 5 operation(s) for transfers.

OpenAPI Specification

arkham-transfers-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Arkham Intel Analytics Transfers API
  version: 1.1.0
tags:
- name: Transfers
paths:
  /transfers:
    get:
      summary: Get transfers
      description: 'Retrieves a list of transfers based on various query filters.


        **Rate Limit**: This endpoint has a stricter rate limit of 1 request per second.


        **Filter parameters:**

        - **base**: Filter by specific entity or address. For example, "0x123abc" or "binance".

        - **chains**: Specify a comma-separated list of chains (e.g. "ethereum,bsc").

        - **flow**: Direction of the transfer. Valid values are "in" (incoming), "out" (outgoing), "self" (self-transfers), or "all".

        - **from**: Comma-separated list of addresses, entities, or deposit services for the ''from'' side of a transfer. You can also use special syntax like "type:cex" to filter on entity types or "deposit:binance" to filter on deposit addresses.

        - **to**: Comma-separated list of addresses, entities, or deposit services for the ''to'' side.

        - **tokens**: Comma-separated list of token addresses or token IDs. E.g. "ethereum", "usd-coin", or "0x...tokenAddress".

        - **counterparties**: Comma-separated list of addresses or entities to treat strictly as counterparties (only base <-> counterparty transfers).

        - **timeLast**: Filter transfers from a recent duration. For example, "24h" returns transfers from the last 24 hours.

        - **timeGte/timeLte**: Filter from/to a specific timestamp in milliseconds.

        - **valueGte/valueLte**: Numeric filters on the raw token amount (on-chain units).

        - **usdGte/usdLte**: Numeric filters on the historical USD value of the transfer.

        - **sortKey**: Field by which to sort the results. Options include "time", "value", or "usd".

        - **sortDir**: Sorting direction. Use "asc" for ascending or "desc" for descending.

        - **limit**: Maximum number of results to return (default is 20).

        - **offset**: Pagination offset (default is 0).


        **Real-time streaming:** For live transfer notifications instead of polling, use the WebSocket API. See GET /ws/transfers for real-time streaming with the same filtering capabilities.'
      operationId: GetTransfers
      parameters:
      - name: base
        in: query
        description: Filter from or to any of a comma separated list of entities or addresses.
        schema:
          type: array
          items:
            type: string
          description: Filter from or to any of a comma separated list of entities or addresses.
          example:
          - binance
          - '!wintermute'
      - name: chains
        in: query
        description: List of chains to filter by.
        schema:
          $ref: '#/components/schemas/Chains'
      - name: flow
        in: query
        description: Transfer direction.
        schema:
          $ref: '#/components/schemas/TransferFlow'
      - name: from
        in: query
        description: Filter from any of a comma separated list of addresses, entities, or deposit services. You can also use special syntax like 'type:cex' to filter on entity types or 'deposit:binance' to filter on deposit addresses.
        schema:
          type: array
          items:
            type: string
          description: Filter from any of a comma separated list of addresses, entities, or deposit services. You can also use special syntax like 'type:cex' to filter on entity types or 'deposit:binance' to filter on deposit addresses.
          example:
          - '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
          - deposit:binance
      - name: to
        in: query
        description: Filter to any of a comma separated list of addresses, entities, or deposit services. You can also use special syntax like 'type:cex' to filter on entity types or 'deposit:binance' to filter on deposit addresses.
        schema:
          type: array
          items:
            type: string
          description: Filter to any of a comma separated list of addresses, entities, or deposit services. You can also use special syntax like 'type:cex' to filter on entity types or 'deposit:binance' to filter on deposit addresses.
          example:
          - '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
          - deposit:binance
      - name: counterparties
        in: query
        description: list of addresses or entities to treat strictly as counterparties (only base <-> counterparty transfers).
        schema:
          type: array
          items:
            type: string
          description: list of addresses or entities to treat strictly as counterparties (only base <-> counterparty transfers).
          example:
          - binance
      - name: tokens
        in: query
        description: Filter involving any of a comma separated list of token addresses or token IDs.
        schema:
          type: array
          items:
            type: string
          description: Filter involving any of a comma separated list of token addresses or token IDs.
          example:
          - ethereum
          - '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
      - name: timeGte
        in: query
        description: Filter after a specific time.
        schema:
          type: string
          description: Filter after a specific time.
          nullable: true
          example: '2024-01-01T00:00:00Z'
      - name: timeLte
        in: query
        description: Filter before a specific time.
        schema:
          type: string
          description: Filter before a specific time.
          nullable: true
          example: '2024-01-01T00:00:00Z'
      - name: timeLast
        in: query
        description: Filter using a duration string.
        schema:
          type: string
          description: Filter using a duration string.
          example: 24h
      - name: valueGte
        in: query
        description: Filter above a minimum token value.
        style: deepObject
        explode: true
        schema:
          type: string
          description: Filter above a minimum token value.
          nullable: true
          example: '100.23'
      - name: valueLte
        in: query
        description: Filter below a maximum token value.
        style: deepObject
        explode: true
        schema:
          type: string
          description: Filter below a maximum token value.
          nullable: true
          example: '100.23'
      - name: usdGte
        in: query
        description: Filter above a minimum USD value.
        style: deepObject
        explode: true
        schema:
          type: string
          description: Filter above a minimum USD value.
          nullable: true
          example: '100.23'
      - name: usdLte
        in: query
        description: Filter below a maximum USD value.
        style: deepObject
        explode: true
        schema:
          type: string
          description: Filter below a maximum USD value.
          nullable: true
          example: '100.23'
      - name: sortKey
        in: query
        description: Field by which to sort the results. Custom sorting requires authentication; anonymous requests are always sorted by time, descending.
        schema:
          $ref: '#/components/schemas/TransferSortKey'
      - name: sortDir
        in: query
        description: Direction for sorting results.
        schema:
          $ref: '#/components/schemas/SortDir'
      - name: limit
        in: query
        description: 'Maximum number of results to return. Default: 20. Max: 1650.'
        schema:
          type: integer
          description: 'Maximum number of results to return. Default: 20. Max: 1650.'
          example: 10
      - name: offset
        in: query
        description: Pagination offset. offset + limit must not exceed 10000.
        schema:
          type: integer
          description: Pagination offset. offset + limit must not exceed 10000.
          example: 0
      - name: includeCursors
        in: query
        description: 'Include per-chain as-of cursors in the response. Default: false.'
        schema:
          type: boolean
          description: 'Include per-chain as-of cursors in the response. Default: false.'
          example: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrichedTransfers'
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      tags:
      - Transfers
  /transfers/histogram:
    get:
      summary: Get a detailed histogram of transfers (API Only)
      description: 'Returns an aggregated histogram of transfers over time (count and USD values) based on the same filter parameters used in /transfers.


        **Requires an API key** (browser-session and anonymous access are not permitted).


        **Rate Limit**: This endpoint has a stricter rate limit of 1 request per second.


        **Additional parameter**:

        - **granularity**: "1h" or "1d" (if the range exceeds 30 days, "1h" is invalid).


        **Filter parameters** (same as /transfers, minus pagination/sorting):

        - **base**: Filter by specific entity or address. For example, "0x123abc" or "binance".

        - **chains**: Specify a comma-separated list of chains (e.g. "ethereum,bsc").

        - **flow**: Direction of the transfer. Valid values are "in", "out", "self", or "all".

        - **timeLast**: Filter from a recent duration (e.g. "24h", "7d", "30d", etc.).

        - **timeGte/timeLte**: Filter from/to a specific timestamp in milliseconds.

        - **valueGte/valueLte**: Numeric filters on the raw token amount.

        - **usdGte/usdLte**: Numeric filters on the historical USD value of the transfer.

        - **from**: Comma-separated list of addresses, entities, or deposit services for the ''from'' side.

        - **to**: Comma-separated list of addresses, entities, or deposit services for the ''to'' side.

        - **tokens**: Comma-separated list of token addresses or token IDs.

        - **counterparties**: Comma-separated list of addresses or entities to treat strictly as counterparties.'
      operationId: GetTransfersHistogram
      parameters:
      - name: base
        in: query
        description: Filter from or to any of a comma separated list of entities or addresses.
        schema:
          type: array
          items:
            type: string
          description: Filter from or to any of a comma separated list of entities or addresses.
          example:
          - binance
          - '!wintermute'
      - name: chains
        in: query
        description: List of chains to filter by.
        schema:
          $ref: '#/components/schemas/Chains'
      - name: flow
        in: query
        description: Transfer direction.
        schema:
          $ref: '#/components/schemas/TransferFlow'
      - name: from
        in: query
        description: Filter from any of a comma separated list of addresses, entities, or deposit services. You can also use special syntax like 'type:cex' to filter on entity types or 'deposit:binance' to filter on deposit addresses.
        schema:
          type: array
          items:
            type: string
          description: Filter from any of a comma separated list of addresses, entities, or deposit services. You can also use special syntax like 'type:cex' to filter on entity types or 'deposit:binance' to filter on deposit addresses.
          example:
          - '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
          - deposit:binance
      - name: to
        in: query
        description: Filter to any of a comma separated list of addresses, entities, or deposit services. You can also use special syntax like 'type:cex' to filter on entity types or 'deposit:binance' to filter on deposit addresses.
        schema:
          type: array
          items:
            type: string
          description: Filter to any of a comma separated list of addresses, entities, or deposit services. You can also use special syntax like 'type:cex' to filter on entity types or 'deposit:binance' to filter on deposit addresses.
          example:
          - '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
          - deposit:binance
      - name: counterparties
        in: query
        description: list of addresses or entities to treat strictly as counterparties (only base <-> counterparty transfers).
        schema:
          type: array
          items:
            type: string
          description: list of addresses or entities to treat strictly as counterparties (only base <-> counterparty transfers).
          example:
          - binance
      - name: tokens
        in: query
        description: Filter involving any of a comma separated list of token addresses or token IDs.
        schema:
          type: array
          items:
            type: string
          description: Filter involving any of a comma separated list of token addresses or token IDs.
          example:
          - ethereum
          - '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
      - name: timeGte
        in: query
        description: Filter after a specific time.
        schema:
          type: string
          description: Filter after a specific time.
          nullable: true
          example: '2024-01-01T00:00:00Z'
      - name: timeLte
        in: query
        description: Filter before a specific time.
        schema:
          type: string
          description: Filter before a specific time.
          nullable: true
          example: '2024-01-01T00:00:00Z'
      - name: timeLast
        in: query
        description: Filter using a duration string.
        schema:
          type: string
          description: Filter using a duration string.
          example: 24h
      - name: valueGte
        in: query
        description: Filter above a minimum token value.
        style: deepObject
        explode: true
        schema:
          type: string
          description: Filter above a minimum token value.
          nullable: true
          example: '100.23'
      - name: valueLte
        in: query
        description: Filter below a maximum token value.
        style: deepObject
        explode: true
        schema:
          type: string
          description: Filter below a maximum token value.
          nullable: true
          example: '100.23'
      - name: usdGte
        in: query
        description: Filter above a minimum USD value.
        style: deepObject
        explode: true
        schema:
          type: string
          description: Filter above a minimum USD value.
          nullable: true
          example: '100.23'
      - name: usdLte
        in: query
        description: Filter below a maximum USD value.
        style: deepObject
        explode: true
        schema:
          type: string
          description: Filter below a maximum USD value.
          nullable: true
          example: '100.23'
      - name: granularity
        in: query
        description: Granularity of histogram buckets. For time ranges over 30 days, only '1d' is valid.
        schema:
          $ref: '#/components/schemas/Granularity'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CountSnapshot'
                example:
                - count: 1
                  time: '2024-01-01T00:00:00Z'
                  usd: 1.23
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      tags:
      - Transfers
  /transfers/histogram/simple:
    get:
      summary: Get a simple histogram of transfers
      description: 'Returns a simplified aggregated histogram of transfers over time.


        **Note**: For the full-featured histogram endpoint with all filter options, use /transfers/histogram which requires API authentication.'
      operationId: GetTransfersHistogramSimple
      parameters:
      - name: base
        in: query
        description: Filter from or to any of a comma separated list of entities or addresses.
        schema:
          type: array
          items:
            type: string
          description: Filter from or to any of a comma separated list of entities or addresses.
          example:
          - binance
          - '!wintermute'
      - name: chains
        in: query
        description: List of chains to filter by.
        schema:
          $ref: '#/components/schemas/Chains'
      - name: flow
        in: query
        description: Transfer direction.
        schema:
          $ref: '#/components/schemas/TransferFlow'
      - name: from
        in: query
        description: Filter from any of a comma separated list of addresses, entities, or deposit services. You can also use special syntax like 'type:cex' to filter on entity types or 'deposit:binance' to filter on deposit addresses.
        schema:
          type: array
          items:
            type: string
          description: Filter from any of a comma separated list of addresses, entities, or deposit services. You can also use special syntax like 'type:cex' to filter on entity types or 'deposit:binance' to filter on deposit addresses.
          example:
          - '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
          - deposit:binance
      - name: to
        in: query
        description: Filter to any of a comma separated list of addresses, entities, or deposit services. You can also use special syntax like 'type:cex' to filter on entity types or 'deposit:binance' to filter on deposit addresses.
        schema:
          type: array
          items:
            type: string
          description: Filter to any of a comma separated list of addresses, entities, or deposit services. You can also use special syntax like 'type:cex' to filter on entity types or 'deposit:binance' to filter on deposit addresses.
          example:
          - '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
          - deposit:binance
      - name: counterparties
        in: query
        description: list of addresses or entities to treat strictly as counterparties (only base <-> counterparty transfers).
        schema:
          type: array
          items:
            type: string
          description: list of addresses or entities to treat strictly as counterparties (only base <-> counterparty transfers).
          example:
          - binance
      - name: tokens
        in: query
        description: Filter involving any of a comma separated list of token addresses or token IDs.
        schema:
          type: array
          items:
            type: string
          description: Filter involving any of a comma separated list of token addresses or token IDs.
          example:
          - ethereum
          - '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
      - name: timeGte
        in: query
        description: Filter after a specific time.
        schema:
          type: string
          description: Filter after a specific time.
          nullable: true
          example: '2024-01-01T00:00:00Z'
      - name: timeLte
        in: query
        description: Filter before a specific time.
        schema:
          type: string
          description: Filter before a specific time.
          nullable: true
          example: '2024-01-01T00:00:00Z'
      - name: timeLast
        in: query
        description: Filter using a duration string.
        schema:
          type: string
          description: Filter using a duration string.
          example: 24h
      - name: valueGte
        in: query
        description: Filter above a minimum token value.
        style: deepObject
        explode: true
        schema:
          type: string
          description: Filter above a minimum token value.
          nullable: true
          example: '100.23'
      - name: valueLte
        in: query
        description: Filter below a maximum token value.
        style: deepObject
        explode: true
        schema:
          type: string
          description: Filter below a maximum token value.
          nullable: true
          example: '100.23'
      - name: usdGte
        in: query
        description: Filter above a minimum USD value.
        style: deepObject
        explode: true
        schema:
          type: string
          description: Filter above a minimum USD value.
          nullable: true
          example: '100.23'
      - name: usdLte
        in: query
        description: Filter below a maximum USD value.
        style: deepObject
        explode: true
        schema:
          type: string
          description: Filter below a maximum USD value.
          nullable: true
          example: '100.23'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CountSnapshot'
                example:
                - count: 1
                  time: '2024-01-01T00:00:00Z'
                  usd: 1.23
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      tags:
      - Transfers
  /transfers/tx/{hash}:
    get:
      summary: Get transfers for a transaction
      description: Returns the transfers of a given type (external, internal, or token) within a single transaction, identified by its hash. Supported on EVM chains and Tron; other chains return an empty list. For Solana and other non-EVM transactions, use GET /tx/{hash} to retrieve the transaction's details instead.
      operationId: GetTransfersForTransaction
      parameters:
      - name: transferType
        in: query
        description: Type of transfers to return. 'external' = native value transfers, 'internal' = trace calls, 'token' = ERC-20/TRC-20 transfers.
        required: true
        schema:
          enum:
          - external
          - internal
          - token
          type: string
          description: Type of transfers to return. 'external' = native value transfers, 'internal' = trace calls, 'token' = ERC-20/TRC-20 transfers.
          example: token
      - name: chain
        in: query
        description: The blockchain network the transaction is on.
        required: true
        schema:
          $ref: '#/components/schemas/Chain'
      - name: hash
        in: path
        description: The transaction hash to retrieve transfers for.
        required: true
        schema:
          type: string
          description: The transaction hash to retrieve transfers for.
          example: '0xf141a777ec5211657989b167d137dbc74f1a97984ba8ce3925bd640b78702587'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EnrichedTransfer'
                example:
                - blockHash: '0x3dac10e206e1da667c23f11ed8e2bca60bcc3bfc63890ae01c28c011ded90dda'
                  blockNumber: 25294069
                  blockTimestamp: '2026-06-11T11:58:35Z'
                  chain: ethereum
                  fromAddress:
                    address: '0x628E97b796c7186a16d372d2a0717De2d1DB1Cf9'
                    arkhamLabel:
                      address: '0x628E97b796c7186a16d372d2a0717De2d1DB1Cf9'
                      chainType: evm
                      name: Bitget Deposit
                    chain: ethereum
                    contract: false
                    depositServiceID: bitget
                    isUserAddress: false
                  fromIsContract: false
                  historicalUSD: 100
                  id: '0xf141a777ec5211657989b167d137dbc74f1a97984ba8ce3925bd640b78702587_472'
                  toAddress:
                    address: '0x28C6c06298d514Db089934071355E5743bf21d60'
                    arkhamEntity:
                      id: binance
                      name: Binance
                      note: ''
                      service: null
                      twitter: https://twitter.com/binance
                      type: cex
                      website: https://binance.com
                    arkhamLabel:
                      address: '0x28C6c06298d514Db089934071355E5743bf21d60'
                      chainType: evm
                      name: Hot Wallet
                    chain: ethereum
                    contract: false
                    isUserAddress: false
                  toIsContract: false
                  tokenAddress: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
                  tokenDecimals: 6
                  tokenId: usd-coin
                  tokenName: USD Coin
                  tokenSymbol: USDC
                  transactionHash: '0xf141a777ec5211657989b167d137dbc74f1a97984ba8ce3925bd640b78702587'
                  type: token
                  unitValue: 100
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      tags:
      - Transfers
  /transfers/unenriched:
    get:
      summary: Get unenriched transfers
      description: 'Retrieves a list of transfers based on the same query filters as GET /transfers, but returns raw addresses without Arkham address intelligence.


        This endpoint uses the transfer search index and token/transaction metadata enrichment, but it does not enrich transfer counterparties with Arkham entities, labels, deposit services, or predicted entities.'
      operationId: GetUnenrichedTransfers
      parameters:
      - name: base
        in: query
        description: Filter from or to any of a comma separated list of entities or addresses.
        schema:
          type: array
          items:
            type: string
          description: Filter from or to any of a comma separated list of entities or addresses.
          example:
          - binance
          - '!wintermute'
      - name: chains
        in: query
        description: List of chains to filter by.
        schema:
          $ref: '#/components/schemas/Chains'
      - name: flow
        in: query
        description: Transfer direction.
        schema:
          $ref: '#/components/schemas/TransferFlow'
      - name: from
        in: query
        description: Filter from any of a comma separated list of addresses, entities, or deposit services. You can also use special syntax like 'type:cex' to filter on entity types or 'deposit:binance' to filter on deposit addresses.
        schema:
          type: array
          items:
            type: string
          description: Filter from any of a comma separated list of addresses, entities, or deposit services. You can also use special syntax like 'type:cex' to filter on entity types or 'deposit:binance' to filter on deposit addresses.
          example:
          - '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
          - deposit:binance
      - name: to
        in: query
        description: Filter to any of a comma separated list of addresses, entities, or deposit services. You can also use special syntax like 'type:cex' to filter on entity types or 'deposit:binance' to filter on deposit addresses.
        schema:
          type: array
          items:
            type: string
          description: Filter to any of a comma separated list of addresses, entities, or deposit services. You can also use special syntax like 'type:cex' to filter on entity types or 'deposit:binance' to filter on deposit addresses.
          example:
          - '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
          - deposit:binance
      - name: counterparties
        in: query
        description: list of addresses or entities to treat strictly as counterparties (only base <-> counterparty transfers).
        schema:
          type: array
          items:
            type: string
          description: list of addresses or entities to treat strictly as counterparties (only base <-> counterparty transfers).
          example:
          - binance
      - name: tokens
        in: query
        description: Filter involving any of a comma separated list of token addresses or token IDs.
        schema:
          type: array
          items:
            type: string
          description: Filter involving any of a comma separated list of token addresses or token IDs.
          example:
          - ethereum
          - '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
      - name: timeGte
        in: query
        description: Filter after a specific time.
        schema:
          type: string
          description: Filter after a specific time.
          nullable: true
          example: '2024-01-01T00:00:00Z'
      - name: timeLte
        in: query
        description: Filter before a specific time.
        schema:
          type: string
          description: Filter before a specific time.
          nullable: true
          example: '2024-01-01T00:00:00Z'
      - name: timeLast
        in: query
        description: Filter using a duration string.
        schema:
          type: string
          description: Filter using a duration string.
          example: 24h
      - name: valueGte
        in: query
        description: Filter above a minimum token value.
        style: deepObject
        explode: true
        schema:
          type: string
          description: Filter above a minimum token value.
          nullable: true
          example: '100.23'
      - name: valueLte
        in: query
        description: Filter below a maximum token value.
        style: deepObject
        explode: true
        schema:
          type: string
          description: Filter below a maximum token value.
          nullable: true
          example: '100.23'
      - name: usdGte
        in: query
        description: Filter above a minimum USD value.
        style: deepObject
        explode: true
        schema:
          type: string
          description: Filter above a minimum USD value.
          nullable: true
          example: '100.23'
      - name: usdLte
        in: query
        description: Filter below a maximum USD value.
        style: deepObject
        explode: true
        schema:
          type: string
          description: Filter below a maximum USD value.
          nullable: true
          example: '100.23'
      - name: sortKey
        in: query
        description: Field by which to sort the results. Custom sorting requires authentication; anonymous requests are always sorted by time, descending.
        schema:
          $ref: '#/components/schemas/TransferSortKey'
      - name: sortDir
        in: query
        description: Direction for sorting results.
        schema:
          $ref: '#/components/schemas/SortDir'
      - name: limit
        in: query
        description: 'Maximum number of results to return. Default: 20. Max: 1650.'
        schema:
          type: integer
          description: 'Maximum number of results to return. Default: 20. Max: 1650.'
          example: 10
      - name: offset
        in: query
        description: Pagination offset. offset + limit must not exceed 10000.
        schema:
          type: integer
          description: Pagination offset. offset + limit must not exceed 10000.
          example: 0
      - name: includeCursors
        in: query
        description: 'Include per-chain as-of cursors in the response. Default: false.'
        schema:
          type: boolean
          description: 'Include per-chain as-of cursors in the response. Default: false.'
          example: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrichedTransfers'
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      tags:
      - Transfers
components:
  schemas:
    Chain:
      enum:
      - ethereum
      - polygon
      - bsc
      - optimism
      - avalanche
      - arbitrum_one
      - base
      - bitcoin
      - tron
      - flare
      - solana
      - dogecoin
      - zcash
      - hyperevm
      - hypercore
      type: string
      example: ethereum
    SolanaEnrichedAnyTransfer:
      required:
      - id
      - blockTimestamp
      - blockNumber
      - blockHash
      - t

# --- truncated at 32 KB (78 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/arkham/refs/heads/main/openapi/arkham-transfers-api-openapi.yml