Lock native Bitcoin, mint dollars, trust no one.
SIU is an overcollateralized USD stablecoin backed exclusively by hBTC — native Bitcoin bridged trustlessly to Sui via Hashi. MakerDAO mechanics, Liquity minimalism: one collateral, no governance token, no custodians, and a mint authority that is sealed inside the protocol object so no key can ever inflate the supply.
Built at ETHGlobal Lisbon 2026 (Sui track).
Live demo: https://suiiii-ecru.vercel.app · Sui testnet, real Hashi hBTC, real Pyth prices
Every sat of collateral was bridged from Bitcoin Signet during the hackathon: faucet sats → Hashi deposit address → Sui validator quorum → hBTC minted → vault opened → SIU in the wallet.
| Mechanism | Implementation |
|---|---|
| Vault / CDP | Protocol<phantom C> shared object; vaults in a Table, ownership proven by VaultCap |
| Mint / burn | TreasuryCap<SIU> sealed inside the protocol — only CDP logic can mint |
| Stability fee | 0.5% at mint + 2% APR via a global rate_acc accumulator (per-millisecond drip, Maker-style) |
| Liquidation | Below 110% MCR anyone repays the debt for collateral worth debt × 1.05 — the surplus returns to the vault owner, not the liquidator |
| Peg ceiling (PSM) | Swap USDC ↔ SIU 1:1 with a 0.1% fee; reserves held in the protocol |
| Peg floor (redemption) | Burn SIU against any healthy vault for exactly $1 of hBTC at the Pyth price — arbitrage, not promises |
| Earn | Stake SIU, receive 75% of every protocol fee (mint, stability drip, PSM); ERC-4626-style shares, no lockup, no emissions. The other 25% builds a bad-debt reserve |
| Oracle | Pyth BTC/USD, permissionless: anyone lands a signed Hermes update and calls update_from_pyth (feed id + freshness verified on-chain). Admin set_price exists on testnet builds only, to demo liquidations |
| Emergency pause | Blocks new debt and exits; repay, close and liquidate always stay open |
The protocol is generic over the collateral coin type: we developed
against a mock coin, then instantiated Protocol<HBTC> against the real
Hashi coin with zero code changes.
The Swap UI routes like an aggregator: USDC → hBTC composes PSM swap-in +
redemption in a single programmable transaction block.
| Object | ID |
|---|---|
| Package | 0x925fc808317d3dc82e23b36a26ddd800df864b74d23a4b4d5f775a1a6d1b0713 |
| Protocol<HBTC> | 0x216fd215e4e4cf82bb351057444be2e397d9a36848bef7e59eb958b190f78fdb |
| Oracle | 0xe3fbc2d77a6997c12e6e827b2ab44b2c2a6043a9c7daeb2ceec686eb3fbed322 |
| SIU coin type | <package>::siu::SIU (6 decimals) |
| Collateral (Hashi hBTC) | 0xfcea10cadbb553c4874201584abf68771592678952efd957b2e82c010c7f4360::btc::BTC |
| USDC (Circle testnet) | 0xa1ec7fc00a6f40db9693ad1415d0c193ad3906494428cf252621037bd7117e29::usdc::USDC |
- 9/9 Move unit tests — lifecycle, interest accrual (1y = +2% exactly),
liquidation surplus math, redemption, PSM roundtrip, Earn fee routing,
pause, failure modes (
cd contracts && sui move test) - Full on-chain E2E (
scripts/e2e-v7.mjs) — every public function exercised live against testnet: open / deposit / borrow / withdraw / repay / redeem / liquidate under a simulated price crash / pause / close, plus Earn fee-routing checks and the PSM leg - Composed routing verified live — 2 USDC → PSM → redemption → 3,108 sats, exact to the satoshi, in one transaction
- The demo state you see on the dashboard is real on-chain activity from
multiple wallets (
scripts/demo-cast.mjs)
contracts/ Move package: protocol (CDP + PSM + Earn), siu coin, oracle,
mock collateral · tests/
app/ Vite + React + @mysten/dapp-kit frontend
scripts/ pyth-push (permissionless oracle update, Hermes → Wormhole → Sui)
e2e-v7 (full on-chain E2E) · demo-cast (multi-wallet demo state)
migrate + unwind-min-debt (redeploy liturgy) · keeper
hashi / monitor-deposits / clean-deposit (Hashi bridge tooling)
- Move object model — shared protocol object, owned
VaultCapproofs, generic collateral, events for everything - Hashi hBTC — the only collateral; bridged live from Bitcoin Signet during the event
- Pyth + Wormhole — permissionless price updates in a single PTB
- devInspect views — the frontend reads vault state, ICRs, Earn and PSM balances with zero gas
- PTB composition — the USDC → hBTC route chains two protocol calls atomically
- DeepBook (roadmap) — SIU/USDC pool for secondary liquidity; blocked on testnet only by the 500-DEEP pool-creation fee
- zkLogin (roadmap) — walletless onboarding
Everything runs against Sui testnet at https://suiiii-ecru.vercel.app — you only need a wallet and free faucet funds:
- Wallet — install Slush (or any Sui wallet), switch the network to Testnet, and grab gas SUI from the wallet's built-in faucet (or https://faucet.sui.io).
- No funds? You can still poke it — the Stats tab shows live vaults, ICRs and the on-chain activity feed; Docs explains every mechanism.
- Test the PSM with USDC only (easiest path) — get testnet USDC at faucet.circle.com (select Sui Testnet), then in Swap trade USDC → SIU, stake it in Earn, or route USDC → hBTC in one transaction.
- Full borrower flow with real Bitcoin — get Signet sats from any BTC signet faucet, bridge them at testnet.hashi.sui.io (deposits take a while to confirm — the validator committee is patient), then Mint: deposit hBTC, pick an LTV, mint SIU, watch your vault in My Profile.
- Redeem — swap SIU → hBTC in Swap: you receive exactly $1 of hBTC per SIU at the Pyth price, taken from the riskiest vault. That's the peg floor, live.
cd app && pnpm install && pnpm dev # http://localhost:5173
cd contracts && sui move test # 9/9
cd scripts && node pyth-push.mjs # push a fresh BTC/USD price (any wallet)Copy .env.example to .env for the scripts. Object IDs also live in
app/src/config.ts.
No bad-debt redistribution yet (the 25% fee reserve is the first backstop); redemptions are free and untargeted; admin/upgrade capabilities are held by a single key on testnet. All roadmap items, not surprises.
Bucket Protocol already built "MakerDAO on Sui". We built something narrower and harder: a stablecoin backed exclusively by native Bitcoin, made possible only by Hashi shipping this quarter. Bitcoin is crypto's largest, most trust-scarred collateral base — $2T that today borrows through centralized lenders. SIU is the code-enforced alternative: sell nothing, trust no one. SIUUUU!
A sincere thank-you to Eric and ContractHero for their availability and hands-on help throughout the hackathon — it made a real difference.
- Discord: theandrew_2111