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.

This page consolidates the most-asked questions from the operator community. If your question isn’t here, search the docs (top-right) or check the Troubleshooting section.

Getting started

Five things:
  1. A VPS4 vCPU / 8 GB / 80 GB NVMe SSD (~€10–€15/month at hosts like Netcup or Hetzner).
  2. An exchange account — KYC-verified, 2FA enabled, funded with at least your minimum trading capital.
  3. Trading capital$1,500 minimum (MinimalMoney mode), $15,000–$25,000 is the sweet spot.
  4. A Telegram account — for receiving notifications. Free.
  5. About half a day — for the initial setup. After that, ~15 min/day to check in, then ~5 min/day once you know the bot’s rhythm.
See the Quickstart for the full step-by-step.
No. Strategies are authored in the SignalEditor’s drag-and-drop canvas. Server setup is following a step-by-step guide and pasting environment values from your exchange. There’s no compile step, no syntax to learn, no language to pick up.You may want to learn more if you want to build very custom strategies, integrate external Python signal generators, or run advanced multi-account configurations — but that learning is incremental, not a prerequisite.
Plan for half a day to first live trade:
  • 30 min — VPS provision
  • 30 min — exchange API key with safe permissions
  • 15 min — Telegram bot setup
  • 60 min — install unCoded stack
  • 90 min — author / configure first strategy + backtest
  • 1–7 days — shadow mode observation before promoting to live
See the Quickstart for the focused walkthrough.
For most operators: Binance. Deepest liquidity, lowest realistic fees with BNB discount, the venue against which most pre-built modes have been tuned. The first-time experience is cleanest here.Geographic exceptions:
  • US-based: Coinbase Advanced (Binance is restricted in the US — use Binance.US if you must, but Coinbase Advanced has the better fee structure for retail).
  • EU-resident, MiCA preference: Bybit EU or Bitvavo (the two MiCA-compliant venues in unCoded’s Top-17).
  • Privacy-focused: Kraken (excellent regulatory standing, slightly thinner liquidity on some pairs).
See Exchanges Overview for the full picker.

Money and pricing

Profit-share licensing: starts at 30% of realized profit, trends down to a 20% floor as your tenure with the system grows. No fixed monthly fee. If your bot doesn’t produce profit in a period, the license takes nothing for that period.Other costs:
  • VPS: ~€10–€15/month for the recommended hardware
  • Exchange fees: standard maker/taker (e.g., ~0.075% on Binance with BNB discount)
  • Trading capital: minimum $1,500, recommended sweet spot $15,000–$25,000
See Pricing for the complete breakdown with worked examples.
Nobody can promise that. unCoded gives you consistent execution of your rules — it doesn’t get tired, doesn’t panic, doesn’t forget the trailing stop. Whether the rules themselves are profitable depends on:
  • The strategy you chose
  • The market regime you’re trading in
  • Your capital sizing relative to the chosen mode
  • Your discipline (avoiding over-tweaking is the operator’s hardest job)
Backtests and walk-forward validation help you assess the rules; only live operation tells you about regime fit. Treat your first three months as paid education, not as a sample of long-term performance.
Across the operator population running unCoded competently in normal-to-favorable crypto regimes:
  • A meaningful fraction sees modest positive realized returns in the low-single-digit percentage per month range, with occasional drawdowns and occasional excellent months.
  • A meaningful fraction sees roughly break-even results — fees + slippage + a couple of bad weeks roughly offsetting the good weeks.
  • A non-trivial fraction sees realized losses, almost always traceable to wrong-regime running, wrong-mode-for-capital sizing, or over-tweaking.
These are not predictions. They are the kind of distribution that should not surprise you. Sustained double-digit-percent monthly returns are unrealistic — they happen for short windows but do not persist.
$1,500 is the floor for the smallest pre-built mode (MinimalMoney). Below this, exchange minimum-order sizes break the bot’s grid math. The recommended sweet spot is $15,000–$25,000 where most modes are tuned and where the cost ratios are most efficient.Below $3,000: stick to MinimalMoney (Mode 6) or LowMoney (Mode 5). Above $25,000: split capital across two or three modes on different sub-accounts.
The license takes a percentage of your realized trading profits (closed trades only, after exchange fees). It does not touch:
  • Your principal
  • Unrealized gains on open positions
  • Months when you don’t trade or break even
