Skip to main content

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.

Before you start the setup process, confirm that your server, your accounts, your capital, and your time budget meet the requirements below. unCoded is a self-hosted platform, which means you are the operator of your own infrastructure — getting the requirements right up front saves you from running into avoidable problems later. This page is intentionally honest about what you actually need. The hardware tier listed below is sized for the full unCoded stack (trading-bot + signal-bot + signal-editor + dashboard + telegram-bot + database) so you have headroom no matter which features you choose to enable. Don’t undersize your server — even if you start with only the trading-bot, you’ll likely want to add the signal-editor or dashboard later, and resizing a VPS mid-deployment is more painful than starting at the right size.

1. Hardware

unCoded runs as a set of cooperating Docker containers backed by a PostgreSQL database. We recommend sizing for the full stack from day one — including the signal-editor’s backtester, which can briefly load large candle histories and stack indicator calculations in memory.
ComponentMinimumComfortableNotes
CPU4 vCPUs6 vCPUsI/O-bound for trading; CPU-bound for backtests
RAM8 GB16 GBBacktester loads candle histories into memory
Storage80 GB NVMe SSD160 GB NVMe SSDDatabase grows over time
NetworkStable, ≥100 Mbps, low latency to your exchangeSameCritical for order execution

Realistic assessments per component

  • CPU (4 vCPUs minimum): The trading-bot itself is I/O-bound — most of its time is spent waiting on WebSocket events, so it doesn’t need much CPU. But the signal-editor’s backtester runs 152 indicators across long candle histories, and stacking several of them in a single strategy graph briefly spikes CPU usage. 4 vCPUs handle this without slowing the trading-bot down. 2 vCPUs work in pure trading-only mode but leave no headroom — and once you start backtesting in parallel, things start competing.
  • RAM (8 GB minimum): This is the component that most often catches people out. The trading-bot itself uses very little memory. Postgres needs a comfortable cache. The dashboard and telegram-bot are tiny. But the signal-editor’s backtester loads candle data into memory, computes indicators on top of it, and can briefly use 1–2 GB when backtesting a complex strategy on long histories. With 4 GB total RAM, you risk Docker container OOM-kills during backtests — which is exactly the wrong time for the system to get unstable. 8 GB is the floor; 16 GB is comfortable and gives Postgres room to breathe.
  • Storage (80 GB NVMe SSD minimum): Initial install (Docker images + OS + Postgres + first months of trade history) sits comfortably under 20 GB. The database grows steadily — a typical multi-symbol setup running for a year accumulates a few hundred MB to a few GB of trade history, balance snapshots, order history, and signal-editor strategy data. 80 GB gives you years of comfortable runway and leaves room for backups, logs, and Docker image churn during updates. NVMe is preferred over SATA SSD — Postgres write performance under load is meaningfully better.
  • Network (stable, low-latency to your exchange): Crypto exchanges enforce strict rate limits (50 orders per 10 seconds is the upper bound) and reject orders that arrive late or out-of-window. The trading-bot operates at the maximum order rate and depends on low latency to the exchange’s API endpoints. A European VPS gives you good latency to Binance, OKX, Bybit, Kraken, and most other major venues. A US VPS is preferable if you primarily use US-regulated venues (Binance.US, Coinbase Advanced). Avoid hosting in regions with poor connectivity to your chosen exchange — network jitter causes silent trade failures that look like bot bugs but aren’t.
Netcup (Germany) — choose a plan with at least 8 GB RAM and 4 vCPUs. The Rootserver 1000 G12 plan or larger covers the full stack comfortably and offers excellent EU-region latency to most major exchanges.
Use voucher code 36nc17472167990 when ordering from Netcup to receive a €5 discount on your server.
Other reliable options sized for the full stack:
  • Hetzner Cloud — CPX31 or CCX13 and up.
  • Contabo VPS L or comparable.
  • OVH — equivalent dedicated or VPS plan.
  • Render.com — one-click deployment via the included render.yaml. The standard plan is convenient but typically more expensive than a comparable VPS at scale; suitable if you want to skip server administration entirely.
  • DigitalOcean / AWS Lightsail — pick a plan with ≥8 GB RAM and ≥4 vCPUs.
Avoid free or very low-cost shared hosts. They tend to throttle CPU, network, or disk I/O in ways that cause silent trade failures — and unCoded’s value depends entirely on reliable execution.

