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

# List matching transfers

<Tabs groupId="programming-language">
  <Tab value="Java" title="Java">
    ```java theme={null}
    TransfersService transfersService = IntxServiceFactory.createTransfersService(client);
    ListTransfersRequest request = new ListTransfersRequest.Builder().build();
    ListTransfersResponse response = transfersService.listTransfers(request);
    ```

    For more information, please visit the [INTX Java SDK](https://github.com/coinbase-samples/intx-sdk-java).
  </Tab>

  <Tab value=".NET" title=".NET">
    ```cs theme={null}
    var transfersService = new TransfersService(client);
    var request = new ListTransfersRequest();
    var response = transfersService.ListTransfers(request);
    ```

    For more information, please visit the [INTX .NET SDK](https://github.com/coinbase-samples/intx-sdk-dotnet).
  </Tab>

  <Tab value="Go" title="Go">
    ```go theme={null}
    transfersSvc := transfers.NewTransfersService(client)
    request := &transfers.ListTransfersRequest{}
    response, err := transfersSvc.ListTransfers(context.Background(), request)
    ```

    For more information, please visit the [INTX Go SDK](https://github.com/coinbase-samples/intx-sdk-go).
  </Tab>

  <Tab value="Python" title="Python">
    ```python theme={null}
    client = IntxClient()
    request = ListTransfersRequest()
    response = client.list_transfers(request)
    ```

    For more information, please visit the [INTX Python SDK](https://github.com/coinbase-samples/intx-sdk-py).
  </Tab>

  <Tab value="Typescript" title="TS/JS">
    ```js theme={null}
    const transfersService = new TransfersService(client);

    transfersService.listTransfers().then(async (response) => {
        console.log('Transfers: ', response);
    })
    ```

    For more information, please visit the [INTX TS SDK](https://github.com/coinbase-samples/intx-sdk-ts).
  </Tab>

  <Tab value="CLI" title="CLI">
    ```
    intxctl list-transfers --help
    ```

    For more information, please visit the [INTX CLI](https://github.com/coinbase-samples/intx-cli).
  </Tab>
</Tabs>


## OpenAPI

````yaml GET /api/v1/transfers
openapi: 3.0.3
info:
  title: REST API
  description: >
    # Welcome to Coinbase INTX API

    ## Introduction

    The INTX APIs allow institutions to trade and manage orders on the
    International Exchange. The following API pages detail various REST API
    endpoints we offer.

    ## Getting Started

    To get started, please visit one of the following pages:

    - [Quickstart](/international-exchange/introduction/quickstart)

    -
    [Overview](/api-reference/international-exchange-api/rest-api/introduction)

    -
    [Authentication](/api-reference/international-exchange-api/rest-api/authentication)

    - [Rate Limits](/international-exchange/introduction/rate-limits-overview)

    ## FIX API

    - [FIX API reference](/international-exchange/fix-api/fix-api-overview)

    ## WebSocket API

    - [WebSocket API
    reference](/international-exchange/websocket-feed/websocket-overview)
  version: '1.0'
servers:
  - url: https://api.international.coinbase.com
security: []
paths:
  /api/v1/transfers:
    get:
      tags:
        - Transfers
      summary: List matching transfers
      operationId: getTransfers
      parameters:
        - name: portfolio [DEPRECATED]
          in: query
          description: >-
            Identifies a portfolio by UUID (e.g.,
            `892e8c7c-e979-4cad-b61b-55a197932cf1`) or portfolio ID (e.g.,
            `5189861793641175`). If a portfolio identifier is provided under
            this param, it will be added to the list of values under
            `portfolios`
          schema:
            type: string
        - name: portfolios
          in: query
          description: >-
            Identifies the portfolios by UUID (e.g.,
            `892e8c7c-e979-4cad-b61b-55a197932cf1`) or portfolio ID (e.g.,
            `5189861793641175`). Can provide single or multiple portfolios to
            filter by or fetches transfers for all portfolios if none are
            provided.
          schema:
            type: string
        - name: time_from
          in: query
          description: >-
            Only find transfers updated after this time. Uses ISO-8601 format
            (e.g., 2023-03-16T23:59:53Z)
          schema:
            type: string
            format: date-time
            example: '2023-03-16T23:59:53.000Z'
        - name: time_to
          in: query
          description: >-
            Only find transfers updated before this time. Uses ISO-8601 format
            (e.g., 2023-03-16T23:59:53Z)
          schema:
            type: string
            format: date-time
            example: '2023-03-16T23:59:53.000Z'
        - $ref: '#/components/parameters/result_limit'
        - $ref: '#/components/parameters/result_offset'
        - name: status
          in: query
          description: The current status of transfer
          schema:
            $ref: '#/components/schemas/TransferStatus'
        - name: type
          in: query
          description: The type of transfer (defaults to ALL if not defined)
          schema:
            $ref: '#/components/schemas/TransferType'
        - name: pagination_type
          in: query
          description: >
            Specifies the pagination method to use.

            - `OFFSET`: Traditional offset-based pagination using
            `result_offset` (default behavior). Faster but may return duplicate
            results when new transfers are created between paginated requests.

            - `CURSOR`: Cursor-based pagination using `search_after_time` and
            `search_after_idem` for stable, consistent results. **Recommended**
            to avoid duplicate results when new transfers are created between
            paginated requests, though slightly slower than offset pagination.


            If not specified, the pagination type is inferred from the
            parameters provided.
          schema:
            type: string
            enum:
              - OFFSET
              - CURSOR
        - name: search_after_time
          in: query
          description: >
            The `updated_at` timestamp of the last transfer from the previous
            page, used for cursor-based pagination.

            Must be provided together with `search_after_idem`. Uses ISO-8601
            format (e.g., `2023-03-16T23:59:53Z`).

            Cannot be used with `result_offset` or `pagination_type=OFFSET`.
          schema:
            type: string
            format: date-time
            example: '2023-03-16T23:59:53Z'
        - name: search_after_idem
          in: query
          description: >
            The `transfer_uuid` of the last transfer from the previous page,
            used for cursor-based pagination.

            Must be provided together with `search_after_time`. Cannot be used
            with `result_offset` or `pagination_type=OFFSET`.
          schema:
            type: string
      responses:
        '200':
          description: Matching transfers
          content:
            application/json:
              schema:
                type: object
                properties:
                  pagination:
                    $ref: '#/components/schemas/TransfersPagination_v1'
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/Transfer_v1'
        '400':
          description: Invalid attribute
      security:
        - auth_client_id: []
          auth_passphrase: []
          auth_signature: []
          auth_timestamp: []
components:
  parameters:
    result_limit:
      name: result_limit
      in: query
      description: >-
        The number of results to return (defaults to 25 with a max supported
        value of 100)
      required: false
      schema:
        type: integer
        example: 30
    result_offset:
      name: result_offset
      in: query
      description: The number of results from the beginning to skip past
      required: false
      schema:
        type: integer
        example: 50
  schemas:
    TransferStatus:
      description: The current status of the transfer
      type: string
      enum:
        - PROCESSED
        - NEW
        - FAILED
        - STARTED
      example: PROCESSED
    TransferType:
      description: The type of transfer
      type: string
      enum:
        - DEPOSIT
        - WITHDRAW
        - STIPEND
        - INTERNAL
        - FUNDING
        - ALL
        - LOAN_ACQUIRE
        - LOAN_REPAY
        - LOAN_INTEREST_CHARGE
        - REAL_TIME_SETTLEMENT
        - ALL_LOANS
        - LIQUIDATION_EQUITY_CLAWBACK
        - POSITION_TRANSFER
        - REV_SHARE
        - USDC_REWARD
      example: DEPOSIT
    TransfersPagination_v1:
      type: object
      description: >-
        Pagination information for transfers, supporting both offset and
        cursor-based pagination.
      properties:
        result_limit:
          description: >-
            The number of results to return (defaults to 25 with a max supported
            value of 100)
          type: integer
          example: 30
        result_offset:
          description: >-
            The number of results from the beginning to skip past. Only present
            when using offset-based pagination.
          type: integer
          example: 50
        search_after_time:
          description: >-
            The timestamp used in the current request. Only present when using
            cursor-based pagination.
          type: string
          format: date-time
          example: '2023-03-16T23:59:53Z'
        search_after_idem:
          description: >-
            The idempotency key used in the current request. Only present when
            using cursor-based pagination.
          type: string
          example: 7975e6ab-57ed-4751-b359-13f63f4da793
    Transfer_v1:
      type: object
      properties:
        transfer_uuid:
          description: A unique identifier for the transfer
          type: string
          format: uuid
          example: 7975e6ab-57ed-4751-b359-13f63f4da793
        transfer_type:
          $ref: '#/components/schemas/TransferType'
        amount:
          description: >-
            The amount of the asset being transferred. For position transfers,
            this represents the realized USDC PnL resulting from the transfer.
          type: string
          example: 5100.5
        asset:
          description: >-
            The asset being transferred. For position transfers, this is always
            USDC.
          type: string
          example: USDC
        status:
          $ref: '#/components/schemas/TransferStatus'
        network_name:
          description: The common name of the network on which the transfer occurred
          type: string
          example: ethereum
        created_at:
          description: The time the transfer was created
          type: string
          format: date-time
          example: '2023-01-29T14:32:28.000Z'
        updated_at:
          description: The time of the most recent status change of the transfer
          type: string
          format: date-time
          example: '2023-01-29T14:32:28.000Z'
        from_portfolio:
          description: >-
            Portfolio identifiers of the transfer source. For position
            transfers, this represents the source of the realized USDC PnL
            movement.
          type: object
          properties:
            id:
              type: string
              example: 14thr7ft-1-0
            uuid:
              type: string
              format: uuid
              example: 7975e6ab-57ed-4751-b359-13f63f4da793
            name:
              type: string
              example: portfolio1
        to_portfolio:
          description: >-
            Portfolio identifiers of the transfer target. For position
            transfers, this represents the target of the realized USDC PnL
            movement.
          type: object
          properties:
            id:
              type: string
              example: 14thr7ft-1-0
            uuid:
              type: string
              format: uuid
              example: 7975e6ab-57ed-4751-b359-13f63f4da793
            name:
              type: string
              example: portfolio1
        from_address:
          description: blockchain address of transfer source
          type: string
          example: '0x29d2D586e222D0610b04e71974699589379F13b5'
        to_address:
          description: blockchain address of transfer target
          type: string
          example: '0x29d2D586e222D0610b04e71974699589379F13b5'
        from_cb_account:
          description: Coinbase account Id of transfer source
          type: string
          example: 64ac90a106d1db7863f9ab7d
        to_cb_account:
          description: Coinbase account Id of transfer target
          type: string
          example: 64ac90a106d1db7863f9ab7d
        from_counterparty_id:
          description: >-
            Coinbase counterparty Id of transfer source if it is a counterparty
            transfer
          type: string
          example: CBTQDGENHE
        to_counterparty_id:
          description: >-
            Coinbase counterparty Id of transfer target if it is a counterparty
            transfer
          type: string
          example: CBA6POFJW7
        instrument_id:
          description: >-
            The unique identifier of the instrument associated with the funding
            event or the position transfer event.
          type: string
          example: 2562519737567269
        instrument_symbol:
          description: >-
            The name of the instrument associated with the funding event or the
            position transfer event.
          type: string
          example: BTC-PERP
        position_id:
          description: >-
            The ID of the position used to calculate the funding payment. Note:
            This field is not used by position transfer.
          type: string
          example: 14thr7ft-1-0
        txn_hash:
          description: >-
            transaction hash associated with an on-chain deposit or on-chain
            withdrawal
          type: string
          example: >-
            Z3dQkmcWeuQxHKFPfsQs8QA8Jq9PFWr5yCwUjhQKcX5o99q3BmnyFfqZGNqRg9CWY9xV6QDBdDA9pH3AM6Ajpaq
        position_transfer_reference_id:
          description: >
            The ID that links two position transfer events.

            A position transfer action generates two transfer events: one for
            the position_from_portfolio and one for the position_to_portfolio.
            Both events share the same position_transfer_reference_id.
          type: string
          example: 12thr7ft-1-0
        position_from_portfolio:
          description: portfolio identifiers of the position transfer source
          type: object
          properties:
            id:
              type: string
              example: 14thr7ft-1-0
            uuid:
              type: string
              format: uuid
              example: 7975e6ab-57ed-4751-b359-13f63f4da793
            name:
              type: string
              example: portfolio1
        position_to_portfolio:
          description: portfolio identifiers of the position transfer target
          type: object
          properties:
            id:
              type: string
              example: 14thr7ft-1-0
            uuid:
              type: string
              format: uuid
              example: 7975e6ab-57ed-4751-b359-13f63f4da793
            name:
              type: string
              example: portfolio1
        position_size:
          description: The size of the position being transferred.
          type: string
          example: 2000.5
        position_side:
          description: The side of the position being transferred.
          type: string
          enum:
            - BUY
            - SELL
          example: BUY
        position_price:
          description: The price of the position instrument being transferred.
          type: string
          example: 10000.5
  securitySchemes:
    auth_client_id:
      type: apiKey
      name: CB-ACCESS-KEY
      in: header
      description: The Client ID that owns the API Key for the request
    auth_passphrase:
      type: apiKey
      name: CB-ACCESS-PASSPHRASE
      in: header
      description: The pass phrase affiliated with the API Key
    auth_signature:
      type: apiKey
      name: CB-ACCESS-SIGN
      in: header
      description: >-
        A HMAC SHA-256 signature using the API Key secret on the string
        TIMESTAMP, METHOD, REQUEST_PATH, BODY
    auth_timestamp:
      type: apiKey
      name: CB-ACCESS-TIMESTAMP
      in: header
      description: The timestamp of when the request is being made

````