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

# List transactions for an account

> Returns paginated transactions for a single account, read from the persisted transaction history. Run POST /accounts/transfers/sync first to populate history for a newly imported account. Pagination is opaque token (cursor) based — pass meta.next_cursor back as ?cursor to fetch the next page; null next_cursor means no more results. Time filters are a half-open UTC Period [start_time, end_time): timestamp >= start_time and timestamp < end_time. A date-only YYYY-MM-DD is that UTC calendar day (start_time is that midnight; end_time is the next UTC midnight). An ISO value with a time is an instant and is not expanded — 2026-08-17T00:00:00Z is midnight, not the whole day. Naive ISO without an offset is interpreted as UTC. When changing the date range, omit cursor; the cursor only encodes { timestamp, id }.



## OpenAPI

````yaml /api-reference/platform-api.json get /v2/accounts/{id}/transfers
openapi: 3.0.0
info:
  title: Range Platform API
  description: >-
    The Range Platform API for workspace management, counterparties, and
    operational tooling.
  version: 1.7.31
  contact: {}
servers:
  - url: https://api.range.org
    description: Range API Server
security:
  - Authorization: []
  - Authorization: []
tags:
  - name: Address Information
    description: Get information about a crypto address.
  - name: Transfer Enrichments
    description: Attach workspace-scoped notes and categories to transfers.
  - name: Counterparties
    description: Manage external entities, their addresses, bank accounts, and documents.
  - name: Parties
    description: >-
      The workspace entity register: the firm itself, its clients, and its
      counterparties.