What about smaller servers?

You can technically run only the trading-bot + database on a smaller server (2 vCPU / 4 GB RAM). It will work. But:
  • You’ll lose the option to add the signal-editor or run backtests on the same machine.
  • Postgres will have less cache headroom, slowing dashboard queries.
  • You’ll have no buffer against unexpected memory spikes (Docker image rebuilds, OS updates, backup runs).
The cost difference between a 4 GB and an 8 GB VPS is usually €3–€5 per month. Spending that to be safe is a no-brainer compared to debugging an OOM-killed container at 3 a.m.

2. Software / operating environment

unCoded ships as containerized services. You don’t need to install Node.js, Python, PostgreSQL, or any other dependency on your host — Docker takes care of all of that.

What you need on the host

SoftwareVersionWhy
Docker Engine24.0+Runs all unCoded services
Docker Composev2.20+Orchestrates the multi-service stack
Linux OSUbuntu 22.04 LTS or 24.04 LTS recommendedStable, well-supported by Docker

Supported deployment platforms

  • Plain Linux VPS with Docker installed — the most common path.
  • Render.com — one-click deploy via the included render.yaml. Easiest path for users who don’t want to manage a server.
  • Hetzner Cloud, DigitalOcean, AWS Lightsail, Contabo, OVH — all work fine with the standard Docker Compose setup.
  • Home server — possible only if you have a stable home internet connection with low latency to the exchange and reliable power. Not recommended for live trading.

Not currently supported

  • Windows hosting — Docker on Windows works for development, but Windows Server is not a recommended production target. Use Linux for live trading.
  • macOS hosting — same; fine for local development, not for production.
  • Shared hosting / cPanel-style hosting — these don’t support Docker properly. Use a real VPS.

3. Exchange account requirements

unCoded supports 17 hand-tuned, production-ready exchanges plus 64 additional venues in validation. You need an account on one of these exchanges to trade. You can change exchanges later by re-deploying with a different EXCHANGE_ID, but you’ll go through the account-creation and API-key process again for the new venue.

Choose your exchange

Most users start on Binance because it has the longest production track record with unCoded, the deepest liquidity, and the most extensive setup documentation. But you have other options:
  • Global majors: Binance, Bybit, OKX, KuCoin, MEXC, Gate.io, HTX (Huobi), BingX
  • US-regulated: Binance.US, Coinbase Advanced
  • EU-regulated: Bybit EU (MiCA-compliant), Bitvavo (Netherlands, EUR-quoted)
  • Long-established: Kraken, Bitfinex, Poloniex, BitMart
  • Specialty: Crypto.com Exchange

Account verification

You need a fully verified (KYC-completed) account on whichever exchange you choose. API trading on most major exchanges requires identity verification, and unverified or partially verified accounts often have restricted API access, lower rate limits, or smaller withdrawal limits. Complete KYC before you start setup — it can take anywhere from minutes to several days depending on the exchange and your jurisdiction. Where supported, create a dedicated sub-account for the bot. Sub-account isolation:
  • Keeps the bot’s trading activity completely separate from your main holdings.
  • Makes accounting, P&L review, and tax reporting much simpler.
  • Limits the blast radius if anything ever goes wrong.
The setup guide for each supported exchange walks you through creating the sub-account.

API key with the right permissions

You generate an API key on the exchange side and provide it to unCoded via environment variables. The key must have:
  • Spot trading enabled — the bot needs to place buy and sell orders.
  • Withdrawals disabled — the bot never needs withdrawal access. Disabling it eliminates the risk of funds being moved out even if the key is somehow leaked.
  • IP whitelisting set to your server’s IP — strongly recommended on the exchange side. Even if the key leaks, it can only be used from your VPS.

Exchange-specific account requirements

Some exchanges have specific quirks worth knowing in advance:
  • Binance: Use the official referral link when creating your account to activate the 20% fee discount. This cannot be applied retroactively to an existing account.
  • OKX, KuCoin, BitMart: These exchanges use a 3-credential authentication flow (API key + secret + passphrase or UID/memo). You’ll need to set the additional credential when generating your API key.
  • Kraken: Uses XBT instead of BTC as the internal symbol. unCoded handles this automatically, but be aware when reading raw Kraken data.
  • Bybit EU: MiCA-regulated, restricted to EUR / USDC / EURC quote pairs. Approximately 144 spot pairs available.
  • Bitvavo: EUR-denominated, no native fee discount token. WebSocket balance updates aren’t supported, so unCoded falls back to REST polling for balance — slightly higher API usage but works fine.
  • Coinbase Advanced: WebSocket balance updates aren’t supported here either. REST polling fallback applies.

