https://github.com/novasamatech/nova-spektr
Nova Spektr — All-in-one Polkadot desktop wallet supporting multisigs, staking, light clients, and more
https://github.com/novasamatech/nova-spektr
blockchain multisig polkadot substrate wallet
Last synced: 5 months ago
JSON representation
Nova Spektr — All-in-one Polkadot desktop wallet supporting multisigs, staking, light clients, and more
- Host: GitHub
- URL: https://github.com/novasamatech/nova-spektr
- Owner: novasamatech
- License: apache-2.0
- Created: 2022-07-05T06:28:48.000Z (almost 4 years ago)
- Default Branch: dev
- Last Pushed: 2026-02-17T17:43:22.000Z (5 months ago)
- Last Synced: 2026-02-17T22:36:43.602Z (5 months ago)
- Topics: blockchain, multisig, polkadot, substrate, wallet
- Language: TypeScript
- Homepage: https://novaspektr.io
- Size: 67.2 MB
- Stars: 54
- Watchers: 8
- Forks: 21
- Open Issues: 475
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Notice: NOTICE.md
Awesome Lists containing this project
README
Nova Spektr
Polkadot & Kusama ecosystem Enterprise Desktop application.

[](https://github.com/novasamatech/nova-spektr/releases)
[](https://github.com/novasamatech/nova-spektr/blob/dev/LICENSE.md)
[](https://twitter.com/NovaSpektr)
[](https://t.me/NovaSpektr)
[](https://medium.com/@NovaSpektr)
[](https://www.youtube.com/@NovaSpektr)
- [Key features](#key-features)
- [Development](#development)
* [Requirements](#requirements)
* [Commands](#commands)
* [Difference between environments](#difference-between-environments)
* [Project localisation](#project-localisation)
+ [How to ignore localisation errors](#how-to-ignore-localisation-errors)
* [Troubleshooting](#troubleshooting)
- [Contributing](#contributing)
- [Support](#support)
- [Feedback](#feedback)
* [License](#license)
# Key features
1. Hardware wallet (Polkadot Vault) support
2. Dynamic derivations and multishard operations
3. Show wallet balances for any supported token (assets, ORML, balances)
4. Token transfer for any supported token (assets, ORML, balances)
5. Multisig account and transactions without passing callData off-chain
6. Relay Chain staking
# Development
## Requirements
Minimum version of `Node.js` is `v20.x`.
Minimum version of `pnpm` is `v9.x`.
## Commands
```sh
# Setup dev environment.
pnpm install
```
```sh
# Start Electron and prebuild app in staging mode. You can also access app with browser.
pnpm preview
```
```sh
# Start Electron app in dev mode. You can also access app with browser.
pnpm start
```
```sh
# Start renderer without Electron (not recommended).
pnpm start:renderer
```
```sh
# Run unit tests for renderer.
pnpm test
```
```sh
# Run linter.
pnpm lint
```
```sh
# Run typescript typechecker.
pnpm types
```
```sh
# Build app in staging mode.
pnpm staging:sequence
```
```sh
# Build app in production mode.
pnpm prod:sequence
```
## Difference between environments
Development configuration uses:
1. [`chains_dev.json`](https://github.com/novasamatech/nova-spektr-utils/blob/main/chains/v2/chains_dev.json) file that contains testnets in order to debug
and test new features
2. debug tools are enabled by default
3. error handling is turned off in order to pay developer's attention to errors
Stage configuration uses:
1. [`chains.json`](https://github.com/novasamatech/nova-spektr-utils/blob/main/chains/v2/chains.json) file for chains configuration
2. debug tools are enabled by default
3. errors are handled in a smooth way in order not to interrupt the user
Production configuration uses:
1. [`chains.json`](https://github.com/novasamatech/nova-spektr-utils/blob/main/chains/v2/chains.json) file for chains configuration
2. debug tools are disabled by default
3. errors are handled in a smooth way in order not to interrupt the user
## Project localisation
All the localisation files are stored in the `/src/shared/i18n/locales` folder.
ESlint checks if localisation files are well-formed and valid including:
1. Valid json formatting
2. Json files contain the same set of keys
3. Each key contains the same amount of placeholders for all locales
4. All `tsx` files are translated
### How to ignore localisation errors
In some cases there is no need to translate the text, so ESlint ignore rules should be used.
```tsx
{/* eslint-disable-next-line i18next/no-literal-string */}
{data?.asset.symbol} ({data?.asset.name})
```
or
```ts
//eslint-disable-next-line i18next/no-literal-string
const qrCodePayload = `substrate:${address}:${wallet.accountId}`;
```
## Troubleshooting
Log files help to solve your problem. Logs are collected in the `nova-spektr.log` that is located in the folder:
1. macOS `~/Library/Logs/nova-spektr/nova-spektr.log`
2. Windows `%USERPROFILE%\AppData\Roaming\nova-spektr\logs\nova-spektr.log`
3. Linux `~/.config/nova-spektr/logs/nova-spektr.log`
Sharing logs when you're contacting the support will speed up the problem fix.
# Contributing
Contributing guide is described in the
[CONTRIBUTING.md](https://github.com/novasamatech/nova-spektr/blob/dev/CONTRIBUTING.md)
# Support
Check the official support channels:
1. [Wiki](https://docs.novaspektr.io)
2. [Telegram group](https://t.me/NovaSpektr)
3. GitHub [issues](https://github.com/orgs/novasamatech/projects/4)
All issues are being tracked in the [Nova Spektr Support project](https://github.com/orgs/novasamatech/projects/4)
# Feedback
Your feedback is welcome. Use GitHub issues for submitting the feedback. All feedback is being tracked in the
[Nova Spektr Feedback project](https://github.com/orgs/novasamatech/projects/5)
## License
Nova Spektr - Polkadot, Kusama enterprise application is available under the Apache 2.0 license. See the LICENSE file
for more info. © Novasama Technologies GmbH 2025