A non-technical description of the SHIFT Copy Trading Service MVP — covering two product lines (Margin & Spot), three sizing models, the Risk Watchdog differentiator, fees, reliability, and the explicit OUT-OF-SCOPE call-outs that FE, QA and marketing must respect.
Two independent product lines. The leader picks the portfolio mode; the follower decides what to copy.
outbox_protocol_enabled.copy_trading_spot_primary_currency (default USDT).SPOT_PAIR_QUOTE_MISMATCH — leader's V4 trade is not blocked, only propagation is skipped.Detailed view of each MVP area — what's in, what's not, and why.
Close portfolio — BE wind-down (active → closing → archived) shipped. Fanout auto-detaches every follower; reconciler flips to archived. FE flow is not yet built. Spec at docs/frontend-close-portfolio-integration.md. Decision: ship in MVP (recommended) or defer.
volume = leader_volume × multiplier. Trusting users — scaled mirror of the leader.leader_vol × (follower_equity / leader_equity) × risk. Auto-scales by balance ratio.Ranges now enforced server-side at copy_portfolio + update_follower. Previously a class-validator chain silently let invalid values through. FE may rely on backend rejection but should mirror bounds in form validation.
Edits to TP/SL on an existing leader position (single or batch) now copy to every follower mirror via the new MARGIN_ORDER_UPDATED path. Single-TP / single-SL constraint still applies.
On many CT platforms a follower can lose their full balance overnight. Here the system intervenes — background "guardian" running even while the follower sleeps. Marketing should lead with this.
margin_shared_profit_logs) — support can show the follower where the money went.TRANSACTING_ITEM_LOW_BALANCE.portfolio_withdrawals; paginated dashboard widget; CSV export for finance / tax.Only portfolios with ≥1 trade in last 30 days enter the ranking. Protects catalog from "dead" / boosted portfolios.
FE / Marketing should not communicate "exactly-once" — at-least-once with rare deferrals during deploys is the honest story until producer outbox ships.
close_reason.Email only for high/critical. Minor skips (e.g. "no holding to sell") are silent to avoid spam.
close_reason. FE pending.Richer per-portfolio overviews (live PnL, exposure, recent trades) and per-portfolio follower drill-downs (subscribers with copy wallet balance, sizing model, fees paid, risk flags). On the wishlist; deferred to post-launch once we know which views support / finance open most.
STOP_ORDER_NOT_SUPPORTED_FOR_COPY.Advanced order types and multi-tier TP/SL are still in active development on margin-service — wiring an in-development primitive into copy-trading multiplies edge cases by the follower count. Multi-currency: operational risks (in-flight FX, inconsistent realized profit, silent money loss) we explicitly avoid.
copyPortfolioByTemplate.Sign-off, Legal (profit-sharing in regulated jurisdictions), GTM/Marketing/Sales/Support plans & training, Finance / FinOps, Platform deployment plan, QA Test Plan signed, post-launch monitoring baseline. Tracked in the "To Think Later" lane (§10).
The matrix FE / QA / marketing should keep open while building, testing, and communicating.
| Capability | In MVP | Notes |
|---|---|---|
| Market & limit order copy (margin + spot) | YES | Baseline. With slippage protection. |
| Single TP / Single SL | YES | One level each per position. |
| TP/SL edit propagation (single + batch) v1.1 | YES | Risk-neutral edits copy to follower mirrors. |
| Risk Watchdog (DLL + MCP + caps) | YES | Unique selling point. |
| Performance fee + withdrawal history v1.1 | YES | Idempotent; leader sees full history; CSV. |
| Real-time PnL — margin (WS) | YES | — |
| Real-time PnL — spot (WS) v1.1 | PARTIAL | Bridge wired; full parity with margin pending. |
| CSV reports (subscribers + withdrawals) | YES | For finance / tax. |
| Multi-tier TP / Multi-tier SL | NO | FE hides the fields. |
| TWAP / Iceberg / Scaled / OCO / OTO / OSO | NO | Advanced orders not copied. |
| Standalone Stop order v1.1 | NO | Position-level SL is YES. |
| Margin order edit — qty / leverage / limit / side flip | NO | Only TP/SL edits propagate. |
| Spot pairs with quote ≠ CT primary v1.1 | NO | Only USDT pairs (by default). |
| Cross-collateral / multi-currency margin | NO | Primary currency only. |
| Trailing stop (CT layer) / Bot mode | NO | Not implemented; must not appear in UI. |
| Leader-initiated portfolio close | BE / — | FE integration is the open scope decision. |
| Admin force-close portfolio | BE / — | With close_reason. FE pending. |
Backend MVP is largely feature-complete. Both product lines — margin and spot — have a full lifecycle: subscribe, copy, fee, risk control, statistics, withdrawals.
The competitive edge sits in the Risk Watchdog — daily loss limits + margin call protection ticking every 30s — that most CT platforms lack.
What's NOT in MVP is on purpose: advanced order types, multi-tier TP/SL, multi-currency margin, cross-pair spot, bot mode — each call-out is documented so FE hides it, QA skips it, marketing doesn't sell it.
The remaining work is integration polish, mobile parity, the close-portfolio FE flow, and the pre-launch non-engineering gates (legal, GTM, training, telemetry sign-off).
Non-Technical reference · 12 sections · full scope, sign-offs, and glossary
Two-and-a-half weeks of delivery and discovery have shifted the picture. Headlines:
portfolio_withdrawals table and a separate profit_history module (§4.3, §4.6, §4.10).margin_trading_service and vakotrade is DEFERRED — see §7.2 (§4.11).allocateFromWallet RPC. Resolved (§4.6).Copy Trading Service is a SHIFT platform product that lets some users (leaders) share their trading strategy while others (followers) automatically replicate their trades proportionally to their own capital. The service closes the gap between "I have a strategy" and "I want to trade but lack the skill": a follower picks a leader, allocates an amount, and the system mirrors every leader action in real time.
| Role | Who they are | What they get |
|---|---|---|
| Leader | Experienced trader who created a portfolio | Subscribers, performance fee on follower profits, statistics, a slot in the public ranking, withdraw-profit flow with history |
| Follower | User looking for passive income exposure | Automatic copy of selected leaders' trades into an isolated copy wallet |
| Admin / Support | Internal staff | Access to copy journals, error monitoring, manual remediation, platform settings, CSV reports |
The service supports two independent product lines, both included in MVP. The leader picks the portfolio mode; the follower decides what to copy.
| Type | What is copied | Special trait |
|---|---|---|
| Margin leveraged |
Margin orders: market and limit, with TP/SL and slippage. v1.1: TP/SL edits on existing positions and batch edits are also copied. Standalone Stop orders, qty / leverage / limit-price edits, and advanced order types are explicitly NOT copied — see §7.3.3, §7.3.4, §7.3.5. | Higher reward and risk; requires margin wallets on both sides. |
| Spot cash |
Buying and selling crypto without leverage. Constraint: only instruments where quote currency = CT spot primary currency (e.g. primary = USDT: BTC/USDT, AVAX/USDT; NOT AVAX/BTC). See §7.3.6. | Safer; "intent-based" — we copy the INTENT to buy/sell, not the exact pair. |
| All | Leader trades both margin and spot; follower picks what to copy. | Maximum flexibility; portfolio appears in both catalogs. |
A leader creates a portfolio — their "trading strategy packaged as a product".
| Capability | Status | Notes |
|---|---|---|
| Create / edit portfolio (name, description, mode, min investment) | Done | Name auto-checked for profanity. |
| Public / private portfolios with 8-digit passcode | Done | For closed access. |
| Limit of 5 portfolios per leader | Done | Globally configurable. |
| Public portfolio catalog with filters and sorting | Done | Separate margin / spot / all / favorites lists. |
| Advanced catalog: multi-filter + multi-sort + pagination v1.1 | Done | Cursor pagination. FE can ship a real catalog explorer. |
| Favorites — followers bookmark portfolios | Done | — |
| Public social links on portfolio | Done | External-link warning modal in FE. |
| Leader profit dashboard: chart, total earned, follower count | Done | 3-tab layout in FE (in QA). |
| Close portfolio (leader-initiated lifecycle end) | BE done / FE pending | Full BE wind-down pipeline. FE not yet built — see §9.3 and §11. |
Every two hours the system recomputes the public-portfolio ranking automatically. This is KEY for marketing: natural selection happens — better leaders rise in the catalog.
Only portfolios with real activity (≥1 trade in the last 30 days) enter the ranking — protects the catalog from "dead" or boosted portfolios.
| Capability | Status | Notes |
|---|---|---|
| Browse the public portfolio catalog | Done | Sort by score, profit, follower count. |
| Subscribe with amount and settings (one-click for standard) | Done | Isolated copy wallet auto-created. |
| Copy templates — Conservative / Balanced / Aggressive | Done | 3 platform defaults + up to 5 custom per portfolio. |
| Subscribe to a private portfolio via passcode | Done | — |
| Top up / partial withdraw of copy wallet funds | Done | No need to fully unfollow. |
| Leader: withdraw realized profit + full history v1.1 | Done | Paginated history; CSV export. |
| Change settings while a copy is active | Done | Switch copy_type, leverage, risk on the fly. |
| Manual pause / resume of copying | Done | Useful during vacation or news events. |
| Stop copying (unfollow) | Done | All positions close, funds return to MAIN wallet. |
A follower never copies a leader 1:1 by volume — capital differs. The service supports three transparent sizing models:
| Model | Principle | Range v1.1 | Best fit |
|---|---|---|---|
| Progressive | volume = leader_volume × multiplier | (0, 1] | Trusting users — scaled mirror of leader. |
| Fixed | Always a fixed notional per trade | > 0 | Conservative — same risk every time. |
| Adaptive scaling | leader_vol × (follower_equity / leader_equity) × risk | [0, 3] | Most "fair" — auto-scales by current balance ratio. |
Instrument constraints (min/max quantity, price step) are always applied — a follower never receives an impossible order.
copy_portfolio and update_follower. Previously a class-validator @ValidateIf chain silently AND-combined and let invalid values through. FE may rely on backend rejection but should mirror bounds in form validation.MARGIN_ORDER_UPDATED propagation path. Single-TP / single-SL constraint from §7.3.2 still applies.Risk Watchdog is a background "guardian" running even while the follower sleeps. Competitive edge: on many CT platforms a follower can lose their full balance overnight — here the system intervenes.
| Capability | Status | Notes |
|---|---|---|
Maximum concurrent open positions (max_positions) | Done | Set by follower in advanced settings. |
| Daily loss limit on realized PnL — pause on breach | Done | Auto-reset at midnight UTC. |
| Daily loss limit on unrealized PnL — pause + force-close | Done | Watchdog ticks every 30s. |
| Margin Call Protection (MCP) — pause near liquidation (110%) | Done | Pause-only; does not force-close. |
| Per-follower MCP threshold override | Done | Conservative 115%, aggressive 103%. |
| Max exposure cap (% of equity) | Done | Anti "all-in" guard. |
| Slippage protection | Done | Reject if price moved too far. |
| Capability | Status | Notes |
|---|---|---|
| Progressive fee — leader earns % of follower profit on closed positions | Done | Performance-based; follower pays only on realized profit. |
| Fee groups — configurable fee tiers | Done | Admin sets global maximums. |
| Limits groups — caps on follower count and max fee % | Done | Discourages predatory leaders. |
| Settle leader profit scheduler — auto credit to leader | Done | Every minute; idempotent. |
Audit log of all accruals (margin_shared_profit_logs) | Done | Every debit has a record. |
| Withdrawal precision honoring V4 cent rounding v1.1 | Done | Eliminates sub-cent gap that caused TRANSACTING_ITEM_LOW_BALANCE. |
| Portfolio withdrawals table + history v1.1 | Done | Every withdraw is a row; paginated dashboard widget. |
Every subscription creates a SEPARATE isolated copy wallet. This is foundational: the follower does not risk their main balance — only the amount they explicitly committed to a leader.
Users receive push and email notifications in key scenarios:
close_reason.Email is sent only for important events (high/critical). Minor skips (e.g. "no holding to sell") are NOT emailed to avoid spam.
enabled_triggers. Backend is ready; toggle is operational, not feature work.| Capability | Status | Notes |
|---|---|---|
| Portfolio statistics: PnL, win rate, trade count, follower count | Done | Separate for margin and for spot. |
| Follower statistics: personal PnL, fees paid | Done | Periods: day / week / month / total. |
| Leader profitability chart | Done | For the leader dashboard. |
| Avg-follower metrics chart per portfolio | Done | For catalog: "average follower earned X". |
| Real-time PnL on open margin positions (GraphQL sub) | Done | No refresh — auto-updates. |
| Real-time PnL bridge for spot holdings v1.1 | Partial | Bridge wired; full WS parity with margin pending. Was NO in v1.0. |
| Closed margin/spot positions per portfolio | Done | Transparent history for leader and followers. |
| Capability | Status | Notes |
|---|---|---|
Execution log — every copy attempt with reason_code | Done | Admin sees exactly why a follower didn't get a trade. |
| Jobs errors — separate error feed with severity | Done | Low / Medium / High / Critical. |
| Resolve stuck fee allocation — manual recovery | Done | Support can close an incident in one click. |
| Audit trail — log of changes to portfolio/leader settings | Done | For compliance and investigations. |
| Reports endpoint — leader→followers detail report | Done | For finance / tax reporting. |
| CSV export for portfolio withdrawals report v1.1 | Done | New report-query DTO + CSV builder. |
| CSV export error handling hardened v1.1 | Done | Auth resolver consolidated; CSV errors no longer leak internals. |
MVP already includes a serious reliability layer — this is not a proof of concept but a production-ready system with self-healing mechanisms:
margin_trading_service / vakotrade is enqueued durably. Re-deliveries with the same event_id deduplicated against a 7-day Redis window. Gated by outbox_protocol_enabled setting flag (default off, backwards compatible). Producer-side outbox in margin/v4 is DEFERRED — see §7.2.force_close_portfolio(portfolio_id, close_reason) — admin-only emergency variant. Reason recorded in audit trail and included in notification emails. Same wind-down pipeline as leader close. FE for admin force-close is also pending — see §9.3.| Parameter | Value | Why it matters |
|---|---|---|
| Copy latency | Hundreds of ms to a few seconds from leader trade to follower | Follower doesn't "lag" the market. |
| Concurrent followers per leader | Thousands without degradation | A leader with 5000 subscribers doesn't break the system. |
| Recovery from worker crash | ≤ 10 minutes | Reconciliation cron picks up orphaned rows; v1.1 inbox de-dup makes re-delivery safe. |
| Fee idempotency | 100% (repeat event does not duplicate debit) | Legal / financial safety. |
| API availability | Two processes (gateway + worker), isolated failure domains | Worker outage doesn't take API down and vice versa. |
| Scalability | Worker sharding via Postgres locks | Add workers without reconfiguration. |
This is not "never" — it's "explicitly NOT promised in v1.0" so we keep focus.
PORTFOLIO_MODE_UNDER_DEVELOPMENT. POST MVP.These limitations are imposed by the fact that neither margin-service nor copy-service in v1.0 covers the full feature set of a derivatives exchange. FE must hide the corresponding UI, QA must not test these scenarios, and marketing must not communicate them as "features".
Margin-service in MVP runs against ONE global primary currency (default USD/USDT, configured in settings.primary_currency). This means:
Why we are not adapting to multi-currency margin in this MVP, and why we don't intend to revisit:
In MVP each position has AT MOST one Take Profit and one Stop Loss. If the leader places a multi-step TP at margin-service (e.g. 30% at +2%, 30% at +5%, 40% at +10%), the follower gets only ONE TP/SL level.
Why: multi-tier TP/SL on margin-service is itself still under active development by the derivatives team. The feature has not yet been validated against real client traffic and has not been released to production. Wiring an in-development primitive into copy-trading — where one leader action fans out to thousands of follower mirrors — multiplies any unresolved edge case by the follower count. Once the derivatives team graduates multi-tier TP/SL to GA with confirmed production behaviour, copy-service will revisit propagation.
Margin-service supports seven "advanced" order types (margin_order.advanced_type). In MVP NONE are propagated — only plain market and limit orders are copied.
| Type | What it is | Copy-service behavior |
|---|---|---|
| TWAP | Time-Weighted Average Price — splits a large order into time-spaced slices | NOT copied; FE hides on leader form. |
| Iceberg | Large order with only a small visible slice | NOT copied |
| Stop Order | Triggered at a stop price (separate from position-level stop_loss) | NOT copied |
| Scaled Order | Series of limit orders across a price range | NOT copied |
| OCO | One-Cancels-Other — two linked orders; one fills → the other cancels | NOT copied |
| OTO | One-Triggers-Other — filling one activates another | NOT copied |
| OSO | One-Sends-Other — composite multi-leg order | NOT copied |
An order with advanced_type !== null reaches the copy-service as an event but does not trigger propagation. QA must verify that such orders are NOT copied and that the execution log carries a clear reason_code.
Margin-service permits a leader to edit several fields on an existing order or open position. In MVP, copy-service propagates only a narrow subset of those edits.
| Leader-side edit | Propagated? | Notes |
|---|---|---|
| TP / SL change on an open position | YES (single or batch) | Shipped in v1.1 via MARGIN_ORDER_UPDATED. Risk-neutral. |
| Order quantity change (partial reduce, size up) | NO | Would require per-follower re-sizing + risk + balance re-checks. Related bug — §9.2. |
| Limit price change on an open limit order | NO | Each follower's mirrored limit would need re-evaluation. §9.2. |
| Leverage change mid-trade | NO | Changes follower margin requirements per position. |
| Side flip on an existing position | NO (handled as close + new open) | Spec clarification ticket in §9.2. |
Why: the v1.1 edit-propagation pipeline is scoped to risk-neutral mutations where size and exposure do NOT change on the follower side. Any edit that changes size, leverage, or open-order pricing requires a per-follower re-sizing pass (sizing model → instrument constraints → V4 price discovery → risk + balance checks) — that is a second propagation pipeline, not a small extension. Explicitly out of MVP scope.
"Stop Order" here means the standalone trigger-based order type from margin-service — NOT the position-level Stop Loss attached to an open position. The two are different primitives that often get conflated:
BE: if a leader places one outside CT scope, execution log carries STOP_ORDER_NOT_SUPPORTED_FOR_COPY. Marketing: do NOT communicate "conditional order copying" — Stop Loss yes, Stop Order no.
Setting settings.copy_trading_spot_primary_currency (default USDT). For spot copy-trading, the leader may only place orders on instruments where the quote currency equals this setting. Cross-pairs are out of scope.
| Instrument | Allowed? | Reason |
|---|---|---|
| BTC/USDT | YES | Quote = USDT ✓ |
| AVAX/USDT | YES | Quote = USDT ✓ |
| ETH/USDT | YES | Quote = USDT ✓ |
| SOL/USDT | YES | Quote = USDT ✓ |
| AVAX/BTC | NO | Quote = BTC ≠ USDT |
| ETH/BTC | NO | Quote = BTC ≠ USDT |
| BTC/EUR | NO | Quote = EUR ≠ USDT |
| SOL/ETH | NO | Quote = ETH ≠ USDT |
Enforcement: copy-service rejects propagation with SPOT_PAIR_QUOTE_MISMATCH. The leader's own trade on V4 is not blocked — only the propagation to followers is skipped.
Why this restriction exists in MVP:
auto_convert follower flag was removed in v1.1 once leader-side instrument restriction made cross-pair propagation unreachable.Beyond multi TP/SL and advanced orders, the frontend must hide / disable the following for MVP:
| Capability | In MVP? | Notes |
|---|---|---|
| Market order copy (margin + spot) | YES | Baseline. |
| Limit order copy (margin + spot) | YES | With slippage protection. |
| Single TP / Single SL | YES | One level each. |
| TP/SL edit propagation (single + batch) v1.1 | YES | Edits copy to follower mirrors. |
| Multi-tier TP / Multi-tier SL | NO | FE hides the fields. |
| TWAP / Iceberg / Scaled / OCO / OTO / OSO | NO | Advanced orders not copied — §7.3.3. |
| Standalone Stop order v1.1 | NO | Position-level SL is YES — §7.3.5. |
| Margin order edit — qty / leverage / limit price / side flip v1.1 | NO | Only TP/SL edits propagate — §7.3.4. |
| Spot pairs where quote ≠ CT spot primary v1.1 | NO | Only quote = primary (e.g. USDT pairs) — §7.3.6. |
| Cross-collateral / multi-currency margin | NO | Primary currency only — §7.3.1. |
| Trailing stop (CT layer) | NO | Not in backend. |
| Bot mode | NO | Blocked. |
| Leader-initiated portfolio close v1.1 | BE: YES / FE: NO | FE integration is the open scope question — §4.1, §9.3. |
| Admin force-close portfolio v1.1 | BE: YES / FE: NO | Admin emergency variant — §5. |
| Risk Watchdog (DLL + MCP) | YES | Unique selling point. |
| Performance fee + withdrawal history v1.1 | YES | With idempotency. |
| Real-time PnL margin (WS) | YES | — |
| Real-time PnL spot (WS) v1.1 | PARTIAL | Bridge wired; full parity pending. |
| CSV reports (leader-followers + withdrawals) | YES | For finance / tax. |
copy_portfolio and update_follower reject progressive: 0, progressive: 1.01, fixed: -1, adaptive_scaling: 3.5; accept boundary values within range.eventsTotal, propagateExecuteMs, batchCancelMs) — for on-call.outbox_protocol_enabled flag — how to flip it on/off, what to watch in metrics, when to roll back.Bridge between "scope" and "ship date". Backend MVP is largely feature-complete; the remaining work is integration, polish, mobile, and pre-launch QA.
| Item | Owner | Notes |
|---|---|---|
| [CT] SPOT integration | Nazar Sabardin | Backend feature-complete; ongoing integration polish. |
| Tabs + additional info on follower dashboard | Vitalii Polishchuk | Subtask of Follower Capital & Lifecycle Management. |
| Allocation Modes (FE integration of 3 sizing models) | Tetiana Klapchenko | BE done; FE binding to progressive / fixed / adaptive_scaling. |
| Backoffice: Event CopyTrading Logs Page | Anastasiia Huzei | Admin UI on top of execution log API. |
| Adapt all pages for mobile/tablet view | Roman Lesovoy | Cross-cutting mobile responsiveness sweep. |
| [FE] Delete Portfolio Copy Template | Anna Podolian | Subtask of Copy Templates epic. |
| [Mobile] Nickname field missing on Profile page | Anton Kovtun | Subtask of Nickname Functionality. |
| Codebase decomposition wave | Backend (arch-bot) | DEC-002 / 003 / 004 / 019 still proposed. Behaviour-preserving. |
| Bug | Owner | Notes |
|---|---|---|
Recommended Copy fails with 500 on copyPortfolioByTemplate | Nazar Sabardin (INBOX 2026-05-13) | Production-path bug on primary onboarding flow. Triage urgent |
| Duplicate orders on followers when leader reduces position with opposite order | Tetiana Klapchenko | Related to position-flip behaviour. |
| Position Flip Behavior — leader opens opposite → follower receives 2 jobs | Tetiana Klapchenko | Spec needed before fix lands. |
| Follower limit orders do not update when leader modifies limit price | Tetiana Klapchenko | TP/SL edits ship in v1.1; limit-price edits don't yet. |
| Portfolio copy fails when follower margin currency differs from global | Tetiana Klapchenko | Enforcement bug, §7.3.1. |
| Profit Share field uses incorrect format (decimal vs %) | Roman Lesovoy | FE form bug on high-visibility field. |
| Follower partial position close on mobile closes fully | Anton Kovtun | Mobile-only regression. |
| Internal wallet remains active after unsubscribe despite zero balance | Tetiana Mnoholitnia | Lifecycle hygiene. |
| Page scrolling disabled after opening Follower Settings modal | Roman Lesovoy | FE modal bug. |
| Alignment issues in Statistics Cards on My Lead Trading Page | Tetiana Mnoholitnia | FE polish. |
| Portfolio description breaks short text on mobile | Anton Kovtun | Mobile polish. |
| Incorrect field validation in Advanced Copy / Create Template modals | Tetiana Mnoholitnia | FE validation. |
| Item | Owner | Question |
|---|---|---|
| Close Portfolio — FE integration (leader + admin force-close) BE done / FE pending | FE — owner TBD | Ship in MVP (recommended) or defer to v1.1 post-launch? |
| Advanced Portfolio Search & Multi-Sort (FE/UX integration) | Anton Kovtun | BE shipped; FE catalog explorer in backlog. |
| Align Copy Trading Wallets Display with Wallets UX MOVED INTO MVP v1.1 | FE — owner TBD | UX unification so followers don't see two divergent layouts. |
| Add Follower Execution Logs Page to Back Office | Nazar Sabardin | API exists; admin UI not yet. |
| BE Fixes v1 | Nazar Sabardin | Batched backend polish; scope TBD. |
| Display Copy Logs errors with user-friendly view | Roman Lesovoy | Improves support / leader debugging UX. |
| Limit nickname changes to 3 times | Nazar Sabardin | Anti-abuse rule. |
| Core Telemetry & Grafana Dashboard | — | Operational readiness: needs owner. |
| ROI Percentage Tracking and Visualization | — | External request, planned NEXT sprint. |
| TP/SL logics in percentage | Nazar Sabardin (waiting on other teams) | Margin-service dependency. |
| Display Email/Username as Actor in Admin Audit Trail | Nazar Sabardin | Admin UX; waiting on other teams. |
| [Mobile] Save CT subpages in local store | Anton Kovtun | Mobile UX. |
enabled_triggers setting — POST RELEASE.These items live in the "To Think Later" lane on the Asana board. They are NOT engineering blockers but ARE launch blockers. Without owners and dates, "ship date" is undefined regardless of the engineering status.
| Item | Discipline | Suggested owner |
|---|---|---|
| Sign-Off for Launch | Product / Leadership | Product lead |
| Consult with Legal on launch requirements (esp. profit-sharing in regulated jurisdictions — §11) | Legal | Compliance |
| Document user flows and flow diagrams | Product / UX | Product lead |
| File PRD and GTM Plan in correct databases | Product | Product lead |
| Work with Marketing on Launch Date | Marketing | Marketing lead |
| Consult with Marketing on Marketing Plan | Marketing | Marketing lead |
| Create Sales-Marketing Collateral | Marketing / Sales | Marketing lead |
| Consult with CS and Sales on Sales Plan | Sales / CS | Sales lead |
| Consult with Support on issue routing & training | Support | Support lead |
| Consult with Finance on required FinOps act | Finance | Finance lead |
| Consult with Platform Engineering on Deployment Plan | Platform | Platform lead |
| Train relevant teams as defined by GTM & Ops Plan | Cross-functional | Product / GTM lead |
| Provide Fully Featured Demo to Sales | Product / Engineering | Product + Nazar |
| QA Test Cases in TestRail; QA Test Plan signed | QA | QA lead |
| Monitoring Performance & Collecting Data (post-launch baseline) | Engineering / Product | Nazar + Product |
| Risk / question | What it means | Suggestion |
|---|---|---|
| Hot market: thousands of followers × dozens of leaders | Possible load spike on V4 and margin RPC | Concurrency pools already exist; before launch — load testing with production-like data. |
| Premature close on daily loss | Watchdog closes a position at the bottom; price rebounds | By design: the follower set the limit. Marketing must communicate this clearly. |
| Fee groups pricing policy | Currently 0–100% — needs a product policy | Recommend a 10–30% corridor at launch. |
| Leader verification | Anyone can become a leader — reputation risk | Out of MVP; mitigated by score (no trades → not in catalog). |
| Legal status of "profit sharing" | Some jurisdictions may treat it as an investment service | Compliance review before public launch — §10. |
| v1.1 Producer-side outbox debt in margin/vakotrade | Socket-flap windows can drop events silently (§7.2) | Ship MVP with reconciliation as safety net; producer outbox as first post-launch cross-repo work. |
| v1.1 Architectural decomposition regression risk | ~13 refactor PRs merged 2-3 May; behaviour-preserving but high blast radius | Dedicated regression sweep on copy / fee / risk flows before public launch (§8.3). |
| Term | Meaning |
|---|---|
| Leader | User who created a portfolio and trades — their orders are copied. |
| Follower | User who subscribed to a leader's portfolio. |
| Portfolio | "Container" of a leader's trading strategy: mode (margin/spot/all), fees, limits. |
| Copy wallet | Separate isolated wallet under one specific subscription. |
| Margin | Leveraged trading; higher reward and risk. |
| Spot | Cash buy/sell of an asset without leverage. |
| Propagation | Process of copying one leader order into N follower orders. |
| Daily Loss Limit (DLL) | Daily loss cap for the follower; on breach, copying is paused. |
| Margin Call Protection (MCP) | Liquidation safeguard; pause when margin level approaches the threshold. |
| Slippage | Acceptable deviation between the follower's fill price and the leader's price. |
| Score | Portfolio ranking value for the catalog (0–1). |
| Progressive fee | Leader's fee taken from follower's realized profit (performance fee). |
| Execution log | Journal of every copy attempt with a reason_code. |
| Outbox / Inbox v1.1 | Resilience pattern: producer durably queues outbound events (outbox); consumer durably queues inbound and deduplicates (inbox). Reduces "silent event loss" during deploys / socket flaps. |
| DIRA v1.1 | "Distributed Reliability Anomaly" — internal shorthand for cross-service event-delivery gaps. DIRA #1 = producer-side outbox gap; post-launch work. |