paths:
  /v2/accounts/{id}/transfers:
    get:
      tags:
        - Accounts
      summary: List transactions for an account
      description: >-
        Returns paginated transactions for a single account, read from the
        persisted transaction history. Run POST /accounts/transfers/sync first
        to populate history for a newly imported account. Pagination is opaque
        token (cursor) based — pass meta.next_cursor back as ?cursor to fetch
        the next page; null next_cursor means no more results. Time filters are
        a half-open UTC Period [start_time, end_time): timestamp >= start_time
        and timestamp < end_time. A date-only YYYY-MM-DD is that UTC calendar
        day (start_time is that midnight; end_time is the next UTC midnight). An
        ISO value with a time is an instant and is not expanded —
        2026-08-17T00:00:00Z is midnight, not the whole day. Naive ISO without
        an offset is interpreted as UTC. When changing the date range, omit
        cursor; the cursor only encodes { timestamp, id }.
      operationId: getAccountTransactions
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
        - name: start_time
          required: false
          in: query
          description: >-
            Start of a half-open UTC Period. Date-only YYYY-MM-DD is that UTC
            midnight. ISO with a time is an instant (naive ISO is UTC).
          schema:
            format: date-time
            example: '2026-08-17'
            type: string
        - name: end_time
          required: false
          in: query
          description: >-
            Exclusive end of a half-open UTC Period. Date-only YYYY-MM-DD is the
            next UTC midnight. ISO with a time is an instant (naive ISO is UTC).
          schema:
            format: date-time
            example: '2026-08-17'
            type: string
        - name: cursor
          required: false
          in: query
          description: Opaque cursor returned in meta.next_cursor of a previous response.
          schema:
            example: eyJwYWdlVG9rZW4iOiJYWVoifQ==
            type: string
        - name: size
          required: false
          in: query
          schema:
            minimum: 1
            maximum: 1000
            default: 100
            example: 100
            type: number
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchConnectionTransactionsResponseDto'
components:
  schemas:
    SearchConnectionTransactionsResponseDto:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/CanonicalConnectionTransactionDto'
        meta:
          $ref: '#/components/schemas/CursorMetaDto'
      required:
        - items
        - meta
    CanonicalConnectionTransactionDto:
      type: object
      properties:
        id:
          type: string
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
          description: >-
            Unique identifier for this event. On persisted reads this is the DB
            row id (stable across accounts that share a provider-native event).
            On live adapter responses it is the provider-native id used as the
            upsert key.
        transaction_id:
          type: string
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
          description: >-
            Persisted row id for this transaction. Present on reads from
            storage; absent on live adapter responses. Used to update category.
            On persisted reads this matches `id`.
        provider_transaction_id:
          type: string
          example: 0x9a3f...
          description: >-
            Provider-native event id used as the upsert key. Present on
            persisted reads; on live adapter responses the same value lives in
            `id`.
        account_id:
          type: string
          example: acc_abc123
          description: Account (in this API) the event belongs to.
        account:
          description: >-
            Workspace Account this event belongs to. Present on persisted reads
            so clients do not need to join GET /v2/accounts by `account_id`.
            Balances are omitted — fetch the account directly for holdings.
          allOf:
            - $ref: '#/components/schemas/AccountTransferAccountDto'
        provider:
          type: object
          nullable: true
          example: hyperliquid
          description: >-
            Connection provider that produced this event. Null for
            on-chain-sourced rows (On-chain data provider ≠ Connection
            Provider).
        kind:
          type: string
          enum:
            - TRANSFER
            - TRADE
          example: TRADE
          description: 'Discriminator: which event-specific payload is populated.'
        status:
          type: string
          enum:
            - PENDING
            - CONFIRMED
            - FAILED
          example: CONFIRMED
        timestamp:
          type: string
          nullable: true
          example: '2026-01-15T10:00:00.000Z'
          description: Canonical event time (ISO 8601).
        hash:
          type: string
          nullable: true
          example: 0xabc...
        network:
          type: string
          nullable: true
          example: networks/ethereum-mainnet
        block_number:
          type: string
          nullable: true
          example: '21000000'
        direction:
          nullable: true
          enum:
            - in
            - out
            - internal
          type: string
          example: in
          description: >-
            Workspace-relative direction, judged on the first transfer leg
            against every saved account in the workspace (not narrowed by
            `group_ids`): `internal` when the counterparty is also a saved
            account or the leg is SELF, otherwise `in` / `out` from the leg.
            Null for trades and for transfers with no parsed legs. Unlike
            `transfers[].direction`, which is relative to the owning account.
        usd_amount:
          type: string
          nullable: true
          example: '250.50'
          description: >-
            Unsigned USD magnitude for this event (transfer notional or trade
            notional). Encrypted at rest with the financial payload; used by
            min_usd / max_usd filters.
        transfers:
          nullable: true
          description: >-
            Value movement legs. Populated when kind === 'TRANSFER' (may be
            empty when the provider has not parsed the underlying transfers
            yet).
          type: array
          items:
            $ref: '#/components/schemas/TransferEventDto'
        trade:
          nullable: true
          description: Populated when kind === 'TRADE'.
          type: object
          allOf:
            - $ref: '#/components/schemas/TradeEventDto'
        fee:
          nullable: true
          description: >-
            Network fee paid, in base units of the native asset. Present only
            for on-chain transactions on networks with indexed fee data (cosmos,
            stellar today); absent for CEX/bank connections, unsupported
            networks, or when the underlying transaction record has no fee.
          type: object
          allOf:
            - $ref: '#/components/schemas/TransactionFeeDto'
        category:
          type: string
          nullable: true
          example: Payroll
          description: >-
            User-assigned category label. Null when unset. Survives provider
            re-sync.
        note:
          type: string
          nullable: true
          example: Wire from payroll run
          description: User-authored note. Null when unset. Survives provider re-sync.
        raw:
          type: object
          additionalProperties: true
          example: {}
          description: >-
            Provider-native fields that are not part of the canonical shape
            (escape hatch; never relied upon by consumers).
      required:
        - id
        - account_id
        - kind
        - status
        - raw
    CursorMetaDto:
      type: object
      properties:
        next_cursor:
          type: string
          nullable: true
          description: >-
            Opaque string cursor pointing to the next page of results. null if
            there is no next page.
          example: eyJpZCI6IjkxeFFlV3Z...
        previous_cursor:
          type: string
          nullable: true
          description: >-
            Opaque string cursor pointing to the previous page of results. null
            if there is no previous page.
          example: eyJpZCI6IjkxeFFlV3Z...
        first_page_cursor:
          type: string
          description: >-
            Opaque string cursor pointing to the very first page in the entire
            dataset with respect to the current filter.
          example: eyJpZCI6IjkxeFFlV3Z...
        last_page_cursor:
          type: string
          nullable: true
          description: >-
            Opaque string cursor pointing to the very last page in the entire
            dataset with respect to the current filter.
          example: eyJpZCI6IjkxeFFlV3Z...
        total_count:
          type: number
          nullable: true
          description: Total number of results.
          example: 100
        page_number:
          type: number
          description: Current page number.
          example: 1
    AccountTransferAccountDto:
      type: object
      properties:
        id:
          type: string
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
          description: Stable account id. Matches `account_id` on the parent transfer.
        name:
          type: string
          example: Treasury wallet
        type:
          type: string
          example: eoa
          enum:
            - eoa
            - multisig
            - contract
            - custodian
            - exchange
            - bank
            - defi
        network:
          type: string
          nullable: true
          example: solana
        address:
          type: string
          nullable: true
          example: BJE5MMbqXjVwjAF7oxwPYXnTXDyspzZyt4vwenNw5ruG
        groups:
          type: array
          example:
            - id: uuid-1
              name: Finance
          items:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
        details:
          type: object
          description: >-
            Connection details when this account is linked to a Provider. Absent
            for standalone on-chain accounts.
      required:
        - id
        - name
        - type
        - groups
    TransferEventDto:
      type: object
      properties:
        direction:
          type: string
          enum:
            - IN
            - OUT
            - SELF
          example: IN
        asset:
          type: string
          nullable: true
          example: USDC
        amount:
          type: string
          nullable: true
          example: '100.50'
          description: Quantity moved, in asset units.
        usd_amount:
          type: string
          nullable: true
          example: '9.831'
          description: >-
            USD valuation at event time. Unsigned magnitude; direction conveys
            sign.
        source_address:
          type: string
          nullable: true
          example: 0xabc...
        destination_address:
          type: string
          nullable: true
          example: 0xdef...
        source_label:
          type: string
          nullable: true
          example: Coinbase
          description: >-
            Public or workspace label for `source_address`. Same overlay as
            `sender.label` on GET /v2/transfers: addresses.labels first, then
            the workspace's own name when one exists.
        source_malicious:
          type: boolean
          example: true
          description: >-
            True when `source_address` is labelled malicious in
            addresses.labels.
        source_icon_urls:
          example:
            - https://icons.range.org/icons/coinbase.webp
          description: Entity icon URLs for `source_address`, when known.
          type: array
          items:
            type: string
        destination_label:
          type: string
          nullable: true
          example: Treasury
          description: >-
            Public or workspace label for `destination_address`. Same overlay as
            `receiver.label` on GET /v2/transfers.
        destination_malicious:
          type: boolean
          example: false
          description: >-
            True when `destination_address` is labelled malicious in
            addresses.labels.
        destination_icon_urls:
          example:
            - https://icons.range.org/icons/entity.webp
          description: Entity icon URLs for `destination_address`, when known.
          type: array
          items:
            type: string
      required:
        - direction
    TradeEventDto:
      type: object
      properties:
        side:
          type: string
          enum:
            - BUY
            - SELL
          example: BUY
        base_asset:
          type: string
          nullable: true
          example: BTC
        base_amount:
          type: string
          nullable: true
          example: '0.01'
        quote_asset:
          type: string
          nullable: true
          example: USDC
        quote_amount:
          type: string
          nullable: true
          example: '500.0'
          description: Notional in quote asset units (price × base amount).
        price:
          type: string
          nullable: true
          example: '50000.0'
        fee:
          type: string
          nullable: true
          example: '0.45'
        fee_asset:
          type: string
          nullable: true
          example: USDC
          description: Asset the fee was charged in, when known.
        realized_pnl:
          type: string
          nullable: true
          example: '25.11'
          description: >-
            Realised PnL for a position-closing fill (perps). Null/absent for
            opens and spot.
        liquidation:
          type: boolean
          example: false
          description: >-
            True when the fill was a forced liquidation rather than a
            user-initiated trade.
      required:
        - side
    TransactionFeeDto:
      type: object
      properties:
        amount:
          type: string
          example: '5000'
          description: Fee paid, in base units of `denom`.
        denom:
          type: string
          example: uatom
          description: The network's native asset denom.
      required:
        - amount
        - denom
  securitySchemes:
    Authorization:
      type: apiKey
      in: header
      name: X-API-KEY
      description: Authorization method required to allow user to access the api endpoints.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.