Skip to main content
Deprecated — The Signers Package is no longer actively maintained. Yield.xyz is signer-agnostic; you can use any signing infrastructure (ethers.js, viem, wagmi, Fireblocks, etc.) to sign the unsigned transaction payloads returned by the API.

Overview

The StakeKit Signers package allows you to create a signing wallet instance from a mnemonic phrase or Ledger app and sign transactions. It supports custom derivation paths and multiple wallet mechanisms including MetaMask, Omni, Phantom, and Keplr.

NPM Package

@stakekit/signers

GitHub

View source code

Installation

or
or

Supported Networks

Production Networks: Arbitrum, Avalanche, Base, BNB Chain, Celo, CoreDAO, Cronos, Ethereum, Harmony, Linea, Optimism, Polygon, Sonic, Unichain, VictionTestnets: Base-Sepolia, Ethereum-Goerli, Ethereum-Holesky, Ethereum-Sepolia, Polygon-Amoy

Supported Wallets


Usage Examples


Integration with Yield API

1

Get unsigned transaction

Call /v1/actions/enter or /v1/actions/exit to receive unsigned transactions
2

Create signing wallet

Use getSigningWallet() with your mnemonic and network
3

Sign transaction

Call signingWallet.signTransaction(unsignedTx)
4

Submit to network

Broadcast the signed transaction to the blockchain

Custom Derivation Paths

You can derive different wallets from the same mnemonic by changing the index or walletType:

Development Setup

  1. Create .env file with variables from .env.example
  2. Install dependencies:

Security Considerations

Never expose mnemonics in client-side code or commit them to version control. Use environment variables and secure key management.

Use environment variables

Store mnemonics in secure environment variables

Server-side signing

Perform signing operations on secure backend servers

Next Steps

Shield

Validate transactions before signing

Quickstart

Complete integration guide