The exact billing cycle and reporting are described on the Pricing page. Profit-share starts at 30% and trends to a 20% floor over time as a loyalty discount.

Operations and safety

Already-placed sell-ladder rungs and trailing-stop trigger orders continue to live on the exchange — the venue honors them whether your bot is running or not. So a position with its full ladder placed will continue exiting through that ladder.What pauses during downtime:
  • Dynamic re-pricing of trailing stops — the trailing stop is at its last placed level until the bot comes back and re-prices.
  • New entries — no new positions open until the bot is back.
  • Reconciliation — the bot doesn’t know about new fills until it reconnects, but on restart it reconciles state with the exchange’s authoritative view.
Bottom line: brief outages (minutes to an hour) are absorbed cleanly. Long outages (hours to days) leave your trailing stops un-tightened. Run your VPS at a host with good uptime.
The bot detects the disconnection and pauses sending new orders. Existing orders on the exchange are still tracked when connectivity returns. New signals are queued, not lost.While the exchange is fully down, neither the bot nor anyone else can do anything — that’s the irreducible risk of automated trading on any venue.
Yes. Your funds live on your exchange account, not with unCoded. Your bot runs on your server. Even if unCoded’s vendor services became unreachable, your existing positions continue to be managed via the orders already on the exchange.The license-verification service is centralized; if it ever became permanently unreachable, the bot would eventually stop on next license check, but your funds would be untouched. You’d lose the ability to author new strategies via the SignalEditor’s online tools, but your current capital is yours — always was.
Only if you misconfigured your API keys. The architectural commitments that protect you:
  1. API keys with withdrawal disabled — even a fully compromised key cannot move funds off the exchange. This is the single most important security control.
  2. IP-allowlisted keys — a leaked key is unusable from any other network than your VPS.
  3. Local-only data — your trading history is on your VPS, not in any cloud.
  4. No remote commands via Telegram — the chat surface cannot influence trading state. Only the dashboard (authenticated, audited) controls the bot.
Follow these and your worst-case is bounded to “weird trades on your account that are visible to you immediately.” See API Key Security.
If you followed the safe configuration (withdrawals disabled, IP-allowlisted), the worst an attacker can do is place malicious orders. Those orders fill against your balance but cannot leave the exchange. You’ll see them in your exchange account immediately and can revoke the key on the venue’s side within seconds.With withdrawal-enabled compromised keys, an attacker could drain the account. This is why withdrawals must be disabled. No exception.
The kill switch is a single dashboard flag that, when engaged, halts all new positions. Existing positions continue to be managed cleanly to exit (sell rungs still fill, trailing stops still fire). The most important risk-management lever you have.Use it when:
  • You’re uncertain about the market regime (mean-reversion in a sustained downtrend = bad combo)
  • You’re going on vacation or out of phone reach for several days
  • The exchange is having outages or weird order-book behavior
  • You suspect a credential compromise
  • Anytime you’re not sure what’s going on — pausing is reversible; running with a defect is not
See Kill Switch.

Strategy and trading

