Sable Citadel
The Citadel vault combines Endur liquid staking with Vesu lending to generate dual yield streams on deposited WBTC.Risk Level: 2 (Low-Medium)
Strategy: Stake WBTC → xWBTC → Supply to Vesu as collateral
Strategy: Stake WBTC → xWBTC → Supply to Vesu as collateral
Strategy Overview
Yield Sources
| Source | Type | Description |
|---|---|---|
| Endur Staking APY | Base yield | Validator rewards from BTC staking via Endur |
| Vesu Lending APY | Additional yield | Interest from xWBTC lending on Vesu |
| BTCFi STRK Rewards | Incentive | 100M STRK distribution |
| xWBTC Appreciation | Capital gain | xWBTC/WBTC ratio increases over time |
Risk Profile
- No leverage: No borrowed positions or liquidation risk
- Endur protocol risk: Smart contract and liquid staking risks
- 7-day withdrawal queue: Endur unstaking takes 7 days (mitigated by AVNU swap)
- xWBTC/WBTC depeg risk: Minimal due to Endur’s backing mechanism
Contract Architecture
File:citadel.cairo (~600 LOC)Deployed:
0x077ad8d0fe4b946cedc02eb8eb61a64e85bcde802a83e879e8c68fed8b9b130e
Core Components
- Dual Strategy
- Endur Integration
- Vesu Integration
Citadel manages two distinct positions:
- Endur xWBTC: Liquid staking shares (ERC-4626)
- Vesu Collateral: xWBTC supplied to Vesu Re7 xBTC pool
Key Functions
User Functions
Deposit WBTC and receive yvBTC-CIT sharesParameters:
assets(u256): Amount of WBTC to deposit (8 decimals)receiver(ContractAddress): Address to receive vault shares
Burn shares and withdraw WBTCParameters:
assets(u256): Amount of WBTC to withdrawreceiver(ContractAddress): Address to receive WBTCowner(ContractAddress): Share owner
Curator Functions
Stake idle WBTC into Endur vaultParameters:Implementation at
amount(u256): WBTC to stake
citadel.cairo:327Supply xWBTC to Vesu Re7 xBTC poolParameters:Implementation at
amount(u256): xWBTC shares to supply
citadel.cairo:347Withdraw xWBTC collateral from VesuParameters:Implementation at
amount(u256): xWBTC shares to withdraw
citadel.cairo:382Emergency unwind: withdraw all xWBTC from Vesu + swap to WBTC via AVNUParameters:Implementation at
min_amount_out(u256): Minimum WBTC output (slippage protection)routes(Array<Route>): AVNU swap routes
citadel.cairo:429Uses AVNU to bypass Endur’s 7-day withdrawal queue.
Integration with External Protocols
Endur Liquid Staking
Vault Address:endur_vault (constructor parameter)
Citadel uses Endur’s ERC-4626 vault to stake WBTC:
Vesu Re7 xBTC Pool
Pool ID:0x03a8416bf20d036df5b1cf3447630a2e1cb04685f6b0c3a70ed7fb1473548ecf
Citadel supplies xWBTC as collateral (no debt) to earn BTCFi rewards:
AVNU xWBTC/WBTC Swap
For withdrawals, Citadel swaps xWBTC → WBTC via Ekubo xWBTC/WBTC pool (fee: 0.01%, tick_spacing: 200):citadel.cairo:697
Example Usage
Depositing WBTC
Withdrawing WBTC
Checking Strategy State
Security Considerations
Risks
Risk Mitigation
- 7-day queue bypass: AVNU swap allows instant withdrawals without waiting
- No liquidation risk: Citadel never borrows, so no liquidations
- Pause mechanism: Owner can halt deposits if issues arise
- Upgradeable: Contract can be upgraded to fix bugs