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

# List user operations

> Retrieve a list of all user operations that fit the specified parameters.



## OpenAPI

````yaml /openapi/buidl-wallets.yaml get /v1/w3s/buidl/userOps
openapi: 3.0.3
info:
  description: Modular Wallets API documentation.
  title: Modular Wallets
  version: '1.0'
servers:
  - url: https://api.circle.com
security:
  - BearerAuth: []
tags:
  - name: Transfers
  - name: UserOps
  - name: Wallets
paths:
  /v1/w3s/buidl/userOps:
    get:
      tags:
        - UserOps
      summary: List user operations
      description: >-
        Retrieve a list of all user operations that fit the specified
        parameters.
      operationId: listUserOps
      parameters:
        - name: blockchain
          description: Filter by the blockchain.
          in: query
          schema:
            $ref: '#/components/schemas/Blockchain'
        - name: refId
          description: Filter by the optional user-defined reference identifier.
          in: query
          schema:
            $ref: '#/components/schemas/ReferenceId'
        - name: senders
          description: Filter by the senders.
          in: query
          schema:
            $ref: '#/components/schemas/Addresses'
        - name: state
          description: Filter by the state.
          in: query
          schema:
            $ref: '#/components/schemas/UserOpState'
        - name: txHash
          description: Filter by the txHash.
          in: query
          schema:
            $ref: '#/components/schemas/TxHash'
        - name: userOpHash
          description: Filter by the userOpHash.
          in: query
          schema:
            $ref: '#/components/schemas/UserOpHash'
        - $ref: '#/components/parameters/From'
        - $ref: '#/components/parameters/To'
        - $ref: '#/components/parameters/PageBefore'
        - $ref: '#/components/parameters/PageAfter'
        - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: User operation list retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserOps'
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
            Link:
              $ref: '#/components/headers/PaginationLink'
        '400':
          $ref: '#/components/responses/DefaultError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
      security:
        - BearerAuth: []
