defi-expert
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.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
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:
- Token decimals (USDC=6, not 18!)
- Denomination (wei, ray, wad, bps)
- 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;
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-28
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!