# OptiVaults > Cardano 區塊鏈上的非託管自動收益穩定幣金庫。**V1 為公開上線候選版本**:設計 + Aiken 實作完成(17 個邏輯 validator + 4 個 NFT 鑄造政策 + 1 個 DEX adapter,共 22 個編譯產物),外部審計目標 Q2-Q3 2027,公開上線需審計通過。V1 繼承多輪內部審計驗證過的架構。公開上線時將設預審計 100K USDCx TVL 上限。 OptiVaults V1 是建構於 Cardano 上的 DeFi 收益聚合協議,合約以 Aiken PlutusV3 撰寫。使用者存入 USDCx 穩定幣(由 Circle 透過 xReserve 跨鏈儲備機制發行)後會領到 vUSDCx 份額代幣,幣值會隨自動複利持續累積。自動 Keeper 把資金投入 Liqwid Finance 穩定幣市場(DJED、USDM),並走 Minswap V2 路由(ref-script SwapAdapter dispatch)執行 swap。所有會計、費用扣抵、滑點上限與安全不變量都完全交由鏈上合約把關。 ## 關鍵資訊 - 區塊鏈:Cardano(eUTXO 模型) - 智能合約:Aiken PlutusV3 - 目前版本:**V1 發布前階段**(設計與 Aiken 實作皆已完成;外部審計目標 Q2-Q3 2027) - 內部審計軌跡:V1 架構經過多輪內部審計,發現已修復;近期 R72(跨 validator 綁定缺口)、R73(MergeUtxo 接受條件守護)、R74(Minswap V2 LP 名稱格式)皆已修補 - 架構:Withdraw-Zero Forwarding Pattern,由 vault_proxy 派發到 10 個 staking validator(vault_user / vault_keeper_hot / vault_batcher / vault_swap_ada / vault_protocol / vault_recall / vault_liqwid / vault_gov_policy / vault_gov_emergency / vault_admin_deploy),再加上 V1 新增的 keeper_stake_script(每週輪替)、鏈上 treasury(4 類別預算)與 Minswap V2 SwapAdapter(ref-script dispatch) - 份額代幣:vUSDCx(Cardano 原生資產) - 存入資產:USDCx——由 **Circle** 透過 **xReserve** 跨鏈儲備機制發行(2026 年 2 月於 Cardano 上線),1:1 由 xReserve 智能合約內鎖定的 USDC 擔保;USDC 本身由美元儲備支撐,Deloitte 月度 attestation - 最低存款:V1 啟動規劃 10 USDCx - 錢包支援:CIP-30(Eternl、Nami、Lace、Flint、Yoroi、Vespr) - 授權:**Apache License 2.0**(permissive 開源、OSI-approved——允許 fork + 商業使用 + 競爭性產品) - 策略:透過治理可配置;啟動預設 30% USDCx 緩衝池 + 45% Liqwid DJED + 25% Liqwid USDM - 預估 APY:浮動(視 Liqwid 市場條件而定,不保證;近期 Liqwid 數據下,混合毛收益約 6.66%、淨收益約 6.36%,僅供參考) - 預審計 TVL 上限:100,000 USDCx(由營運方控管,維持到 Q2-Q3 2027 第三方審計完成為止) - Phase 1 預期 TVL:$5K-$25K(粗估數字,並非預測或承諾) - V1 測試套件:每次 `aiken check` 跑 **235 個單元與性質測試 / 730 次隨機檢查** 全數通過(8 個性質測試各跑最多 100 次迭代,加上確定性測試;涵蓋 R72、R73、R74 的回歸案例。R74 單獨在 `minswap_v2_adapter` 加了 24 個內嵌測試,並在 `tests/r74_test.ak` 補了 10 個結構測試) - 內部審計:多輪內部審計,發現皆已處理;V1 額外的內部審計(涵蓋範圍 A-F)與第三方外部審計(目標 Q2-Q3 2027)都會在公開上線前完成 - 審計費用區間:$50K-$150K(參考 Anastasia Labs、MLabs、Certik-Cardano、TxPipe 在 2025-2026 年公開的 Plutus V3 合約報價) - 網站:https://optivaults.app - 原始碼:https://github.com/OptiVaults/optivaults-protocol ## V1 架構(17 個邏輯 validator + 4 個 NFT 鑄造政策 + 1 個 DEX adapter = 22 個編譯產物) ### 邏輯 Validators(staking + spending) 1. **vault_proxy** — 持有 vault UTXO 的輕量 spend 驗證器。**11 個編譯時參數**(10 個 staking validator hash + vault_nft_policy);**10 條 Withdraw-Zero 路由**(UseUser / UseKeeperHot / UseBatcher / UseSwapAda / UseProtocol / UseRecall / UseLiqwid / UseGovPolicy / UseGovEmergency / UseAdminDeploy)。檢查 `withdrawal_count == 1`、continuing output、以及 Vault Identity NFT 是否保留 2. **vault_user** — 無需許可的使用者路徑 staking validator:Deposit、Withdraw(遞延收益 0.1% 手續費)、CommunitySunset(Layer 3 90 天的無需許可 dead-man-switch) 3. **vault_keeper_hot** — Keeper 高頻路徑 staking validator(須 keeper 授權):Compound(3 路費用拆分,並透過 R72 F-1 跨 validator `ReceiveCompoundShare` 綁定)、RebalanceBuffer 4. **vault_batcher** — Keeper 批次處理 staking validator:BatchProcess(同時處理 deposit/withdraw 訂單,含 R51 H-1 `no_vusdcx_leak` 保護) 5. **vault_swap_ada** — Keeper SwapAda staking validator:透過 Tier-1 雙來源 oracle 用 ADA 換回 USDCx(V1 啟動時尚未啟用,須由治理先把 `registry.asset_oracles` 填好) 6. **vault_protocol** — Keeper-with-fallback 協議 staking validator:DeployToProtocol,由 SwapAdapter ref-script dispatch 路由(peg-floor + Tier-1 oracle 上限,§5.4) 7. **vault_recall** — Keeper-with-fallback recall staking validator:RecallFromProtocol、MergeUtxo(R56 M-1 第二代幣白名單、R73 F-1 接受條件守護) 8. **vault_liqwid** — Keeper-with-fallback Liqwid staking validator:SupplyToLiqwid(要求 `no_duplicate_market`)、RecallFromLiqwid(嚴格要求 ≥ supplied_value) 9. **vault_gov_policy** — 政策變更治理 staking validator:UpdateStrategy(7d)、UpdateFee(14d)、UpdateFeeSplit(21d,最長一項)、UpdateSlippagePolicy(48h)、publish(Deregister) 10. **vault_gov_emergency** — 緊急治理 staking validator:EmergencyWithdraw(0d 即時觸發,Layer 1 只能凍結不能動本金)、publish(Deregister) 11. **vault_admin_deploy** — Admin deploy staking validator:AdminDeployNonDeposit(須同時滿足 7d keeper 不活躍、21d Registry 穩定、白名單三項條件)、publish(Deregister)。Phase 77c 從 vault_gov_emergency 拆出 12. **keeper_stake_script** — Keeper 授權層,3 種 RegistrationMode(GovernanceOnly / Mixed / PermissionlessWithBond)。每週輪替(週期 7 天、30 分鐘 failover);採 A-Plain 授權(每筆 TX 都會花掉 keeper_auth UTXO) 13. **treasury** — 鏈上 4 類別預算。啟動時 treasury 拿到 60% 的份額,內部再依 **審計儲備 40% / 營運 25% / 研發 25% / 緩衝 10%** 細分(審計儲備等於總費用的 24%)。Receive + Spend(24h 冷卻、單月上限、審計下限、須帶 invoice-ref)+ ReceiveGovForfeit(與 multisig_gov 跨 validator 綁定)+ UpdateParams(180d 冷卻) 14. **multisig_gov** — m-of-n 治理,7-21d timelock + 1-of-n 取消否決,並持有 Governance NFT。啟動時為 3-of-3(1 名創辦人 + 2 位獨立 Cardano SPO)。涵蓋 QueueAction / ExecuteAction / CancelAction / RotateSigners / Heartbeat / DistributeSignerCompensation(90d)/ ReceiveCompoundShare 等 redeemer 15. **registry** — 9 欄位 datum(gov policy/name、protocol_hashes、stable_tokens、liqwid_markets、asset_oracles、swap_adapter_hashes、last_update_time、keeper_pkh)。UpdateRegistry(7d + 1h 冷卻)、KeeperToggleMarket(1h)、FastUpdateMarkets(1h) 16. **order** — 批次訂單佇列:Process(keeper)、Cancel(使用者本人)、Expire(任何人都能呼叫並全額退款,依 R65 N-2) 17. **vusdcx** — 份額代幣鑄造政策,於編譯時與 vault identity 綁定(R55),並設首次存款上限 10^18(R68) ### NFT 鑄造政策(one-shot + soul-bound) 1. **vault_nft** — Vault Identity NFT,one-shot UTXO-ref 鑄造,於編譯時烘進 vault_proxy / vusdcx / order(R55 幻影金庫防禦) 2. **governance_nft** — One-shot UTXO-ref 鑄造,由 multisig_gov 持有 3. **registry_auth_nft** — One-shot UTXO-ref 鑄造,由 registry 持有 4. **gov_signer_nft** — Soul-bound 鑄造,純名譽性質(不具金融價值),於輪替下任時銷毀 ### DEX Adapter(B@launch=1 — ref-script dispatch) 1. **minswap_v2_adapter** — 獨立的 Minswap V2 SwapAdapter staking validator(無參數,1,457 B)。R74 F-1 修補:採用 hop_chain commitment 並在鏈上重新計算 LP 名稱(Minswap 規範公式 sha3_256-of-sha3_256)。**未來要新增 DEX,只要透過治理 UpdateRegistry(14d timelock)把新的 adapter hash 加進 `registry.swap_adapter_hashes` 即可,不必重新部署 V1 vault。** **VaultDatum:** 共 29 欄位,其中 15 個不可變。Phase 87 新增的 `community_sunset_triggered`(idx 28)是 Layer 3 dead-man-switch 的旗標。Policy 群組裡的 `max_slippage_bps`(上限 500,亦即 5%)與 `min_swap_peg_bps`(區間 [9300, 9950])負責 §5.4 鏈上滑點檢查。 **具備 A2 `publish` handler 的 staking 憑證(共 12 個):** 10 個 Withdraw-Zero 驗證器,加上 keeper_stake_script 與 minswap_v2_adapter。這些 stake 押金都能在 sunset 時透過治理 Deregister 領回。 ## V1 特有功能(內部驗證繼承以外) - **3 路 Compound 費用拆分**:啟動為 **40% keeper / 0% gov / 60% treasury**;硬上限為 **keeper ≤ 40%、gov ≤ 10%、兩者合計 ≤ 50%、treasury 下限 ≥ 50%**。Keeper 份額之所以直接拉到 validator 硬上限,是為了在「公共財」定位下,仍能讓開源的第三方 keeper 養得起來 - **UpdateFeeSplit redeemer**:21 天時間鎖(治理動作中最長一項——避免簽名者自肥) - **UpdateSlippagePolicy redeemer**:48 小時時間鎖、保留 1-of-n 取消權;上限同時管 `max_slippage_bps ≤ 500 bps`(Tier-1 oracle 上限)與 `min_swap_peg_bps ∈ [9300, 9950]`(Tier-2 peg-floor) - **治理路徑拆為 vault_gov_policy + vault_gov_emergency + vault_admin_deploy**:以「回應時效」為軸切開。緊急路徑(EmergencyWithdraw freeze-only)與政策變更(UpdateStrategy/Fee/FeeSplit/SlippagePolicy)、管理動作(AdminDeployNonDeposit)分流之後,日後再加任何政策功能也不會擴大緊急路徑的攻擊面 - **Phase 1 三層治理安全**:Layer 1 EmergencyWithdraw 只能凍結、Layer 2 凍結狀態下仍可走 DeployToProtocol 換出 USDCx、Layer 3 是 `vault_user.CommunitySunset` 的 90 天無需許可 dead-man-switch——即便所有 SPO 共同簽署人都離線、只剩單一簽名者治理也無法運作,存款人的損失仍能被壓在可控範圍 - **每週 keeper 輪替**:以時間推導的模運算決定主理人,週期 7 天,30 分鐘 failover;Phase 3+ 才會啟用 bond-weighted 模式 - **A-Plain keeper 授權**:每筆 keeper TX 都會花掉 keeper_auth UTXO,並更新 last_successful_tx_at - **季度治理酬勞**:signer_compensation_pool 在每次 Compound 時累積,每 90 天透過 DistributeSignerCompensation(1-of-n)發放 - **X3 混合資格**:簽名者要任滿整個季度,並且該季內至少簽過一筆治理 TX 或發過 Heartbeat,才算合格 - **Y1 forfeit 流程**:不合格簽名者的份額會經由 ReceiveGovForfeit 跨 validator 綁定,轉入 Treasury 的審計儲備 - **Soul-bound Gov Signer NFT**:純名譽性質,綁在 Governance NFT policy 上,輪替下任時即銷毀 ## 運作方式(V1 公開上線時) 1. 使用者存入 USDCx → API 在伺服器端組好 TX → 使用者以 CIP-30 錢包簽名 → 鑄造 vUSDCx 份額 2. Keeper 自動把資金布建到 Liqwid(DJED、USDM),路徑走 Minswap V2 swap(ref-script SwapAdapter dispatch) 3. Keeper 把收益複利化 → 績效費三路分配(keeper 40% / 治理池啟動為 0% / treasury 60%)→ 份額價格隨之上升 4. 使用者提領 → 直接(即時,0.1% 手續費會經由份額價格遞延、回饋給剩餘持有者)或排隊(免費,約 5 分鐘) ## 費用 - **績效費:** 僅對收益收取 4.5%(本金不收)。鏈上硬上限為 4.5% - **費用分配:** keeper 40% / 治理池啟動為 0% / treasury 60%(Phase 2+ 可透過 UpdateFeeSplit 21 天時間鎖把治理池調到 5-10%;treasury 下限 ≥ 50% 始終不變) - **直接提領手續費:** 0.1%。這 0.1% 不會被收走,而是留在金庫內、轉化成剩餘持有者的份額價格收益。Keeper 連續 7 天不活躍後即自動免收 - **排隊提領:** 免費 - **存款手續費:** 無 ## 安全特性 - **15 個不可變 datum 欄位** 搭配 **編譯時 Vault NFT 錨點** - **Vault Identity NFT**(one-shot UTXO-ref 鑄造,編譯時就烘進 proxy/vusdcx/order)— 杜絕幻影金庫注入 - **Withdraw-Zero Forwarding Pattern**(共 10 條路由)— proxy 會檢查只有單一授權 withdrawal、有 continuing output;`withdrawal_count` 維持為 1 的不變量隨路由數一起擴展 - **MultisigGov** — m-of-n 多簽搭配 7-21d 時間鎖與 1-of-n 取消否決 - **UpdateFeeSplit 21 天時間鎖** — 治理動作中最長,防止簽名者自肥 - **UpdateSlippagePolicy 48 小時時間鎖** — 在脫鉤時能即時應變,又留給存款人足夠的退場時間 - **鏈上滑點上限**(§5.4 Phase 1+2 已落地;P3-P5 Tier-1 oracle / Minswap decoder / 雙來源仍待實作,預計 6-12 週):`max_slippage_bps ≤ 500 bps`、`min_swap_peg_bps ∈ [9300, 9950]` - **Phase 1 三層治理安全** — Layer 1 只能凍結、Layer 2 凍結中仍能換出 USDCx、Layer 3 是 90 天的無需許可 CommunitySunset - **角色分離** — 治理、keeper、fee-collector 三組密鑰彼此獨立(mainnet 上線時共 6 個不同身份) - **每週 keeper 輪替** — 沒有任何單一 keeper 能獨占;30 分鐘 failover - **治理無法掏空 USDCx 或 ADA** — 僅能透過 AdminDeployNonDeposit 處理卡住的非存款代幣,且須同時通過 7d keeper 不活躍、21d Registry timelock 與白名單三道檢核 - **R72 F-1 跨 validator 綁定** — Compound 的 gov_share 路徑會驗證 gov input 的 spend redeemer 必為 `ReceiveCompoundShare`,避免與其他 GovRedeemer 配對而讓資金卡在 gov UTxO - **R73 F-1 MergeUtxo 接受條件守護** — 捐贈無法破壞 `valid_allocs` 這條不變量 - **R74 F-1 Minswap V2 hop_chain commitment** — Adapter 以 Minswap 規範公式(sha3_256-of-sha3_256)驗算每跳的 LP 名稱,已對真實 mainnet 樣本做過逐位元組比對 - **反雙重滿足** — 相關 redeemer 都帶有 `receiver_output_idx`、`fee_output_idx`、`dest_output_idx`、`payout_output_index` - **遞延式提前提領手續費** — 0.1% 不會被取走,而是留在金庫內累積份額價格 - **鏈上收益計算** — Keeper 無從偽造收益(`yield = idle_buffer + non_deposit_value + Σ liqwid_positions.supplied_value − total_deposited`) - **Liqwid 各市場部位追蹤** — 杜絕 qToken 匯率膨脹 - **緊急退場機制** — Keeper 連續 7 天不活躍時,直接提領的手續費會自動免除 ## 語言 - English(英文): https://optivaults.app/llms.txt - 繁體中文(本檔): https://optivaults.app/llms-zh.txt - 日本語: https://optivaults.app/llms-ja.txt - 完整技術參考: https://optivaults.app/llms-full.txt ## 聯絡 - 網站:https://optivaults.app - 電子郵件:optivaults@gmail.com - GitHub:https://github.com/OptiVaults/optivaults-protocol