Skip to content

IlPi21/SIU

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SIU — the Bitcoin-backed stablecoin on Sui

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.


How it works

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.

Live deployment (Sui testnet, v8)

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

Battle-tested

  • 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)

Repo layout

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)

Sui stack

  • Move object model — shared protocol object, owned VaultCap proofs, 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

Try it (5 minutes, no local setup)

Everything runs against Sui testnet at https://suiiii-ecru.vercel.app — you only need a wallet and free faucet funds:

  1. 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).
  2. No funds? You can still poke it — the Stats tab shows live vaults, ICRs and the on-chain activity feed; Docs explains every mechanism.
  3. 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.
  4. 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.
  5. 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.

Run locally

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.

Known limitations (testnet honesty)

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.

The story

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!

Acknowledgements

A sincere thank-you to Eric and ContractHero for their availability and hands-on help throughout the hackathon — it made a real difference.

Contact

  • Discord: theandrew_2111

License

MIT

About

SIU - the Bitcoin-backed stablecoin on Sui. Lock native BTC (Hashi hBTC), mint SIU at >=110%, swap via PSM, stake for 75% of protocol fees. ETHGlobal Lisbon 2026.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages