Account Abstraction
API Reference
User Operation
Get User Operation by ID

Get User Operation by ID

Overview

This API endpoint allows you to retrieve a single user operation by its unique ID.

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

Path Parameters

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

Request

Request Headers

  • X-APP-ID: (required): APP ID/Project ID obtained from 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-app-id: $YOUR_APP_ID" \
-H "x-signature: $CALCULATED_SIGNATURE" \
-H "x-timestamp: $TIMESTAMP" \
"{{BASE_URL}}/api/v1/userOp/68e496fe01aa54e4b8170b51"

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 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"
    }
}