Skip to content

0xfnzero/sol-safekey-ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔐 Sol SafeKey UI

A local-first Solana wallet, keystore manager, and trading toolbox

Manage local Solana wallets, inspect balances, transfer assets, sell Pump.fun / PumpSwap tokens, and operate Squads v4 multisig workflows from one desktop-ready interface.

Next.js React Rust Tauri Solana

中文 | English | Website | Telegram | Discord

Features

  • Wallet management: create wallets, import keystore.json, save local wallets, switch the active wallet, rename, delete, and export keystores.
  • Asset view: show wallet address, SOL balance, SPL Token / Token-2022 assets, token names, and token icons.
  • Transfers and WSOL: send SOL, send tokens, create WSOL ATA, wrap SOL, unwrap WSOL, and close WSOL ATA.
  • Pump trading: Pump.fun / PumpSwap sell flows with current-wallet asset shortcuts.
  • Multisig and programs: Squads v4 multisigs, proposals, upgrade buffers, program deployment, and Program queries.
  • Nonce: create Solana durable nonce accounts.
  • Local security: Rust API binds to 127.0.0.1, sensitive request bodies are encrypted, and wallet passwords are not saved in the frontend.
  • Desktop app: package with Tauri 2 for macOS, Windows, and Linux.

Requirements

  • Node.js 18+ and npm
  • Rust stable and Cargo
  • Network access to Solana RPC endpoints
  • Tauri 2 system dependencies for desktop packaging
  • Docker is optional

Install

git clone https://github.com/0xfnzero/sol-safekey-ui.git
cd sol-safekey-ui
npm install

Or:

make install

Run Locally

Start the web UI and local Rust API together:

npm run dev:stack

Or:

make dev

Default URLs:

  • English: http://127.0.0.1:3840/en/
  • Chinese: http://127.0.0.1:3840/zh/
  • Rust API: http://127.0.0.1:3841

Run services separately:

npm run dev       # Next.js UI on port 3840
npm run backend   # Rust API on port 3841

Desktop Dev

npm run desktop:dev

Or:

make desktop-dev

Build

Web and Rust API:

npm run build
cargo build --release

Or:

make build

Tauri desktop app:

npm run desktop:build

Package by platform:

make desktop-build-macos
make desktop-build-windows
make desktop-build-linux

Docker:

make docker-build
make docker-run

Open http://127.0.0.1:3841.

Checks

npm run lint
npm exec tsc -- --noEmit
cargo check

Or:

make check

Project Layout

src/app/[locale]/page.tsx   # Main UI
src/messages/               # Chinese and English messages
main.rs                     # Rust local API
wallet_store.rs             # Local wallet store
squads_v4.rs                # Squads v4 helpers
src-tauri/                  # Tauri desktop app

Security Notes

  • Back up every keystore.json and keep passwords safe.
  • Wallet passwords are not stored in the frontend.
  • Plain private-key input and private-key export are disabled by default and should only be enabled on a trusted local machine for debugging.

About

Local-first Solana wallet, keystore manager, Squads v4 multisig workbench, SPL Token dashboard, WSOL, durable nonce, program deployment, Pump.fun/PumpSwap tools built with Next.js, Tauri, and Rust.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors