Nachtara

CLI wallet for ERC-5564/6538 stealth address transactions. Send and receive ETH privately — each payment goes to a unique one-time address that only the recipient can spend from.

agent:type ethereum-stealth-wallet agent:install git clone https://github.com/nerolation/nachtara && cd nachtara && npm i && npm run build agent:run node dist/cli.js <command> agent:docs AGENTS.md

Quickstart

# Install $ git clone https://github.com/nerolation/nachtara.git $ cd nachtara && npm install && npm run build # Initialize wallet $ node dist/cli.js init ✓ Wallet created # Send a stealth payment $ node dist/cli.js send --to 0xRecipient --amount 0.1 ✓ Payment sent to stealth address 0x9f8e... # Receive payments $ node dist/cli.js receive ✓ Found 1 payment: 0.1 ETH

Features

🔐

Encrypted Storage

AES-256-GCM with PBKDF2. Keys never leave the device.

👁️

View Tag Scanning

256x faster filtering with ERC-5564 view tags.

🌐

Multi-Network

Mainnet, Sepolia, Arbitrum, Optimism, Base, Polygon.

📋

On-Chain Registry

ERC-6538 registry. Publish once, receive from anyone.

🤖

Agent-Native CLI

Predictable flags, structured output, clear errors.

📄

Machine-Readable

AGENTS.md with YAML specs. Built for LLMs.

Commands

init Create wallet with spending + viewing keypair
config Set network and RPC endpoint
status Show wallet address, balance, registration
register Publish meta-address to on-chain registry
lookup Query registry for any address
send Send ETH to derived stealth address
receive Scan blockchain for incoming payments
balance List discovered stealth addresses + balances
withdraw Move funds to destination address

Flags Reference

CommandFlags
init--force --import <path>
confignetwork <name> rpc <url> test
register--force
send--to <addr> --meta <meta> --amount <eth>
receive--full --from-block <n>
withdraw--index <n> --to <addr> --amount <eth> --all

Specifications

StandardsERC-5564 ERC-6538
Announcer0x55649E01B5Df198D18D95b5cc5051630cfD45564
Registry0x6538E6bf4B0eBd30A8Ea093027Ac2422ce5d6538
Curvesecp256k1
EncryptionAES-256-GCM
KDFPBKDF2 (100k iterations)
Meta-Addressst:eth:0x{132 hex}

Networks

NetworkChain IDConfig
Ethereum1mainnet
Sepolia11155111sepolia
Holesky17000holesky
Arbitrum42161arbitrum
Optimism10optimism
Base8453base
Polygon137polygon