DOCUMENTATION · OPERATOR MANUAL · CLOSED BETA

Everything you need to run CORVUS.

Setup, importing trades, every module, billing, the API, the legal fine print. Start with What’s live now — every section in this manual is tagged with its real status so you know what works today vs what’s shipping next.

v2.0 · CLOSED BETA·UPDATED 2026-06-27
§01

What's live now

Honest status of every feature in this manual.

CORVUS is in closed beta. Some sections below describe functionality that’s shipping in the next few weeks — those sections start with a COMING banner so you can skip them without confusion. This table is the master reference:

Area
Status
Notes
Sign-up, login, password reset
LIVE
Argon2id, JWT + refresh cookie, rate-limited
Email delivery
COMING
Transactional SMTP wiring in progress
Trade Journal
LIVE
Calendar heatmap, day view, screenshots, tags
Manual deal entry
LIVE
Form with up to 32 screenshots per deal
CSV import
LIVE
Generic CSV + 5 broker auto-detect profiles: MT4/MT5, cTrader, NinjaTrader, TradingView. IBKR Flex + exchanges coming
Risk Assessment
LIVE
Equity, drawdown clusters, Ulcer/Pain, sizing, exposure heatmap
Emotional Analysis
LIVE
Pro · 6-component stability score
Strategy Weakness
LIVE
Pro · edge breakdown + setup ranking
Monte Carlo
LIVE
Pro · ruin probability + percentile curves
Mistake Detection
PARTIAL
Revenge trading live; full rule engine coming
Pattern Recognition
COMING
Pro · clustering pipeline in development (Q3)
Regime detection
COMING
Needs market-data integration
Data export (CSV/JSON)
LIVE
Pro · /dashboard/deals/export · 5,000-row cap per call
REST API + tokens
LIVE
Pro · /dashboard/settings/developer · 10 tokens per user
Webhooks
LIVE
Pro · HMAC-SHA256 signed · deal.created + subscription.activated · /dashboard/settings/developer
Crypto billing
PARTIAL
Beta: testnet BTC + USDT-TRC20; mainnet + remaining chains coming
Refunds
PARTIAL
Manual via [email protected]; automated in dashboard coming
Mobile apps
COMING
Web is mobile-responsive; native apps are not on the near-term roadmap
§02

Quick start

From zero to a behavioral profile in under five minutes.

CORVUS only needs one thing to work: your trade history. The faster you get it in, the faster you see your patterns. Three paths, depending on what you have today:

  1. 01Drop a CSV from your broker (any of 40+ supported formats — we auto-detect).
  2. 02Paste from a spreadsheet — the importer maps columns interactively.
  3. 03Add trades manually one by one (with screenshots) if you prefer the journal-first workflow.

The Free plan gives you 200 deals and 50 media uploads — enough to run Trade Analysis and Risk Assessment end-to-end. The four heavier behavioral modules unlock on Pro.

§03

Create an account

Sign up with email + password. We don’t require a phone number, social login, or KYC. Your account is provisioned in under a second and starts on the Free plan automatically.

  1. 01Open /login and switch to the REGISTER tab.
  2. 02Enter your email and a strong password (min 12 chars, mixed case, one symbol).
  3. 03Confirm via the magic link we send you. The session is valid for 30 days on this device.
§04

Import your trades

PARTIALLive today at Dashboard → Deals → Import CSV — three-step wizard (upload → map columns → review). Six broker profiles auto-detect from the header row (MetaTrader 4 + 5, cTrader, NinjaTrader, TradingView, plus the CORVUS Generic Journal); a dropdown lets you switch profile manually. IBKR Flex and exchange-native profiles (Binance / Bybit / OKX) land as we see real beta uploads.

The importer lives at Dashboard → Deals → Import CSV. Drop a file (up to 2 MiB / 1,000 rows), confirm the column mapping we auto-detected (or pick a different broker profile), then commit. Each row is validated against the same rules as the manual form, and failed rows come back with a specific reason — fix in your CSV and re-import.

