Skip to main content

hBTC FAQ

This page answers the questions people ask most often about hBTC. Each answer links to the page that has the full detail.

What is hBTC, and is it backed 1:1?​

hBTC is a fungible Coin<BTC> on Sui. Hashi mints it when you deposit BTC and burns it when you withdraw, so every hBTC corresponds to BTC held in the Hashi UTXO pool. The Hashi committee, a subset of Sui validators using threshold signing, controls the pool together with the Guardian. See Introduction and Committee.

Is there a HASHI token?​

No. hBTC is the only coin Hashi creates. There is no governance, utility, or airdrop token. Committee members govern the protocol by voting onchain with their validator stake weight. Treat any HASHI token offering, presale, or airdrop as an imitation. See User Flows.

Who controls the BTC I deposit?​

Every deposit address is a Taproot address that only the Hashi committee and the Guardian can spend together. No single party holds the key. If the Guardian key is ever lost, a recovery script lets the committee alone spend a UTXO 60 days after it confirms, so funds cannot become stranded. See Bitcoin Address Scheme and Guardian.

How long does a deposit take?​

A deposit passes through 3 waits before Hashi mints hBTC:

  1. The funding transaction must reach bitcoin_confirmation_threshold Bitcoin blocks, 6 by default, which is about an hour.
  2. The committee approves the deposit. On Mainnet, members screen the Bitcoin transaction and the Sui recipient first. See Handling Sanctioned Addresses.
  3. After approval, the bitcoin_deposit_time_delay_ms window must pass, 10 minutes by default, before anyone can confirm the deposit and mint.

A request that is not confirmed within 24 hours expires, and you can submit the UTXO again. See the Deposit lifecycle.

How long does a withdrawal take?​

There is no fixed time. A request waits for committee approval, then for the leader to batch it with other approved requests, then for capacity in the Guardian's rate limiter, and finally for the Bitcoin transaction to reach the confirmation threshold. Most of the variation comes from the rate limiter and from Bitcoin fee conditions. You can read the limiter's current capacity with client.hashi.guardian.canWithdraw in the SDK before you submit. See Rate Limiting Withdrawals and the Withdraw lifecycle.

What are the minimum amounts?​

Both minimums are governance parameters, 30,000 satoshis by default:

Read the live values with hashi config on-chain in the CLI or client.hashi.view.all() in the SDK.

What fees do I pay?​

Hashi charges no protocol fee. Deposits are free apart from Sui gas for the request transaction. Withdrawals pay the Bitcoin miner fee, which Hashi deducts from your output, plus Sui gas. See Fees.

Why did I receive less BTC than I withdrew?​

The difference is the Bitcoin miner fee for your share of the withdrawal transaction. Hashi estimates the fee from the connected Bitcoin node, caps it, and never charges more than the worst-case fee derived from the withdrawal minimum. See Withdrawal fees.

Why is my withdrawal still waiting?​

Check these causes in order:

  • Rate limiter capacity: The Guardian's token bucket is empty, and your request waits for it to refill. Hashi skips a request larger than the bucket's maximum capacity until governance raises the limit. You can cancel it.
  • Protocol paused: When the paused flag is set, queued requests stay queued and resume when the committee unpauses.
  • Reconfiguration: Hashi pauses withdrawals while the committee hands the MPC key to the next epoch's committee. See Reconfiguration.
  • Slow Bitcoin confirmation: If the transaction is already broadcast, you can speed it up by spending your output with a higher-fee child. See Stuck transactions.

Which Bitcoin addresses can I withdraw to?​

P2WPKH (bech32) and P2TR (bech32m) addresses on the Bitcoin network that matches your Sui network. Hashi does not support P2WSH or legacy address types. See Withdraw BTC.

Can I deposit the same UTXO twice?​

No. Hashi records each UTXO it accepts, and a request for a UTXO that is already in the pool aborts onchain. In the SDK, check with client.hashi.view.findUsedUtxos before you submit. See Deposit BTC.

I sent BTC but did not record the deposit. Is it lost?​

No. The BTC sits at your deposit address until you record it. Hashi mints hBTC only after you submit the deposit request on Sui, so submit it when you are ready. See Deposit BTC.

Can Hashi reject a deposit?​

Yes, in 3 cases: the amount is below the minimum, the request expires before the committee confirms it, or a quorum of committee members declines to approve it after screening. The contract rejects a deposit below the minimum when you submit the request. See Handling Sanctioned Addresses.

Where can I try Hashi without real BTC?​

On Testnet, which pairs Sui Testnet with Bitcoin Signet. Signet coins have no value and come from public faucets. See Try a deposit on Testnet.