Install
openclaw skills install freqtrade-us-setupComplete setup guide for running Freqtrade (cryptocurrency trading bot) legally in the United States. Use when setting up Freqtrade for the first time, choosing a US-compatible exchange, configuring API keys securely, or troubleshooting US-specific exchange issues. Covers Kraken setup, Docker configuration, API key security, and dry-run testing. Trigger phrases: freqtrade US, US exchanges freqtrade, freqtrade legal US, freqtrade Kraken setup, freqtrade docker config.
openclaw skills install freqtrade-us-setup⚠️ Security First: This guide emphasizes legal, secure setup for US users. Never use VPNs to bypass exchange geo-restrictions — it violates ToS, risks fund freezes, and may be illegal.
Freqtrade (the Python bot) is legal in the US. The catch: many exchanges block US traders. Use Kraken — it's stable, US-compliant, and officially supported.
# Clone Freqtrade
git clone https://github.com/freqtrade/freqtrade.git
cd freqtrade
# Create config (interactive wizard)
docker-compose run --rm freqtrade new-config --config /freqtrade/user_data/config.json
# When prompted:
# - Exchange: kraken
# - Stake currency: USDT (or USD)
# - Dry-run: yes (always start paper trading!)
Freqtrade uses a specific double-underscore env var pattern (FREQTRADE__SECTION__KEY) that overrides config values at runtime. Create a .env file in your Freqtrade directory:
# Kraken API (required)
FREQTRADE__EXCHANGE__KEY=your-kraken-api-key
FREQTRADE__EXCHANGE__SECRET=your-kraken-secret
# Web UI (optional)
FREQTRADE__API_SERVER__USERNAME=your-username
FREQTRADE__API_SERVER__PASSWORD=your-password
FREQTRADE__API_SERVER__JWT__SECRET__KEY=your-jwt-secret
FREQTRADE__API_SERVER__WS__TOKEN=your-ws-token
# Telegram (optional — leave empty if not using)
# Note: Multi-bot Telegram setup via env vars is unverified.
# If you hit issues, consult Freqtrade docs for your specific setup.
# Never hardcode sensitive tokens in files that could be committed to git.
FREQTRADE__TELEGRAM__TOKEN=
FREQTRADE__TELEGRAM__CHAT_ID=
Add to .gitignore immediately:
echo ".env" >> .gitignore
In user_data/config.json, leave the exchange key and secret as empty strings — Freqtrade will populate them from the env vars automatically:
{
"exchange": {
"name": "kraken",
"key": "",
"secret": "",
"ccxt_config": {},
"ccxt_async_config": {}
},
"stake_currency": "USDT",
"dry_run": true,
"max_open_trades": 3
}
# Download historical data
docker-compose run --rm freqtrade download-data \
--pairs BTC/USDT ETH/USDT \
--timeframe 5m \
--timerange 20240101-
# Run dry-run for 1-2 weeks before going live
docker-compose up
Disclaimer: Freqtrade is open-source, experimental software. Trading involves financial risk. This guide is provided as-is with no guarantees. Use at your own risk.
Questions? See references/ or check Freqtrade's official docs at https://www.freqtrade.io