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

# List transactions with filters

> List transactions with filters.

Results are ordered newest-first (by createdAt desc, id desc). `limit`
defaults to 50 and is capped at 100.

Date filters `createdAfter` and `createdBefore` are **inclusive**
(treated as `>=` and `<=` against `createdAt`).

Pagination returns opaque `nextCursor` / `previousCursor` tokens in the
response whenever the page is non-empty: use `startingAfter=nextCursor`
to fetch the next page, or `endingBefore=previousCursor` to page
backward. `hasMore` tells the client whether more rows exist in the
current direction of travel; an empty response in the other direction
signals the start of the list.



## OpenAPI

````yaml /api-reference/openapi.yaml get /transactions
openapi: 3.0.3
info:
  title: Polygon OMS Public API
  version: v26.05.28-0001
  description: >-
    Unified API for moving money between crypto and fiat. Three ways to move
    money: Transactions (instant, wallet or card funded, including Cash-In for
    in-person cash deposits), Deposit Addresses (reusable crypto deposit
    configurations), and Virtual Accounts (dedicated bank accounts that
    auto-convert fiat to crypto). Standard transactions follow a two-step flow:
    create a Quote (pricing), then create a Transaction (execution). Cash-in
    codes generate a one-time deposit code for in-person cash deposits at retail
    locations.
  contact:
    name: Polygon OMS
    url: https://oms.polygon.technology
servers:
  - url: https://sandbox-api.polygon.technology/v0.9
    description: Sandbox
  - url: https://api.polygon.technology/v0.9
    description: Production
security:
  - BearerAuth: []
tags:
  - name: Auth
    description: Authentication via FrontEgg
  - name: Customers
    description: Customer management and KYC
  - name: Customer
  - name: Wallet
  - name: Quote
  - name: Transaction
  - name: Webhook
  - name: CashIns
  - name: CashLocation
  - name: Sandbox
  - name: Simulation
paths:
  /transactions:
    get:
      tags:
        - Transaction
      summary: List transactions with filters
      description: |-
        List transactions with filters.

        Results are ordered newest-first (by createdAt desc, id desc). `limit`
        defaults to 50 and is capped at 100.

        Date filters `createdAfter` and `createdBefore` are **inclusive**
        (treated as `>=` and `<=` against `createdAt`).

        Pagination returns opaque `nextCursor` / `previousCursor` tokens in the
        response whenever the page is non-empty: use `startingAfter=nextCursor`
        to fetch the next page, or `endingBefore=previousCursor` to page
        backward. `hasMore` tells the client whether more rows exist in the
        current direction of travel; an empty response in the other direction
        signals the start of the list.
      operationId: listTransactions
      parameters:
        - $ref: '#/components/parameters/PaginationParams.limit'
        - $ref: '#/components/parameters/PaginationParams.startingAfter'
        - $ref: '#/components/parameters/PaginationParams.endingBefore'
        - in: query
          name: status
          required: false
          schema:
            items:
              $ref: '#/components/schemas/TransactionStatus'
            type: array
        - in: query
          name: type
          required: false
          schema:
            items:
              $ref: '#/components/schemas/TransferType'
            type: array
        - description: Filters rows where the customer was the sender (the quote owner).
          in: query
          name: senderCustomerId
          required: false
          schema:
            type: string
        - description: >-
            Filters rows where the customer was the recipient (dest wallet
            owner, or sender on cash/fiat rails).
          in: query
          name: recipientCustomerId
          required: false
          schema:
            type: string
        - in: query
          name: createdAfter
          required: false
          schema:
            type: string
            format: date-time
        - in: query
          name: createdBefore
          required: false
          schema:
            type: string
            format: date-time
        - description: >-
            Free-text search. Matches transaction id, customer id, or customer
            email.
          in: query
          name: search
          required: false
          schema:
            type: string
        - description: Alias for `search`.
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: >-
            Filters to payments where ANY leg's underlying status is in the
            given

            set (e.g. `failed` surfaces outbound-failed-funds-held payments
            whose

            derived overall `status` is still `processing`). Values are
            leg-level

            statuses, a superset of `TransactionStatus`. Only applied under the

            grouped read model; ignored otherwise.
          in: query
          name: legStatus
          required: false
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionList'
          description: The request has succeeded.
