We have been heads-down for last two months and haven't been loud enough about it. Here's the catch-up.
Two headlines up front:
All the work done for the last 1+ years has been merged to Magi mainnet and is currently working. We had some issues with TSS that has now been fixed for the last week.
TSS reshare is functional! (the threshold-signing protocol that makes native Bitcoin on Magi possible), and the v3 TSS upgrade is in progress (tss-lib).
Altera has been completely rebuilt as a new app, not a recolor, an actual rewrite of the user-facing half of the project. Everything else is supporting work around those two.
By the numbers (2026-02-16 → 2026-04-16)
| Repo | Merged PRs | Commits | Insertions | Deletions | Notes |
|---|---|---|---|---|---|
go-vsc-node (Magi core) | 127 | 329 | 48,536 | 22,674 | TSS hardening, security audit, mapping bot, oracle |
altera-app (on feature/recolor-btc-support) | 38 | 157 | 18,356 | 9,311 | Complete app rewrite — new chrome, new QuickSwap, new review screens, BTC wallet sign-in, wallet-signed deposits, Lightning flows, multi-hop swaps, new magi-transactions client |
utxo-mapping | 15 | 69 | 54,262 | 2,009 | Multi-chain (BTC/LTC/DASH/DOGE/BCH), security audit |
dex-contracts | 14 | 46 | 8,477 | 17,803 | allowance migration, security audit |
magi_nft-contract | 10 | 24 | 4,323 | 310 | NFTs with MintSeries |
docs | 10 | 9 | 987 | 460 | Rebrand, devnet setup guide, FAQ |
magi-mongo-indexer | 8 | 28 | 2,848 | 49 | Indexer serving Altera + public APIs |
hivego | 5 | 5 | 237 | 62 | RPC backup improvements |
magi_token-contract | 5 | 14 | 880 | 443 | big.Int amounts + security hardening |
vsc-deployment | 1 | 1 | 13 | 4 | Dockerfile sync |
go-contract-template | 0 | 3 | 191 | 50 | Template refresh for contract authors |
| Total | 233 | 685 | 139,110 | 53,175 | +85,935 net LoC across 11 active repos |
Pace-wise: Our rough estimate is we're moving on the order of 10× faster than a year ago, same budget, drastically more shipping and importantly, a lot of the extra volume is hardening, not just features. If anyone wants exact year-over-year numbers I can pull them, but the shape is obvious from the repo activity graphs on GitHub.
The one that mattered most: TSS reshare and the big merge to mainnet
On 2026-03-30 we merged the testnet branch back into main on go-vsc-node as PR #102. That single merge brought 301 commits, 234 files changed, 28,347 insertions and 20,129 deletions into production by far the largest merge to mainnet we have ever done, and it was overwhelmingly TSS + security work.
TSS is the threshold signature system that lets the witnesses collectively sign transactions as if they were a single entity, it's what makes the Bitcoin multisig wallets, the chain relays, and everything else non-custodial. Without TSS, there is no decentralized Bitcoin on Magi. It is the backbone.
The last two months of TSS work, in shape:
- Determinism end-to-end. Session IDs, party lists, and blame records now match byte-for-byte across every honest witness. No more "one node thinks X, another thinks Y, nothing progresses."
- Blame epoch alignment. When a reshare failed, the "who caused it" record was being decoded against the wrong election, which triggered false blame cascades. Fixed, and we now accumulate blames correctly across the full cycle instead of tracking only the first culprit.
- On-chain gossip readiness. Replaced flaky pairwise RPC pings with a gossip-based readiness signal, killing a whole class of non-determinism in who the committee thinks is online.
- Concurrency hardening. A sequence of fixes for goroutine leaks, channel deadlocks, data races in the TSS dispatcher, and session/map memory leaks — PRs #110, #112, and the extra leak cleanups that landed with them.
- Retry + expiry. A bad reshare cycle can no longer pin the network indefinitely;
- Dockerized integration test suite that spins up a real multi-node committee locally, every future TSS change is now tested end-to-end on the same paths mainnet runs on.
This is why signing came back to life, reshares complete on schedule.
Our Discord probably only saw the "it's fixed now" but below the surface was about 20 TSS-specific PRs of careful cryptographic engineering plus the broader hardening.
Altera — a full redesign
Altera, our DEX interface has been completely rebuilt over the last two months. 38 merged PRs, 157 commits on the active branch, 202 files touched, 18,356 insertions, 9,311 deletions — roughly 27 thousand lines of code churn. Net new lines added by the redesign 9,045. Altera is effectively a new app sitting on top of Magi.
What's new or rebuilt from the ground up:
- Entire chrome rebuilt — new Topbar, new Sidebar, new Balance card with portfolio-value display, new AccBalance layout, new font stack. The app feels different the moment you open it.
- Full QuickSwap rewrite — live pool math using BigInt integer arithmetic, slippage tolerance selector, max-button that reserves for fees, multi-step dialog with proper back-navigation, sender/receiver inline on every review screen, real fee transparency including base fee and CLP fee broken out.
- Review screens fully redone — Review Transfer, Review Swap, Add Liquidity, Remove Liquidity, Confirm Transfer — each one rebuilt with real-chain asset display, proper back/cancel flow, and portal-based waiting overlays that survive dialog state changes.
- Pool UX rebuilt — "My Liquidity" view, remove-liquidity routed through the DEX router with the withdrawal payload, LP balance display with max button and bounded input, estimated assets-received preview.
- BTC wallet sign-in via Reown AppKit — testnet3 Leather has been verified working end-to-end; Xverse, as well. Users will be able to sign in with their Bitcoin wallet directly instead of needing a Hive account as the entry point.
- Wallet-signed BTC deposits — the deposit dialog speaks to the mapping bot proxy, generates a deposit address from the user's DID, and can actually sign the BTC transaction straight from the connected wallet (no copy-paste send).
- Multi-hop swap routing — BTC → HBD → HIVE two-hop swaps with live pool depth math and slippage applied to the final receive amount.
- Transactions table rebuilt — support for
call+call_contractop types, BTC-mapping rows with proper rendering, readable labels derived from payload JSON, no more "unsupported transaction" error rows for ops we know how to display. - Whole new
magi-transactionsclient replaced the legacyoldVscClient/— ~9,000 lines of old code deleted, a cleaner signer abstraction in its place (separate signers for Hive / Eth / BTC, unified submission shell). This is the infrastructure that makes every future chain integration cheaper. - Deployed infrastructure — Houdini GraphQL client regenerated against the new schema, Coinbase onramp + CMC proxy + BTC address validation server routes, and a
/api/mapping-botproxy so frontends without CORS can still hit the bot. - Hundreds of smaller fixes rolling up from the 38 PRs: input behavior (arrow-key stepping, page-freeze fixes, infinite-loop guards), dialog polish, contact flows, balance-card precision, tx-status overlay rewrite, coin-market proxy, auth cleanup on logout, pool/liquidity fallbacks, and a dozen others.
The big content landed via PR #53 — 155 commits in one pull request — followed by recolor + small-import-errors pass and two review passes that caught a handful of real bugs we've already fixed.
Altera's main branch hasn't pulled the redesign yet — everything is on feature/recolor-btc-support while we stabilize. Merge to main and a public deployment are next on the list for this surface. When you see it land in production, understand that it is not a visual refresh, it is a rewrite of the user-facing half of this project.
DEX
dex-contracts had a structural change and an audit:
- Router rewrite with the v2 payload, prefund support, proper settle-external handling.
- Full security audit round and a follow-up fix round addressing every finding.
- Multi-chain test coverage.
- Fee-display correctness for BTC/HBD pools (we were showing the wrong denomination in one corner case).
- sHBD yield fixes and rounding-correctness tests.
- Indexer log hooks for pool init, swap, liquidity, router registration.
Net lines went down on this repo (+8,477 / -17,803) because the allowance migration deleted more legacy than it added.
Multi-chain (utxo-mapping)
utxo-mapping gained the most new code of any repo — +54,262 insertions — because we went from BTC-only to a generic UTXO relay:
- New contracts for BCH and DOGE, BTC, LTC, DASH support.
sdk.VerifyAddresswired through so contracts can reject malformed addresses.allowance+confirmSpendflow across all chains.- Block-header pruning so on-chain state doesn't grow unboundedly.
- Multi-block reorg handling in
replaceBlocks— the chain oracle recovers from surprise forks without manual intervention. - Two security-audit fix rounds.
Mapping bot
Went from BTC-only, single-instance, fragile → multi-chain, multi-instance-safe, health-monitored, retry-aware:
- Multi-chain support (BTC / LTC / DASH / DOGE / BCH).
- Retroactive address scan — deposits before registration are still picked up.
- Multi-instance deduplication via block leases, so you can run redundant bots without double-mapping.
- Retry logic that waits for on-chain confirmation before giving up.
/healthendpoint for monitoring.- Fix landed yesterday that routes oversized map calls through the VSC L2 transaction pool instead of Hive's 8KB
custom_jsoncap (rare 100-output BTC consolidations were silently failing). - We are about to publish a new instance with further retry improvements.
Oracle / chain relay
Dozen-plus PRs making the BTC block-header oracle rock solid:
- BLS-signed chain-relay batches.
- Reorg auto-detect and replay on testnet.
- DID-based RC bypass for oracle txs (oracle must always submit, no exceptions).
- Overlap / deadlock fixes.
- Batch size + confirmation threshold tuning.
- Fetch pruned blocks from peers when the local archive can't serve them.
- Generic multi-chain relay refactor: adding a new UTXO chain is mostly config now, not code.
New infrastructure shipped in this window
magi-mongo-indexer— the indexer serving Altera (balance views, transactions table, pool listings, swap quotes) shipped its first 8 PRs in this window. 2,848 insertions, 28 commits, effectively a net-new subsystem going live.magi_nft-contractNFTs withMintSeries, collection metadata, event emissions for indexer consumption, and a security-hardening pass. 4,323 insertions, 10 PRs.magi_token-contract— token contract migrated fromuint64tobig.Intwith string JSON encoding, plus per-token properties and hardening. 880 insertions, 5 PRs.- Dockerized TSS integration tests — the
feature/dockerized-tss-testsbranch landed a multi-node committee test harness into the core. Biggest testing force-multiplier we've ever had; every future TSS change now gets exercised against a real cluster locally before it merges. - Devnet setup guide in
docs.
Pre-launch security audit
We ran a full internal security audit on the core node in late March, then a follow-up verification pass. Fixes landed for:
- RC system: negative-RC bugs, amplification, regen logic, DB persistence.
- WASM gas underflow.
- Node-crash vectors: uint64 underflows, nil dereferences in TSS, P2P panic paths.
ProcessBlocknow has proper error handling.- DoS hardening across sleep loops, simulate-bomb, pubsub flood, HTTP timeouts.
- Address-verification at the SDK level so contracts can't accept malformed addresses
Each of dex-contracts and utxo-mapping got their own full audit round with fix-by-fix follow-up PRs.
What's next
- Mapping bot update, address verification + improved retry confirmed in-flight.
- Altera stabilization on the feature branch ahead of a merge to main.
- More of these dev updates on a predictable cadence.
Anything else in the near-term roadmap will be covered in specific posts once it's concrete.
Closing
Our pace is on point and the whole team is incredibly proud of what has been accomplished to so far. Long hours, long days, Saturdays and Sundays to get us to the finish line.
Thanks for sticking with us.
If you want to follow along in real time rather than waiting for these: everything is public at github.com/vsc-eco. PRs, commits, test runs, audits — all of it.
Source data
Every number in the table was pulled via the GitHub API.