Yes — and we recommend isolating each in its own sub-account on the exchange. This way a losing strategy in one sub-account cannot consume the capital of another by mistake. Each sub gets its own API key; your dashboard rolls up all sub-accounts into a single view.See Sub-Accounts.
Yes. Spin up a second TradingBot container with a different EXCHANGE_ID (e.g., bybit instead of binance), pointing at the same shared dashboard/database. Each TradingBot is single-exchange by design; multi-exchange is achieved by running multiple containers.Most operators benefit from multi-exchange after their first 3 months — for counterparty diversification, regional access, or strategy specialization. See Exchanges Overview.
Yes. Configure your TradingView alert’s webhook URL to point at the SignalsBot’s /webhook endpoint, with the canonical signal payload in the message body. The SignalsBot validates the shared secret and writes the resulting trade-pair update to your local database.Note: TradingView’s free plan does not support webhooks — you need Pro+ or higher. See the Webhook recipe for the full setup.
The simplest decision rule: pick the mode whose recommended capital is closest to (but not above) your real capital.
  • $1,500–$3,000: MinimalMoney (Mode 6)
  • $3,000–$10,000: LowMoney (Mode 5) or Tsl2Sell (Mode 7) for trailing-stop-style exits
  • $10,000–$15,000: MarketMaker (Mode 1001) if you have FDUSD pairs, otherwise stay on LowMoney
  • $15,000–$25,000: BasicMode (Mode 4, the default), FullBullMarket (Mode 1), or LongTimeLongMoreProfit (Mode 2)
  • $25,000+: LongTimeLong (Mode 3), or split across multiple modes in sub-accounts
See Modes Overview for full descriptions.
The most common causes, in order of likelihood:
  1. Kill switch engaged — check the dashboard’s main panel.
  2. No active strategy for your selected exchange/symbol — check the dashboard’s “Strategies” panel.
  3. Capital allocation insufficient for current per-position size — increase capital or pick a smaller mode.
  4. Exchange API key invalid or expired — typical cause is your VPS’s IP changed and the allowlist is now wrong. See Common Issues §1.
Both are mean-reversion modes, but their exits differ fundamentally:
  • BasicMode (Mode 4) uses a 7-rung sell ladder with sells from 0.25% to 5% above entry. No trailing stop. Positions exit through the ladder fills as price rises. Better in choppy markets where price oscillates within a range.
  • Tsl2Sell (Mode 7) is the only built-in mode with a non-zero trailing stop (trailingStopLossPercentages: [0.4, 0.6]). Positions exit primarily via the trailing stop firing rather than ladder rungs. Better when you want positions to ride a trend and exit on reversal rather than at fixed targets.
See Modes Overview.
The pre-built catalog of 136 indicators, 41 conditions, and 4 trigger modes is exposed via the SignalEditor’s drag-and-drop UI. You don’t write code to use them — you wire them.To add genuinely new indicators or conditions to the catalog requires a code-level extension to the SignalEditor’s engine, which is an advanced operation. For most operators, the existing catalog is more than sufficient — see Indicators and Conditions for the full reference.If you have an idea you can express in TradingView Pine Script, the more practical path is to author it there and use the TradingView webhook recipe to drive your unCoded engine.

Backtesting and validation

Three reasons:
  1. Sanity check — does this strategy even fire signals on historical data, and are the signals what you expected?
  2. Risk awareness — what’s the worst drawdown the strategy would have produced? Can you sit through it without intervening?
  3. Comparison — given two variants of a strategy, which is better on the same window?
A strategy that fails in backtest is almost certainly broken. A strategy that passes backtest is not yet rejected — it’s a necessary-but-insufficient gate. Pair backtest with shadow-mode observation. See Why Backtest.
6 months minimum, 12-18 months recommended, 2 years preferred. Shorter windows tell you about the regime that just happened, not about how the strategy survives the next regime change. Pick a window with structural diversity — both up- and down-trends, both quiet and volatile periods.See Reading Backtest Results.
Walk-forward partitions your backtest window into multiple sequential folds (e.g., 6 folds of 3 months each) and evaluates the strategy on each fold separately. It reveals whether your performance is consistent across folds (real edge) or concentrated in a few lucky months (overfit).A strategy whose +20% total return came almost entirely from 2 of 24 folds is not a +20% strategy. Walk-forward is the single best defense against fooling yourself with backtests. See Walk-Forward.
A strategy publication state where the bot emits signals as if they were live but does not actually execute orders. Used for live-tape validation between a clean backtest and going live with real capital.Always run a strategy in shadow mode for 1–4 weeks after a clean backtest before promoting to live. The cost is the wait; the benefit is catching defects the backtest didn’t reveal (regime changes, exchange-specific quirks, weird tape behavior). See Shadow Mode.

Common confusions

