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.