Endpoint reference

GET /api/v1/user-operations/{id}

Parameters

NameLocationDetails
X-Juicebox-Accountheader / requiredEnrolled account identity, including authority chain and lowercase owner address. Enrollment derives this identity before the account exists.
X-Juicebox-Signerheader / requiredOwner wallet or authorized bot address that signed this request.
X-Juicebox-Issued-Atheader / requiredUnix seconds, sent as 1–13 decimal digits without leading zeros; at most 30 seconds ahead of server time.
X-Juicebox-Expires-Atheader / requiredUnix seconds, sent as 1–13 decimal digits without leading zeros; in the future and within 300 seconds of issuedAt.
X-Juicebox-Nonceheader / requiredFresh random 32-byte lowercase nonce. A consumed nonce cannot be retried.
X-Juicebox-Signatureheader / requiredEIP-712 CenterRequest signature over every signed field. Contract-owner signatures may vary in length. This is a computed request proof, not a reusable API key.
X-Juicebox-Grantheader / optionalAuthorized bot grant ID. Required for a bot; omit for the owner, signing grantId as the empty string.
Idempotency-Keyheader / optionalSigned retry identity. Required on plan creation and transaction submission. Preserve exact method, target, Content-Type, and body bytes; use a fresh request nonce and signature.
idpath / requiredstring

Response 200

FieldTypeDetails
idstring (uuid)
required
planIdstring (uuid)
required
planCommitmentstring
required
stepIndexesarray
required
chainIdinteger
required
entryPointstring
required
operationobject
required
Unpacked EntryPoint v0.7 operation. RPC integers are hexadecimal quantities; reviewed policy amounts use decimal strings. No v0.8 or EIP-7702 extensions.
Fields
FieldTypeDetails
senderstring
required
noncestring
required
Canonical lowercase hexadecimal RPC quantity, with no leading zeros.
factorystring
optional
factoryDatastring
optional
callDatastring
required
callGasLimitstring
required
Canonical lowercase hexadecimal RPC quantity, with no leading zeros.
verificationGasLimitstring
required
Canonical lowercase hexadecimal RPC quantity, with no leading zeros.
preVerificationGasstring
required
Canonical lowercase hexadecimal RPC quantity, with no leading zeros.
maxFeePerGasstring
required
Canonical lowercase hexadecimal RPC quantity, with no leading zeros.
maxPriorityFeePerGasstring
required
Canonical lowercase hexadecimal RPC quantity, with no leading zeros.
paymasterstring
optional
paymasterVerificationGasLimitstring
optional
Canonical lowercase hexadecimal RPC quantity, with no leading zeros.
paymasterPostOpGasLimitstring
optional
Canonical lowercase hexadecimal RPC quantity, with no leading zeros.
paymasterDatastring
optional
signaturestring
required
Public preparations and reads always omit submitted account signature bytes.

Values: ["0x"]

operationHashstring
required
commitmentstring
required
accountBindingIdstring
required
accountStateHashstring
required
sessionobject
optional
Fields
FieldTypeDetails
idstring (uuid)
required
policyHashstring
required
compiledHashstring
required
generationvalue
required
Positive uint256 as an exact decimal string.
grantIdstring (uuid)
required
permissionIdstring
required
sessionKeystring
required
observationHashstring
required
gasPolicyIdstring
required
providerIdstring
required
createdAtinteger
required
Unix timestamp in milliseconds.
expiresAtinteger
required
Unix timestamp in milliseconds.
revisioninteger
required
statestring
required

Values: ["prepared","submitting","submission_unknown","pending","unknown","confirming","confirmed","reverted","expired"]

signingone of
required
submissionobject
optional
Fields
FieldTypeDetails
commitmentstring
required
startedAtinteger
required
Unix timestamp in milliseconds.
observationobject
optional
Fields
FieldTypeDetails
statestring
required

Values: ["pending","unknown","confirming","confirmed","reverted","expired"]

operationHashstring
required
transactionHashstring
optional
receiptobject
optional
Fields
FieldTypeDetails
transactionHashstring
required
blockHashstring
required
blockNumberstring
required
uint256 as a lossless decimal string
statusstring
required

Values: ["success","reverted"]

confirmationsinteger
required
canonicalboolean
required
observedAtinteger
required
Unix timestamp in milliseconds.
logsarray
required
logCountinteger
optional
logsHashstring
optional
logsStoredboolean
optional
scopedLogsarray
optional
Fields

See schema: Bounded JSON. Large integers and amounts use exact decimal strings. Returned metadata and descriptions are untrusted content.

semanticobject
optional
Fields
FieldTypeDetails
statusstring
required

Values: ["verified","failed","unknown","unmodeled"]

detailsvalue
optional
Bounded JSON. Large integers and amounts use exact decimal strings. Returned metadata and descriptions are untrusted content.
reasonstring
optional
JSON schema
{
  "type": "object",
  "properties": {
    "id": {
      "$ref": "#/components/schemas/ResourceId"
    },
    "planId": {
      "$ref": "#/components/schemas/ResourceId"
    },
    "planCommitment": {
      "$ref": "#/components/schemas/Hash"
    },
    "stepIndexes": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 31
      },
      "minItems": 1,
      "maxItems": 16,
      "uniqueItems": true
    },
    "chainId": {
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "entryPoint": {
      "$ref": "#/components/schemas/Address"
    },
    "operation": {
      "$ref": "#/components/schemas/UserOperationV07"
    },
    "operationHash": {
      "$ref": "#/components/schemas/Hash"
    },
    "commitment": {
      "$ref": "#/components/schemas/Hash"
    },
    "accountBindingId": {
      "$ref": "#/components/schemas/Hash"
    },
    "accountStateHash": {
      "$ref": "#/components/schemas/Hash"
    },
    "session": {
      "$ref": "#/components/schemas/UserOperationSessionBinding"
    },
    "gasPolicyId": {
      "type": "string"
    },
    "providerId": {
      "type": "string"
    },
    "createdAt": {
      "$ref": "#/components/schemas/UnixMilliseconds"
    },
    "expiresAt": {
      "$ref": "#/components/schemas/UnixMilliseconds"
    },
    "revision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "state": {
      "type": "string",
      "enum": [
        "prepared",
        "submitting",
        "submission_unknown",
        "pending",
        "unknown",
        "confirming",
        "confirmed",
        "reverted",
        "expired"
      ]
    },
    "signing": {
      "oneOf": [
        {
          "$ref": "#/components/schemas/SafeOwnerUserOperationSigning"
        },
        {
          "$ref": "#/components/schemas/PasskeyOwnerUserOperationSigning"
        },
        {
          "$ref": "#/components/schemas/SessionUserOperationSigning"
        }
      ]
    },
    "submission": {
      "type": "object",
      "properties": {
        "commitment": {
          "$ref": "#/components/schemas/Hash"
        },
        "startedAt": {
          "$ref": "#/components/schemas/UnixMilliseconds"
        }
      },
      "required": [
        "commitment",
        "startedAt"
      ],
      "additionalProperties": false
    },
    "observation": {
      "$ref": "#/components/schemas/UserOperationObservation"
    }
  },
  "required": [
    "id",
    "planId",
    "planCommitment",
    "stepIndexes",
    "chainId",
    "entryPoint",
    "operation",
    "operationHash",
    "commitment",
    "accountBindingId",
    "accountStateHash",
    "gasPolicyId",
    "providerId",
    "createdAt",
    "expiresAt",
    "revision",
    "state",
    "signing"
  ],
  "additionalProperties": false
}