Skip to content

NumoLabs/Numo

Repository files navigation

Numo – Modular BTC Finance on Starknet

Numo is a modular DeFi platform built on Starknet that helps users grow their BTC (WBTC) safely, automatically, and transparently. Numo offers a full BTC-first experience, including auto-rebalancing vaults, fixed-term bonds, strategy sharing, forecasting tools, and an integrated DeFi learning section.

πŸš€ Key Features

🏦 BTC Savings+ (Auto-Rebalancing Vault)

  • Deposit and withdraw WBTC flexibly
  • 100% BTC/WBTC exposure
  • Yield always denominated in WBTC
  • rbBTC token as proof of participation

πŸ” BTC Bonds

  • Lock BTC for 7, 30, or 90 days
  • Earn extra yield based on lock duration
  • Ideal for long-term BTC holders

🧠 Strategy Modes

  • Auto Mode: Contract selects the best pool using Pragma (APY, volatility)
  • Manual Mode: User chooses between Ekubo, Vesu, or custom pools
  • Hybrid Mode: Custom allocation + rebalance only within selected strategies

πŸ“ˆ Vault Marketplace

  • Discover and follow community-created vault strategies
  • Each strategy shows its risk level, APY, and composition
  • Users can publish and track performance of their own strategies

πŸ“Š Forecasting & Insights

  • Simulate gains based on amount and time
  • Compare performance: vault vs. hodling vs. single protocol
  • Visual charts and yield estimators

πŸ“š Learn DeFi

  • Educational section built into the app
  • Helps users understand vaults, liquidity, risk, and key DeFi concepts
  • Designed to onboard non-technical users

🧠 Intelligent Rebalancing

  • Based on market conditions, TWAPs, and APY thresholds
  • Optimized to reduce costs and slippage
  • Rewards are auto-converted to WBTC

πŸ— Tech Stack

  • Frontend: Next.js 14 (App Router)
  • Smart Contracts: Cairo (Starknet)
  • Oracles: Pragma
  • DeFi Integration: Vesu, Ekubo
  • Styling: Tailwind CSS & shadcn/ui
  • Build Tool: Bun

πŸ“‚ Project Structure

Numo/
β”œβ”€β”€ apps/
β”‚   β”œβ”€β”€ webapp/
β”‚   β”‚   β”œβ”€β”€ app/            # App Router pages, layout, global state, styles
β”‚   β”‚   β”œβ”€β”€ components/     # React components (ui/, vault/, bonds/, etc.)
β”‚   β”‚   β”œβ”€β”€ constants/      # Global constants
β”‚   β”‚   β”œβ”€β”€ lib/            # Utilities, helpers, cache, mock-data, schemas
β”‚   β”‚   β”œβ”€β”€ types/          # Shared TypeScript types
β”‚   β”‚   └── public/         # Static assets
β”‚   └── contracts/
β”‚       β”œβ”€β”€ src/            # Cairo smart contracts
β”‚       β”œβ”€β”€ tests/          # Contract unit tests
β”‚       β”œβ”€β”€ Scarb.toml      # Scarb config
β”‚       └── snfoundry.toml  # Testing config
β”œβ”€β”€ package.json
β”œβ”€β”€ bun.lock
β”œβ”€β”€ tsconfig.json
└── README.md

πŸƒ Getting Started

Prerequisites

  • Node.js (v18+)
  • Bun
  • Git

Installation

  1. Clone the repository:
git clone https://github.com/your-username/numo.git
cd numo
  1. Install dependencies:
bun install
  1. Start the development server:
cd apps/webapp && bun dev

πŸ’‘ Use Cases

BTC Yield Vault

  • For BTC holders who want passive yield without managing strategies
  • Trustless rebalancing and exposure control
  • Withdraw at any time

Custom Strategies

  • Power users can define preferred pools and thresholds
  • Composable with Vesu, Ekubo, and other integrations

Educational Onboarding

  • Newcomers can learn and use DeFi tools in the same place
  • Ideal for DAO-based onboarding or BTC-focused communities

πŸ”’ Security

  • Parameter validation and safe external calls
  • Trusted price feeds via Pragma oracles

πŸ“Š Feature Comparison

Feature Traditional Vault Manual DeFi Numo Vault
Yield in BTC/WBTC ❌ ⚠️ βœ…
Auto Strategy ❌ ❌ βœ…
Intelligent Rebalancing ❌ ❌ βœ…
Multi-protocol Integration ❌ ⚠️ βœ…
Simple UX βœ… ❌ βœ…
Flexible Withdrawal ⚠️ βœ… βœ…
Open Source ⚠️ βœ… βœ