risk-mgmt
Rebalancer — set up your first schedule in 5 minutes
Worked example: 50/30/20 BTC/ETH/USDC on Coinbase, 5% drift, daily
5 min · beginner
What you'll have when finished
- A live rebalance schedule running on your CEX
- Understand how drift threshold + min trade size interact
- Know when to use Manual vs Hourly vs Daily vs Weekly
- Read a Preview Plan before any trade executes
Before you start
- Rebalancer is CEX-only today. DEX-based rebalancing via CoW/1inch is post-launch v1.2.
- Every rebalance trade is a taxable event. Wider drift thresholds = fewer realized events = less tax drag.
- Keep at least 5-10% in your quote currency (USDT/USDC). Without it, rebalances that need to BUY can't execute.
Walkthrough
-
Worked example: the 50/30/20 Core Portfolio
For this guide we'll set up a Core Portfolio on Coinbase: - **BTC** — 50% (the largest, most stable crypto position) - **ETH** — 30% (smart-contract layer exposure) - **USDC** — 20% (dry powder + drift-correction buffer) The math: if your portfolio is worth $1000, that's $500 BTC, $300 ETH, $200 USDC. If BTC rallies 30% (now $650), your portfolio is $1150 — BTC is now 56.5% (target 50%). With 5% drift threshold, the rebalancer triggers: it sells ~$75 of BTC, buys ~$45 of ETH and adds ~$30 to USDC. This is exactly what disciplined investors do manually but rarely actually do. The Rebalancer just enforces the discipline.
Success criteria: Read the example math · Decided this allocation matches your risk tolerance OR plan to adjust
-
Open Rebalancer and click "New schedule"
Navigate to Intelligence → Rebalancer. If you've never created one, you'll see an empty state — click "+ New schedule". If your exchange isn't connected yet, the form will warn you. Open Settings → Connections first, paste a READ + SPOT TRADING API key (never enable Withdrawals), and come back.
Success criteria: Exchange connected with green status · Schedule editor open
-
Fill the schedule fields
For our example: - **Schedule name:** "Core Portfolio" (anything memorable) - **Exchange:** Coinbase (or whichever CEX you connected) - **Quote currency:** USDC (or USDT on Binance/OKX/etc.) - **Drift threshold:** 5% (the default; sensible for crypto majors) - **Min trade size:** $10 (skip dust trades that lose to fees) - **Frequency:** Manual only (for now — we'll switch later) The "Manual only" choice is intentional. While you're learning, you want to click "Preview" + "Run Now" yourself and see exactly what happens. Once you trust it, switch to Daily.
Success criteria: All schedule fields filled · Frequency set to Manual
-
Set the target allocation
In the Target Allocation section, the form prefills with BTC 50 / ETH 30 / USDT 20 — perfect for our example except we want USDC. 1. Click the USDT row's asset field and change it to **USDC**. 2. Verify the sum at the bottom reads **100.00% — ready to save** in green. If your allocation is different, edit each row freely. Use "Add asset" for more than 3 buckets (up to 12). Use "Equal split" if you want all rows balanced equally. **Don't exceed 100% or undershoot it** — the schedule won't save until the sum is exactly 100% (±0.5% tolerance for rounding).
Success criteria: Sum reads 100% · Save button is enabled
-
Save and Preview
Click "Create schedule". You return to the list with one schedule card showing Core Portfolio. Click **Preview** on the card. The plan view shows: - Current weights (what you actually hold right now) - Target weights (what you said you want) - Drift per asset (current − target, as %) - Proposed trades — buys and sells with USD sizes **Nothing executes from Preview.** It's read-only intelligence. Verify the trades match your intuition before clicking Run Now. If Preview shows everything within 5% drift, NO trades are proposed — that's the threshold doing its job.
Success criteria: Read the Preview plan · Verified proposed trades make sense
-
Run Now (first manual fire)
Click **Run Now**. The worker: 1. Fetches your real spot balances on the exchange (1-2 seconds) 2. Prices each asset in your quote currency 3. Computes drift per asset 4. Places trades for any asset whose drift exceeds the threshold AND whose trade size exceeds the min 5. Returns a summary: trades placed, USD volume, success count, errors Watch the History section update. Each row shows the trade, fill price, fee, and status. **Common first-run errors:** - "Insufficient USDC" — you don't have enough quote currency to buy. Top up. - "Symbol not supported" — the asset isn't paired with your chosen quote on this exchange. - "Min notional" — the trade is smaller than the exchange's own minimum (different from your min trade size).
Success criteria: First manual rebalance executed · Read the History row · No errors OR errors resolved
-
When to switch from Manual to Daily
After 1-2 weeks of clean manual runs, you can switch the frequency to **Daily** and trust the worker to handle it. **Stay on Manual longer if:** - Your portfolio is small (<$500) — fees eat too much to automate - You're still tuning your target weights - You haven't verified the trades match your intent **Switch to Daily when:** - You've seen 3+ clean runs - The proposed trades feel correct without surprises - You want to stop thinking about it **Switch to Weekly if:** - You're a long-horizon investor (12+ month thesis) - Tax efficiency matters more than precise tracking - Your drift threshold is wide (10%+) **Switch to Hourly only if:** - Fee tier 0 (Binance VIP) or zero-fee venue - You want very tight tracking (e.g., 2% drift) - You've verified daily worked for ≥1 month first
Success criteria: Picked the right next frequency for your situation · Updated the schedule (or kept Manual intentionally)
What's next
Once your Core Portfolio is running: - **Add a second schedule** for a different account or different risk profile (e.g., "Trading Capital" 100% USDC for opportunities) - **Review the Tax Report monthly** — every rebalance sell shows up as a realized event. The cost-basis engine handles FIFO automatically - **Run [Stress Test](/portfolio-analytics?tab=stress)** quarterly with your new target weights to see how the allocation would perform in different historical periods - **Tighten drift over time** — start at 5%, watch one month, drop to 4% if you're happy with the trade count