Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    neversight

    defi-protocols

    neversight/defi-protocols
    Productivity
    2
    1 installs

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    Master DeFi protocol development including AMMs, lending, yield, and oracles

    SKILL.md

    DeFi Protocols Skill

    Master DeFi protocol development including AMM mechanics, lending systems, yield optimization, and oracle integration.

    Quick Start

    # Invoke this skill for DeFi development
    Skill("defi-protocols", protocol_type="amm", chain="ethereum")
    

    Topics Covered

    1. AMM (Automated Market Makers)

    Build decentralized exchanges:

    • Constant Product: x * y = k (Uniswap V2)
    • Concentrated Liquidity: Tick-based (Uniswap V3)
    • Stable Swaps: Curve invariant
    • TWAP: Time-weighted average price

    2. Lending Protocols

    Create lending markets:

    • Overcollateralized: Aave/Compound model
    • Interest Rates: Utilization-based curves
    • Liquidation: Health factor, incentives
    • Isolated Markets: Risk segmentation

    3. Yield Optimization

    Maximize returns:

    • Auto-compounding: Vault strategies
    • Liquidity Mining: Reward distribution
    • veTokens: Vote-escrowed governance
    • Bribes: Gauge voting incentives

    4. Oracle Integration

    Secure price feeds:

    • Chainlink: Decentralized oracles
    • TWAP: Manipulation resistant
    • Staleness Checks: Price freshness
    • Fallbacks: Multi-oracle setups

    Code Examples

    AMM Swap Calculation

    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.24;
    
    library SwapMath {
        uint256 constant FEE_NUMERATOR = 997;
        uint256 constant FEE_DENOMINATOR = 1000;
    
        /// @notice Calculate output amount for constant product AMM
        function getAmountOut(
            uint256 amountIn,
            uint256 reserveIn,
            uint256 reserveOut
        ) internal pure returns (uint256) {
            uint256 amountInWithFee = amountIn * FEE_NUMERATOR;
            uint256 numerator = amountInWithFee * reserveOut;
            uint256 denominator = reserveIn * FEE_DENOMINATOR + amountInWithFee;
            return numerator / denominator;
        }
    
        /// @notice Calculate price impact percentage (basis points)
        function getPriceImpact(
            uint256 amountIn,
            uint256 reserveIn
        ) internal pure returns (uint256) {
            return (amountIn * 10000) / (reserveIn + amountIn);
        }
    }
    

    Chainlink Oracle

    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.24;
    
    import "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol";
    
    contract PriceOracle {
        AggregatorV3Interface public immutable priceFeed;
        uint256 public constant STALENESS_THRESHOLD = 1 hours;
    
        error StalePrice();
        error InvalidPrice();
    
        constructor(address feed) {
            priceFeed = AggregatorV3Interface(feed);
        }
    
        function getPrice() external view returns (uint256) {
            (, int256 price,, uint256 updatedAt,) = priceFeed.latestRoundData();
    
            if (block.timestamp - updatedAt > STALENESS_THRESHOLD) {
                revert StalePrice();
            }
            if (price <= 0) revert InvalidPrice();
    
            return uint256(price);
        }
    }
    

    Flash Loan Callback

    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.24;
    
    import "@aave/v3-core/contracts/flashloan/base/FlashLoanSimpleReceiverBase.sol";
    
    contract Arbitrage is FlashLoanSimpleReceiverBase {
        function executeOperation(
            address asset,
            uint256 amount,
            uint256 premium,
            address,
            bytes calldata
        ) external override returns (bool) {
            // Execute arbitrage logic here
    
            // Repay: amount + premium
            IERC20(asset).approve(address(POOL), amount + premium);
            return true;
        }
    }
    

    DeFi Math Formulas

    Constant Product AMM

    Invariant: x * y = k
    Output: dy = y - k/(x + dx)
    Price: p = y/x
    Slippage: dx/(x + dx) * 100%
    

    Interest Rates

    Utilization: U = borrows / (deposits + borrows)
    Borrow Rate: R = base + slope * U  (when U < optimal)
    Supply Rate: R_supply = R_borrow * U * (1 - reserve_factor)
    

    Health Factor

    HF = (collateral * liquidation_threshold) / debt
    Liquidation when HF < 1
    

    Common Pitfalls

    Pitfall Risk Prevention
    Spot price oracle Flash loan manipulation Use TWAP
    No slippage check Sandwich attacks Enforce min output
    Stale prices Wrong liquidations Check updatedAt
    Reentrancy Fund drainage CEI + guards

    Security Checklist

    • Oracle staleness validation
    • Slippage protection
    • Flash loan attack resistance
    • Reentrancy guards
    • Access control on admin
    • Emergency pause mechanism
    • Timelock on parameters

    Troubleshooting

    "Oracle price deviation"

    # Compare oracle vs DEX price
    cast call $ORACLE "latestRoundData()" --rpc-url $RPC
    cast call $POOL "slot0()" --rpc-url $RPC
    

    "Sandwich attack detected"

    Add minimum output enforcement:

    require(amountOut >= minAmountOut, "Slippage exceeded");
    

    Protocol Addresses (Mainnet)

    Protocol Contract
    Uniswap V3 Router 0xE592427A0AEce92De3Edee1F18E0157C05861564
    Aave V3 Pool 0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2
    Chainlink ETH/USD 0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419

    Cross-References

    • Bonded Agent: 04-defi-specialist
    • Related Skills: solidity-development, smart-contract-security

    Version History

    Version Date Changes
    2.0.0 2025-01 Production-grade with math, security
    1.0.0 2024-12 Initial release
    Recommended Servers
    Solana DeFi MCP Server
    Solana DeFi MCP Server
    OpenZeppelin
    OpenZeppelin
    Blockscout MCP Server
    Blockscout MCP Server
    Repository
    neversight/skills_feed