Skip to main content

tWallet v1 (Neutrino)

v1 is the recommended tWallet line. It uses the Neutrino light‑client protocol (BIP157/BIP158) to sync without relying on a third‑party Electrum server.

Capabilities

  • Built‑in FLND (Flokicoin Lightning Network Daemon) for integrated Lightning operations.
  • Address types: segwit (BIP173) and taproot (BIP341, BIP342).
  • Seed format: aezeed (LND seed, new format) for backup and recovery.
note

Default address type is segwit. You can switch via addresstype=segwit|nested-segwit|taproot in twallet.conf.

important

Seed compatibility: v1 uses aezeed and cannot import BIP39 mnemonics. To restore a BIP39 seed, use v0 (Electrum) instead.

Why Neutrino

  • Built-in: Neutrino is integrated directly into tWallet, no external server required.
  • Trust‑minimized: You verify headers and use compact block filters; no single server dictates your view of the chain.
  • Privacy: Queries are not centralized at an Electrum server.

Install

tip

Install via myFloki plug-and-play:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/myfloki/community-tools/main/downloader.sh)"

After installation, run twallet.
See myfloki.com for details on the bundled components.

Download the latest 1.0.9-beta release assets from GitHub and extract them.

OS/ArchAsset
macOS (Apple Silicon)https://github.com/flokiorg/tWallet/releases/download/v1.0.9-beta/twallet-darwin-arm64-v1.0.9-beta.tar.gz
macOS (Intel)https://github.com/flokiorg/tWallet/releases/download/v1.0.9-beta/twallet-darwin-amd64-v1.0.9-beta.tar.gz
Linux x86_64https://github.com/flokiorg/tWallet/releases/download/v1.0.9-beta/twallet-linux-amd64-v1.0.9-beta.tar.gz
Linux arm64 (Raspberry Pi)https://github.com/flokiorg/tWallet/releases/download/v1.0.9-beta/twallet-linux-arm64-v1.0.9-beta.tar.gz
Windows x86_64https://github.com/flokiorg/tWallet/releases/download/v1.0.9-beta/twallet-windows-amd64-v1.0.9-beta.zip
Windows 32-bithttps://github.com/flokiorg/tWallet/releases/download/v1.0.9-beta/twallet-windows-386-v1.0.9-beta.zip

Extract and make the binary executable where applicable:

tar -xvf twallet-*.tar.gz
chmod +x twallet

Configure

You can run twallet without a config file; add one only when you need custom settings (for example, running a second wallet).

Create a twallet.conf file next to the binary or in your app data directory. Minimal example:

twallet.conf (v1 minimal)
# walletdir = ./loki
# addresstype = segwit # segwit | nested-segwit | taproot
# feeurl = https://lokichain.info/api/v1/fees/recommended
# debuglevel = info
# connectiontimeout = 50s
# rpclisten = 127.0.0.1:10005 # RPC API
# restlisten = 127.0.0.1:5050 # REST API
# restcors = * # CORS for REST API
# transactiondisplaylimit=121

Full sample (annotated):

Full sample (v1)
; ============================================================================
; General Application Options
; ============================================================================

; Directory for the wallet database.
; walletdir=./loki

; Logging level for all subsystems {trace, debug, info, warn, error, critical}.
; Default is 'info'.
; debuglevel=info

; Logging level for the twallet application {trace, debug, info, warn, error, fatal, panic}.
; Default is 'info'.
; loglevel=info

; Use default passphrase for locking.
; This is required if 'autounlock' is set to true.
; defaultpassword=pass

; Automatically unlock the wallet on startup using defaultpassword.
; WARNING: This stores your password in plain text in this config file.
; Use with caution and only in secure environments.
; autounlock=false

; Maximum number of transactions to display.
; This does NOT affect how many transactions are fetched internally;
; it only limits how many are presented at once.
; transactiondisplaylimit=121

; Reset wallet transactions on startup to trigger a full rescan.
; Use this if you suspect missing transactions.
; resetwallettransactions=false

; ============================================================================
; Chain & On-Chain Configuration
; ============================================================================

; Network settings (only one can be true).
; If both regtest and testnet are false, mainnet will be used by default.
; Use the regression test network.
; regtest=false

; Use the test network.
; testnet=false

; Address type to generate (taproot, segwit, or nested-segwit).
; Default is 'segwit'.
; addresstype=segwit

