Documentation Index
Fetch the complete documentation index at: https://uncoded.ch/docs/llms.txt
Use this file to discover all available pages before exploring further.
4 hours total spread over 1–2 days. The walkthrough is broken into 6 focused stages. Each stage is self-contained — pause and resume at any time.What you’ll have at the end: a self-hosted unCoded stack on your VPS, one connected exchange, one validated strategy running in shadow mode, and a clean path to going live with real capital after a one-week observation period.Before you start — pre-flight checklist
Capital readiness
Capital readiness
- Minimum capital you can afford to put at risk:
$1,500(smallest modeMinimalMoney). Below this, the bot’s grid math doesn’t work cleanly. - Recommended sweet spot:
$15,000–$25,000. This is where most modes are tuned and where cost ratios are most efficient. - Reserve: plan to hold approximately 50% of your trading capital in reserve at the exchange. Mean-reversion modes scale into drawdowns; without a reserve, the strategy’s expected behavior is broken.
Exchange account
Exchange account
- A fully KYC-verified account at one of the 17 production-ready exchanges.
- 2FA enabled on the account itself (not just the API key).
- Funded with at least your minimum trading capital.
- Recommendation for first-timers: Binance (deepest liquidity, most-tuned profile). US: Coinbase Advanced. EU: Bybit EU or Bitvavo (MiCA-compliant).
Hardware / VPS
Hardware / VPS
- A VPS at the
4 vCPU / 8 GB / 80 GB NVMe SSDbaseline (€10–€15/monthat hosts like Netcup or Hetzner). - Ubuntu LTS or similar Linux.
- SSH access via a key (not password).
- Stable outbound internet.
Telegram setup
Telegram setup
- A regular Telegram account.
- A new bot token from
@BotFather(we’ll show you how). - A group or channel where the bot will post notifications.
What you do NOT need
What you do NOT need
- You do not need to know any programming language.
- You do not need a domain name (initial setup is fine on the IP address).
- You do not need cloud accounts beyond your VPS provider.
- You do not need a Bloomberg terminal or paid market data — exchange-public data is what the bot uses.
Stage 1 — Provision your server (~30 min)
Order a VPS at the documented baseline
4 vCPU/8 GB RAM/80 GB NVMe SSD(the documented “full-stack-safe” minimum).- Ubuntu LTS (22.04 or 24.04).
- Region close to your exchange if you want lower latency (e.g., Frankfurt or AWS us-east for Binance).
Initial server hardening
- Set up SSH key authentication; disable password login.
- Configure the firewall to allow only ports
22(SSH),80(HTTP),443(HTTPS). - Enable automatic security updates.
- Note your VPS’s static outbound IP — you’ll need it for exchange API key allowlisting. Find it with
curl -s https://api.ipify.orgfrom your VPS.
docker --version, and see your VPS’s outbound IP recorded somewhere. Take a 5-minute break. Stage 2 is more focused.Stage 2 — Set up exchange API key safely (~30 min)
This is the single most security-critical step in the entire setup. Take it slowly.Log into your exchange
Create a new API key
Set permissions correctly
- Enable: Spot Trading.
- Disable: Withdrawals.
- Disable: Internal Transfers (where exposed as a separate scope).
- Disable: Margin / Futures unless your strategy explicitly uses them.
Stage 3 — Set up your Telegram bot (~15 min)
Create a Telegram bot via @BotFather
@BotFather. Send /newbot. Choose a name. Choose a username ending in _bot. Save the token it gives you.Create a group or channel for notifications
Stage 4 — Install the unCoded stack (~60 min)
Configure environment
- Your exchange API key, secret, and passphrase (if applicable)
- Your Telegram bot token, group ID, and owner ID
- A strong dashboard password (admin)
- Optionally a viewer-only dashboard password
- PostgreSQL password (auto-generated is fine)
Start the stack
docker-compose up -d to bring up the four core services: database, trading engine, Telegram notifier, and dashboard. Wait for health checks to go green (~1 minute).Stage 5 — Author and validate your first strategy (~90 min)
Pick a starting mode
MinimalMoneyif you have$1,500–$3,000LowMoneyif you have$3,000–$10,000BasicModeif you have$15,000–$20,000(the default for most operators)LongTimeLongif you have$25,000+
Decide whether to author a custom strategy or use the mode's defaults
BTCUSDT. This is the lowest-risk way to learn the bot’s normal rhythm.After 30 days, you’ll have an intuition that lets you author smarter custom strategies in the SignalEditor. See Strategy Recipes when you get there.Configure the active trading pair
tradePairs to BTCUSDT:4 (or whichever mode number you chose). This tells the bot to trade BTCUSDT under that mode’s rules.Run a backtest first
Stage 6 — Go live (when you’re ready)
Compare shadow signals against expectations
Promote the strategy to live mode
SHADOW to LIVE. The next time the trigger fires, it will produce a real order on your exchange.Start with a fraction of intended capital
25% of the capital you eventually plan to allocate. This caps your worst-case downside while you learn the bot’s live rhythm on your specific market regime.Watch your Telegram chat for the first trade
What to expect in the first month
Day 1 — over-checking
Day 1 — over-checking
Week 1 — pattern recognition
Week 1 — pattern recognition
Month 1 — distribution
Month 1 — distribution
The biggest mistake to avoid
The biggest mistake to avoid
Common first-week issues
The bot isn't placing orders
The bot isn't placing orders
enabled flag is off. Check the dashboard. See Common Issues for the diagnostic decision tree.Exchange returns -2015 (Invalid API key)
Exchange returns -2015 (Invalid API key)
curl -s https://api.ipify.org from inside the VPS, then re-paste in the exchange’s allowlist. See Error Codes.My trades are smaller than I expected
My trades are smaller than I expected
25% first rung means your first buy uses ~25% of the per-strategy allocation, not the full amount. This is by design — see Modes Overview.I'm getting too many notifications
I'm getting too many notifications