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

# Orderly network core

[Orderly SDKs](/sdks/tech-doc/README) / [Modules](/sdks/tech-doc/modules) / @orderly.network/core

# Module: @orderly.network/core

## Table of contents

### Namespaces

* [EventEmitter](/sdks/tech-doc/modules/orderly_network_core.EventEmitter)
* [utils](/sdks/tech-doc/modules/orderly_network_core.utils)

### Classes

* [Account](/sdks/tech-doc/classes/orderly_network_core.Account)
* [BaseKeyStore](/sdks/tech-doc/classes/orderly_network_core.BaseKeyStore)
* [BaseOrderlyKeyPair](/sdks/tech-doc/classes/orderly_network_core.BaseOrderlyKeyPair)
* [BaseSigner](/sdks/tech-doc/classes/orderly_network_core.BaseSigner)
* [DefaultConfigStore](/sdks/tech-doc/classes/orderly_network_core.DefaultConfigStore)
* [EtherAdapter](/sdks/tech-doc/classes/orderly_network_core.EtherAdapter)
* [EventEmitter](/sdks/tech-doc/classes/orderly_network_core.EventEmitter-1)
* [LocalStorageStore](/sdks/tech-doc/classes/orderly_network_core.LocalStorageStore)
* [MockKeyStore](/sdks/tech-doc/classes/orderly_network_core.MockKeyStore)
* [SimpleDI](/sdks/tech-doc/classes/orderly_network_core.SimpleDI)

### Interfaces

* [AccountState](/sdks/tech-doc/interfaces/orderly_network_core.AccountState)
* [ConfigStore](/sdks/tech-doc/interfaces/orderly_network_core.ConfigStore)
* [IContract](/sdks/tech-doc/interfaces/orderly_network_core.IContract)
* [OrderlyKeyPair](/sdks/tech-doc/interfaces/orderly_network_core.OrderlyKeyPair)
* [OrderlyKeyStore](/sdks/tech-doc/interfaces/orderly_network_core.OrderlyKeyStore)
* [Signer](/sdks/tech-doc/interfaces/orderly_network_core.Signer)
* [WalletAdapter](/sdks/tech-doc/interfaces/orderly_network_core.WalletAdapter)

### Type Aliases

