Skip to main content

Introduction

Fystack is a self-hosted custodial wallet platform built on MPC (Multi-Party Computation). It lets you run secure threshold cryptography on hardware you control — no third-party custody required.

With Fystack you keep full ownership of:

  • MPC nodes that handle distributed keygen and signing
  • Key material and policies with no external dependencies
  • Threshold signature security that scales across on-prem and private cloud setups

Architecture Overview

Fystack runs as a set of Docker containers orchestrated with Docker Compose. Here's how the components fit together:

Components

Apex (Backend Core)

The API backend that handles:

  • Wallet and user management
  • Key orchestration and policy enforcement
  • Audit logging and API keys
  • Transaction indexing

MPCIUM (MPC Nodes)

Each node runs part of the threshold signing/keygen logic (based on Binance's tss-lib) and communicates securely with Apex and other peers. The default setup runs 3 nodes with a 2-of-3 threshold.

Multichain Indexer

Indexes the latest blocks from blockchains in real-time, keeping track of on-chain transactions and events relevant to your wallets. Configured via config.indexer.yaml.

Rescanner

Reindexes block gaps to ensure complete blockchain data coverage, filling in any missing blocks or transactions that may have been skipped during initial indexing. Configured via config.rescanner.yaml.

Infrastructure Services

ServicePurposeDefault Port
PostgreSQLPrimary database for custody operations5433 (host) → 5432 (container)
RedisIn-memory data store, bloom filters6380 (host) → 6379 (container)
MongoDBDocument database for audit logs27018 (host) → 27017 (container)
NATSMessaging layer for node communication4223 (host) → 4222 (container)
ConsulService discovery, KV store for block state8501 (host) → 8500 (container)
Port Mapping

Host ports are intentionally offset by 1 (e.g., 5433 instead of 5432) to avoid conflicts with any existing services on your development machine. Inside the Docker network, services communicate on their standard ports.

What's Next?

  1. Prerequisites — Make sure your system is ready
  2. Quick Start — Get Fystack running in minutes
  3. Verify Installation — Confirm everything works