Hashi
Hashi is the Sui native Bitcoin orchestrator. It is a protocol for securing and managing BTC for use on Sui through threshold cryptography (Hashi documentation). You deposit BTC into a managed pool, and Hashi represents your ownership as a fungible Coin<BTC> on Sui. You can then use this coin in Sui apps, DeFi protocols, and programmable transaction blocks like any other Sui coin.
Hashi is currently live on Testnet. Access the Testnet instance at testnet.hashi.sui.io.
How Hashi works
Hashi uses a committee of operators running threshold cryptography to manage a Bitcoin custody pool. The committee jointly controls the Bitcoin private keys, so no single operator can move funds unilaterally (Hashi design docs).
The protocol supports 2 core flows:
- Deposit: You send BTC to a Hashi-managed Bitcoin address derived for your Sui address. Once the Bitcoin transaction is confirmed, Hashi mints an equivalent
Coin<BTC>on Sui and delivers it to your address. - Withdrawal: You burn your
Coin<BTC>on Sui and specify a Bitcoin destination address. The committee signs and broadcasts a Bitcoin transaction to send BTC to your destination.
Security
Hashi protects against outflow vulnerabilities through a Guardian-based rate limiter on Bitcoin withdrawals. The rate limiter uses a configurable token-bucket mechanism denominated in BTC. Withdrawals are processed in approximate FIFO order, and you can cancel a pending withdrawal at any time before the committee selects it for processing (rate limiter design).
Hashi SDK
The Hashi TypeScript SDK (@mysten/hashi) provides programmatic access to deposits, withdrawals, and pool state queries. For SDK documentation and examples, see the Hashi SDK reference and the hashi-integrations example repo.
Full documentation
For the complete Hashi reference covering committee design, governance, operator runbooks, and protocol flows, see the Hashi documentation.