components:
  schemas:
    Blockchain:
      title: Blockchain
      type: string
      description: Blockchain network of resource.
      enum:
        - ETH
        - ETH-SEPOLIA
        - MATIC
        - MATIC-AMOY
        - ARB
        - ARB-SEPOLIA
        - UNI
        - UNI-SEPOLIA
        - BASE
        - BASE-SEPOLIA
        - OP
        - OP-SEPOLIA
        - AVAX
        - AVAX-FUJI
        - ARC-TESTNET
        - MONAD
        - MONAD-TESTNET
      example: MATIC-AMOY
    ReferenceId:
      type: string
      description: >-
        Optional user-defined reference identifier for the wallet. Not used by
        Circle for wallet functionality. Used for internal tracking or
        associating wallets with entities in your own systems (for example, a
        customer or account ID).
      example: customer_12345
    Addresses:
      title: Addresses
      description: >
        A list of blockchain generated unique identifier, associated with wallet
        (account), smart contract or other blockchain objects, seperated by
        comma.
      type: string
      example: >-
        0x4b6c0b0078b63f881503e7fd3a9a1061065db242,0x187785007d4a7D6756e834768597dA8fA6fcfE8a
    UserOpState:
      title: State
      type: string
      description: State of user operation.
      enum:
        - SENT
        - CONFIRMED
        - COMPLETE
        - FAILED
      example: COMPLETE
    TxHash:
      title: TxHash
      type: string
      description: Blockchain generated identifier of transaction.
      example: '0x4a25cc5e661d8504b59c5f38ba93f010e8518966f00e2ceda7955c4b8621357d'
    UserOpHash:
      title: UserOpHash
      type: string
      description: Generated identifier of user operation.
      example: '0x54d3cccda6ffa503bc1e554937fe67818b6ca1a5a05c7e66ebfa32bf27520152'
    UserOps:
      title: UserOpsResponse
      type: object
      required:
        - data
      properties:
        data:
          type: object
          required:
            - userOperations
          properties:
            userOperations:
              type: array
              description: All user operations that match criteria.
              items:
                $ref: '#/components/schemas/UserOp'
    UserOp:
      title: UserOp
      type: object
      required:
        - id
        - blockchain
        - state
        - userOpHash
        - userOperation
      properties:
        id:
          $ref: '#/components/schemas/Id'
        refId:
          $ref: '#/components/schemas/ReferenceId'
        actualGasCost:
          type: string
          description: Actual gas cost of user operation.
          example: '0.0015584763706281'
        actualGasUsed:
          type: string
          description: Actual gas used of user operation.
          example: '182385'
        blockDate:
          $ref: '#/components/schemas/BlockDate'
        blockHash:
          $ref: '#/components/schemas/BlockHash'
        blockHeight:
          $ref: '#/components/schemas/BlockHeight'
        blockchain:
          $ref: '#/components/schemas/Blockchain'
        errorReason:
          $ref: '#/components/schemas/UserOpErrorReason'
        revertReason:
          type: string
          description: On-chain failed revert reason of user operation.
        state:
          $ref: '#/components/schemas/UserOpState'
        to:
          $ref: '#/components/schemas/Address'
          description: Address of user operation executed with.
        txHash:
          $ref: '#/components/schemas/TxHash'
        userOpHash:
          $ref: '#/components/schemas/UserOpHash'
        userOperation:
          $ref: '#/components/schemas/UserOperation'
        createDate:
          $ref: '#/components/schemas/CreateDate'
        updateDate:
          $ref: '#/components/schemas/UpdateDate'
    XRequestId:
      type: string
      format: uuid
      description: >-
        A unique identifier, which can be helpful for identifying a request when
        communicating with Circle support.
      example: 2adba88e-9d63-44bc-b975-9b6ae3440dde
    Error:
      title: Error
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: integer
          description: Code that corresponds to the error.
        message:
          type: string
          description: Message that describes the error.
    Id:
      type: string
      format: uuid
      description: System-generated unique identifier of the resource.
      example: c4d1da72-111e-4d52-bdbf-2e74a2d803d5
    BlockDate:
      title: BlockDate
      type: string
      format: date-time
      description: Date and time of block, in ISO-8601 UTC format.
      example: '2023-01-01T12:04:05Z'
    BlockHash:
      title: BlockHash
      type: string
      description: Blockchain generated identifier of block.
      example: '0x2eb19fd02850ff963efefbaa71dbcd4acb41a9c261c4f8961979db1b56d48704'
    BlockHeight:
      title: BlockHeight
      type: integer
      description: Blockchain height of block.
      example: 123456
    UserOpErrorReason:
      title: ErrorReason
      type: string
      description: Error reason of failed user operation.
      enum:
        - FAILED_ON_CHAIN
        - FAILED_REPLACED
      example: FAILED_REPLACED
    Address:
      title: Address
      description: >
        Blockchain generated unique identifier, associated with wallet
        (account), smart contract or other blockchain objects.
      type: string
      example: '0x4b6c0b0078b63f881503e7fd3a9a1061065db242'
    UserOperation:
      title: UserOperation
      type: object
      required:
        - callData
        - nonce
        - sender
      properties:
        callData:
          type: string
        callGasLimit:
          type: string
        factory:
          type: string
        factoryData:
          type: string
        initCode:
          type: string
        maxFeePerGas:
          type: string
        maxPriorityFeePerGas:
          type: string
        nonce:
          type: string
        paymaster:
          type: string
        paymasterAndData:
          type: string
        paymasterData:
          type: string
        paymasterPostOpGasLimit:
          type: string
        paymasterVerificationGasLimit:
          type: string
        preVerificationGas:
          type: string
        sender:
          type: string
        signature:
          type: string
        verificationGasLimit:
          type: string
    CreateDate:
      type: string
      format: date-time
      description: Date and time the resource was created, in ISO-8601 UTC format.
      example: '2023-01-01T12:04:05Z'
    UpdateDate:
      type: string
      format: date-time
      description: Date and time the resource was last updated, in ISO-8601 UTC format.
      example: '2023-01-01T12:04:05Z'
  parameters:
    From:
      name: from
      description: >-
        Queries items created since the specified date-time (inclusive) in ISO
        8601 format.
      in: query
      schema:
        type: string
        format: date-time
        example: '2023-01-01T12:04:05Z'
    To:
      name: to
      description: >-
        Queries items created before the specified date-time (inclusive) in ISO
        8601 format.
      in: query
      schema:
        type: string
        format: date-time
        example: '2023-01-01T12:04:05Z'
    PageBefore:
      name: pageBefore
      description: >
        A collection ID value used for pagination.


        It marks the exclusive end of a page. When provided, the collection
        resource will return the next n items before

        the id, with n being specified by pageSize.


        The items will be returned in the natural order of the collection.


        The resource will return the first page if neither pageAfter nor
        pageBefore are specified. 


        SHOULD NOT be used in conjunction with pageAfter.
      in: query
      schema:
        type: string
        format: uuid
    PageAfter:
      name: pageAfter
      description: >
        A collection ID value used for pagination.


        It marks the exclusive begin of a page. When provided, the collection
        resource will return the next n items after

        the id, with n being specified by pageSize.


        The items will be returned in the natural order of the collection.


        The resource will return the first page if neither pageAfter nor
        pageBefore are specified.


        SHOULD NOT be used in conjunction with pageBefore.
      in: query
      schema:
        type: string
        format: uuid
    PageSize:
      name: pageSize
      description: >
        Limits the number of items to be returned.


        Some collections have a strict upper bound that will disregard this
        value. In case the specified value is higher

        than the allowed limit, the collection limit will be used.


        If avoided, the collection will determine the page size itself.
      in: query
      schema:
        type: integer
        default: 10
        maximum: 50
        minimum: 1
  headers:
    XRequestId:
      description: >
        Developer-provided header parameter or Circle-generated universally
        unique identifier (UUID v4). Useful for identifying a specific request
        when communicating with Circle Support.
      schema:
        $ref: '#/components/schemas/XRequestId'
    PaginationLink:
      description: >
        Pagination cursor information. Format includes the following link
        relations: - self: URL pointing to the current page. - first: URL
        pointing to the first page. - next: URL pointing to the next page
        (omitted on the last page). - prev: URL pointing to the previous page
        (omitted on the first page).

        It's important to form calls with Link header values instead of
        constructing your own URLs.
      schema:
        type: string
        example: >-
          <https://api.circle.com/v1/w3s/wallets?pageAfter=32d1b923-c30d-58de-a42e-157bf7148b85&pageSize=2>;
          rel="next"
  responses:
    DefaultError:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Error response
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
    NotAuthorized:
      content:
        application/json:
          schema:
            type: object
            title: NotAuthorizedResponse
            required:
              - code
              - message
            properties:
              code:
                type: integer
                description: Code that corresponds to the error.
              message:
                type: string
                description: Message that describes the error.
            example:
              code: 401
              message: Malformed authorization.
      description: >-
        Request has not been applied because it lacks valid authentication
        credentials.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: PREFIX:ID:SECRET
      description: >-
        Circle's API Keys are formatted in the following structure
        "PREFIX:ID:SECRET". All three parts are requred to make a successful
        request.

````