Fee discount tokens

Most exchanges offer fee discounts if you hold their native token. The bot does not buy these tokens for you — keeping a small balance is a manual step. Recommended minimum balance to keep:
ExchangeFee tokenRecommended balanceNotes
Binance / Binance.USBNB~$50 equivalent25% fee discount when enabled
KuCoinKCS~$50 equivalent20% fee discount
OKXOKB~$50 equivalentHolding-tier discounts
MEXCMX~$30 equivalentVolume-tier discounts
Gate.ioGT~$30 equivalentVIP-tier discounts
BitMartBMX~$30 equivalent
HTX (Huobi)HT~$30 equivalent
Crypto.com ExchangeCROVaries (staking-tiered)Higher tiers = bigger discount
BitfinexLEOOptionalLEO discounts
Kraken, Bybit, Bybit EU, Coinbase, BingX, Bitvavo, PoloniexNonen/aVolume-tier discounts only, no native fee token
Top up just enough to cover your trading-fee outflows for several months.

4. unCoded account (licensing)

Beyond your exchange account, you need an account at uncoded.ch to activate the bot’s licensing. What you need:
  • A Google account — unCoded uses Google OAuth (Device Code Flow) to link your bot to your unCoded account. You sign in with Google when first authorizing the bot.
  • Your exchange UID — needed during account setup so unCoded can verify your trading activity.
  • An initial prepaid balance — top up a starting amount that will be used to pay license fees as profits are realized. Recommended starting top-up: enough to cover a few weeks of expected fees at your trading volume. The licensing FAQ explains how to estimate this.
The licensing model is profit-based: license fees are only deducted from your prepaid balance when the bot generates realized profits. Drawdowns and losing streaks cost you nothing in license fees. The starting fee rate is 30%, reducible to as low as 20% through referrals and top-ups.

5. Telegram account (optional)

Telegram integration is optional. If you skip it, the bot works exactly the same — you just monitor it via the dashboard and server logs instead of receiving push notifications. If you do want Telegram notifications:
  • Create your own Telegram bot: Use @BotFather to create a new bot. You’ll receive a Bot Token that goes into your TELEGRAM_BOT_TOKEN environment variable.
  • Set up a Telegram group: Create a private group and add both your new bot and @my_id_bot. Send /id@my_id_bot in the group to retrieve your Group Chat ID — this goes into your TELEGRAM_CHAT_ID environment variable. Make sure your bot has administrator rights in the group.
Important: The Telegram bot in unCoded is notification-only. It pushes trade events (entries, exits, P&L) to your Telegram. It does not accept commands, pause/resume the bot, or change settings — those actions live in the dashboard. This is intentional: a focused notification channel rather than a sprawling remote-control surface.
Full step-by-step instructions are in the Telegram setup guide.

6. Capital requirements

unCoded is profitable in proportion to the capital you give it to work with. Running the bot with less capital than its strategy expects will cause it to skip buy splits, leave positions un-protected, and produce results that look much worse than the same strategy with proper capitalization.

Capital requirements by mode

The capital requirement depends entirely on which trading mode you choose. Each pre-built mode states its own recommended capital for ~75% drawdown protection from the bot’s all-time high:
ModeDescriptionRecommended capital
6 — MinimalMoneySingle sell target at 20%~$1,500
5 — LowMoney2-split, sell at 0.25% / 0.30%~$3,000
4 — BasicMode (default)7 sell zones from 0.25% to 5%~$20,000
1 — FullBullMarket6 sell zones up to 30%~$20,000
2 — LongTimeLongMoreProfit8 sell zones up to 20%~$20,000
3 — LongTimeLong9 sell zones up to 15%~$25,000
7 — Tsl2Sell2-split with trailing stop-lossVaries (test mode)
1001 — MarketMaker (FDUSD only)10 tight sell targets, maker-onlyVaries (FDUSD-specific)
1002 — MarketMakerMinimal (FDUSD only)Single target with time curveVaries (FDUSD-specific)

