> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rhinestone.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# prepareUserOperation

> Prepare a user operation for signing.

Method on an account instance returned by [`createAccount`](/sdk-reference/rhinestone-sdk/create-account).

## Usage

```ts theme={null}
const userOperation = await account.prepareUserOperation(transaction)
```

## Parameters

<ParamField path="transaction" type="UserOperationTransaction" required>
  User operation to prepare
</ParamField>

## Returns

<ResponseField name="userOperation" type="PreparedUserOperationData">
  The prepared user operation data
</ResponseField>

## See also

* [signUserOperation](/sdk-reference/account/user-operations/sign-user-operation) to sign the prepared user operation
* [submitUserOperation](/sdk-reference/account/user-operations/submit-user-operation) to submit the signed user operation
* [sendUserOperation](/sdk-reference/account/user-operations/send-user-operation) to prepare, sign, and submit in one call
