# SynapseOptions

Defined in: [packages/synapse-sdk/src/types.ts:92](https://github.com/FilOzone/synapse-sdk/blob/218f90f1cf7635dc33af6f880b64b845c99676bc/packages/synapse-sdk/src/types.ts#L92)

Options for initializing the Synapse instance

## Properties

### account

> **account**: `` `0x${string}` `` \| `Account`

Defined in: [packages/synapse-sdk/src/types.ts:112](https://github.com/FilOzone/synapse-sdk/blob/218f90f1cf7635dc33af6f880b64b845c99676bc/packages/synapse-sdk/src/types.ts#L112)

Viem account

#### See

 - https://viem.sh/docs/accounts/jsonRpc
 - https://viem.sh/docs/accounts/local

***

### chain?

> `optional` **chain?**: [`Chain`](/reference/filoz/synapse-sdk/synapse/interfaces/chain/)

Defined in: [packages/synapse-sdk/src/types.ts:104](https://github.com/FilOzone/synapse-sdk/blob/218f90f1cf7635dc33af6f880b64b845c99676bc/packages/synapse-sdk/src/types.ts#L104)

Filecoin chain

***

### requiredPermissions?

> `optional` **requiredPermissions?**: [`Permission`](/reference/filoz/synapse-core/session-key/type-aliases/permission/)[]

Defined in: [packages/synapse-sdk/src/types.ts:130](https://github.com/FilOzone/synapse-sdk/blob/218f90f1cf7635dc33af6f880b64b845c99676bc/packages/synapse-sdk/src/types.ts#L130)

The set of session key permissions `Synapse.create` validates as authorized and unexpired.

Defaults to `SessionKey.DefaultFwssPermissions` (all four FWSS permissions:
`CreateDataSet`, `AddPieces`, `SchedulePieceRemovals`, `TerminateService`), which matches
the operations exposed by the high-level Synapse class.

Pass a narrower array (e.g. `[CreateDataSetPermission, AddPiecesPermission]`) to keep
least-privilege session keys on the `Synapse.create` happy path when the app only exercises
a subset of the SDK surface. Operations whose permissions are not listed here will revert
on-chain if attempted; the SDK does not enforce per-operation checks.

Only meaningful together with `sessionKey`.

***

### sessionKey?

> `optional` **sessionKey?**: [`SessionKey`](/reference/filoz/synapse-core/session-key/interfaces/sessionkey/)\<`"Secp256k1"`\>

Defined in: [packages/synapse-sdk/src/types.ts:114](https://github.com/FilOzone/synapse-sdk/blob/218f90f1cf7635dc33af6f880b64b845c99676bc/packages/synapse-sdk/src/types.ts#L114)

***

### source

> **source**: `string` \| `null`

Defined in: [packages/synapse-sdk/src/types.ts:140](https://github.com/FilOzone/synapse-sdk/blob/218f90f1cf7635dc33af6f880b64b845c99676bc/packages/synapse-sdk/src/types.ts#L140)

Application identifier for namespace isolation. When set to a non-empty string, datasets
are tagged with this value and only datasets with a matching source are reused. Set to
`null` to explicitly opt out.

***

### transport?

> `optional` **transport?**: `Transport`

Defined in: [packages/synapse-sdk/src/types.ts:98](https://github.com/FilOzone/synapse-sdk/blob/218f90f1cf7635dc33af6f880b64b845c99676bc/packages/synapse-sdk/src/types.ts#L98)

Viem transport

#### See

https://viem.sh/docs/clients/intro#transports

***

### withCDN?

> `optional` **withCDN?**: `boolean`

Defined in: [packages/synapse-sdk/src/types.ts:133](https://github.com/FilOzone/synapse-sdk/blob/218f90f1cf7635dc33af6f880b64b845c99676bc/packages/synapse-sdk/src/types.ts#L133)

Whether to use CDN for retrievals (default: false)