# getSignerClient

> **getSignerClient**(`config`, `options`): [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`Client`\<`Transport`, `Chain`, `Account`\>\>

Defined in: [synapse-react/src/signer.ts:47](https://github.com/FilOzone/synapse-sdk/blob/628d3a8812e8612a183a3abe3328169fb741260b/packages/synapse-react/src/signer.ts#L47)

Resolve the client that signs a write: the session key client when a session key is given,
otherwise the connector client of the connected wallet.

## Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `config` | `Config` | The wagmi config. |
| `options` | \{ `account`: `` `0x${string}` `` \| `undefined`; `chainId`: `number`; `sessionKey?`: [`SessionKey`](/reference/filoz/synapse-core/session-key/interfaces/sessionkey/)\<`"Secp256k1"`\> \| `null`; \} | The account, chain id and optional session key. |
| `options.account` | `` `0x${string}` `` \| `undefined` | - |
| `options.chainId` | `number` | - |
| `options.sessionKey?` | [`SessionKey`](/reference/filoz/synapse-core/session-key/interfaces/sessionkey/)\<`"Secp256k1"`\> \| `null` | - |

## Returns

[`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`Client`\<`Transport`, `Chain`, `Account`\>\>

The client to sign with.

## Throws

Error if the session key is for a different chain than `chainId`, or for a different root than `account`.