; Custom fee estimation API endpoint (optional).
; The URL below is only an example — you can replace it with your own fee provider.
; Expected response format:
; {"fastestFee":1,"halfHourFee":1,"hourFee":1,"economyFee":0,"minimumFee":0}
; feeurl=https://lokichain.info/api/v1/fees/recommended

; ============================================================================
; Node Identity
; ============================================================================

; The node alias (max 32 UTF-8 characters).
; This is how your node will appear to others on the network.
; Default is 'MyLokiNode'.
; alias=MyLokiNode

; The color of the node in hex format (e.g., '#da9526').
; Used to customize node appearance in graph visualizations.
; Default is '#da9526'.
; color=#da9526

; ============================================================================
; P2P Network & Connectivity
; ============================================================================

; The timeout value for network connections {ms, s, m, h}.
; Default is '50s'.
; connectiontimeout=50s

; Add an interface/port to listen for peer connections (incoming).
; One listen address per line. Example: listen=0.0.0.0:5521
; listen=0.0.0.0:5521

; Disable listening for incoming peer connections.
; Set to true if you want to run a private node (outgoing connections only).
; nolisten=false

; Connect only to the specified peers at startup (exclusive mode).
; connect=node.example.org

; Add peers to connect to at startup (in addition to any discovered peers).
; One peer per line. Format: hostname:port or ip:port
; Flokicoin default P2P port is 15212.
; addpeer=peer1.example.com:15212
; addpeer=peer2.example.com:15212

; If true, will apply a randomized staggering between 0s and 30s when
; reconnecting to persistent peers on startup.
; Helps reduce connection storms on node restart.
; stagger-initial-reconnect=false

; --- Tor Configuration ---

; Enable Tor for P2P connectivity.
; If enabled, the node will use Tor SOCKS proxy for outgoing connections
; and create a hidden service for incoming connections.
; tor.active=false

; The host:port that Tor's SOCKS proxy is listening on.
; Default is localhost:9050.
; tor.socks=localhost:9050

; The DNS server as host:port that Tor will use for SRV queries.
; Note: Must have TCP resolution enabled.
; Default is ln.myfloki.com:53
; tor.dns=ln.myfloki.com:53

; The host:port that Tor is listening on for control connections.
; Required for creating hidden services (onion addresses).
; Default is localhost:9051
; tor.control=localhost:9051

; --- Public Announcement ---

; Add an ip:port to advertise to the network for incoming connections.
; Use this if you have a static public IP address.
; One IP per line. Example: externalip=55.10.16.10:5521
; externalip=

; Add a hostname:port that should be periodically resolved to announce IPs.
; Use this if you have a dynamic IP with a DNS hostname (e.g., DynDNS, No-IP).
; FLND will automatically resolve the hostname and update your advertised IP.
; If port is not specified, the default (5521) will be used.
; One hostname per line. Example: externalhosts=mynode.ddns.net:5521
; externalhosts=

; Toggle NAT traversal support (using either UPnP or NAT-PMP).
; Automatically advertise your external IP address to the network.
; Useful if you're behind a router and want to accept incoming connections.
; nat=false

; ============================================================================
; RPC & REST API Configuration
; ============================================================================

; Add an interface/port/socket to listen for RPC connections.
; One listen address per line.
; Example: rpclisten=127.0.0.1:10005
; rpclisten=127.0.0.1:10005

; Add an interface/port/socket to listen for REST connections.
; One listen address per line.
; Example: restlisten=127.0.0.1:5050
; restlisten=127.0.0.1:5050

; Add an ip:port or hostname to allow cross-origin access to the REST API.
; One entry per line.
; Examples:
; restcors=http://localhost:3000
; restcors=https://mydomain.com
; restcors=http://localhost:3000

; --- TLS Options ---

; Adds an extra IP to the generated certificate. One IP per line.
; tlsextraip=0.0.0.0

; Adds an extra domain to the generated certificate. One domain per line.
; tlsextradomain=localhost

; Re-generate TLS certificate and key if the IPs or domains are changed.
; Enabled by default to ensure certificate validity when changing network settings.
; tlsautorefresh=true

; ============================================================================
; Channel Configuration
; ============================================================================

; The maximum number of incoming pending channels permitted per peer.
; Default is 1. Increase if you want to accept multiple channels from the same peer.
; maxpendingchannels=1