Broker profiles

Profile detection runs on the header row alone, so it works for any CSV that resembles a known broker’s export. If your broker isn’t in the registry, leave the dropdown on — Custom mapping — and the wizard’s synonym matcher will guess (open_time → opened_at, symbol → asset, etc.). Today’s registry:

  • MetaTrader 5 — Positions CSV: Account History → right-click → Save As → CSV. Round-trip rows with both open and close columns. Distinguished from MT4 by the Position and Volume columns.
  • MetaTrader 4 — Statement CSV: Account History → Save as Report → CSV (or a third-party CSV converter from the HTML report). Distinguished by the Ticket and Size columns.
  • cTrader — Statement CSV: History → Export → CSV. Round-trip rows with explicit Entry Time + Closing Time columns.
  • NinjaTrader — Trade Performance CSV: Strategy Analyzer / Trade Performance → export. One row per round-trip.
  • TradingView — Strategy Tester: List of Trades → Export. Note: each round-trip is split across two rows (Entry + Exit sharing the Trade #); the importer treats each row as one deal — expect 2× row count. Row-pair aggregation is on the roadmap.
  • CORVUS Generic Journal: the format the exporter produces. Matches if your CSV uses our canonical column names (opened_at, asset, direction, result, r_factor, …).

CSV format

We accept any reasonable CSV. If your broker isn’t in the auto-detect list, the manual mapper covers it. Headers are case-insensitive and fuzzy-matched.

time,symbol,side,qty,price,fees,exit_time,exit_price
2026-06-20T09:31:14Z,ESM6,LONG,2,5421.25,2.40,2026-06-20T10:04:02Z,5428.75
2026-06-20T11:02:47Z,NQM6,SHORT,1,19880.50,1.20,2026-06-20T11:18:30Z,19852.25

Exchange-native imports

Binance, Bybit and OKX exports drop in as-is. For MT4/MT5, export the account history HTML from the Terminal panel — we parse it directly.

§05

Your first scan

As soon as the import completes, the worker queues a behavioral scan. You’ll see modules light up one by one in the Overview HUD — usually all done within 5–15 seconds for 1,000 trades.

  1. 01Watch the SCAN ITER counter tick on the Overview header.
  2. 02Each module surfaces its top finding as soon as it's ready.
  3. 03Drill into any finding to see the trades behind it.
§06

Trade Analysis

Free · Always on.

The Trade Analysis module ingests, normalizes and indexes every executed trade in your workspace. It’s the foundation every other module reads from. You’ll mostly interact with it through the Deals view, the Journal calendar and the Overview HUD.

What it does

  • · Auto-pairs entries and exits into full round-trips
  • · Attributes P&L to spread, slippage and commission
  • · Builds the searchable deal index used by every other module
  • · Renders the deal-level replay view
§07

Pattern Recognition

Pro · Coming Q3 2026.

COMING · ETA Q3 2026Module is in active development. The ML clustering pipeline isn’t shipped yet; the section below is the planned behavior so beta users know what to expect.

Unsupervised clustering over your trade metadata — session, instrument, hold time, outcome, emotional context. Surfaces the clusters that have the strongest edge and flags the ones that decay.

§08

Mistake Detection

Pro · Partial — revenge trading live; rule engine coming.

PARTIALRevenge-trading detection is live today (six-signal scoring, per-trade flag in the journal). The configurable rule engine, the weekly digest email and the decay tracking are on the roadmap.

Define your rules in Settings → Trading Rules. Every new trade is checked against them and any violation is flagged with an estimated P&L impact. Weekly digest emails roll up the damage and show whether the trend is improving.

Example rules

  • · Max risk per trade: 1% of account
  • · No trading between 22:00–04:00 UTC
  • · Max 5 trades per day
  • · No re-entry within 5 min of a stop-out
§09

Emotional Analysis

Pro.

Infers emotional state from execution metadata: re-entry latency after losses, abnormal trade clustering, position size deviations from your baseline. Optional self-reported mood input from the journal sharpens the signal.

§10

Strategy Weakness

Pro · Edge breakdown live; regime detection coming.

Edge breakdown across asset, direction, session, hour-of-day and R-bucket is live today. Per-tag setup ranking and drawdown attribution per failure mode are live. The market-regime tag (trending / chop / high-vol) needs external market-data integration and is on the roadmap.

COMINGRegime detection — the bull/bear/chop tag and the auto-generated “don’t trade” calendar block — needs a market-data feed we haven’t wired yet.
§11

Risk Assessment

Free · Always on.

Composite live risk score (0–100). Updated on every new trade. Combines concentration, leverage, rolling drawdown and recent rule violations into one number. Set thresholds in Settings to receive a notification when the score crosses a level.

§12

Trade Journal

The Journal is your reflective surface — a calendar heatmap colored by outcome, per-day notes, screenshots and tags. Click any day to drop into the day view with all trades and the running P&L overlay.

Tags and setups

Tag trades with your own setup names. The Pattern Recognition module uses tags as labels when you provide them — otherwise it generates its own cluster names.

§13

Analytics Console

The Analytics tab gives you the statistical surface: equity curve, drawdown waterfall, return distribution, expectancy by setup, Monte Carlo simulation (10,000 paths by default) and regime detection.

Monte Carlo

Resamples your trade-level returns with replacement to project the distribution of equity outcomes over a forward window. Useful for stress-testing the “bad path” for sizing decisions.

§14

Settings & Rules

The Settings page covers profile, password, notification thresholds, trading rules, journal preferences (mood scale, default tags) and data export.

Data export

Pro accounts can export every dataset (deals, modules, analytics snapshots) as CSV or JSON from Settings → Data → Export. Exports are generated server-side and delivered as a signed download URL valid for 24 hours.

§15

Plans & invoices

BETA · TESTNETPro is invite-only during closed beta. Payments run on testnet (BTC and USDT-TRC20) — no real funds move. Mainnet activation + remaining chains roll out as we finish chain-monitor hardening.

We bill in crypto. Pick a duration tier (1 week / 1 month / 3 months / 1 year / lifetime), confirm the chain, and we generate a one-time deposit address. Plans activate on first on-chain confirmation.

Invoice lifecycle

  • · Address generated and locked for 30 minutes
  • · Deposit detected by the chain monitor
  • · Plan activated automatically — usually under 60 seconds
  • · Invoice + receipt saved to your billing history
§16

Crypto payments

BETA · TESTNETLive during beta: BTC testnet, USDT-TRC20 testnet. Coming: ETH (ERC20), USDT-BEP20, SOL, then mainnet for all five.

Planned chains: BTC (mainnet), ETH (ERC20), USDT-TRC20, USDT-BEP20, SOL (mainnet). Each invoice generates a fresh, single-use address — addresses are never reused across invoices.

§17

Refund policy

Full refund within 7 days of your first payment, no questions asked. After 7 days we offer prorated refunds for unused full months on monthly / quarterly / annual plans. Lifetime refundable within 14 days.

PARTIALDuring closed beta, refunds are processed manually. Email [email protected] with your invoice ID — we send funds back to the original on-chain address within 1–2 business days. Automated refunds (one-click in the dashboard) are on the roadmap.
§18

API reference

Pro · REST · JSON · Live.

BETA · TESTNETLive for Pro users. Create a Personal Access Token at Dashboard → Settings → Developer, then pass it as a Bearer header on any /api/v1/* request. 10 active tokens per account; revoking is instant.

The CORVUS REST API gives Pro users programmatic access to deals, analytics snapshots and behavioral findings. Generate a personal access token in Settings → Developer.

Authentication

Pass your token as a Bearer header on every request. Tokens are scoped to a single workspace and rotatable from Settings.

curl https://corvusanalytics.org/api/v1/deals \
  -H "Authorization: Bearer corvus_pat_••••••••••" \
  -H "Accept: application/json"

Core endpoints

  • GET /v1/deals — list deals with filters
  • POST /v1/deals — create a deal
  • GET /v1/analytics/equity — equity curve series
  • GET /v1/modules/{id} — latest module output
  • POST /v1/imports — upload a CSV import
§19

Webhooks

BETA · TESTNETLive for Pro users. Register endpoints at Dashboard → Settings → Developer → Webhooks. 10 active webhooks per account; revoking is instant.

We POST a JSON payload to your https:// endpoint when a subscribed event fires. Every delivery carries X-Corvus-Signature: sha256=<hex> — HMAC-SHA256 over the raw body bytes, signed with the secret you received at create time. Compare with hmac.compare_digest (or your language equivalent) before processing.

Available events

  • deal.created — a new deal lands in your journal (manual entry or CSV import).
  • subscription.activated — a paid plan activates (initial purchase or renewal).
  • webhook.test — synthetic, fired only by the “Test” button in Settings; useful for receiver connectivity checks.

Delivery headers

  • X-Corvus-Event — event type (e.g. deal.created).
  • X-Corvus-Event-Id — stable per-event UUID; reused across retries so receivers can dedupe.
  • X-Corvus-Delivery — per-attempt id (different on each retry).
  • X-Corvus-Attempt — integer 1..5.
  • X-Corvus-Signature sha256=<hex>.

Retries

Any non-2xx response (or network failure) triggers a retry. Five attempts total at 30s, 5min, 30min, 4h, 24h (exponential). After the fifth failure the delivery is marked failed_final — the endpoint stays active, you’ll see the failure in the deliveries panel.

# Receiver-side signature verification (Python)
import hmac, hashlib

def verify(secret: str, body: bytes, header: str) -> bool:
    expected = "sha256=" + hmac.new(
        secret.encode(), body, hashlib.sha256
    ).hexdigest()
    return hmac.compare_digest(expected, header)
§20

Rate limits

COMINGAPI rate limits ship with the public API. Today, the internal dashboard session is rate-limited at the auth and billing endpoints only (per-IP throttles via slowapi).

120 requests / minute per token on read endpoints, 30 / minute on write endpoints. Limits are returned in standard X-RateLimit-* headers. Burst capacity of 2× the per-minute limit applies to short spikes.

§21

Terms of Service

By using CORVUS you agree that the service is provided “as is”, that CORVUS does not give investment advice, and that all trading decisions remain your own. Behavioral findings are statistical observations, not recommendations.

Full terms are available on request and will be linked here in plain PDF before launch. Until then, write to [email protected].

§22

Privacy Policy

We collect: account email, password hash, your uploaded trade data, billing addresses for invoices you create. We do not collect: phone numbers, KYC documents, browsing history, third-party tracking beacons.

Your trade data is encrypted at rest and in transit. We never sell, rent or share it with anyone. Period.

§23

Data Processing

All data processing is performed inside the EU (Frankfurt region). We act as a data processor for the trade data you upload, and as a data controller for the minimal account-management data we store.

A signed DPA is available on request for business accounts. Contact [email protected].

§24

Changelog

  • v2.0 · 2026-06 · CLOSED BETA
    Operator console redesign. Three behavioral modules live (Emotional, Strategy Weakness, Risk + Monte Carlo). Mistake Detection partial (revenge trading only). Crypto billing on testnet (BTC + USDT-TRC20). Public marketing pages shipped with honest live/partial/coming statuses.
  • v1.4 · 2026-05
    Strategy Weakness module out of beta. Monte Carlo simulation added to Analytics. Mobile-friendly journal calendar.
  • v1.3 · 2026-04
    Emotional Analysis module GA. CSV importer for 18 new broker formats. Per-trade screenshot upload to MinIO.
  • v1.2 · 2026-03
    Pattern Recognition module GA. Mistake Detection rule engine. API access for Pro accounts.
STILL STUCK?

Email us — we read every message.