Account Abstraction
API Reference
User Operation
Get User Operation List

Get User Operations

Overview

This API endpoint allows you to retrieve a list of user operations associated with your organization.

  • HTTP Method: GET
  • Endpoint: {{BASE_URL}}/api/v1/userOp

Query Parameters

  • limit (optional): Number of records to return per page. Default is 10.
  • page (optional): Page number for pagination. Default is 1.

Request

Request Headers

  • X-CLIENT-ID: (required): Client ID which was generated when registering in Xellar Account Abstraction API Service Dashboard.
  • X-SIGNATURE: (required): Calculated signature, please refer to Authorization section.
  • X-TIMESTAMP: (required): Request timestamp in RFC3339 format.

Example Request Syntax

curl -X GET \
-H "x-client-id: $YOUR_CLIENT_ID" \
-H "x-signature: $CALCULATED_SIGNATURE" \
-H "x-timestamp: $TIMESTAMP" \
"{{BASE_URL}}/api/v1/userOp?limit=10&page=1"

Response

The response will include a JSON object with the following properties:

  • status (number): The HTTP status code of the response (e.g., 200 for success).
  • message (string): A message providing additional information about the operation.
  • data (object): An object containing the operation details:
    • id (string): Unique identifier for the user operation.
    • createdAt (string): Timestamp when the operation was created.
    • updatedAt (string): Timestamp when the operation was last updated.
    • accountId (string): ID of the account associated with the operation.
    • ownerId (string): ID of the owner of the account.
    • clientId (string): Client ID associated with the operation.
    • signature (string): Operation signature.
    • userOpHash (string): Hash of the user operation.
    • status (string): Current status of the operation (e.g., "on_process").
    • type (string): Type of operation (e.g., "send_token").
    • network (string): Network where the operation was executed.
    • chainId (number): Chain ID of the network.
    • payer (string): Who pays for the operation (owner, organization, none).
    • validUntil (string): Timestamp until when the operation is valid.
    • failedReason (string|null): Reason for failure if the operation failed.
    • bundlerVersion (string): Version of the bundler used.
    • successAt (string|null): Timestamp when the operation succeeded.
    • failedAt (string|null): Timestamp when the operation failed.
    • sentAt (string): Timestamp when the operation was sent.

Example Response

{
    "status": 200,
    "message": "success",
    "data": {
        "id": "67c6898cfbeb9cfca636278b",
        "createdAt": "2025-03-04T05:03:08.354Z",
        "updatedAt": "2025-03-04T12:03:37.940332+07:00",
        "accountId": "67c6846000eb618d3053ff43",
        "ownerId": "67c6846000eb618d3053ff41",
        "clientId": "19eb9738-dc52-493a-a602-b4d08f946bba",
        "signature": "0x3d0dfad890f5dff6595ea2f59f13e8e2c1753854d18fb82cf2e8e5ad46f17de57d5da76b94bf9e6f9a70edefa5b269acc5ddee8680213196bbc4c4f802abb50a1c",
        "userOpHash": "0x2f8cb7dcf0a7226b864e3ccd03729be345ac8c33897521ca42b05bc6f6c54f8c",
        "status": "on_process",
        "type": "send_token",
        "network": "ethereum-sepolia",
        "chainId": 11155111,
        "payer": "organization",
        "validUntil": "2025-03-04T05:33:08.354Z",
        "failedReason": null,
        "bundlerVersion": "0.7",
        "successAt": null,
        "failedAt": null,
        "sentAt": "2025-03-04T12:03:38.180179+07:00"
    }
}