UserOps

Look up a UserOp this user submitted

Re-poll a UserOp by hash (G3 / N14.a). Same gate as nodes:run (user Bearer JWT; partner assertion alone is not sufficient). The sender must be one of the caller's smart wallets — this is not a public AA explorer. Unknown hashes and hashes that belong to another user both return 404.

Inner calls are unpacked from the UserOp callData via the gateway's existing UnpackExecuteCalldata (execute / executeBatch / MA v2). Pending is not failed.

get/userops/{userOpHash}

Path parameters

userOpHashstring required

32-byte hex hash (UserOp hash, transaction hash).

Example:0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Query parameters

chainIdinteger

The chain to operate on (a single value). Omit to use the aggregator default (the request's JWT aud chain, then the gateway default).

Response

Typed UserOp status and inner calls.

userOpHashstring required

32-byte hex hash (UserOp hash, transaction hash).

senderstring

Lowercase or checksummed hex EOA / contract address.

executionStatus'pending' | 'confirmed' | 'failed' required

pending means the bundler accepted the op and it is not yet mined. It is not a failure.

transactionHashstring

Arbitrary-length hex-encoded byte string.

blockNumberstring

Block number as a hex string when mined.

successboolean

Inner UserOp success from the bundler receipt. Absent while pending.

Example response

{
  "userOpHash": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "sender": "0x82F2Dd9a552a69f2ceD7Ff2D05c43aB8430158FB",
  "calls": [
    {
      "to": "0x82F2Dd9a552a69f2ceD7Ff2D05c43aB8430158FB"
    }
  ],
  "failedCall": {
    "to": "0x82F2Dd9a552a69f2ceD7Ff2D05c43aB8430158FB"
  }
}

Changes