* [ConfigKey](/sdks/tech-doc/modules/orderly_network_core#configkey)
* [MessageFactor](/sdks/tech-doc/modules/orderly_network_core#messagefactor)
* [SignedMessagePayload](/sdks/tech-doc/modules/orderly_network_core#signedmessagepayload)
* [WalletAdapterOptions](/sdks/tech-doc/modules/orderly_network_core#walletadapteroptions)
* [getWalletAdapterFunc](/sdks/tech-doc/modules/orderly_network_core#getwalletadapterfunc)

### Functions

* [generateAddOrderlyKeyMessage](/sdks/tech-doc/modules/orderly_network_core#generateaddorderlykeymessage)
* [generateRegisterAccountMessage](/sdks/tech-doc/modules/orderly_network_core#generateregisteraccountmessage)
* [generateSettleMessage](/sdks/tech-doc/modules/orderly_network_core#generatesettlemessage)
* [getDefaultSigner](/sdks/tech-doc/modules/orderly_network_core#getdefaultsigner)
* [getMockSigner](/sdks/tech-doc/modules/orderly_network_core#getmocksigner)

## Type Aliases

### ConfigKey

Ƭ **ConfigKey**: `"apiBaseUrl"` | `"klineDataUrl"` | `"privateWsUrl"` | `"publicWsUrl"` | `"operatorUrl"` | `"domain"` | `"brokerId"` | `"networkId"` | `"env"` | `"PROD_URL"` | `"markets"`

#### Defined in

[packages/core/src/configStore/configStore.ts:1](https://github.com/OrderlyNetwork/js-sdk/blob/ba995f2/packages/core/src/configStore/configStore.ts#L1)

***

### MessageFactor

Ƭ **MessageFactor**: `Object`

#### Type declaration

| Name     | Type                                         |
| :------- | :------------------------------------------- |
| `data?`  | `any`                                        |
| `method` | `"GET"` \| `"POST"` \| `"PUT"` \| `"DELETE"` |
| `url`    | `string`                                     |

#### Defined in

[packages/core/src/signer.ts:7](https://github.com/OrderlyNetwork/js-sdk/blob/ba995f2/packages/core/src/signer.ts#L7)

***

### SignedMessagePayload

Ƭ **SignedMessagePayload**: `Object`

#### Type declaration

| Name                  | Type     |
| :-------------------- | :------- |
| `orderly-account-id?` | `string` |
| `orderly-key`         | `string` |
| `orderly-signature`   | `string` |
| `orderly-timestamp`   | `string` |

#### Defined in

[packages/core/src/signer.ts:15](https://github.com/OrderlyNetwork/js-sdk/blob/ba995f2/packages/core/src/signer.ts#L15)

***

### WalletAdapterOptions

Ƭ **WalletAdapterOptions**: `Object`

#### Type declaration

| Name       | Type                |
| :--------- | :------------------ |
| `address`  | `string`            |
| `chain`    | \{ `id`: `number` } |
| `chain.id` | `number`            |
| `provider` | `any`               |

#### Defined in

[packages/core/src/wallet/adapter.ts:75](https://github.com/OrderlyNetwork/js-sdk/blob/ba995f2/packages/core/src/wallet/adapter.ts#L75)

***

### getWalletAdapterFunc

Ƭ **getWalletAdapterFunc**: (`options`: [`WalletAdapterOptions`](/sdks/tech-doc/modules/orderly_network_core#walletadapteroptions)) => [`WalletAdapter`](/sdks/tech-doc/interfaces/orderly_network_core.WalletAdapter)

#### Type declaration

▸ (`options`): [`WalletAdapter`](/sdks/tech-doc/interfaces/orderly_network_core.WalletAdapter)

##### Parameters

| Name      | Type                                                                                       |
| :-------- | :----------------------------------------------------------------------------------------- |
| `options` | [`WalletAdapterOptions`](/sdks/tech-doc/modules/orderly_network_core#walletadapteroptions) |

##### Returns

[`WalletAdapter`](/sdks/tech-doc/interfaces/orderly_network_core.WalletAdapter)

#### Defined in

[packages/core/src/wallet/adapter.ts:81](https://github.com/OrderlyNetwork/js-sdk/blob/ba995f2/packages/core/src/wallet/adapter.ts#L81)

## Functions

### generateAddOrderlyKeyMessage

▸ **generateAddOrderlyKeyMessage**(`inputs`): readonly \[\{ `brokerId`: `string` ; `chainId`: `number` ; `expiration`: `number` ; `orderlyKey`: `string` = publicKey; `scope`: `string` = "read,trading"; `timestamp`: `number` }, \{ `domain`: \{ `chainId`: `number` ; `name`: `string` = "Orderly"; `verifyingContract`: `string` ; `version`: `string` = "1" } ; `message`: \{ `brokerId`: `string` ; `chainId`: `number` ; `expiration`: `number` ; `orderlyKey`: `string` = publicKey; `scope`: `string` = "read,trading"; `timestamp`: `number` } ; `primaryType`: `"Registration"` | `"EIP712Domain"` | `"Withdraw"` | `"AddOrderlyKey"` | `"SettlePnl"` ; `types`: \{ `EIP712Domain`: readonly \[\{ `name`: `"name"` = "name"; `type`: `"string"` = "string" }, \{ `name`: `"version"` = "version"; `type`: `"string"` = "string" }, \{ `name`: `"chainId"` = "chainId"; `type`: `"uint256"` = "uint256" }, \{ `name`: `"verifyingContract"` = "verifyingContract"; `type`: `"address"` = "address" }] = definedTypes.EIP712Domain } = typeDefinition }]

generate `addOrderlyKey` data and to be signed message structure

#### Parameters

| Name                 | Type                                                                                       |
| :------------------- | :----------------------------------------------------------------------------------------- |
| `inputs`             | `Object`                                                                                   |
| `inputs.brokerId`    | `string`                                                                                   |
| `inputs.chainId`     | `number`                                                                                   |
| `inputs.expiration?` | `number`                                                                                   |
| `inputs.primaryType` | `"Registration"` \| `"EIP712Domain"` \| `"Withdraw"` \| `"AddOrderlyKey"` \| `"SettlePnl"` |
| `inputs.publicKey`   | `string`                                                                                   |
| `inputs.timestamp?`  | `number`                                                                                   |

#### Returns

readonly \[\{ `brokerId`: `string` ; `chainId`: `number` ; `expiration`: `number` ; `orderlyKey`: `string` = publicKey; `scope`: `string` = "read,trading"; `timestamp`: `number` }, \{ `domain`: \{ `chainId`: `number` ; `name`: `string` = "Orderly"; `verifyingContract`: `string` ; `version`: `string` = "1" } ; `message`: \{ `brokerId`: `string` ; `chainId`: `number` ; `expiration`: `number` ; `orderlyKey`: `string` = publicKey; `scope`: `string` = "read,trading"; `timestamp`: `number` } ; `primaryType`: `"Registration"` | `"EIP712Domain"` | `"Withdraw"` | `"AddOrderlyKey"` | `"SettlePnl"` ; `types`: \{ `EIP712Domain`: readonly \[\{ `name`: `"name"` = "name"; `type`: `"string"` = "string" }, \{ `name`: `"version"` = "version"; `type`: `"string"` = "string" }, \{ `name`: `"chainId"` = "chainId"; `type`: `"uint256"` = "uint256" }, \{ `name`: `"verifyingContract"` = "verifyingContract"; `type`: `"address"` = "address" }] = definedTypes.EIP712Domain } = typeDefinition }]

#### Defined in

[packages/core/src/helper.ts:82](https://github.com/OrderlyNetwork/js-sdk/blob/ba995f2/packages/core/src/helper.ts#L82)

***

### generateRegisterAccountMessage

▸ **generateRegisterAccountMessage**(`inputs`): readonly \[\{ `brokerId`: `string` ; `chainId`: `number` ; `registrationNonce`: `number` ; `timestamp`: `number` }, \{ `domain`: \{ `chainId`: `number` ; `name`: `string` = "Orderly"; `verifyingContract`: `string` ; `version`: `string` = "1" } ; `message`: \{ `brokerId`: `string` ; `chainId`: `number` ; `registrationNonce`: `number` ; `timestamp`: `number` } ; `primaryType`: `string` ; `types`: \{ `EIP712Domain`: readonly \[\{ `name`: `"name"` = "name"; `type`: `"string"` = "string" }, \{ `name`: `"version"` = "version"; `type`: `"string"` = "string" }, \{ `name`: `"chainId"` = "chainId"; `type`: `"uint256"` = "uint256" }, \{ `name`: `"verifyingContract"` = "verifyingContract"; `type`: `"address"` = "address" }] = definedTypes.EIP712Domain; `Registration`: readonly \[\{ `name`: `"brokerId"` = "brokerId"; `type`: `"string"` = "string" }, \{ `name`: `"chainId"` = "chainId"; `type`: `"uint256"` = "uint256" }, \{ `name`: `"timestamp"` = "timestamp"; `type`: `"uint64"` = "uint64" }, \{ `name`: `"registrationNonce"` = "registrationNonce"; `type`: `"uint256"` = "uint256" }] } = typeDefinition }]

generate `registerAccount` data and to be signed message structure

#### Parameters

| Name                       | Type     |
| :------------------------- | :------- |
| `inputs`                   | `Object` |
| `inputs.brokerId`          | `string` |
| `inputs.chainId`           | `number` |
| `inputs.registrationNonce` | `number` |
| `inputs.timestamp?`        | `number` |

#### Returns

readonly \[\{ `brokerId`: `string` ; `chainId`: `number` ; `registrationNonce`: `number` ; `timestamp`: `number` }, \{ `domain`: \{ `chainId`: `number` ; `name`: `string` = "Orderly"; `verifyingContract`: `string` ; `version`: `string` = "1" } ; `message`: \{ `brokerId`: `string` ; `chainId`: `number` ; `registrationNonce`: `number` ; `timestamp`: `number` } ; `primaryType`: `string` ; `types`: \{ `EIP712Domain`: readonly \[\{ `name`: `"name"` = "name"; `type`: `"string"` = "string" }, \{ `name`: `"version"` = "version"; `type`: `"string"` = "string" }, \{ `name`: `"chainId"` = "chainId"; `type`: `"uint256"` = "uint256" }, \{ `name`: `"verifyingContract"` = "verifyingContract"; `type`: `"address"` = "address" }] = definedTypes.EIP712Domain; `Registration`: readonly \[\{ `name`: `"brokerId"` = "brokerId"; `type`: `"string"` = "string" }, \{ `name`: `"chainId"` = "chainId"; `type`: `"uint256"` = "uint256" }, \{ `name`: `"timestamp"` = "timestamp"; `type`: `"uint64"` = "uint64" }, \{ `name`: `"registrationNonce"` = "registrationNonce"; `type`: `"uint256"` = "uint256" }] } = typeDefinition }]

#### Defined in

[packages/core/src/helper.ts:43](https://github.com/OrderlyNetwork/js-sdk/blob/ba995f2/packages/core/src/helper.ts#L43)

***

### generateSettleMessage

▸ **generateSettleMessage**(`inputs`): readonly \[\{ `brokerId`: `string` ; `chainId`: `number` = chainId; `settleNonce`: `string` = settlePnlNonce; `timestamp`: `number` = timestamp }, \{ `domain`: [`SignatureDomain`](/sdks/tech-doc/modules/orderly_network_core.utils#signaturedomain) ; `message`: \{ `brokerId`: `string` ; `chainId`: `number` = chainId; `settleNonce`: `string` = settlePnlNonce; `timestamp`: `number` = timestamp } ; `primaryType`: `string` ; `types`: \{ `EIP712Domain`: readonly \[\{ `name`: `"name"` = "name"; `type`: `"string"` = "string" }, \{ `name`: `"version"` = "version"; `type`: `"string"` = "string" }, \{ `name`: `"chainId"` = "chainId"; `type`: `"uint256"` = "uint256" }, \{ `name`: `"verifyingContract"` = "verifyingContract"; `type`: `"address"` = "address" }] = definedTypes.EIP712Domain; `SettlePnl`: readonly \[\{ `name`: `"brokerId"` = "brokerId"; `type`: `"string"` = "string" }, \{ `name`: `"chainId"` = "chainId"; `type`: `"uint256"` = "uint256" }, \{ `name`: `"settleNonce"` = "settleNonce"; `type`: `"uint64"` = "uint64" }, \{ `name`: `"timestamp"` = "timestamp"; `type`: `"uint64"` = "uint64" }] } = typeDefinition }]

generate `settle` data and to be signed message structure

#### Parameters

| Name                    | Type                                                                                   |
| :---------------------- | :------------------------------------------------------------------------------------- |
| `inputs`                | `Object`                                                                               |
| `inputs.brokerId`       | `string`                                                                               |
| `inputs.chainId`        | `number`                                                                               |
| `inputs.domain`         | [`SignatureDomain`](/sdks/tech-doc/modules/orderly_network_core.utils#signaturedomain) |
| `inputs.settlePnlNonce` | `string`                                                                               |

#### Returns

readonly \[\{ `brokerId`: `string` ; `chainId`: `number` = chainId; `settleNonce`: `string` = settlePnlNonce; `timestamp`: `number` = timestamp }, \{ `domain`: [`SignatureDomain`](/sdks/tech-doc/modules/orderly_network_core.utils#signaturedomain) ; `message`: \{ `brokerId`: `string` ; `chainId`: `number` = chainId; `settleNonce`: `string` = settlePnlNonce; `timestamp`: `number` = timestamp } ; `primaryType`: `string` ; `types`: \{ `EIP712Domain`: readonly \[\{ `name`: `"name"` = "name"; `type`: `"string"` = "string" }, \{ `name`: `"version"` = "version"; `type`: `"string"` = "string" }, \{ `name`: `"chainId"` = "chainId"; `type`: `"uint256"` = "uint256" }, \{ `name`: `"verifyingContract"` = "verifyingContract"; `type`: `"address"` = "address" }] = definedTypes.EIP712Domain; `SettlePnl`: readonly \[\{ `name`: `"brokerId"` = "brokerId"; `type`: `"string"` = "string" }, \{ `name`: `"chainId"` = "chainId"; `type`: `"uint256"` = "uint256" }, \{ `name`: `"settleNonce"` = "settleNonce"; `type`: `"uint64"` = "uint64" }, \{ `name`: `"timestamp"` = "timestamp"; `type`: `"uint64"` = "uint64" }] } = typeDefinition }]

#### Defined in

[packages/core/src/helper.ts:127](https://github.com/OrderlyNetwork/js-sdk/blob/ba995f2/packages/core/src/helper.ts#L127)

***

### getDefaultSigner

▸ **getDefaultSigner**(): [`BaseSigner`](/sdks/tech-doc/classes/orderly_network_core.BaseSigner)

#### Returns

[`BaseSigner`](/sdks/tech-doc/classes/orderly_network_core.BaseSigner)

#### Defined in

[packages/core/src/helper.ts:15](https://github.com/OrderlyNetwork/js-sdk/blob/ba995f2/packages/core/src/helper.ts#L15)

***

### getMockSigner

▸ **getMockSigner**(`secretKey?`): [`BaseSigner`](/sdks/tech-doc/classes/orderly_network_core.BaseSigner)

#### Parameters

| Name         | Type     |
| :----------- | :------- |
| `secretKey?` | `string` |

#### Returns

[`BaseSigner`](/sdks/tech-doc/classes/orderly_network_core.BaseSigner)

#### Defined in

[packages/core/src/helper.ts:6](https://github.com/OrderlyNetwork/js-sdk/blob/ba995f2/packages/core/src/helper.ts#L6)
