How Light Wallets Work

Light wallets connect to Ghost nodes via the GSP (Ghost Service Provider) protocol.

Light Wallet
ghost-light-wallet-cli
WebSocket
Port 8900
GSP Server
ghost-gsp crate
Ghost Node
Full validation
Light wallets don't need to download the blockchain. They trust GSP servers for balance queries
but verify all signatures locally. Private keys never leave your device.

Install the Light Wallet CLI

Available for Linux, macOS, and Windows.

# Install via the Ghost installer
curl -sSL https://get.bitcoinghost.org/wallet.sh | bash

# Or build from source
git clone https://github.com/bitcoin-ghost/ghost
cd ghost && cargo build --release -p ghost-light-wallet-cli

# Binary location
./target/release/ghost-light-wallet-cli
🐧
Linux
x86_64, ARM64
🍎
macOS
Intel, Apple Silicon
🪟
Windows
x86_64

Features

Everything you need for private Bitcoin payments.

🔑
Ghost Keys
Generate Silent Payment addresses (BIP-352). Receive to a new address every time without revealing your public key.
🔒
Ghost Locks
Create timelocked P2TR outputs with recovery paths. Secure your funds with cryptographic guarantees.
Fast Payments
Send and receive via Ghost Pay L2. 10-second confirmation times with full Bitcoin settlement.
👻
Wraith Protocol
Mix your funds through the Wraith Protocol for unlinkable transactions. Blind signatures and ZK proofs.
📱
Lightweight
No blockchain download required. Connect to any GSP server and start transacting immediately.
🛡️
Self-Custody
Your keys, your coins. Private keys are generated and stored locally. GSP servers never see your keys.
PROTOCOL

GSP - Ghost Service Provider

GSP is a WebSocket-based protocol that allows light wallets to communicate with Ghost nodes. It provides balance queries, transaction submission, and real-time notifications without requiring the wallet to download the full blockchain.

Message Types

GetBalance
Query the balance for a Ghost Key or address
GetUtxos
Fetch unspent outputs for coin selection
SubmitTx
Submit a signed transaction to the network
Subscribe
Subscribe to address or transaction updates
GetFeeEstimate
Get current fee rate estimates (sat/vB)
PreparePayment
Prepare a Ghost Pay L2 payment
GetGhostLock
Query status of a Ghost Lock output
WraithEntry
Initiate a Wraith Protocol mixing session

Connection

# Connect to a GSP server
wss://pool.bitcoinghost.org:8900/gsp

# Or connect to a specific node
wss://<node-ip>:8900/gsp

CLI Usage

Common commands for the light wallet CLI.

# Create a new wallet
ghost-light-wallet-cli wallet create

# Generate a new Ghost Key (Silent Payment address)
ghost-light-wallet-cli key generate

# Check balance
ghost-light-wallet-cli balance

# Send a payment
ghost-light-wallet-cli send <address> <amount_sats>

# Create a Ghost Lock (timelocked output)
ghost-light-wallet-cli lock create --amount 100000 --blocks 144

# List transactions
ghost-light-wallet-cli history

# Connect to a specific GSP server
ghost-light-wallet-cli --server wss://pool.bitcoinghost.org:8900/gsp

For Developers

Integrate Ghost light wallet functionality into your application.

ghost-light-wallet (Rust)

The core library for building light wallet applications in Rust.

# Cargo.toml
[dependencies]
ghost-light-wallet = "1.4"

ghost-gsp-proto (Rust)

Protocol definitions for GSP WebSocket communication.

# Cargo.toml
[dependencies]
ghost-gsp-proto = "1.4"
View on GitHub Read the Docs