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.

unCoded is a self-hosted, fully automated cryptocurrency trading platform built around a multi-mode grid trading engine, a visual strategy editor with 152 technical indicators, multi-exchange support across 17 hand-tuned production venues plus 64 additional exchange profiles in validation, and a transparent profit-based licensing model. It was created for traders who refuse to compromise on three things at once: performance, transparency, and control. Most retail trading bots force you to choose — you can have a polished, easy-to-use platform, but you have to hand over your API keys and trust a third party with your capital. Or you can have full control by running an open-source bot, but you sacrifice support, reliability, and the polish that comes with a professionally maintained product. unCoded is built to give you both: a professionally engineered, actively maintained trading platform that runs entirely on infrastructure you own and control. Every instance of unCoded is a private deployment. Your server, your exchange API keys, your strategy configuration, your trade history — none of it ever passes through a shared platform. The bot communicates directly with your chosen exchange from your own cloud server (or even a home machine, if you prefer), executes trades according to the rules you’ve defined, and reports back to you through a private dashboard, an optional Telegram notification channel, and an optional visual strategy editor. There is no central platform that can go down, throttle your trading, hold your funds hostage, or quietly change the rules of the game. The only parties involved in your trading are you, your server, and your exchange. unCoded is a spot-only, long-only trading platform — no margin, no futures, no shorts. Within that scope, it is built to operate at the maximum trading frequency the exchange permits: order placement is rate-limited to 50 orders per 10 seconds (the upper bound of what exchanges like Binance allow), with WebSocket-driven price updates and continuous order management. This is as close to high-frequency execution as a retail-accessible spot bot can realistically get. At its core, unCoded is built around five things:
  1. A multi-mode grid / split-based trading engine that opens positions in configurable splits as the market moves, takes profit at multiple staggered percentage targets, manages per-split trailing stop-loss protection, and optionally re-prices unfilled sell orders along time-based exit curves.
  2. A visual strategy editor (signal-editor) — a drag-and-drop, node-graph-based authoring tool with 152 technical indicators (RSI, MACD, Bollinger Bands, Ichimoku, Supertrend, ADX, ATR, VWAP and 145+ more), seven condition types (crossover, crossunder, above, below, AND, OR, NOT), a built-in backtester with Sharpe ratio and equity curves, a risk-management layer with stop-loss, take-profit, trailing-stop and position-sizing logic (including Kelly criterion), and a live executor that runs your strategies on a configurable schedule and emits signals to the trading engine.
  3. Multi-exchange support through a unified adapter layer — 17 hand-tuned production-ready venues plus 64 additional exchange profiles available in validation, all selectable via a single environment variable.
  4. Real-time monitoring through a web dashboard for full configuration and analysis, plus an optional Telegram bot for instant trade notifications.
  5. A transparent profit-based licensing model — you only pay when the bot generates realized profits, with no monthly subscriptions, no feature paywalls, and no hidden fees.
unCoded is not a “set it and forget it” black box, and it does not promise guaranteed returns. Cryptocurrency markets are volatile, and no trading system — automated or manual — can eliminate risk. What unCoded does promise is a professional-grade toolset that gives you the leverage of automation, the precision of rule-based execution, and the depth of a real strategy-development environment.

The philosophy behind unCoded

Self-custody, always

Your funds never leave your exchange account. unCoded does not have a wallet, does not pool user funds, and does not require deposits to a custodial service. The platform uses each supported exchange’s API to place orders on your behalf — nothing more. Your assets remain in your exchange account at all times, under your full control.

Transparency over marketing

The license model is published openly, every configuration parameter is documented, the trading logic is explained in plain language, and the entire strategy editor is auditable down to the indicator level. There is no proprietary “secret sauce” — every indicator and every condition is well-known, standard technical analysis, applied transparently.

Sovereignty for the user

You decide when to start the platform, which exchange it connects to, what pairs it trades, which mode each pair runs in, whether it follows external signals or pre-built modes, how much capital it manages, and what risk it takes.