Deliberate security choice. A Telegram chat can be compromised; a phone can be lost. We don’t want anyone (you included, in a panicked moment) to be one tap away from moving real capital.All operator control happens through the Dashboard, which is authenticated and audited. The TelegramBot is a one-way notification channel: it tells you what happened, never accepts commands.You’ll appreciate this the day someone tries to social-engineer you. Trust us.
Most often: the shared secret in your alert message body doesn’t match the TRADINGVIEW_WEBHOOK_SECRET configured in your unCoded environment. Re-paste, ensuring no extra whitespace or quotation marks.Other causes: TradingView’s free plan doesn’t support webhooks (you need Pro+ or higher); your alert message body isn’t valid JSON in the canonical shape.See the TradingView webhook recipe.
By default, the TelegramBot posts a trade-close notification when each round-trip closes — but if your strategy uses a sell ladder, you may interpret each rung fill as a separate “trade” while the bot considers it part of the same round-trip until the position fully closes.There’s a configuration option in the dashboard to switch between “per rung notification” (more chat noise) and “aggregated per close” (cleaner). Most operators prefer aggregated. See the TelegramBot module page.
Most likely: a reconciliation lag. The dashboard shows the bot’s local view; the exchange has the authoritative view. They sync within seconds normally; if you’re seeing divergence for more than a minute, restart the TradingBot container — its startup path runs full reconciliation.Also possible: you closed a position manually on the exchange’s web UI; the bot doesn’t know yet. Restart triggers reconciliation.

Investor & evaluation questions

Three architectural differences:
  1. Strategy authoring: 3Commas and Cryptohopper expose strategies as configuration flags and pre-built bots; you can’t see or edit the underlying logic. Hummingbot requires Python coding. unCoded uses a visual SignalEditor that produces a deterministic, inspectable strategy definition — no flags-with-hidden-logic, no code.
  2. Hosting: 3Commas and Cryptohopper are SaaS — they hold your API keys. Hummingbot is self-hosted but heavyweight and Python-developer-oriented. unCoded is self-hosted and non-developer-friendly.
  3. Live/backtest parity: Most platforms have a “backtest engine” that approximates the live engine. unCoded uses semantically aligned engines that share indicator and condition definitions — what fires in backtest fires identically live (modulo the slippage/latency the simulator models explicitly).
See Comparison for the detailed side-by-side.
Three things:
  1. 17 hand-tuned production-ready exchange profiles — each with venue-specific quirks (Coinbase passphrase, BitMart UID, Kraken nonce window, etc.) handled correctly.
  2. 9 pre-built modes that are tuned and validated, not generic templates. Each mode’s buy/sell ladder and capital recommendation comes from real backtest discipline.
  3. An honest operational discipline — the docs explicitly disclose what doesn’t work (sustained-downtrend regimes for mean-reversion, etc.) rather than pretending everything always works.
The “edge” is not a secret algorithm. It’s disciplined execution + honest framing. Operators who succeed with unCoded are those who internalize the discipline.
Yes — see Roadmap. Highlights: more exchange profiles moving from validation to production-ready, an expanded indicator catalog, deeper sub-account orchestration features, and additional pre-built strategy templates.What we explicitly will not build: AI-driven “predictive” features that obscure the rules, copy-trading marketplaces, or anything that conflicts with the you own the rules / you own the funds / you see everything principles.
Five commitments:
  1. Self-hosted only. Your API keys live on your VPS, not on any unCoded server.
  2. Withdrawal-disabled keys. unCoded’s design assumes you’ve disabled withdrawals on your API keys. The bot doesn’t need that permission and shouldn’t have it.
  3. IP-allowlisted keys. A leaked key is unusable from any other network.
  4. No remote commands via Telegram. The chat surface is read-only.
  5. Authenticated dashboard with audit trail. Every operator action is logged and reviewable.
See Security Philosophy.

Still have questions?

Troubleshooting

The diagnostic decision tree for the most common operational issues.

Support channels

Where to ask for help — community channel, dashboard support panel, escalation paths.

Quickstart

The focused walkthrough from zero to first live trade.

Pricing

The complete pricing breakdown with worked examples.
Last modified on May 3, 2026