https://github.com/stakekit/signers
The StakeKit Signers allows you to create a signing wallet instance from a mnemonic phrase or ledger app and sign transactions
https://github.com/stakekit/signers
Last synced: 5 months ago
JSON representation
The StakeKit Signers allows you to create a signing wallet instance from a mnemonic phrase or ledger app and sign transactions
- Host: GitHub
- URL: https://github.com/stakekit/signers
- Owner: stakekit
- Created: 2023-12-29T09:29:47.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-09-08T15:14:14.000Z (10 months ago)
- Last Synced: 2025-10-20T17:41:26.050Z (8 months ago)
- Language: TypeScript
- Homepage:
- Size: 6.41 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# StakeKit Signers
[signers-package]: ./packages/signers
[signers-npm-link]: https://www.npmjs.com/package/@stakekit/signers
## Introduction
The StakeKit Signers is a package that allows you to create a signing wallet instance from a mnemonic phrase or ledger app and sign transactions.
In addition to that, you can provide a custom derivation path for your mnemonic phrase and get different wallets derived from it, from different types of wallet mechanisms, such as MetaMask, Omni, Phantom or Keplr.
### Supported Networks
We currently support the following networks:
- Avalanche-C
- Avalanche-C Atomic
- Avalanche-P
- Arbitrum
- Binance
- BinanceBeacon
- Celo
- Ethereum
- Ethereum Goerli
- Fantom
- Harmony
- Optimism
- Polygon
- Akash
- Cosmos
- Juno
- Kava
- Osmosis
- Stargaze
- Near
- Solana
- Tezos
### Supported Wallets
We currently support:
- MetaMask
- Omni
- Phantom
- Keplr
- SteakWallet
- Temple
## Development
install [`proto`](https://moonrepo.dev/proto) toolchain manager.
Once you have installed `proto`, run:
```bash
proto use
```
Install packages:
```bash
pnpm i
```
Build package:
```bash
pnpm build
```
## Installation
To install StakeKit Signers (in addition, we recomment installing the packages @stakekit/common):
```bash
npm install @stakekit/signers
```
or
```bash
yarn add @stakekit/signers
```
or
```bash
pnpm add @stakekit/signers
```
## Usage
### Examples
#### Ethereum
```tsx
import { ImportableWallets, getSigningWallet } from '@stakekit/signers';
import { Networks } from '@stakekit/common';
import { TransactionRequest } from '@ethersproject/abstract-provider';
const walletoptions = {
mnemonic: process.env.MNEMONIC,
walletType: ImportableWallets.MetaMask,
index: 0,
};
const signingWallet = await getSigningWallet(Networks.Ethereum, walletoptions);
const address = await signingWallet.getAddress();
console.log('My wallet address: ', address);
const someUnsignedTx: TransactionRequest = {}; // Your unsigned transaction.
const signedTx = await wallet.signTransaction(unsignedTransaction);
// submitTransaction(signedTx);
```
#### Solana
```tsx
import { ImportableWallets, getSigningWallet } from '@stakekit/signers';
import { Networks } from '@stakekit/common';
const walletoptions = {
mnemonic: process.env.MNEMONIC,
walletType: ImportableWallets.MetaMask,
index: 0,
};
const signingWallet = await getSigningWallet(Networks.Solana, walletoptions);
const address = await signingWallet.getAddress();
console.log('My wallet address: ', address);
const someUnsignedTx: string = ''; // Your unsigned transaction in hex.
const signedTx = await wallet.signTransaction(unsignedTransaction);
// submitTransaction(signedTx);
```