Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/collinsville22/Sable/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Vesu is a modular lending protocol on StarkNet that serves as Sable’s primary yield source. It enables efficient supply and borrow operations across multiple pools with dynamic interest rates.
Vesu powers 5 out of 6 Sable vaults and all direct staking functionality.

What is Vesu?

Vesu V2 is a permissionless lending protocol built on StarkNet that allows users to:
  • Supply assets to earn interest
  • Borrow assets against collateral
  • Create isolated lending pools with custom risk parameters
  • Receive interest-bearing vTokens representing supplied positions

Key Features

  • Modular Pool Design: Each pool has independent risk parameters and asset pairs
  • vTokens: ERC-20 interest-bearing tokens that automatically accrue yield
  • Real-time APY: Dynamic interest rates based on utilization
  • BTCFi Incentives: 100M STRK rewards for BTC-related pools

How Sable Integrates with Vesu

Sable leverages Vesu across multiple product lines to generate yield for users.

Vault Integrations

Sentinel Vault

Pure Lending StrategySupplies WBTC to the Vesu PRIME pool to earn lending APY + BTCFi STRK rewards.
  • Risk Level: 1 (Low)
  • Pool: PRIME
  • Yield: Base lending + STRK incentives

Citadel Vault

Staked BTC LendingStakes WBTC on Endur → supplies xWBTC to Vesu Re7 xBTC pool for dual yield.
  • Risk Level: 2 (Low-Med)
  • Pool: Re7 xBTC
  • Yield: Staking + lending + STRK

Turbo Vault

Leverage LoopDeposits WBTC → borrows USDC → swaps to WBTC → repeats. Amplifies base yield through leverage.
  • Risk Level: 5 (High)
  • Pool: PRIME
  • Yield: Leveraged lending APY

Apex Vault

Multi-Strategy40% allocation to Vesu leverage lending as part of maximum diversified yield strategy.
  • Risk Level: 5 (High)
  • Pool: PRIME
  • Yield: Part of blended strategy

Stablecoin Pool

The Stablecoin Vault supplies USDC to the Vesu RE7 USDC Core pool, enabling private USDC deposits with shielded pool integration.

Direct Staking

Sable’s /stake page allows users to directly supply to Vesu pools and receive vTokens:
PoolPool IDvTokenYield
Vesu PRIME0x0451fe483d5921a2919ddd81d0de6696669bccdacd859f72a4fba7656b97c3b5vWBTCBase lending APY + BTCFi STRK
Re7 xBTC0x03a8416bf20d036df5b1cf3447630a2e1cb04685f6b0c3a70ed7fb1473548ecfvWBTC-Re7xBTCEndur staking + lending APY + STRK

Contract Addresses

Vesu Singleton

The main contract for all Vesu lending operations.
0x000d8d6dfec4d33bfb6895de9f3852143a17c6f92fd2a21da3d6924d34870160
View on Voyager

Pool IDs

0x0451fe483d5921a2919ddd81d0de6696669bccdacd859f72a4fba7656b97c3b5

vToken Mechanics

When users supply assets to Vesu, they receive vTokens (e.g., vWBTC) that:
  1. Automatically accrue interest — balance increases over time
  2. Are fully liquid — can be transferred or used as collateral
  3. Redeem 1:1 for underlying + interest — burn vTokens to withdraw

How It Works

Supply Flow:
  User ──► approve(WBTC, Vesu Singleton, amount)
       ──► Vesu.supply(pool_id, WBTC, amount)
       ◄── Receive vWBTC tokens

Withdraw Flow:
  User ──► Vesu.withdraw(pool_id, vWBTC, amount)
       ◄── Receive WBTC (original + accrued interest)
       ──► vWBTC tokens burned

API Usage Examples

Sable’s frontend integrates with Vesu via both on-chain calls and the Vesu REST API.

Fetching Pool Data

// From: ~/workspace/source/src/lib/api/vesu.ts

import { fetchVesuWbtcData } from "@/lib/api/vesu";

const PRIME_POOL_ID = "0x0451fe483d5921a2919ddd81d0de6696669bccdacd859f72a4fba7656b97c3b5";

const data = await fetchVesuWbtcData(PRIME_POOL_ID);

console.log(data);
// {
//   pool: "PRIME",
//   poolId: "0x0451...",
//   vTokenAddress: "0x04ecb0...f56c",
//   vTokenSymbol: "vWBTC",
//   supplyApy: 4.23,        // Base lending APY
//   btcFiApr: 12.5,         // BTCFi STRK incentives
//   totalApy: 16.73,        // Combined yield
//   borrowApr: 6.8,
//   utilization: 65.4,
//   totalSupplied: 123.45,  // WBTC
//   tvlUsd: 12_345_000,
//   btcPrice: 100_000,
//   liquidationFactor: 0.75
// }

Supply to Vesu (On-Chain)

import { Contract } from "starknet";
import { VESU_SINGLETON_ABI } from "@/lib/abi/vesu-singleton";

const VESU_SINGLETON = "0x000d8d6dfec4d33bfb6895de9f3852143a17c6f92fd2a21da3d6924d34870160";
const WBTC_ADDRESS = "0x03fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac";
const PRIME_POOL = "0x0451fe483d5921a2919ddd81d0de6696669bccdacd859f72a4fba7656b97c3b5";

const vesu = new Contract(VESU_SINGLETON_ABI, VESU_SINGLETON, provider);

// Approve WBTC
await wbtcContract.approve(VESU_SINGLETON, amount);

// Supply to pool
await vesu.supply(
  PRIME_POOL,
  WBTC_ADDRESS,
  amount,
  userAddress
);

Withdraw from Vesu

// Withdraw by vToken amount
await vesu.withdraw(
  PRIME_POOL,
  vTokenAddress,
  vTokenAmount,
  userAddress
);

Vesu API Endpoints

Sable fetches pool data from the Vesu REST API for real-time APY and TVL.

Base URL

https://api.vesu.xyz

Get All Pools

GET https://api.vesu.xyz/pools
Returns all active lending pools with asset data, APYs, utilization, and TVL.

Get Pool Detail

GET https://api.vesu.xyz/pools/{pool_id}
Returns full pool detail including:
  • Asset-specific APYs (supply/borrow)
  • BTCFi STRK incentives
  • Liquidation parameters (max LTV, liquidation factor)
  • Total supplied/borrowed amounts
  • Current utilization

Which Sable Features Use Vesu?

Vaults

  • Sentinel (PRIME lending)
  • Citadel (Re7 xBTC lending)
  • Turbo (PRIME leverage loop)
  • Apex (40% PRIME allocation)
  • Stablecoin Vault (RE7 USDC Core)

Staking Pools

Direct supply to:
  • Vesu PRIME
  • Re7 xBTC
Users receive vTokens.

Shielded Pools

Stablecoin Vault deposits into Vesu RE7 USDC Core with ZK privacy.

CDP

Delta Neutral vault borrows USDC from Vesu to generate spread yield.

External Resources

Vesu Documentation

Official Vesu protocol documentation

Vesu App

Vesu lending interface

Vesu API Reference

REST API for pool data

Integration Source Code: ~/workspace/source/src/lib/api/vesu.ts