Aligned incentives

If your bot is in drawdown, no license tokens are consumed from your prepaid balance. The platform only earns when you earn.

Key features in depth

🖥️ Decentralized and self-hosted

unCoded runs on infrastructure that you own and control. There is no central server holding your API keys, no shared trading engine mixing your orders with other users’, no platform that can suspend or revoke your access. You deploy the cooperating services (trading-bot, signal-bot, signal-editor, dashboard, plus the optional telegram-bot) using the included Docker Compose configuration on a cloud provider of your choice — Render.com, Hetzner, DigitalOcean, AWS, or your own server. This architecture means:
  • Privacy: Your trade history, balances, and strategy configuration never leave your server.
  • Reliability: You are not affected by outages or rate limits of a shared SaaS provider.
  • Sovereignty: You decide when to update, when to pause, and when to stop.
  • Multi-instance scaling: Each bot instance is bound to a single exchange. To trade on multiple exchanges in parallel, you run multiple instances — different sub-accounts, different API keys, different EXCHANGE_ID values.

⚡ Maximum-frequency grid trading engine

unCoded is built to operate at the maximum trading frequency exchanges allow. Order placement is rate-limited to 50 orders per 10 seconds (the top tier on most major exchanges), with continuous WebSocket-driven price monitoring and order management. This is the practical ceiling for retail spot trading — beyond this rate, exchanges reject orders. The trading engine itself is built around a rule-based grid / split system:
  • Buy splits: You define how many separate buy orders the bot places, at what spacing (buyPercentage), and with what volume distribution (buyVolumes array). As the market drops past your trigger, the bot fills these splits one by one, accumulating an averaged-down position.
  • Sell percentages: You define one or more profit targets (sellPercentages array) at which the bot exits part or all of the position. The bot can manage staggered exits — close part at one target, the rest at another.
  • Trailing stop-loss per split: Each split can have its own trailing stop-loss percentage (trailingStopLossPercentages array), so winning positions are protected as the market moves in your favor.
  • Time-based exit curves (sellTimeCurves): Sell prices can be re-priced over time so positions don’t stay open indefinitely. Mode 1002 (“MarketMakerMinimal”), for example, defines a 15-step time curve from 5 minutes to 200 minutes after entry, gradually accepting smaller and smaller profits to keep capital working in slow markets.
  • Maker-only mode: Optional flags (onlyMakerBuy, onlyMakerSell) ensure orders are placed as maker orders, qualifying for lower exchange fees.
  • Buy direction control: canBuyUp and canBuyDown flags let you decide whether the bot adds to positions only on price rises, only on price drops, or both.
  • Multi-symbol trading: A single bot instance can trade multiple pairs simultaneously, each with its own assigned mode, via the tradePairs configuration string (e.g., "BTCUSDT:4,ETHUSDT:3").

🎛️ Pre-built trading modes

unCoded ships with 9 pre-built modes, each tuned for a specific style and capital range. They are stored as JSON files and can be edited, copied, or used as templates for your own modes:
  • Mode 4 — BasicMode (default): 7-split grid with sell targets from 0.25% to 5%. The proven baseline that the bot uses if you don’t change anything. Recommended capital: ~$20,000 for ~75% drawdown protection from the bot’s all-time high.
  • Mode 1 — FullBullMarket: Designed for early-stage bull markets, with 6 sell zones from 0.25% up to 30% — aimed at capturing larger moves rather than small fluctuations. Recommended: ~$20,000.
  • Mode 2 — LongTimeLongMoreProfit: Long-horizon strategy with 8 sell zones up to 20%. Recommended: ~$20,000.
  • Mode 3 — LongTimeLong: Long-horizon with 9 sell zones up to 15%. Recommended: ~$25,000.
  • Mode 5 — LowMoney: Minimal-capital strategy with 2 sell splits at 0.25% / 0.30%. Recommended: ~$3,000.
  • Mode 6 — MinimalMoney: Absolute-minimum-capital strategy with a single sell target at 20%. Recommended: ~$1,500.
  • Mode 7 — Tsl2Sell: Two-split strategy demonstrating per-split trailing stop-loss (0.4% and 0.6% trailing distances on 0.8% / 1% profit targets).
  • Mode 1001 — MarketMaker: High-frequency market-maker mode with 10 tightly spaced sell targets from 0.05% to 0.5%, maker-only buy and sell. Designed for FDUSD stablecoin pairs.
  • Mode 1002 — MarketMakerMinimal: Single-target MarketMaker variant (0.25%) with a 15-step time-curve that gradually re-prices the sell from 0.5% down to 25% as time passes — maximum capital turnover for FDUSD pairs.