Quote asset and reserve

  • Quote asset: The bot trades a pair like BTC/USDT or ETH/EUR. The “capital” you need is in the quote asset (USDT, USDC, USD, EUR, FDUSD depending on your exchange and pair selection). USDC is recommended for users on Binance and most global exchanges; EUR for users on Bitvavo or Bybit EU.
  • Reserve buffer: Keep at least 50% of your trading capital as reserve for the standard modes (BasicMode, LongTimeLong, etc.) so the bot has room to fill all its buy splits during a deep drawdown without running out of quote asset.
  • MarketMaker modes (1001/1002) cycle capital quickly and need less reserve, but they only work on FDUSD pairs — make sure you have FDUSD on your exchange, not USDT.

Realistic minimum starting capital

If you’re starting fresh and want a realistic minimum to get any meaningful experience with unCoded:
  • Bare minimum to learn the platform: $1,500 (MinimalMoney mode).
  • Comfortable starting point: $3,000–$5,000 (LowMoney mode with some buffer).
  • Recommended for most users: ~$20,000 (BasicMode — the default, and the best value-for-money mode in internal testing).
  • Larger accounts: ~$25,000+ (LongTimeLong) or your own custom mode.
Running a mode with significantly less than its recommended capital reduces the bot’s ability to execute its strategy. The reserve is not traded — it acts as a buffer during drawdowns so the grid can fill all its planned buy levels. Skipping the reserve is the single most common reason new users see disappointing results.

7. Time investment

Self-hosted automation is not the same as zero-effort automation. Plan for:
  • Initial setup: 30–90 minutes for a first-time user, longer if you’re new to Docker, VPS hosting, or exchange API key generation.
  • First-week monitoring: check the dashboard at least once a day during the first week to confirm the bot is running, orders are filling, and notifications are arriving as expected.
  • Ongoing monitoring: a few minutes per week is usually enough once the bot has settled in. More if you’re actively tuning your mode or experimenting with new strategies in the signal-editor.
  • Mode review: once a month or after any major market regime change, review whether your current mode is still appropriate and adjust if needed.
If you cannot commit to roughly an hour per week of attention, automated trading is probably not for you regardless of which platform you choose.

8. Skill requirements

You don’t need to be a software engineer or a quant trader to run unCoded, but you do need some baseline familiarity. Realistic expectations: Comfortable with:
  • Reading a setup guide and following the steps in order.
  • Copying environment variables into a Render or Docker dashboard.
  • Logging into a VPS over SSH (or using Render’s web UI in lieu of SSH).
  • Reading order history and basic P&L reports on your exchange.
  • Understanding what a buy order, a sell order, and a percentage profit are.
🟡 Helpful but not required:
  • Prior experience with Docker or docker-compose.
  • Prior experience with a trading bot or DCA strategy.
  • Basic understanding of technical analysis if you plan to use the signal-editor.
  • Familiarity with PostgreSQL (for advanced log inspection — but the dashboard surfaces almost everything you need).
Not expected:
  • Programming skills.
  • Server administration expertise.
  • Ability to read or modify the bot’s source code.

✅ Pre-flight checklist

Before you start the setup process, confirm you have all of the following:
  • [ ] A VPS or cloud server with at least 4 vCPUs / 8 GB RAM / 80 GB NVMe SSD (full-stack-safe).
  • [ ] Docker and Docker Compose installed on your server (or a Render account ready to use).
  • [ ] A verified account on one of unCoded’s 17 supported exchanges.
  • [ ] (If applicable) The referral link applied during exchange account creation for the fee discount.
  • [ ] An API key generated with trading permissions only, withdrawals disabled, and IP whitelist set to your server’s IP.
  • [ ] (If applicable) A dedicated sub-account on the exchange, isolating bot activity.
  • [ ] A Google account ready for unCoded OAuth login.
  • [ ] An initial prepaid balance topped up at uncoded.ch.
  • [ ] (Optional) A Telegram bot created via @BotFather and a group with @my_id_bot for the chat ID.
  • [ ] Sufficient quote-asset capital on your exchange for your chosen mode, plus a 50% reserve.
  • [ ] A small balance of the relevant fee-discount token, if your exchange uses one.
  • [ ] Clear expectations: this is automation, not magic. You will need to monitor and occasionally adjust.
When all boxes are checked, head to the Setup guide to begin deployment.
Last modified on May 11, 2026