Simulating Flash Loans
Contents
Overview | Prerequisites | Instructions | Output | Error Handling | Examples | Resources
Overview
Simulate flash loan strategies across Aave V3, dYdX, and Balancer with profitability calculations, gas cost estimation, and risk assessment. Evaluate flash loan opportunities without executing real transactions.
Prerequisites
-
Install Python 3.9+ with web3 , httpx , and rich packages
-
Configure RPC endpoint access (free public RPCs via https://chainlist.org work fine)
-
Optionally add Etherscan API key for better gas estimates
-
Set RPC in ${CLAUDE_SKILL_DIR}/config/settings.yaml or use ETH_RPC_URL env var
Instructions
-
Simulate a two-DEX arbitrage with automatic fee and gas calculation: python ${CLAUDE_SKILL_DIR}/scripts/flash_simulator.py arbitrage ETH USDC 100
--dex-buy uniswap --dex-sell sushiswap -
Compare flash loan providers to find the cheapest for your strategy: python ${CLAUDE_SKILL_DIR}/scripts/flash_simulator.py arbitrage ETH USDC 100 --compare-providers
-
Analyze liquidation profitability on lending protocols: python ${CLAUDE_SKILL_DIR}/scripts/flash_simulator.py liquidation
--protocol aave --health-factor 0.95 -
Simulate triangular arbitrage with multi-hop circular paths: python ${CLAUDE_SKILL_DIR}/scripts/flash_simulator.py triangular
ETH USDC WBTC ETH --amount 50 -
Add risk assessment (MEV competition, execution, protocol, liquidity) to any simulation: python ${CLAUDE_SKILL_DIR}/scripts/flash_simulator.py arbitrage ETH USDC 100 --risk-analysis
-
Run full analysis combining all features: python ${CLAUDE_SKILL_DIR}/scripts/flash_simulator.py arbitrage ETH USDC 100
--full --output json > simulation.json
Output
-
Quick Mode: Net profit/loss, provider recommendation, Go/No-Go verdict
-
Breakdown Mode: Step-by-step transaction flow with individual cost components
-
Comparison Mode: All providers ranked by net profit with fee differences
-
Risk Analysis: Competition, execution, protocol, and liquidity scores (0-100) with viability grade (A-F)
See ${CLAUDE_SKILL_DIR}/references/implementation.md for detailed output examples and risk scoring methodology.
Error Handling
Error Cause Solution
RPC Rate Limit Too many requests Switch to backup endpoint or wait
Stale Prices Data older than 30s Auto-refreshes with warning
No Profitable Route All routes lose after costs Try different pairs or amounts
Insufficient Liquidity Trade exceeds pool depth Reduce amount or split across pools
See ${CLAUDE_SKILL_DIR}/references/errors.md for comprehensive error handling.
Examples
Basic arbitrage simulation:
python ${CLAUDE_SKILL_DIR}/scripts/flash_simulator.py arbitrage ETH USDC 100
--dex-buy uniswap --dex-sell sushiswap
Find cheapest provider:
python ${CLAUDE_SKILL_DIR}/scripts/flash_simulator.py arbitrage ETH USDC 100 --compare-providers
Liquidation opportunity scan:
python ${CLAUDE_SKILL_DIR}/scripts/flash_simulator.py liquidation --protocol aave --health-factor 0.95
See ${CLAUDE_SKILL_DIR}/references/examples.md for multi-provider comparison and backtesting examples.
Resources
-
${CLAUDE_SKILL_DIR}/references/implementation.md
-
Provider comparison, strategy details, risk scoring, output modes
-
Aave V3 Flash Loans
-
dYdX Flash Loans
-
Balancer Flash Loans
-
Flashbots Protect