components:
  parameters:
    PaginationParams.limit:
      in: query
      name: limit
      required: false
      schema:
        format: int32
        type: integer
    PaginationParams.startingAfter:
      in: query
      name: startingAfter
      required: false
      schema:
        type: string
    PaginationParams.endingBefore:
      in: query
      name: endingBefore
      required: false
      schema:
        type: string
  schemas:
    TransactionStatus:
      description: >-
        Lifecycle of a transaction. processing: funds in motion. completed:
        delivered. failed: terminal failure. cashPickupReady: a cash pickup code
        is ready to collect.
      enum:
        - processing
        - completed
        - failed
        - cashPickupReady
      type: string
    TransferType:
      description: >-
        Direction of value across rails: cryptoToCrypto, fiatToCrypto, or
        cryptoToFiat.
      enum:
        - cryptoToCrypto
        - fiatToCrypto
        - cryptoToFiat
      type: string
    TransactionList:
      description: A paginated list of transactions.
      properties:
        data:
          items:
            $ref: '#/components/schemas/Transaction'
          type: array
        hasMore:
          description: >-
            True when more rows exist beyond this page in the direction of
            travel (forward by default, backward when `endingBefore` was
            supplied).
          type: boolean
        nextCursor:
          description: |-
            Opaque cursor pointing at the last item in this page. Present when
            `data` is non-empty. Pass as `startingAfter` to fetch the next page;
            `hasMore=false` signals no more pages forward.
          type: string
        object:
          type: string
        previousCursor:
          description: >-
            Opaque cursor pointing at the first item in this page. Present when

            `data` is non-empty. Pass as `endingBefore` to page backward; when

            this yields an empty response the client is at the start of the
            list.
          type: string
      type: object
    Transaction:
      description: >-
        A single movement of money from a source to a destination. Created by
        accepting a quote, or generated automatically by a deposit address,
        virtual account, or cash-in. Track its progress with status.
      properties:
        cashInId:
          type: string
        cashPickup:
          $ref: '#/components/schemas/CashPickup'
        completedAt:
          description: >-
            When the transaction reached a terminal completed state. Absent
            until completion; distinct from updatedAt.
          format: date-time
          type: string
        createdAt:
          type: string
          format: date-time
        depositAddressId:
          type: string
        depositInstructions:
          $ref: '#/components/schemas/TransactionDepositInstructions'
        destination:
          $ref: '#/components/schemas/TransactionDestination'
        error:
          $ref: '#/components/schemas/AsyncError'
        estimatedArrival:
          type: string
          format: date-time
        expiresAt:
          type: string
          format: date-time
        fixedAmountSide:
          enum:
            - source
            - destination
          type: string
        id:
          type: string
        metadata:
          type: object
          additionalProperties:
            type: string
        object:
          enum:
            - transaction
          type: string
        quoteId:
          type: string
        rail:
          description: >-
            Payment rail for this leg: e.g. "wire", "international_wire", "ach",
            "crypto". Lets clients label the rail without re-deriving it from
            other fields.
          type: string
        rates:
          $ref: '#/components/schemas/Rates'
        recipientCustomerId:
          description: >-
            Recipient customer when resolvable: internal dest wallet's owner, or
            the sender for cash/fiat rails. Absent for external blockchain
            destinations.
          type: string
        role:
          allOf:
            - $ref: '#/components/schemas/CustomerRole'
          description: >-
            Present only when the request supplies customer context; see
            CustomerRole.
        senderCustomerId:
          description: Sender customer (the quote owner). OMSX customer TypeID (cst_…).
          type: string
        source:
          $ref: '#/components/schemas/TransactionSource'
        sponsorGas:
          type: boolean
        sponsorGasCost:
          description: |-
            USD cost of gas absorbed by the developer when sponsoring gas.
            Always "0" in alpha - gas is sponsored. Spec § 4.1.
          type: string
        status:
          $ref: '#/components/schemas/TransactionStatus'
        subStatus:
          type: string
        type:
          $ref: '#/components/schemas/TransferType'
        updatedAt:
          type: string
          format: date-time
        virtualAccountId:
          type: string
      type: object
    CashPickup:
      description: >-
        Details for collecting a cash payout: the pickup code, amount, and
        location.
      properties:
        amount:
          type: string
        asset:
          type: string
        cashCode:
          type: string
        expiresAt:
          type: string
          format: date-time
        instructions:
          type: string
        location:
          $ref: '#/components/schemas/CashPickupLocation'
        phoneRequired:
          type: boolean
      type: object
    TransactionDepositInstructions:
      description: >-
        On-chain instructions for funding a transaction: the address, asset,
        network, and exact amount to send.
      properties:
        address:
          type: string
        asset:
          type: string
        exactAmount:
          type: string
        expiresAt:
          type: string
          format: date-time
        network:
          type: string
      type: object
    TransactionDestination:
      description: >-
        The destination side of a transaction: where funds are delivered, with
        the amounts and fees on that side.
      properties:
        amountGross:
          type: string
        amountNet:
          type: string
        asset:
          type: string
        bankDetails:
          type: object
          additionalProperties:
            type: string
        cash:
          $ref: '#/components/schemas/TransactionDestinationCash'
        externalAccountId:
          type: string
        feesDeducted:
          $ref: '#/components/schemas/FeesDeducted'
        network:
          type: string
        owner:
          $ref: '#/components/schemas/Owner'
        txHash:
          type: string
        wallet:
          $ref: '#/components/schemas/WalletTarget'
      type: object
    AsyncError:
      description: >-
        Details of an asynchronous failure, such as a transaction or webhook
        that failed after the initial request succeeded. Present only once a
        failure has occurred.
      properties:
        code:
          type: string
        message:
          type: string
        occurredAt:
          type: string
          format: date-time
        recoverable:
          type: boolean
        refund:
          $ref: '#/components/schemas/Refund'
      type: object
    Rates:
      description: Exchange and effective rates.
      properties:
        effectiveRate:
          description: All-in rate inclusive of all fees on both sides.
          type: string
        exchangeRate:
          description: Units of destination asset per 1 unit of source asset.
          type: string
        pair:
          description: Asset pair string, e.g. "usdc/usd".
          type: string
      required:
        - pair
        - exchangeRate
        - effectiveRate
      type: object
    CustomerRole:
      description: >-
        Role of the perspective customer (the one named in the path or filter)

        relative to a transaction. Emitted on customer-scoped list responses

        (`GET /customers/{id}/transactions` or `GET
        /transactions?senderCustomerId=…`

        / `…?recipientCustomerId=…`) and single-transaction responses with

        `GET /transactions/{id}?senderCustomerId=…` or

        `GET /transactions/{id}?recipientCustomerId=…`; absent when there is no
        single

        reference customer.
      enum:
        - sender
        - recipient
        - both
      type: string
    TransactionSource:
      description: >-
        The source side of a transaction: where funds are pulled from, with the
        amounts and fees on that side.
      properties:
        amountGross:
          type: string
        amountNet:
          type: string
        asset:
          type: string
        externalAccountId:
          type: string
        feesDeducted:
          $ref: '#/components/schemas/FeesDeducted'
        network:
          type: string
        owner:
          $ref: '#/components/schemas/Owner'
        txHash:
          type: string
        walletId:
          type: string
      type: object
    CashPickupLocation:
      properties:
        address:
          type: string
        city:
          type: string
        coordinates:
          $ref: '#/components/schemas/CashLocationCoordinates'
        country:
          type: string
        name:
          type: string
        provider:
          type: string
        state:
          type: string
        zipCode:
          type: string
      type: object
    TransactionDestinationCash:
      properties:
        locationId:
          type: string
        locationReference:
          type: string
      type: object
    FeesDeducted:
      description: |-
        Per-side breakdown of fees deducted in-line from the transaction.
        End-of-month billable fees will be reported separately in the future
        (planned `feesInvoice` sibling). Denominated in that side's asset.
      properties:
        developer:
          description: |-
            Per-side aggregated developer fee total in this side's asset.
            Always "0" in alpha - alpha invariant, mirrors the gas line.
          type: string
        gas:
          type: string
        oms:
          type: string
        total:
          type: string
      required:
        - total
        - developer
        - oms
        - gas
      type: object
    Owner:
      description: >-
        The legal owner of a payment endpoint, either an individual or a
        business, with contact and identifying details.
      properties:
        address:
          $ref: '#/components/schemas/Address'
        dateOfBirth:
          format: date
          type: string
        email:
          type: string
        name:
          description: Full legal name or registered business name.
          type: string
        nationality:
          description: ISO 3166-1 alpha-2
          type: string
        phone:
          type: string
        taxId:
          description: Tax ID (CPF, CNPJ, etc.)
          type: string
        type:
          $ref: '#/components/schemas/OwnerType'
      type: object
    WalletTarget:
      description: Crypto delivery target. One or more identifiers may be present.
      properties:
        blockchainAddress:
          description: External on-chain address.
          type: string
        externalAccountId:
          description: Saved blockchain address (cpBcAddr_ prefix).
          type: string
        walletId:
          description: Internal OMS wallet (acc_ prefix).
          type: string
      type: object
    Refund:
      description: >-
        An automatic refund issued when a transaction fails after funds were
        pulled from the source.
      properties:
        amount:
          type: string
        asset:
          type: string
        destinationWalletId:
          type: string
        network:
          type: string
        status:
          $ref: '#/components/schemas/RefundStatus'
        txHash:
          type: string
      type: object
    CashLocationCoordinates:
      properties:
        latitude:
          format: double
          type: number
        longitude:
          format: double
          type: number
      required:
        - latitude
        - longitude
      type: object
    Address:
      description: A postal address. country is an ISO 3166-1 alpha-2 country code.
      properties:
        city:
          type: string
        country:
          description: ISO 3166-1 alpha-2
          type: string
        line1:
          type: string
        line2:
          type: string
        state:
          type: string
        zipCode:
          type: string
      type: object
    OwnerType:
      enum:
        - individual
        - business
      type: string
    RefundStatus:
      enum:
        - pending
        - completed
        - failed
      type: string
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Token from POST /auth/token

````