; If true, the node will be configured to allow channels larger than 5 FLC.
; Use this option if you want to accept large channels (Wumbo).
; Default is false.
; wumbo-channels=false

; The largest channel size (in Loki) that we should accept.
; Incoming channels larger than this will be rejected.
;
; If wumbo-channels is false (default), the maximum allowed value is 500,000,000 Loki (5 FLC).
; If you want to accept larger channels (e.g. 210 FLC), you must set wumbo-channels=true above.
;
; Default is 500000000 Loki (5 FLC).
; maxchansize=500000000

; The smallest channel size (in Loki) that we should accept.
; Incoming channels smaller than this will be rejected.
; Default is 20000 Loki (0.00020000 FLC).
; minchansize=20000


; ============================================================================
; Routing & Forwarding Configuration
; ============================================================================

; If true, lnd will not forward any HTLCs that are meant as onward payments.
; Use this to run in wallet-only mode (no routing).
; rejecthtlc=false

; The smallest HTLC we will forward (in milli-Loki).
; Default is 1 milli-Loki.
; minhtlc=1

; The base fee in milli-Loki we will charge for forwarding payments.
; This is a fixed fee added to every forwarded payment.
; Default is 1000 milli-Loki (1 Loki).
; basefee=1000

; The fee rate used when forwarding payments (in millionths).
; Total fee = basefee + (amount × feerate / 1,000,000)
; Example: feerate=100 means 0.01% (100 ppm)
; Default is 100 (0.01%).
; feerate=100

; The CLTV delta we will subtract from a forwarded HTLC's timelock value.
; This is the number of blocks you require for safety when forwarding.
; Default is 400 blocks.
; timelockdelta=400

; The maximum number of blocks funds could be locked up for when forwarding payments.
; This is a safety limit to prevent funds being locked for too long.
; Default is 10080 blocks (7 days with 1-minute blocks).
; max-cltv-expiry=10080

; Accept spontaneous payments through keysend (payments without invoices).
; Set to true to enable receiving keysend payments.
; accept-keysend=false

; Accept spontaneous payments through AMP (Atomic Multi-Path Payments).
; Set to true to enable receiving AMP payments.
; accept-amp=false

; ============================================================================
; Network Graph & Gossip Configuration
; ============================================================================

; The number of peers that we should receive new graph updates from.
; Higher values provide better network awareness but use more bandwidth.
; Default is 3. Recommended: 3-5 for routing nodes, 1-2 for wallet-only nodes.
; numgraphsyncpeers=3

; The polling interval between historical graph sync attempts.
; Format: duration with unit (e.g., 20m, 1h, 30s)
; Default is 20 minutes.
; historicalsyncinterval=20m

; If true, will not reply with historical data that matches the range
; specified by a remote peer's gossip_timestamp_filter.
; Set to true to reduce bandwidth usage.
; ignore-historical-gossip-filters=false

; ============================================================================
; Watchtower Configuration
; ============================================================================

; Enable integrated watchtower to help protect your channels when offline.
; The watchtower monitors the blockchain for channel breaches.
; watchtower=false

; Directory for watchtower state.
; If not specified, uses a subdirectory in walletdir.
; watchtower.towerdir=



; ============================================================================
; Protocol Options
; ============================================================================

; Allow the node to accept and lend out (zero-conf) unconfirmed channels.
; This allows channels to be usable immediately after funding transaction broadcast,
; but comes with trust risks.
; protocol.option-zeroconf=true

; Allow the node to accept and provide SCID aliases for private channels.
; Useful for privacy and zero-conf channels.
; protocol.option-scid-alias=true


; ============================================================================
; Performance & Tuning
; ============================================================================

; Time in milliseconds between each release of announcements to the network.
; Lower values propagate gossip faster but use more bandwidth.
; Default is 9000 (9 seconds).
; trickledelay=9000

; The polling interval between attempts to detect if an active channel has
; become inactive due to its peer going offline.
; Format: duration string (e.g. 1m, 30s).
; Default is 1m.
; chan-status-sample-interval=1m

; ============================================================================
; Invoices
; ============================================================================

; The number of blocks within which the invoice will remain in the accepted state
; before being canceled.
; Default is 0.
; hodl.expiry-delta=0

Run

On macOS/Linux:

./twallet

On Windows:

twallet.exe

If your OS flags the binary, allow it explicitly.

Releases

See the sidebar for the latest v1 release notes and assets.

Security