# defaultUserOpSigner | @aa-sdk/core

> Provides a default middleware function for signing user operations with a client account. This function validates the request and adds the signature to it. This is already included in the client returned from `createSmartAccountClient`

> For the complete documentation index, see [llms.txt](/docs/llms.txt).

{/* This file is auto-generated by TypeDoc. Do not edit manually. */}

```ts
const defaultUserOpSigner: ClientMiddlewareFn;
```

Defined in: [aa-sdk/core/src/middleware/defaults/userOpSigner.ts:27](https://github.com/alchemyplatform/aa-sdk/blob/main/aa-sdk/core/src/middleware/defaults/userOpSigner.ts#L27)

Provides a default middleware function for signing user operations with a client account. This function validates the request and adds the signature to it.
This is already included in the client returned from `createSmartAccountClient`

## Param

The user operation structure to be signed

## Param

The middleware context containing the client and account information

## Param

The client object, which should include account and chain information

## Param

Optional, the account used for signing, defaults to the client's account if not provided

## Returns

A promise that resolves to the signed user operation structure