---
title: Modules
slug: signum/modules
docTags: 
createdAt: 2022-08-30T21:54:48.000Z
---

SignumJS is maintained in a so called [monorepo](https://en.wikipedia.org/wiki/Monorepo) [norepo](#)and splitted in several modules. From an architectural perspective the modules share different types of dependendencies, where e.g. the [Http Module](docId\:IitaCfK9K4RH4Fp3RCLlW) or [Util Module](docId\:LnQgckbaeW22BCPR_LkO_) does not have any dependency of other modules, while the [Core Module](docId\:D5ozZFZwnPOYaXjK854O9) depends on http, util, and crypto module

::Image[]{src="https://api.archbee.com/api/optimize/l2AIpSUU6srSQmG1-K2bb/BwP6gbD_z-x982S7Er5j-_signumjs-atomic-scheme.png" size="98" width="841" height="754" caption="Modularization Architecture" position="center" showCaption="true"}

[](https://www.npmjs.com/package/@signumjs/core)

| Module                                            | Description                                                                                                                                                                                                       | Package                                                                  |
| ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| [Core Module](docId\:D5ozZFZwnPOYaXjK854O9)       | The main module providing an extense API for blockchain interaction                                                                                                                                               | [@signumjs/core](https://www.npmjs.com/package/@signumjs/core)           |
| [Crypto Module](docId\:DoH84qh7bi5exXQdFprV-)     | The cryptographic functions, like encryption, and key generation, signing, and verification                                                                                                                       | [@signumjs/crypto](https://www.npmjs.com/package/@signumjs/crypto)       |
| [Util Module](docId\:LnQgckbaeW22BCPR_LkO_)       | This is the tool belt around SignumJS providing most useful conversion functions.                                                                                                                                 | [@signumjs/util](https://www.npmjs.com/package/@signumjs/util)           |
| [Wallets](docId:8M6lot5IYgFP94DJtsVRq)            | This package provides all to interact with wallets, using either deeplinking for desktop and mobile wallets and full-duplex interaction with the [XT Wallet](https://github.com/signum-network/signum-xt-wallet)  | [@signumjs/wallets](https://www.npmjs.com/package/@signumjs/wallets)     |
| [Contracts Module](docId\:uO92OephIQ54C2Vi91okD)  | The module especifically relevant for interaction with *smart contracts*                                                                                                                                          | [@signumjs/contracts](https://www.npmjs.com/package/@signumjs/contracts) |
| [Http Module](docId\:IitaCfK9K4RH4Fp3RCLlW)       | A thin Http wrapper, with consistent response types, and exception handling. It wraps the famous [axios](#)[axios](https://axios-http.com/) library.                                                              | [@signumjs/http](https://www.npmjs.com/package/@signumjs/http)           |

### Install Packages

The installation of the packages always follows the same pattern

:::CodeblockTabs
npm

```shell
npm i @signumjs/core
npm i @signumjs/contracts
npm i @signumjs/crypto
npm i @signumjs/util
npm i @signumjs/http
npm i @signumjs/wallets
```

yarn

```shell
yarn add @signumjs/core
yarn add @signumjs/contracts
yarn add @signumjs/crypto
yarn add @signumjs/util
yarn add @signumjs/http
yarn add @signumjs/wallets
```

\<script/>

```html
<script src='https://cdn.jsdelivr.net/npm/@signumjs/core/dist/signumjs.min.js'></script>
<script src='https://cdn.jsdelivr.net/npm/@signumjs/contracts/dist/signumjs.contracts.min.js'></script>
<script src='https://cdn.jsdelivr.net/npm/@signumjs/crypto/dist/signumjs.crypto.min.js'></script>
<script src='https://cdn.jsdelivr.net/npm/@signumjs/http/dist/signumjs.http.min.js'></script>
<script src='https://cdn.jsdelivr.net/npm/@signumjs/util/dist/signumjs.util.min.js'></script>
<script src='https://cdn.jsdelivr.net/npm/@signumjs/wallets/dist/signumjs.wallets.min.js'></script>
```
:::
