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