You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fulcrum is a fast, scalable Electrum SPV server for Bitcoin Cash. It indexes the full BCH blockchain to serve light wallets, block explorers, and other Electrum-protocol clients without requiring them to download the blockchain themselves.
Read store.json for node RPC credentials (inside SubContainer only)
3. Installation and First-Run Flow
StartOS pulls the cculianu/fulcrum:v2.1.1 image.
Seed files are written: fulcrum.conf and store.json with defaults (node: BCHN).
On first start, Fulcrum reads the selected node's RPC credentials from /mnt/node/store.json inside the SubContainer.
fulcrum.conf is updated with the node RPC endpoint, credentials, and TLS mode (TLS enabled automatically when BCHD is selected; plaintext for BCHN/Flowee).
Fulcrum connects to the BCH node and waits for it to be fully synced.
Once the node is synced, Fulcrum begins indexing the blockchain. Initial indexing of the full BCH chain takes several hours.
When indexing completes, the Electrum interface opens on port 50001 and the health check reports success.
4. Default Networking
Transport
Default
Inbound
How to Change
Clearnet (IPv4/IPv6)
Enabled — Electrum port exposed by StartOS
Enabled for Electrum clients (wallets, BCH Explorer)
Managed by StartOS
Tor
Available via StartOS routing
Available if StartOS assigns a .onion address to the package
Automatic via StartOS
SSL/TLS Electrum
Not separately exposed
Not available in this package version
—
5. Configuration Management
Group
Settings Covered
Select Node Backend
Choose which BCH full node Fulcrum connects to: BCHN, BCHD, Flowee, or Knuth
Configure
Server banner (MOTD), Bitcoin RPC timeout, number of RPC clients, worker threads, database memory (MB), database max open files
6. Network Access and Interfaces
Interface
Port
Protocol
Purpose
Condition
Electrum Interface
50001
TCP (plaintext)
Electrum protocol for BCH wallets and BCH Explorer
Always
7. Actions (StartOS UI)
Configuration
Action ID
Name
Description
select-node
Select Node Backend
Choose which installed BCH node package (BCHN / BCHD / Flowee / Knuth) Fulcrum uses for blockchain data
configure
Configure
Set server banner, RPC timeout, RPC client count, worker threads, DB memory, and max open files
8. Backups and Restore
What IS backed up:
fulcrum.conf — configuration
store.json — selected node, sync state
banner.txt — MOTD banner
What is NOT backed up:
/fulc2_db — Electrum index database (entirely derived from the blockchain; too large to back up usefully)
The Electrum index is fully re-derivable from the connected BCH node. After restore, Fulcrum will re-index from scratch — this can take several hours.
9. Health Checks
Check
Method
Key Messages
Electrum (daemon ready)
sdk.healthCheck.checkPortListening on port 50001
The Electrum interface is ready / Electrum interface not ready — syncing BCH blockchain...
Sync Progress
Port 50001 listen check; falls back to last stdout <Controller> log line during indexing
Fulcrum BCH is fully synced / Last sync log message (e.g., Processed N/M blocks) / Waiting for sync information...
10. Dependencies
Bitcoin Cash Node — BCHN (optional)
Field
Value
Package ID
bitcoincashd
Version constraint
Any
Required state
Running and fully synced; pruning must be disabled; txindex must be active
Mounted volumes
main volume mounted read-only at /mnt/node for credential discovery
Purpose
C++ BCH full node providing JSON-RPC for Fulcrum to index
Bitcoin Cash Daemon — BCHD (optional)
Field
Value
Package ID
bchd
Version constraint
Any
Required state
Running and fully synced
Mounted volumes
main volume mounted read-only at /mnt/node for credential discovery
Purpose
Go BCH full node alternative; Fulcrum automatically enables bitcoind-tls mode when BCHD is selected
Flowee the Hub (optional)
Field
Value
Package ID
flowee
Version constraint
Any
Required state
Running and fully synced
Mounted volumes
main volume mounted read-only at /mnt/node for credential discovery
Purpose
Fast C++ BCH validator; SPV-level validation only — follow the canonical chain but does not fully re-validate every transaction
At least one of the above three node dependencies must be installed and selected.
11. Default Overrides
Setting
Upstream Default
StartOS Value
Reason
bitcoind-tls
Off
Enabled automatically when BCHD is selected
BCHD serves RPC over native TLS; Fulcrum must use HTTPS for the bitcoind connection
bitcoind_timeout
30 s
30 s (configurable)
Default is adequate; exposed to UI for users with slow nodes during initial sync
worker_threads
Auto
0 (auto)
Lets Fulcrum use all available CPU cores for indexing
db_mem
4096 MB upstream
2048 MB default
Conservative default for StartOS hardware; user-adjustable
12. Limitations and Differences
Fulcrum will not start until the selected BCH node is fully synced. The health check reports loading until port 50001 opens.
Only TCP (plaintext) Electrum is exposed on port 50001. The upstream Fulcrum supports SSL/TLS Electrum (port 50002) and an admin port (8000), but these are not configured or exposed in this StartOS package.
The node backend must be changed via the Select Node Backend action — not by editing fulcrum.conf directly. The config file is overwritten on each start.
RPC credentials are read from the dependency volume inside the SubContainer. They are not stored in Fulcrum's own store.json; they are always fetched fresh from the selected node.
Re-indexing is triggered automatically when the selected node changes. This can take several hours.
Knuth is listed as a selectable node backend but Knuth currently has no RPC. Selecting Knuth will cause Fulcrum to fail to connect until Knuth RPC support is added in a future release.
13. What Is Unchanged from Upstream
All upstream Fulcrum Electrum protocol behavior (methods, notifications, subscription handling)
RocksDB index format and storage layout
fulcrum.conf configuration file format and all supported keys