Skip to content
Back to skills

2565 Errors A72a001c

ASecurity

Common issues and solutions for the DEX Aggregator Router.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
code-qualitypythongobashdebuggingapi

Works with

  • api

Security analysis

A100/100

Scanned October 11, 2026

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

Installs into .claude/skills of the current project.

Are you the author of 2565 Errors A72a001c?

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

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

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

Common issues and solutions for the DEX Aggregator Router.

## API Errors

### Rate Limit Exceeded

**Error**: `429 Too Many Requests` or `Rate limit exceeded`

**Cause**: Exceeded aggregator API rate limits

**Solution**:
- Wait 60 seconds before retrying
- Set up API keys for higher limits:
  ```bash
  export ONEINCH_API_KEY=your-key  # 5 req/sec vs 1 req/sec
  export ZEROX_API_KEY=your-key    # 10 req/sec vs 3 req/sec
  ```
- The router automatically uses fallback aggregators when one is rate-limited

### Quote Not Found

**Error**: `No quotes available` or empty response

**Cause**: Token pair not supported or insufficient liquidity

**Solution**:
- Verify token symbols are correct (ETH, USDC, not eth, usdc)
- Check if tokens exist on the selected chain
- Try major pairs first (ETH/USDC, ETH/WBTC)
- For exotic tokens, try smaller amounts first

### Authentication Failed

**Error**: `401 Unauthorized` or `Invalid API key`

**Cause**: Invalid or expired API key

**Solution**:
- Regenerate API key from provider dashboard
- Verify environment variable is set correctly:
  ```bash
  echo $ONEINCH_API_KEY  # Should show your key
  ```
- Check API key hasn't been revoked

## Network Errors

### Connection Timeout

**Error**: `Connection timed out` or `ETIMEDOUT`

**Cause**: Network issues or aggregator service down

**Solution**:
- Check your internet connection
- Verify aggregator status pages:
  - 1inch: https://status.1inch.io/
  - 0x: https://status.0x.org/
- Router will automatically fallback to other aggregators

### SSL Certificate Error

**Error**: `SSL: CERTIFICATE_VERIFY_FAILED`

**Cause**: System SSL certificates outdated

**Solution**:
- Update SSL certificates:
  ```bash
  # Ubuntu/Debian
  sudo apt-get update && sudo apt-get install ca-certificates

  # macOS
  /Applications/Python\ 3.x/Install\ Certificates.command
  ```

## Quote Errors

### Quote Expired

**Error**: `Quote expired` or stale data warning

**Cause**: Quote validity window (30s) exceeded

**Solution**:
- Re-fetch quote immediately before execution
- Don't cache quotes for more than 30 seconds
- Use `--no-cache` flag for fresh quotes

### Invalid Token Address

**Error**: `Invalid token address` or `Token not found`

**Cause**: Token symbol not in our mapping

**Solution**:
- Use contract address instead of symbol:
  ```bash
  python dex_router.py 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 \
                       0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 1.0
  ```
- Verify token contract on Etherscan

### Insufficient Liquidity

**Error**: `Insufficient liquidity for this trade`

**Cause**: Trade size exceeds available liquidity

**Solution**:
- Reduce trade amount
- Use `--split` to distribute across multiple DEXs
- Try a different token pair with more liquidity
- Check liquidity on DeFiLlama: https://defillama.com/

## Calculation Errors

### Invalid Amount

**Error**: `Invalid amount` or `Cannot parse amount`

**Cause**: Non-numeric or negative amount provided

**Solution**:
- Use decimal format: `1.5` not `1,5`
- Avoid scientific notation
- Ensure positive values only

### Gas Price Error

**Error**: `Could not estimate gas` or `Gas estimation failed`

**Cause**: Complex route or congested network

**Solution**:
- Use `--gas-price` to set manually:
  ```bash
  python dex_router.py ETH USDC 1.0 --gas-price 50
  ```
- Check current gas at https://etherscan.io/gastracker

## Chain Errors

### Unsupported Chain

**Error**: `Chain not supported`

**Cause**: Selected chain not available for aggregator

**Solution**:
- Verify chain is supported:
  - 1inch: Ethereum, Arbitrum, Polygon, Optimism
  - Paraswap: Ethereum, Arbitrum, Polygon, Optimism
  - 0x: Ethereum, Polygon, Arbitrum
- Use `--chain ethereum` for maximum compatibility

### Chain Mismatch

**Error**: `Token not found on chain`

**Cause**: Token address is for different chain

**Solution**:
- Use chain-specific token addresses
- ETH is native on Ethereum, but needs WETH contract on L2s
- Check token addresses per chain on CoinGecko

## Debugging Tips

### Enable Verbose Output

```bash
# See raw API responses
python dex_router.py ETH USDC 1.0 --output json 2>&1 | tee output.json
```

### Test API Connectivity

```bash
# Test 1inch
curl "https://api.1inch.dev/swap/v6.0/1/healthcheck"

# Test Paraswap
curl "https://apiv5.paraswap.io/prices?network=1"

# Test 0x
curl "https://api.0x.org/swap/v1/sources"
```

### Check Environment

```bash
# Verify Python version (3.9+ required)
python --version

# Verify dependencies
pip list | grep -E "httpx|pydantic|rich"

# Check API keys are set
env | grep -E "ONEINCH|ZEROX"
```

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.