You can use these modes directly via the dashboard, or copy and adapt them to create your own. Every parameter is exposed.

🧩 Visual strategy editor (signal-editor)

The signal-editor is a separate service that ships with unCoded — a self-contained Python/FastAPI backend with a React/Vite frontend that lets you build your own trading strategies visually. It is one of the most powerful pieces of the platform and turns unCoded from “a bot with pre-built modes” into “a full strategy-development environment.” What it gives you:
  • 152 technical indicators organized into 9 categories:
    • Candle patterns (3): Candle Pattern recognition, Heikin-Ashi, Candle Z-Score
    • Cycle (2): Even Better Sinewave, Reflex
    • Momentum (43): RSI, MACD, Stochastic, CCI, Connors RSI, Awesome Oscillator, Williams %R, Fisher Transform, Squeeze, Squeeze Pro, Schaff Trend Cycle, Ultimate Oscillator, TRIX, TSI, KDJ, and 28 more
    • Overlap / moving averages (32): SMA, EMA, DEMA, TEMA, HMA, VWMA, ALMA, KAMA, JMA, T3, Tillson, MAMA, Supertrend, Ichimoku Cloud, Bollinger Bands, and 17 more
    • Performance (2), Statistics (10), Trend (13), Volatility (15), Volume (18)
  • Drag-and-drop strategy graph: nodes (Price, Indicator, Condition, Action, Trigger, Math, Stop-Loss, Take-Profit, Trailing-Stop, Position-Size) connected by edges. Build any logic you want by wiring indicators into conditions into actions.
  • 7 condition types: crossover, crossunder, above, below, AND, OR, NOT — all combinable into arbitrarily complex boolean trees.
  • 5 trigger modes: once, once_per_bar, once_per_bar_close, once_per_minute, plus configurable check intervals.
  • 6 timeframes: 1m, 5m, 15m, 1h, 4h, 1d.
  • Risk-management nodes: stop-loss (fixed-price / percentage / ATR-based), take-profit (fixed-price / percentage / risk-reward ratio), trailing-stop (percentage / ATR / fixed-distance), position-sizing (percentage / fixed / Kelly criterion).
  • Built-in backtester: simulate your strategy on historical candle data with configurable initial balance, fee percentage, and trading mode (long-only / short-only / long-short for evaluation purposes), including Sharpe ratio annualization across 15 different timeframes.
  • Preview / dry-run: test any strategy graph against recent market data without writing the result to your live trading.
  • Live executor: once you’re happy with a strategy, schedule it to run live. The strategy emits signals (BUY / SELL / WAITING / MODE_CHANGE) that are forwarded to the signal-bot, which updates the trading engine’s tradePairs and active modes accordingly.
  • Standalone build: the signal-editor ships with a standalone executable for users who prefer running it locally on their desktop rather than as a containerized service.
In practice this means you can either:
  • Use the pre-built modes directly and ignore the signal-editor entirely, or
  • Use TradingView alerts to drive trading-pair selection through the signal-bot’s webhook interface, or
  • Build your own strategies in the signal-editor, backtest them, and run them live — all within unCoded, without any third-party tools.

📡 TradingView webhook integration (signal-bot)

