> ## 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.

# Frequently Asked Questions

> The questions every operator, investor, and curious trader asks before, during, and after going live with unCoded.

<Info>
  **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](/troubleshooting/common-issues) section.
</Info>

## Getting started

<AccordionGroup>
  <Accordion title="What do I actually need to start?" icon="circle-question">
    Five things:

    1. **A VPS** — `4 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](/quickstart) for the full step-by-step.
  </Accordion>

  <Accordion title="Do I need to know how to code?" icon="circle-question">
    **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.
  </Accordion>

  <Accordion title="How long until I'm trading live?" icon="circle-question">
    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](/quickstart) for the focused walkthrough.
  </Accordion>

  <Accordion title="Which exchange should I start with?" icon="circle-question">
    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](/exchanges/overview) for the full picker.
  </Accordion>
</AccordionGroup>

## Money and pricing

<AccordionGroup>
  <Accordion title="What does it cost?" icon="circle-question">
    **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](/pricing) for the complete breakdown with worked examples.
  </Accordion>

  <Accordion title="Will the bot make me money?" icon="circle-question">
    **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.
  </Accordion>

  <Accordion title="What returns are realistic?" icon="circle-question">
    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.
  </Accordion>

  <Accordion title="What's the minimum capital?" icon="circle-question">
    `$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.
  </Accordion>

  <Accordion title="How is profit-share calculated?" icon="circle-question">
    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](/pricing) page. Profit-share starts at `30%` and trends to a `20%` floor over time as a loyalty discount.
  </Accordion>
</AccordionGroup>

## Operations and safety

<AccordionGroup>
  <Accordion title="What if my server crashes overnight?" icon="circle-question">
    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.
  </Accordion>

  <Accordion title="What if the exchange goes down mid-trade?" icon="circle-question">
    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.
  </Accordion>

  <Accordion title="Is my capital safe if unCoded as a company disappears tomorrow?" icon="circle-question">
    **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.
  </Accordion>

  <Accordion title="Can someone hack into the bot and steal my funds?" icon="circle-question">
    **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](/exchanges/api-key-security).
  </Accordion>

  <Accordion title="What happens if my API key is leaked?" icon="circle-question">
    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.
  </Accordion>

  <Accordion title="What is the kill switch and when do I use it?" icon="circle-question">
    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](/risk-management/kill-switch).
  </Accordion>
</AccordionGroup>

## Strategy and trading

<AccordionGroup>
  <Accordion title="Can I run multiple strategies at the same time?" icon="circle-question">
    **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](/risk-management/sub-accounts).
  </Accordion>

  <Accordion title="Can I run on multiple exchanges?" icon="circle-question">
    **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](/exchanges/overview).
  </Accordion>

  <Accordion title="Can I use TradingView alerts?" icon="circle-question">
    **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](/strategies/recipes/webhook-tradingview) for the full setup.
  </Accordion>

  <Accordion title="Which mode should I pick?" icon="circle-question">
    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](/strategies/modes/overview) for full descriptions.
  </Accordion>

  <Accordion title="Why isn't my bot trading?" icon="circle-question">
    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](/troubleshooting/common-issues) §1.
  </Accordion>

  <Accordion title="What's the difference between BasicMode and Tsl2Sell?" icon="circle-question">
    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](/strategies/modes/overview).
  </Accordion>

  <Accordion title="Can I write my own indicators or conditions?" icon="circle-question">
    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](/strategies/building-blocks/indicators) and [Conditions](/strategies/building-blocks/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](/strategies/recipes/webhook-tradingview) to drive your unCoded engine.
  </Accordion>
</AccordionGroup>

## Backtesting and validation

<AccordionGroup>
  <Accordion title="Why do I need to backtest?" icon="circle-question">
    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](/backtesting/why-backtest).
  </Accordion>

  <Accordion title="What window length should I backtest?" icon="circle-question">
    **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](/backtesting/reading-results).
  </Accordion>

  <Accordion title="What's walk-forward and why does it matter?" icon="circle-question">
    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](/backtesting/walk-forward).
  </Accordion>

  <Accordion title="What's shadow mode?" icon="circle-question">
    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](/backtesting/shadow-mode).
  </Accordion>
</AccordionGroup>

## Common confusions

<AccordionGroup>
  <Accordion title="Why doesn't the TelegramBot accept commands?" icon="circle-question">
    **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.
  </Accordion>

  <Accordion title="Why is my TradingView alert webhook getting rejected?" icon="circle-question">
    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](/strategies/recipes/webhook-tradingview).
  </Accordion>

  <Accordion title="Why do I see only some of the bot's trades on Telegram?" icon="circle-question">
    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](/modules/telegrambot).
  </Accordion>

  <Accordion title="Why does the dashboard say I have a position when the exchange shows nothing?" icon="circle-question">
    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.
  </Accordion>
</AccordionGroup>

## Investor & evaluation questions

<AccordionGroup>
  <Accordion title="How does unCoded differ from 3Commas / Cryptohopper / Hummingbot?" icon="circle-question">
    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](/about/comparison) for the detailed side-by-side.
  </Accordion>

  <Accordion title="What's the team's edge?" icon="circle-question">
    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.
  </Accordion>

  <Accordion title="Is there a roadmap?" icon="circle-question">
    Yes — see [Roadmap](/about/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.
  </Accordion>

  <Accordion title="What's the security model?" icon="circle-question">
    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](/about/security-philosophy).
  </Accordion>
</AccordionGroup>

## Still have questions?

<CardGroup cols={2}>
  <Card title="Troubleshooting" icon="wrench" href="/troubleshooting/common-issues">
    The diagnostic decision tree for the most common operational issues.
  </Card>

  <Card title="Support channels" icon="headset" href="/operations/support">
    Where to ask for help — community channel, dashboard support panel, escalation paths.
  </Card>

  <Card title="Quickstart" icon="forward" href="/quickstart">
    The focused walkthrough from zero to first live trade.
  </Card>

  <Card title="Pricing" icon="dollar-sign" href="/pricing">
    The complete pricing breakdown with worked examples.
  </Card>
</CardGroup>
