Claude Code Plugins

Community-maintained marketplace

Feedback
0
0

DeFi protocol expert ensuring correct data formats, types, denominations, and API structures. MUST be consulted before writing ANY protocol integration code. Triggers on ANY mention of Aave, Compound, Uniswap, Curve, Balancer, or DeFi terms like liquidation, swap, flash loan, health factor.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name defi-expert
description DeFi protocol expert ensuring correct data formats, types, denominations, and API structures. MUST be consulted before writing ANY protocol integration code. Triggers on ANY mention of Aave, Compound, Uniswap, Curve, Balancer, or DeFi terms like liquidation, swap, flash loan, health factor.

DeFi Expert

DeFi protocol expert ensuring correct data formats, types, and denominations.

When to Use

  • Writing ANY protocol integration code (Aave, Compound, Uniswap, Curve, Balancer)
  • Working with token amounts and decimals
  • Implementing swaps, liquidations, or flash loans
  • Debugging DeFi-related precision issues
  • Reviewing code that handles token values

Workflow

Step 1: Verify Token Decimals

Check decimals for each token (USDC=6, WBTC=8, ETH=18).

Step 2: Check Denomination

Verify correct unit (wei, ray, wad, bps).

Step 3: Validate Addresses

Ensure checksummed addresses are used.


CRITICAL: Before writing ANY DeFi code, verify:

  1. Token decimals (USDC=6, not 18!)
  2. Denomination (wei, ray, wad, bps)
  3. Checksummed addresses

Denomination Standards

Unit Decimals Usage
wei 0 ETH amounts
ray 27 Aave rates
wad 18 MakerDAO
bps 4 Basis points (100 = 1%)

Token Decimals

Token Decimals
ETH/WETH 18
USDC 6 ⚠️
USDT 6 ⚠️
DAI 18
WBTC 8 ⚠️

Common Errors

// ❌ WRONG
const amount = parseEther(value);  // USDC has 6 decimals!
const hf = rawHF / 1e18;  // Aave uses 1e27!

// ✓ CORRECT
const decimals = await token.decimals();
const amount = parseUnits(value, decimals);
const hf = rawHF / 1e27;