A multi-tenant dashboard for Fedimint Client Daemon (FMCD) built with Next.js and Stack Auth. This dashboard enables teams to manage their FMCD instances, connect to federations, and monitor balances in a pivate, collaborative environment.
- Team-based FMCD Instances: Each team can configure their own FMCD instance with secure credential storage
- Federation Management: Connect to federations using invite codes and view federation details
- Real-time Balance Tracking: Monitor Bitcoin balances across all connected federations
- Admin Controls: Team administrators manage FMCD instance configuration
- Secure Communication: All FMCD requests are proxied server-side with encrypted credentials
- Team Management: Create and manage multiple teams powered by Stack Auth
- Role-based Permissions: Team admins can configure FMCD settings, all members can view data and connect federations
- Team Isolation: Each team's FMCD configuration and data is completely isolated
- Next.js 15 with App Router
- TypeScript with strict mode
- Tailwind CSS & Shadcn UI components
- Stack Auth for authentication and team management
- FMCD integration for Bitcoin wallet functionality
- Dark mode support
-
Clone the repository
git clone https://github.com/minmoto/team-fmcd.git cd team-fmcd -
Install dependencies
npm install
-
Register an account on Stack Auth, copy the keys from the dashboard, and paste them into the
.env.localfile. Then, enable "client team creation" on the team settings tab.If you want to learn more about Stack Auth or self-host it, check out the Docs and GitHub.
-
Start the development server and go to http://localhost:3030
npm run dev
For development with Docker (includes hot reload):
npm run docker- Configure FMCD instance for your team:
- Create a team in the dashboard
- Navigate to the Configuration page
- Enter your FMCD instance URL (e.g.,
http://localhost:3333) - Enter the FMCD authentication password
- Test the connection and save
- A running FMCD instance
- FMCD authentication password
- Navigate to the team dashboard
- Go to Configuration page (team admins only)
- Enter FMCD Base URL (e.g.,
http://localhost:3333orhttps://your-fmcd-instance.com) - Enter FMCD authentication password
- Click "Test Connection" to verify connectivity
- Enable the integration and save
- Navigate to the Federations page
- Click "Connect Federation" button
- Enter the federation invite code
- Click "Connect" to join the federation
- View federation details and balance in the dashboard
app/- Next.js App Router pages and API routescomponents/- Reusable React components including FMCD UI componentslib/- Utility functions, types, and FMCD integration logicapp/api/team/[teamId]/fmcd/- FMCD API proxy endpoints
- FMCD (Fedimint Client Daemon) - The Bitcoin wallet client daemon this dashboard integrates with
- Stack Auth - Open-source authentication and team management solution
- Shadcn UI - Re-usable component library
- Next.js - React framework for production
MIT


