Skip to content
Back to skills

2565 Errors 39efee5b

ASecurity

``` Error: requests.exceptions.Timeout: Request timed out after 30s ``` **Cause**: DeFiLlama API is slow or unavailable. **Solution**: - Script automatically falls back to cached data - If cache is also unavailable, uses mock data for basic functionality - Wait a few minutes and retry with `--no-cache` flag

  • 9 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 11, 2026
developmentpythongobashdebuggingapidatabase

Works with

  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 2565-errors_39efee5b --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 2565 Errors 39efee5b?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 2565 Errors 39efee5b
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-2565-errors-39efee5b/badge)](https://www.skillsdirectory.com/skills/tools-only-2565-errors-39efee5b)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
# Error Handling Reference

## API Errors

### DeFiLlama API Timeout
```
Error: requests.exceptions.Timeout: Request timed out after 30s
```
**Cause**: DeFiLlama API is slow or unavailable.
**Solution**:
- Script automatically falls back to cached data
- If cache is also unavailable, uses mock data for basic functionality
- Wait a few minutes and retry with `--no-cache` flag

### DeFiLlama Rate Limit
```
Error: 429 Too Many Requests
```
**Cause**: Too many API requests in short period.
**Solution**:
- DeFiLlama has generous limits, this is rare
- Cache is used by default (5 minute TTL)
- Wait 1 minute before retrying

### Network Connection Error
```
Error: requests.exceptions.ConnectionError: Failed to establish connection
```
**Cause**: No internet connection or DNS issues.
**Solution**:
- Check network connectivity
- Script falls back to cached data automatically
- Use `--verbose` to see cache status

## Data Errors

### No Pools Found
```
No pools match your criteria. Try broadening filters.
```
**Cause**: Filters are too restrictive.
**Solution**:
- Remove some filters (e.g., remove `--audited-only`)
- Lower `--min-tvl` threshold
- Try fewer chains or protocols
- Use `--top 50` to see more results

### Invalid Chain Name
```
Warning: No pools found for chain 'eth'
```
**Cause**: Chain name doesn't match DeFiLlama format.
**Solution**: Use correct chain names:
- `ethereum` (not `eth` or `mainnet`)
- `arbitrum` (not `arb`)
- `polygon` (not `matic`)
- `optimism` (not `op`)
- `bsc` (for Binance Smart Chain)

### Invalid Protocol Name
```
Warning: No pools found for protocol 'aave'
```
**Cause**: Protocol slug doesn't match exactly.
**Solution**: Use exact slugs:
- `aave-v3` or `aave-v2` (not just `aave`)
- `compound-v3` (not `compound`)
- `curve-dex` (not `curve`)
- `convex-finance` (not `convex`)
- `yearn-finance` (not `yearn`)

## Cache Errors

### Cache Read Error
```
Warning: Could not read cache file
```
**Cause**: Cache file corrupted or permissions issue.
**Solution**:
- Delete cache file: `rm ~/.defi_yield_cache.json`
- Script will fetch fresh data on next run

### Stale Cache Warning
```
Using stale cache (15 min old)
```
**Cause**: Cache TTL exceeded but API unavailable.
**Solution**:
- Not a critical error - data is still usable
- Retry later for fresh data
- Use `--no-cache` to force refresh when API is back

## Import Errors

### Missing requests Library
```
Warning: requests library not available, using mock data
```
**Cause**: Python `requests` package not installed.
**Solution**:
```bash
pip install requests
```

### Module Not Found
```
ModuleNotFoundError: No module named 'protocol_fetcher'
```
**Cause**: Running script from wrong directory.
**Solution**:
```bash
# Run from scripts directory or use full path
cd /path/to/skills/optimizing-defi-yields/scripts
python yield_optimizer.py --help
```

## Output Errors

### File Write Permission Denied
```
PermissionError: [Errno 13] Permission denied: 'yields.json'
```
**Cause**: Cannot write to output file location.
**Solution**:
- Check file/directory permissions
- Try a different output path
- Use stdout (no `--output` flag) and redirect

### Invalid Output Format
```
Error: Invalid format 'xml'
```
**Cause**: Unsupported output format specified.
**Solution**: Use supported formats:
- `table` (default)
- `json`
- `csv`

## Risk Assessment Warnings

### Unknown Protocol Risk
```
Risk Score: 5.0/10 (default - protocol not in database)
```
**Cause**: Protocol not in known audited protocols list.
**Solution**:
- Not an error - default medium risk applied
- Manually verify protocol's audit status
- Consider additional due diligence for unknown protocols

### High APY Warning
```
Risk Factor: Very high APY (150.0%) - verify sustainability
```
**Cause**: APY exceeds expected sustainable levels.
**Solution**:
- High APY often indicates:
  - Temporary incentive programs
  - High-risk opportunities
  - Possible scams (if extremely high)
- Research the protocol thoroughly before investing

## Recovery Commands

### Reset Cache
```bash
rm ~/.defi_yield_cache.json
```

### Test API Connectivity
```bash
curl -s "https://yields.llama.fi/pools" | head -c 100
```

### Verbose Mode for Debugging
```bash
python yield_optimizer.py --verbose --top 5
```

### Check Specific Protocol
```bash
python yield_optimizer.py --protocol aave-v3 --verbose
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.