← Back to Projects

DeFi Protocol Project

Build Decentralized Finance Primitives

Problem Statement: How do we create financial services without trusted intermediaries?
Jupyter Notebook Slide Deck

Learning Objectives

  1. Understand constant product AMM mechanics
  2. Implement collateralized lending
  3. Create flash loan functionality
  4. Integrate price oracles

Constant Product AMM

x · y = k

Price increases as you buy (slippage). Fees accumulate in k.

Lending Protocol

ParameterTypical ValuePurpose
Collateral Factor75%Max borrow per collateral
Liquidation Threshold80%When liquidation triggers
Liquidation Bonus5%Incentive for liquidators

Flash Loans

Oracle Integration

// Chainlink Price Feed
(, int256 price,,,) = priceFeed.latestRoundData();
// ETH/USD price with 8 decimals

Risk Analysis

RiskDescriptionMitigation
Smart ContractBugs, exploitsAudits, bug bounties
OraclePrice manipulationTWAPs, multiple sources
LiquidationCascade failuresConservative parameters
EconomicDepegs, bank runsInsurance, reserves

Cryptoeconomics Analysis

QuestionAnswer
PROBLEMFinancial services without banks
INCENTIVESLPs earn fees, liquidators earn bonus
BENEFITS/COSTSPermissionless access; gas costs, risks
FAILURE MODEOracle manipulation, flash loan attacks
DESIGN CHOICESCollateral ratios, fee structures
ALTERNATIVESCentralized exchanges, traditional finance

Implementation Checklist

Related Lessons

Resources