The signal-bot is a small Express service that exposes a webhook endpoint compatible with TradingView alerts. It accepts three payload formats:
  1. tradePairs: a comma-separated string like "BTCUSDT:3,ETHUSDT:4" to set the entire active pair list at once.
  2. pair: a single pair-with-mode tag like "BTCUSDT:3", optionally with an action of add, remove, or update.
  3. symbol + mode: a separate symbol and mode for fine-grained control.
The signal-bot validates the payload (mode must exist in the database, all sell-percentages array lengths must match buySplits, etc.), updates the tradePairs config in the shared PostgreSQL database, and triggers a config-hash bump that the trading-bot detects and reacts to within seconds. The signal-bot can also create and update entire mode definitions via webhook for advanced use cases. This means you can use TradingView’s full charting and alerting capabilities to drive which symbols unCoded trades, while letting unCoded handle the actual execution mechanics (splits, percentages, trailing stops, time curves). If you don’t want to use TradingView, the signal-editor can drive the same webhook interface from your own strategies.

🌐 Multi-exchange support

unCoded started as a Binance-native trading bot and Binance remains the most battle-tested integration. But the trading engine has been redesigned around a clean exchange-abstraction layer (ExchangeAdapter), so you are no longer locked to a single venue. 17 hand-tuned, production-ready exchanges — each with a dedicated profile, its own error taxonomy, symbol-aliasing rules, credential flow (including 3-credential auth flows where required), fee-token tracking, and exchange-specific quirks documented inline:
  • 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
  • Stablecoin / payment-focused: Crypto.com Exchange
64 additional exchanges as validated profiles in Phase 2 — structurally complete but going through per-venue validation before being officially recommended for live trading. This includes Bitget, Gemini, Bitstamp, CEX.IO, HitBTC, WhiteBit, WOO X, Upbit, Bithumb, BTCTurk, Bitflyer, Bitso, BitTrade, MyOKX (EEA), OKX US, Coinbase Exchange (legacy), CoinEx, Mercado Bitcoin, Indodax, LBank, Luno, and many more — total 81 exchange profiles in the codebase. You select your active exchange with a single environment variable (EXCHANGE_ID).

📊 Web dashboard

The unCoded dashboard provides a rich, browser-based interface for both monitoring and configuration:
  • Bot status: current state, current price feeds, balances, active mode, multi-symbol overview.
  • Open and fulfilled orders: complete trade history with realized profit, profit percentage, buy/sell timestamps, and tax-report export.
  • Mode management: create, edit, copy, and delete trading modes through the UI — all 25+ mode parameters are exposed.
  • Trade pair management: add or remove symbols, assign a mode to each pair, override per-pair behavior.
  • Bot controls: pause and resume trading from the UI.
  • System health: CPU, RAM, temperature, and Docker container metrics over a rolling 24-hour window.
  • Candle/price charting: built-in endpoints for visualizing market activity.
  • UI preferences: customizable pair colors and display settings.
The dashboard is a Node.js/Express backend with a React frontend, talks to the same PostgreSQL database that all other services share, and works on desktop and mobile browsers.

📲 Telegram notifications (optional)

unCoded ships with an optional Telegram notification bot that pushes trade events directly to your Telegram account. The bot has been intentionally minimized to notifications only — the original design exposed many remote-command features, but they were removed in favor of a clean, focused notification channel. Configuration and control live in the dashboard; Telegram is for staying informed. What you get:
  • An instant notification for every closed trade — symbol, buy and sell price, quantity, profit in USD and percent, cumulative P&L, total volume traded.
  • Ownership verification via your Telegram user ID so only you receive your bot’s notifications.
  • The Telegram bot reads from the same database the trading engine writes to, so notifications are always accurate and in sync.

