---
title: "Look up a UserOp this user submitted"
method: GET
path: "/userops/{userOpHash}"
tags: ["UserOps"]
---

# Look up a UserOp this user submitted

`GET /userops/{userOpHash}`

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.

## Path parameters

- `userOpHash` string, required — 32-byte hex hash (UserOp hash, transaction hash).

## Query parameters

- `chainId` integer

## Response `200`

Typed UserOp status and inner calls.

- UserOpStatusResponse
  - `userOpHash` string, required — 32-byte hex hash (UserOp hash, transaction hash).
  - `sender` string — 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.
  - `transactionHash` string — Arbitrary-length hex-encoded byte string.
  - `blockNumber` string — Block number as a hex string when mined.
  - `success` boolean — Inner UserOp success from the bundler receipt. Absent while pending.
  - `calls` UserOpInnerCall[]
    - `to` string, required — Lowercase or checksummed hex EOA / contract address.
    - `value` string, required — Native value in wei (decimal string).
    - `selector` string, required — 4-byte function selector of `data` (`0x00000000` for a value-only call).
    - `data` string, required — Arbitrary-length hex-encoded byte string.
  - `failedCall` UserOpInnerCall
    - `to` string, required — Lowercase or checksummed hex EOA / contract address.
    - `value` string, required — Native value in wei (decimal string).
    - `selector` string, required — 4-byte function selector of `data` (`0x00000000` for a value-only call).
    - `data` string, required — Arbitrary-length hex-encoded byte string.

## Other responses

- `400` — Request validation failed.
- `401` — Missing or invalid bearer token.
- `404` — Resource not found.

---

[API](https://skmtc.dev/avaprotocol/apis/ava-protocol-avs-api.md) · [All operations](https://skmtc.dev/avaprotocol/apis/ava-protocol-avs-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/avaprotocol/ava-protocol-avs-api/revisions/841dc6a5d532/schema)
