Halo — MPC wallet
First non-custodial MPC wallet for an entire UTXO network.
Kaspa. Multi-chain. Inside a Telegram Mini App.
Architected and built the first non-custodial MPC wallet for the Kaspa network, supporting multi-chain functionality on a UTXO-based model. Backend in Node.js. Designed a high-performance Twitter scraper and a RAG-based AI model for real-time market sentiment alongside it.
§ Abstract
Non-custodial MPC wallets are well-explored on account-based chains. They’re not on UTXO chains. Kaspa’s BlockDAG, with its UTXO model and BlockGHOST consensus, doesn’t fit the assumptions baked into most threshold-signature libraries.
I architected and built the first non-custodial MPC wallet for the entire Kaspa network at Halo Terminal (formerly XODEX). The wallet supports multi-chain functionality from the UTXO base, lives inside a Telegram Mini App, and ships with high-throughput Node.js APIs powering a market-sentiment dashboard alongside it.
§ What surfaced
- UTXO + MPC is genuinely harder than account-based + MPC. The signing flow has to handle multiple inputs per transaction, each potentially requiring a fresh signing round.
- Telegram Mini Apps are an underrated distribution surface — onboarding inside a chat app the user already trusts removes nearly all wallet-creation friction.
- A RAG-based AI model fed by a sub-70 ms Twitter scraper turned out to be more useful for institutional decision-making than I expected. The latency budget was the unlock.
§ Method
MPC threshold signing distributed across the user’s device, the platform, and a third-party share. Standard threshold ECDSA adapted for the UTXO signing pipeline. Telegram Mini App handled the user-facing UI; Node.js backend orchestrated signing rounds and broadcast.
The Twitter scraper was its own subproject — bypassing rate limits, reverse-engineered API calls, custom request pacing, achieving sub-70 ms tweet extraction at the high end. The output fed a RAG-based sentiment model that produced actionable signals on demand.
§ Implementation
- High-throughput Node.js APIs for signing, broadcast, and balance retrieval
- Telegram Mini App frontend with proper deep-link integration
- Twitter scraper running as a separate worker, backed by a queue
- KOL Sentiment Dashboard for visualization
- Reverse-engineering of competitor wallets to inform product decisions
§ Outcomes
- Shipped first non-custodial MPC wallet for Kaspa — production for over a year
- Sub-70 ms tweet extraction sustained across the scraper’s operational window
- RAG-based sentiment dashboard in active use by institutional clients
- Halo Terminal raised follow-on capital during this period
The technical work for this role was the most demanding I’ve done in Web3. UTXO MPC isn’t a solved problem — every team I’ve talked to since has solved it differently. There’s still significant headroom for the standards.