DeFI_Smallcase

Create and invest in curated DeFi strategy baskets with focus on privacy and risk free investment

DeFI_Smallcase

Created At

ETHGlobal New Delhi

Project Description

Smallcase DeFi is a full-stack monorepo that lets investors discover and subscribe to curated on-chain strategies while maintaining compliant access through zero-knowledge identity checks. The web app (Next.js) renders a catalog of strategies and can overlay live on-chain metrics (NAV, PPS, PnL) sourced from a Uniswap v4 vault contract. Identity verification is handled by the Safe Passport package, which integrates Self Protocol V2 to prove attributes like age and OFAC status for investors and jurisdiction/RIA for portfolio managers (PMs).

How it's Made

We used the following technologies to build this project:

  • Web App: Next.js 14 App Router, Tailwind CSS, Radix UI components, and Clerk middleware for route protection (apps/web/).

  • Identity: packages/safe-passport/ provides a Solidity contract (SafePassport.sol) and a TypeScript SDK to generate Self Protocol QR flows. Investor (age + OFAC) verification. See apps/web/components/self/SafePassportWidget.tsx and apps/web/app/investor/kyc/self-verify/page.tsx.

  • On-chain Strategies: packages/uniswap_integration/ contains a Uniswap v4 hook (MultiPolicyHook.sol), a strategy vault (UniswapLPVault.sol), and a registry (UniswapStrategyRegistry.sol), plus scripts to deploy/configure and emit snapshots for charts.

  • Database: packages/database/ exposes a Postgres/Prisma package with a schema for strategies, users/subscriptions, and analytics; intended for optional persistence and ingestion.

  • On-chain reads: server-side viem client in the web app to overlay live metrics onto the existing strategy list via an API route.

We used the following partner technologies to benefit our project:

  • Self Protocol V2 (via @selfxyz/*) for ZK identity verification flows and QR code builder.
  • Neon Postgres + Prisma for managed serverless database access (optional for the demo).
  • Clerk/Privy for auth primitives and middleware.

We did the following frugal integration in our project:

  • Bootstrapped a curated strategy list from static data (apps/web/data/strategies.ts) and overlaid live Uniswap metrics via an API, so the UI stays fast even when metrics are unavailable.
  • Emitted demo snapshots from scripts to drive charts quickly during testing.
  • Graceful fallbacks: UI renders fine without on-chain metrics or DB connection.
background image mobile

Join the mailing list

Get the latest news and updates