Account Abstraction
SDK
User Operation
Get User Operation by ID

Get User Operation by ID

Overview

This SDK method retrieves a single user operation by its unique ID.

Method

xellar.accountAbstraction.getUserOpById(userOpId: string)

Parameters

  • userOpId (required): The unique identifier of the user operation.

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.
    • appId (string): Your application ID.
    • signature (string): Operation signature.
    • userOpHash (string): Hash of the user operation.
    • txHash (string|null): Transaction hash if available.
    • status (string): Current status of the operation (e.g., "on_process", "success", "failed").
    • type (string): Type of operation (e.g., "send_token", "deploy").
    • 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|null): Timestamp when the operation was sent.

Example

const response = await xellar.accountAbstraction.getUserOpById(
  "68e496fe01aa54e4b8170b51"
);
console.log(response);

Example Response

{
  "status": 200,
  "message": "success",
  "data": {
    "id": "68e496fe01aa54e4b8170b51",
    "createdAt": "2025-10-07T04:28:46.459Z",
    "updatedAt": "2025-10-07T04:28:53.131Z",
    "accountId": "68e496a701aa54e4b8170b50",
    "ownerId": "68e496a701aa54e4b8170b4d",
    "clientId": "ad562b29-2348-48aa-8922-47149cd67980",
    "appId": "4395e919-33b6-46d2-a585-b3bc85fac29b",
    "signature": "0x9e8440c4bc12d0c27a69545d0e990ccf9876ee92e269659064c6954eba4d52356942afe82db5e855aafe26efcf32179c393d11a7a693123a3020bd7b593a60951c",
    "userOpHash": "0x08476cacd1c5d01dc6d2769bede7a223e57c6897d724e8a834274dcc7bb36f2b",
    "txHash": "0xd039f563d9cd0ce6863a21a7b9d3b9f3aaea69beaf98c660b9d8959f2c20a28f",
    "status": "success",
    "type": "deploy",
    "network": "base-sepolia",
    "chainId": 84532,
    "payer": "organization",
    "validUntil": "2025-10-07T04:58:46.459Z",
    "failedReason": null,
    "bundlerVersion": "0.7",
    "successAt": "2025-10-07T04:28:53.131Z",
    "failedAt": null,
    "sentAt": "2025-10-07T04:28:48.713Z"
  }
}
Returns the same response shape as the REST API.