Seed-E is a non-custodial directory for Bitcoin signing services that enables collaborative custody through a marketplace of trusted providers.
YOU CAN AND PROBABLY WILL LOSE FUNDS IF YOU USE THIS SOFTWARE
This is experimental software in early development. DO NOT USE for significant amounts until Beta testing is complete. The current implementation has serious privacy limitations:
- No Privacy Protection: Your financial activity is completely visible to providers
- Extortion Risk: Larger balances increase risk of extortion attempts
- Trust Required: You must absolutely trust your chosen provider
Only use providers you completely trust and start with small amounts for testing.
- Dark mode: First things first
- Provider Marketplace: Browse and purchase signing services from verified providers (keybase)
- Lightning Payments: Instant payments using Lightning Network to purchase services
- PSBT Support: Full Partially Signed Bitcoin Transaction workflow
- Signature Requests: Request signatures from providers with payment-first approach
- Real-time Status: Track signature request status and payment confirmations
- 2FA Security: Multi-factor authentication for all users
- Provider Dashboard: Manage services and handle signature requests
Important: The current implementation uses traditional xpub / zpub - based multisig setups, which have known privacy limitations:
-
Provider Snooping: Providers can monitor the blockchain for any forward transactions using their
xpuband see some of multisig wallet's transaction history, potentially even for transactions they didn't participate in. -
Platform Trust: Users must trust that Seed-E doesn't log or misuse the
xpubdata submitted by providers. This will be provable before Beta closes. -
Limited Extortion Protection: The time delay provides some protection but doesn't prevent extortion attempts.
We are committed to implementing advanced privacy solutions:
- ✅ Create and recover provider and client accounts
- ✅ Currently encrypts: - Passwords: Hashed with bcrypt (secure) - XPUB_HASH_SECRET: Environment variable (encrypted at rest) - NEXTAUTH_SECRET: Environment variable (encrypted at rest) - Database connections: Environment variables ✅ Currently Encrypted (Phase 1.5 Implemented): - XPUBs/ZPUBs: AES-256-GCM encrypted in database - PSBT data: Encrypted in signature requests - Payment hashes: Encrypted for Lightning payments - Signed PSBTs: Encrypted after provider signing - Context-specific keys for different data types
- ✅ Provider xpub/zpub import from Seed Signer
- ✅ List xpub for sale with paywall protection
- ✅ Purchase xpub and request signatures
- ✅ Provider signing with time delay
- ✅ Client PSBT download functionality
- ✅ Encrypt XPUBs/ZPUBs in database with AES-256-GCM
- ✅ Encrypt PSBT data in signature requests
- ✅ Encrypt payment hashes for Lightning payments
- ✅ Add field-level encryption for sensitive data
- ✅ Context-specific key derivation for different data types
- ✅ AES-256-GCM with IV and auth tags for tamper protection
- Goal: Prevent providers from seeing transaction history and balances
- 🔄 Gather user feedback on flows and tradeoffs
- 🔄 Optimize user experience based on real usage
- 🔄 Refine security models and time delays
- 🔄 TEE (Trusted Execution Environment) integration
- 🔄 Zero-knowledge proofs for transaction validation
- 🔄 OFAC list checking for compliance so providers don't incriminate themselves
- 🔄 Relay attack mitigation
- 🔄 Start beta testing
- 🔄 Encrypted communication between client/provider
- 🔄 Zero-knowledge proofs for transaction validation
- 🔄 Evaluate Flutter + Rust bridge architecture
- 🔄 Performance optimization and cross-platform support
While Seed-E has privacy limitations in its current form, it offers advantages over traditional backup solutions:
- No KYC Required: Unlike many backup services that require upfront identity verification
- No Upfront xpub Sharing: Clients don't need to provide their multi-sigs xpub to the platform
- Time-delay Protection: Built-in protection against immediate compromise
- Lightning Payments: Lower fees and faster settlement
- Peer to Peer: Settle with the provider directly using lightning addresses
However, providers can still see your balance and transaction history until Phase 5. This is still more private than solutions requiring upfront KYC and xpub sharing, but significant privacy improvements are planned.
- Frontend: Next.js 15 with React and TypeScript
- Backend: Next.js API Routes with Prisma ORM
- Database: PostgreSQL with encrypted storage
- Payments: Lightning Network with LNURL protocols
- Bitcoin: BIP32/BIP84 key management with PSBT support
- Security: bcrypt password hashing, TOTP 2FA
- Node.js 18+ and npm
- PostgreSQL database
- Lightning addresses for providers (e.g., user@getalby.com)
# Database
DATABASE_URL="postgresql://user:pass@localhost:5432/seed-e"
# Lightning Network (Use a LNURL verified address which can repeatitively create lightning invoices on demand)
# Security
XPUB_HASH_SECRET="your-random-secret"# Clone the repository
git clone https://github.com/your-org/seed-e.git
cd seed-e
# Install dependencies
npm install
# Set up database
npx prisma migrate dev
npx prisma generate
# Start development server
npm run dev- API Documentation found at ./API_ENDPOINTS.md
- Signature Request Specification found at ./SIGNATURE_REQUEST_SPEC.md
- Testing scripts found at ./tests
This project is licensed under the MIT License
Seed-E is experimental software. Use at your own risk and never store more funds than you can afford to lose. Store no more than a thousand sats or so before closing beta! Always verify signatures and transactions independently. Only use providers you absolutely trust and again, don't use this seriously until Beta testing comes to a close.