🔒 Security by design

  • API keys are stored only on your server as environment variables. They never leave your infrastructure and are not stored in the database.
  • Exchange API keys should be created with trading permissions only — never withdrawal permissions.
  • Sub-account isolation is strongly recommended on the exchange side.
  • IP whitelisting is supported on the exchange side and strongly recommended.
  • API key drift detection: at startup, the bot verifies the current API key against the previously persisted one and warns if it has changed unexpectedly.
  • License-gated trading: the bot will not place buy orders if your prepaid license token balance is exhausted.
  • TOS gating: trading does not begin until you explicitly accept the terms of service via the acceptTosAndStartBot flag.
  • Webhook authentication: the signal-bot endpoint requires a TRADINGVIEW_WEBHOOK_SECRET and is rate-limited (100 requests / 15 minutes).

💸 Transparent licensing

unCoded uses a profit-based licensing model with a prepaid token system:
  1. You top up a prepaid balance at uncoded.ch.
  2. The bot links to your account via Google OAuth Device Code Flow, and your license-token balance is fetched periodically from the unCoded backend.
  3. A small percentage of your realized trading profits is deducted as a license fee. The starting rate is 30%, reducible to as low as 20% through referrals and top-ups.
  4. As long as your token balance is positive, the bot can place trades. If it ever reaches zero, the bot stops opening new buy orders (existing positions are still managed and exited normally — your capital is never trapped).
  5. You can stop using unCoded at any time without penalty.
For the full mechanics, see the licensing FAQ.

Architecture in one paragraph

unCoded is split into five cooperating services that communicate through a shared PostgreSQL database:
  • trading-bot (Node.js): the core engine — talks to your exchange, manages orders, executes the grid logic, enforces the license check.
  • signal-bot (Node.js / Express): receives external webhooks (TradingView, signal-editor, custom) and updates the active trading-pair list and modes.
  • signal-editor (Python / FastAPI + React/Vite): visual strategy authoring tool with 152 indicators, backtester, risk engine, and live executor.
  • dashboard (Node.js / Express + React): browser-based monitoring and configuration UI.
  • telegram-bot (Node.js): optional read-only notification consumer that polls fulfilled orders and pushes them to Telegram.
All services are containerized via Docker Compose and ship with a render.yaml for one-click Render.com deployment, but you can run them on any host with Docker. Each service is independently deployable — you can run only the trading-bot, or add the dashboard, or add the signal-editor on top, depending on how you want to use the platform.

Who is unCoded for?

  • Traders who have at least a basic understanding of cryptocurrency markets and how their chosen exchange works.
  • Users comfortable deploying a Docker-based service to a cloud server (or willing to learn — the setup guide walks you through it).
  • People who prefer transparency and control over the convenience of a fully managed platform.
  • Traders interested in grid / DCA-style spot trading with high-frequency execution — not futures, margin, options, or short-side strategies.
  • Strategy developers who want a real strategy-development environment with backtesting and 152 indicators, not just preset buttons.
  • Users who want a platform that grows with them: usable on day one with the pre-built modes, deep enough to support custom-built strategies for years.
It is not for users looking for a one-click “make money while I sleep” black box, or for users expecting guaranteed monthly yields with zero involvement.

How the docs are organized

  1. ✅ Meet the requirements — system specs, supported OS, exchange account requirements.
  2. 🟡 Set up your exchange — most users start with Binance; setup guides exist for all 17 production-ready venues.
  3. 👤 Create your unCoded account — register at uncoded.ch, link via Google OAuth, top up your prepaid balance.
  4. 🚀 Deploy the platform — Docker Compose or one-click Render.com deploy, configure environment variables, run the database migrations.
  5. 🎛️ Configure your trading — choose one of the 9 pre-built modes, design your own, or build a custom strategy in the signal-editor and let it drive the trading engine.
  6. 📈 Monitor and optimize — use the dashboard and Telegram notifications to watch performance, refine your modes, iterate on your signal-editor strategies.

💬 Need help getting started?

  • 📅 Book a personal setup call via Calendly for a one-on-one walkthrough of your setup.
  • 💬 Join the official unCoded Telegram group for community support, configuration tips, and announcements.
  • 📖 Read the FAQ for installation, billing, and configuration questions.
Welcome to unCoded.
Last modified on May 11, 2026