ES
Tradit Pivot · Features ·

What's being built.
The pivot features.

A signal engine for humans, connectable to the AI agents those humans already operate. Seven functional areas on top of the same engine that already runs 24/7, exposed across two surfaces: app.tradit.co and mcp.tradit.co.

Tradit Pivot — Features

Important context for this document: the engine is already built and runs 24/7 in production. The 16 months of research, the 21,954 recorded scans, the 36+ integrated APIs, the 12-layer pipeline, the 21 structured outputs per scan — all of that already exists and already operates. What we are pivoting is not the engine but the consumption surfaces on top of it: a new dashboard (app.tradit.co) and an MCP server (mcp.tradit.co) that expose the engine to humans and AI agents. We are not building from scratch — we are exposing what already works.

Tradit redefines itself as a signal engine for humans also connectable to the AI agents those humans already operate. The wave of open frameworks like OpenClaw, the maturation of prediction markets (Polymarket and Kalshi as operational pillars for the informed retail trader) and the consolidation of MCP as the standard for feeding agents with context define the moment. Tradit enters as an Agent Market Intelligence player: the layer that decides which signals to emit, how to present them to a human via dashboard and how to deliver them to an agent via MCP, on top of the same engine that is already running.

This page is the operational scope of the pivot — what gets built on top of the existing engine, in what order, and how each feature maps to the real outputs the engine already produces every 15 minutes. This is not a wishlist: it is the list of surfaces that make the engine consumable for users and agents — from auth to MCP, from Telegram alerts to the 21 structured outputs the engine emits, each with its visual representation.

TL;DR of scope

The pivot is structured around 7 functional areas:

  1. Onboarding & Auth — open registration without invitation, multi-method
  2. Web Dashboard (app.tradit.co) — Market Pulse, per-asset views, watchlist, chat
  3. Multi-channel alerts — email, Telegram, Discord, webhook
  4. MCP / Terminal (mcp.tradit.co) — the native surface for agents and power users
  5. Engine outputs — the intelligence the user consumes
  6. Cross-asset universe — crypto + equities + commodities + macro + prediction markets
  7. Compliance & disclosures — legal research/educational framing

1. Onboarding & Auth

1.1 User registration — open without invitation

Decision: open registration from day one. No waitlist, no invite-only, no manual approval. The friction of "wait for your invitation" kills the viral funnel.

  • Email + password (bcrypt, no plaintext)
  • Magic link (passwordless, better for mobile)
  • Optional OAuth providers: Google, GitHub, Apple
  • Mandatory email verification (anti-bot, anti-fraud)
  • Captcha on signup (Cloudflare Turnstile — invisible if heuristic passes)
  • Optional 2FA (TOTP)
  • JWT sessions with refresh token, httpOnly + sameSite cookie

Minimal anti-abuse (does not block legitimate flow):

  • Rate limit per IP on signup endpoint
  • Email-domain whitelist; disposable email flag
  • Device fingerprint to detect multi-account
  • Manual review only if suspicious pattern (more than N signups from the same IP block within X minutes)

1.2 First-run experience

  • Brief onboarding: what a Read is, what abstention is, how to configure a watchlist
  • Sample reads loaded (BTC + ETH + SOL + Polymarket FOMC) so the user sees the product in action
  • Immediate CTA to connect Telegram for alerts
  • Secondary CTA to try the MCP (instructions for Claude Desktop / Cursor)

1.3 Account management

  • Basic profile (name, email, timezone, preferences)
  • Email change with verification
  • Password reset
  • Delete account (GDPR — required)
  • Data export (GDPR — history of reads consulted, configured alerts)

2. Web Dashboard app.tradit.co

2.0 Validated UX patterns

Before the page list, the UX patterns we know work (validated by competitors like Rallies) that Tradit replicates rather than reinventing the wheel:

PatternOriginHow Tradit uses it
Bottom bar tab navigationRalliesTradit uses Home / Chat / Discover / Watchlist / Inbox
Per-asset embedded chat ("Ask anything about SNAP…")RalliesIn /asset/:symbol, chat scoped to the asset always visible
Notifications/Inbox as dedicated tabRallies, Twitter, IGEvery user alert lands here, not scattered across email + Telegram + push without a home
Idea to scan / natural language inputRallies (Stocks tab)Discover uses the same pattern: NL → engine processes → ranked results
Quick-start prompts on empty stateRallies, ChatGPT, ClaudeTradit replicates the pattern in global and scoped chat
Demo portfolio without authRallies, Coinbase, RobinhoodDemo watchlist visible to visitors
Asset detail with price + chart + tabsRallies, Yahoo FinanceOverview / Pressure / Drivers / Events / History / Sentiment
Discover with tabs by categoryRalliesActive reads / New coins / Upcoming events / Polymarket spreads
Insights button on homeRalliesCTA in Market Pulse for chat scoped to market state
"Get notified" sticky bottom CTARallies (Discover/Arena)On public pages for conversion to signup

2.1 Required pages

PagePurpose
Public landingPositioning, calibration scoreboard, sample reads
/login /signupAuth flows
/pulse (post-login home)Global Market Pulse, regime, top 3 shifts, upcoming events, cross-asset feed
/asset/:symbolPer-asset view: read, pressure breakdown, drivers, events, history
/watchlistConfigurable watchlist with individual read
/chatChat with the engine — NL questions, returns reads
/dailyDaily summary — what happened in the market in the last 24h, drivers, events, shifts, and dominant narrative
/calendarMacro + crypto-native event calendar with interpretation
/track-recordPublic calibration scoreboard — Brier, reliability, hit rate
/reads/:idHistorical Read auditable by ID — verified outcome
/alertsAlert configuration
/settingsAccount, MCP API keys, preferences
/docs/methodologyHow the engine works, data sources, limitations

2.2 Core UI components

  • PressureBars — bipolar danger/opportunity bars by domain
  • RegimeGauge — current regime thermometer with confidence
  • DirectionalReadCard — visual Read render with collapsible conditionals
  • EventTimeline — upcoming events calendar with estimated impact
  • SessionClock — active session indicator (ASIA / EU / US / weekend)
  • CrossAssetMatrix — grid with oil, gold, DXY, equities and how they cross with crypto
  • AbstentionBadge — visual when the read recommends abstention
  • HistoricalRead — past read render with confirmed/invalidated outcome
  • DriversPanel — drivers + counter-drivers with relative weights
  • ScenarioConditional — conditional scenarios with explicit triggers

2.3 Global search

  • Topbar search — finds assets, events, glossary concepts
  • Autocomplete with indexed assets
  • Semantic search of historical reads (via Lance/sift)

2.4 Watchlist — the user's central asset

The watchlist is where the user configures what matters to them. It is the center of gravity of the product: it defines which assets they receive push notifications for, which Reads are prioritized in their Market Pulse, what coverage the engine dedicates to them.

Capabilities:

  • Addable universe: crypto majors, memecoins, tokenized stocks, equities (MSTR, COIN, SPY, mega-caps), commodities (oil, gold, gas), indices (DXY, VIX), prediction market events, ETFs (IBIT, FBTC, GBTC). Mix crypto + traditional + prediction markets in a single list.
  • Sortable by: probable direction shift, attention, narrative divergence, active counter-narrative, abstention on/off, conviction LOW→HIGH.
  • Grid + list view — UI switch by preference.
  • Custom alerts per asset — each asset in the watchlist can have its own config: shift threshold, event type, preferred channel. "Notify me only if SOL flips regime".
  • Tags / categories — group by personal theme.
  • Comparison view — select 2-4 assets, see Reads side by side under current regime + cross-asset matrix between them.
  • Bulk operations — export watchlist to CSV/JSON, import from TradingView/Coinglass.
  • Demo watchlist for visitors without auth — preset BTC, ETH, SOL, MSTR, gold, FOMC event.
  • Cross-device sync — the watchlist lives on the backend, not in local storage.

Access via MCP:

tradit_watchlist_get()                  → current user's assets
tradit_watchlist_add(symbol)            → add asset
tradit_watchlist_remove(symbol)         → remove asset
tradit_watchlist_state()                → Reads for all assets

2.5 Chat — the research module

Inspired by Google Finance Research / Claude / Polymarket — the user asks questions in natural language, receives structured Reads as a response. It is the conversational channel of the same intelligence delivered by web/alerts/MCP.

Core features:

  • Persistent conversations with history sidebar (ChatGPT/Claude style).
  • "New conversation" prominently placed.
  • Quick-start prompts when chat is empty:
    • "What is BTC doing right now?"
    • "Is there liquidation cascade risk this week?"
    • "Compare BTC vs ETH under current regime"
    • "Is funding overheated?"
    • "What moved the market today?"
    • "What is the Tradit vs Polymarket spread on the next FOMC?"
  • Inline Reads in responses — embeds DirectionalReadCard, PressureBars, EventsAnticipatedPanel directly in the conversation.
  • Conversation memory — remembers thread context.
  • Provenance footer"Powered by tradit-engine-0.8.1, scan_id: …"

Two modes:

  1. Global chat (/chat) — broad market questions, comparisons, events.
  2. Asset-scoped chat (in /asset/:symbol) — embedded chat box, pre-loaded context.

3. Multi-channel alerts

3.1 Supported channels

ChannelNote
EmailPostmark / Resend, transactional
Telegram botDeep link bind, single bot
Discord webhookURL configured by the user
Generic webhook (POST JSON)Tradit POSTs to user's URL, full Read payload
Browser push (PWA)Service worker
Mobile app pushRoadmap — deferred to native app
WhatsAppRoadmap — deferred

3.2 Configurable event types

  • Regime flip anticipation — the regime is about to change
  • Liquidation cascade brewing — conditions preceding mass liquidations
  • Crowding detected — funding + OI + sentiment simultaneously overloaded
  • Probable direction shift — material change in the read
  • Narrative divergence — public narrative contradicts structure
  • No-trade window opening — macro events / volatility shock
  • Invalidation triggered — the invalidation level of an active read was hit
  • Catalytic event anticipation — funding normalization, options expiry vol, fed volatility
  • Whale trap / stop-hunt detected — cross-asset manipulation patterns
  • Polymarket vs Tradit spread > threshold
  • Institutional ETF flow > threshold — BlackRock/Fidelity accumulating or selling

3.3 Per-user configuration

  • Granular selection: which types × which assets × which channels
  • Custom thresholds per type (e.g. "shift > 15%", "liq cascade > $50M")
  • Quiet hours (e.g. silence 22:00-07:00 user timezone)
  • Fatigue throttling (max N alerts/hour of same type)
  • Test alert button (sends a sample to verify channel)

3.4 Alert payload

  • Source Read ID
  • Subject + tagline + direction + invalidation
  • Direct link to /reads/:id for detail
  • UTC timestamp + active session
  • Summarized cross-asset context (1-2 lines)

3.5 Email — the default channel

Email is the leveling channel: all users receive their alerts by email unless they opt into another channel.

Email types:

  1. Real-time alerts — triggered by configured events. Punchy subject line: "⚡ BTC: probable direction shift detected". Body with Read preview + CTA to dashboard.
  2. Daily digest (opt-in, default off) — one daily email with a day summary.
  3. Weekly Substack auto-summary — editorial newsletter.
  4. Calibration notifications — opt-in, when a material read is confirmed or invalidated.
  5. Transactional account — password resets, account changes.

Stack: Postmark or Resend. SPF/DKIM/DMARC configured. Unsubscribe link in every non-transactional email.

3.6 Telegram — the preferred channel for crypto-native users

The crypto-native cohort (~30-50% of ICP) lives on Telegram. Offering alerts on Telegram is zero friction — they are there 14 hours a day.

Bind mechanics:

  • Single official bot: @TraditBot.
  • Settings → "Connect Telegram" → unique deep link t.me/TraditBot?start=token_xyz.
  • User opens Telegram → Start → bot binds their chat_id to Tradit user_id. No password.

Bot capabilities:

  • Receive alerts push per config
  • Basic commands:
    • /pulse → market state
    • /read BTC → asset Read
    • /watchlist → watchlist state
    • /eventos → next 48h of event-risk
    • /abstener → toggle abstention mode
    • /silencio 2h → temporary quiet hours
  • Inline buttons on alerts: "View full Read", "Configure similar alert", "Mute this type 1h"

Telegram alert example:

⚡ BTC — Shift de dirección probable

Régimen: TRENDING_DOWN (62% confidence)
Cambio: bear pressure subió 28% → 41% últimas 4h
Driver: oil reversal +3.3% + ETF outflows -$612M

Escenario condicional:
  BEARISH_REVERSAL 35% si pierde $73,426
  Stop sugerido: $73,500 (1x leverage)

[Ver Read completa] [Silenciar 1h] [Más info]

read_id: read_2026_05_06_btc_001

3.7 Recommended channel by profile

ProfileRecommended channelWhy
Mia (entry-level)Email + TelegramEmail for educational daily digest, Telegram for live alerts
John (intermediate)Telegram + Discord webhookSpeed above all, already lives in crypto groups
Daniel (AI-native builder)Generic webhook + TelegramWebhook to integrate with his stack
Lucy (Polymarket investor)Telegram + EmailTelegram for Polymarket vs Tradit spread alerts

4. MCP / Terminal mcp.tradit.co

The native surface for agents and power users — the same engine, exposed as MCP tools.

4.1 Architecture

  • Standalone service at mcp/tradit/ (mirror of mcp/sift/) served at mcp.tradit.co
  • Protocol: Model Context Protocol (Anthropic standard)
  • Transport: SSE (Server-Sent Events) + stdio for clients that support it
  • Auth: OAuth 2.1 + dual API key

4.2 Exposed tools (v1)

ToolReturns
tradit_market_pulse()Global directional Read: regime + probable direction + drivers + event-risk window
tradit_read(symbol, horizon?)Synthesized directional Read for an asset
tradit_watchlist_state(symbols[])Reads for watchlist or filtered universe
tradit_pressure_breakdown(symbol)Pressure by domain — danger + opportunity
tradit_divergences()Active divergences (narrative vs price, sentiment vs flow, Kalshi vs Polymarket)
tradit_event_calendar(window?)Upcoming macro + crypto-native events with interpretation
tradit_no_trade_warnings()Active no-trade windows
tradit_compare(symbols[])Directional comparison between assets
tradit_capital_sizing(symbol, capital, risk_tolerance)Suggested position size + leverage + stop
tradit_prediction_market_spread(event_id)Spread between Polymarket/Kalshi and internal triangulation
tradit_etf_flows(window?)On-chain ETF flows by issuer
tradit_session_context()Active session + next transition + most active actor
tradit_cross_asset_state()Current state of oil/gold/DXY/equities/yields

4.3 Documentation & DX

  • mcp/tradit/README.md with quickstart (Claude Desktop + Cursor)
  • Usage examples per tool (curl + Python SDK + TypeScript SDK)
  • Reference docs auto-generated from JSON schemas
  • Tool version changelog (semver)
  • Sandbox endpoint for testing
  • "Try it" interactive page at mcp.tradit.co

4.4 SDKs

  • Python SDK (pip install tradit) — for LangChain, AutoGen
  • TypeScript SDK (npm install @tradit/sdk) — for Cursor + custom builds

5. Engine outputs — what the user consumes

5.1 The Read (canonical object)

{
  id, subject, btc_price, session,
  regime, regime_confidence, temperature, conviction,
  net_direction: { bearish, neutral, bullish },
  pressure: { FUNDING_CARRY, LIQ_CASCADE, EQUITY_RISK, SENTIMENT_DELTA, INSTITUTIONAL_FLOW },
  abstention_policy: { should_abstain, abstention_score, abstention_reasons },
  surprises: [{ signal, error, magnitude, quality }],
  contra_narrative: { strength, summary, contradictions },
  scenarios: [{ name, probability, action, conditions }],
  events_anticipated: [{ event, window, historical_proximity }],
  hypotheses: [{ id, type, direction, score, lifecycle }],
  agent_constraints: { framing, disclaimers, reading_instruction },
  provenance: { data_sources, engine_version, evidence_url },
  render: { narrative, tagline }
}

5.2 Four renders of the same Read

ChannelRender
WebVisual component with collapsible drivers, gauges, "explain me" panel
MCPFull JSON returned to the tool call
AlertCompressed payload: subject + tagline + direction + invalidation + link
ChatLong narrative generated from structured fields

5.3 Read types in the engine

TypeExample
asset_scenarioProbabilistic distribution for an asset over a horizon
event_probabilityTradit probability vs Kalshi/Polymarket on a discrete event
regime_stateCurrent macro/crypto regime read
divergence_alertDetected divergence (Kalshi vs Polymarket, retail vs institutional)
narrative_shiftDominant narrative change detected
contrarian_signalCounter-narrative override triggered
whale_trap_detectionStop-hunt / manipulation pattern detected cross-asset
no_tradeExplicit "do not act" output with reasons

5.4 Read lifecycle

  • Every Read has a horizon (e.g. 24-72h)
  • Upon expiry, engine evaluates outcome → marks confirmed / invalidated / partial
  • Public track record is updated
  • Public URL per ID — auditable by anyone

5.5 Engine-derived features — UI mapping

The 007 engine already runs every 15 min and produces a rich set of JSON artifacts per scan. Each one has a natural representation in the consumable product.

A. Quick Read — the 1-line version of the state

{
  "pressure_summary": "BEARISH 26% | NEUTRAL 72% | BULLISH 2%",
  "contra_narrative": "Datos dicen MIXED PERO: etf_strong_outflows",
  "surprises": "oi_change HIGH",
  "position": "none"
}

UI: QuickReadHeader — the "ticker line" of the current market state, always visible.

B. Net Direction as probabilistic distribution

"net_direction": { "bearish": 0.26, "neutral": 0.72, "bullish": 0.02 }

UI: NetDirectionBar — horizontal tri-color bar with percentages. This is not a directional prediction — it is a pressure distribution.

C. Conviction & Temperature

  • conviction: LOW / MEDIUM / HIGH
  • temperature: LOW / MEDIUM / HIGH (when "decisions start to matter")
  • regime: RANGING / TRENDING_UP / TRENDING_DOWN / CAPITULATION / RECOVERY
  • regime_confidence: 0.0 - 1.0 (with disclaimer if <0.30)

UI: RegimeGauge — visual thermometer + confidence label.

D. Pressure breakdown by domain (5 domains)

"pressure": {
  "LIQ_CASCADE":        { "danger": 0.28, "opportunity": 0.00, "label_d": "LOW" },
  "EQUITY_RISK":        { "danger": 0.25, "opportunity": 0.00, "label_d": "LOW" },
  "FUNDING_CARRY":      { "danger": 0.57, "opportunity": 0.28, "label_d": "MODERATE" },
  "SENTIMENT_DELTA":    { "danger": 0.28, "opportunity": 0.00, "label_d": "LOW" },
  "INSTITUTIONAL_FLOW": { "danger": 0.23, "opportunity": 0.13, "label_d": "LOW" }
}

UI: PressureBars — 5 bipolar bars (danger in red, opportunity in green) with LOW/MODERATE/HIGH labels.

E. Abstention policy with explicit reasons

"abstention_policy": {
  "should_abstain": true,
  "abstention_score": 1.00,
  "abstention_reasons": [
    "softmax_gap_low",
    "pressure_neutral_dominant",
    "regime_confidence_low",
    "entropy_high"
  ],
  "original_top": "SHORT_PERP",
  "original_probability": 0.328
}

UI: AbstentionBadge — prominent banner when abstention is active, with tooltip that expands the reasons.

F. Surprises — deviations vs baseline

"surprises": [
  { "signal": "oi_change", "error": -0.304, "magnitude": "HIGH", "quality": 1.0 }
]

UI: SurprisesPanel — list of signals that deviated from the EMA baseline in this scan.

G. Contra-narrative — when data contradicts the story

"contra_narrative": {
  "strength": "MODERATE",
  "summary": "Los datos dicen MIXED PERO: etf_strong_outflows",
  "contradictions": [{ "signal": "etf_strong_outflows", "actual": "$-51.5M net outflows", "significance": 0.8 }]
}

UI: ContraNarrativePanel — alert when structural data contradicts the public narrative.

H. Hypothesis tree — active hypotheses tree

"hypotheses": [
  { "id": "H-DF-202604140208-2fx", "type": "DEFORMATION", "direction": "NEUTRAL", "score": 0.6, "lifecycle": "WEAKENING" },
  { "id": "H-FR", "type": "FEAR_REGIME", "direction": "BULLISH_REVERSAL", "score": 0.43, "lifecycle": "STRENGTHENING" },
  { "id": "H-WT", "type": "WHALE_TRAP", "direction": "BEARISH", "score": 0.62, "lifecycle": "STRENGTHENING" }
]

UI: HypothesisTreePanel — view of active hypotheses with score, direction, lifecycle (FORMING / STRENGTHENING / WEAKENING / DEAD), and declared kill condition.

Dedicated page: /hypotheses — explore the full tree.

I. Streaks tracking — what is accumulating

"streaks": {
  "funding_neg_above_10": { "count": 2089, "since": "2026-04-14T18:09:54Z" },
  "consecutive_abstentions": { "count": 1686, "since": "2026-04-14T21:30:42Z" }
}

UI: StreaksRibbon — bar showing "what is running".

J. Conditional scenarios with triggers

"scenarios": [
  { "name": "RANGE_CONTINUE", "probability": 1.00, "action": "HOLD" },
  { "name": "BULLISH_BREAKOUT", "probability": 0.25, "action": "LONG",
    "conditions": { "price_above": 74168, "volume_above": 0.80, "cross_exchange": true } },
  { "name": "BEARISH_REVERSAL", "probability": 0.25, "action": "SHORT",
    "conditions": { "price_below": 73426, "liq_cascade": true, "funding_flip": true } }
]

UI: ScenariosPanel — conditional scenarios with explicit triggers. When the user configures an alert on a scenario, the engine notifies if the triggers are met.

K. Events anticipated — upcoming catalysts with track record

"events_anticipated": [
  { "event": "options_expiry_volatility", "window": "T-12h", "historical_proximity": 0.98 },
  { "event": "funding_normalization",     "window": "T-8h",  "historical_proximity": 0.76 },
  { "event": "fed_volatility",            "window": "T-2h",  "historical_proximity": 1.00 }
]

UI: EventsAnticipatedPanel — upcoming catalytic events with their historical proximity track record by type.

L. Polarity flips — when the same data reads differently

Example from real log: "oil_change reads RISK_ON (oil dropping during geo crisis suggests de-escalation, not demand collapse)".

UI: PolarityFlipBadge — indicator when a signal is being read with inverted polarity vs the default, with contextual explanation.

M. Narrative heartbeat (PRISMA)

"prisma": {
  "heartbeat": 0.81,
  "state": "ESCALATE",
  "cooldown": "BYPASS",
  "watchlist": ["blackrock", "sec"],
  "top_news": "Trump hints Iran talks, Amazon-Globalstar deal..."
}

UI: NarrativeHeartbeatPanel — public narrative pulse with state (NORMAL / ESCALATE / SATURATION), actor watchlist, and top news.

N. Multi-exchange consensus

Example: "17/22 neg (77% count, 91% weighted). Smart money: +0.005% (institutional neutral). Dispersion: 0.006% (low)."

UI: MultiExchangeConsensus — what fraction of exchanges confirm the reading (count + weighted), dispersion between exchanges, aggregated smart-money funding.

O. Track record by event type

"by_event": {
  "funding_extreme":           { "n": 9,    "hits": 4,    "avg_proximity": 0.58 },
  "liquidation_cascade":       { "n": 12,   "hits": 2,    "avg_proximity": 0.22 },
  "funding_normalization":     { "n": 11,   "hits": 9,    "avg_proximity": 0.76 },
  "options_expiry_volatility": { "n": 54,   "hits": 52,   "avg_proximity": 0.98 },
  "fed_volatility":            { "n": 2603, "hits": 2596, "avg_proximity": 1.00 },
  "equity_drop":               { "n": 78,   "hits": 0,    "avg_proximity": 0.02 }
}

UI: TrackRecordTable at /track-record — table by event type. Honest: shows events where the engine performs well (fed_volatility 100%) and where it does not (equity_drop 0%).

P. Oracle ladder — action distribution

"oracle": {
  "baseline": "WAIT",
  "current_ladder": "PROBE",
  "wait": 0.65,
  "spot_long": 0.20,
  "short": 0.09,
  "best_non_wait": "spot_long (LOW)",
  "shadow_mode": true
}

UI: OracleLadder — distribution over available actions, with the "best non-wait" forced as reference.

Q. Reading instruction to the agent

"agent_constraints": {
  "framing": "OBSERVER",
  "disclaimers": [
    "Regime confidence is 19% — treat classification as tentative, not definitive",
    "Contra-narrative is MODERATE — dominant direction may be misleading"
  ],
  "reading_instruction": "This data describes market state. High temperature or extreme values are informational, not calls to action."
}

Disclaimers are rendered in every Read (web + alert + MCP) automatically. This is literally the legal framing encoded into the engine output.

R. Replay engine — re-execute any historical scan

The 21,954 recorded scans (each ~18KB JSON) are reverse archaeology — re-executable with new code to see how the current engine would reason over past data.

  • Consumer feature: /scan/:id — public view of any historical scan. "What did Tradit read on April 7 at 14:00 UTC?"
  • Builder feature: tradit_replay_scan(scan_id) MCP tool — an agent can request re-execution of a historical scan.

S. Stress test CLI / endpoint — "what breaks if"

tradit stress-test "BTC=50000"
# → shows which signals would activate, which hypotheses would flip, which scenarios would trigger

UI: /stress-test — "what if" input: price, event, forced regime. Useful for the user to simulate extreme scenarios without waiting for the market to deliver them.

T. Diagnose — audit over a time window

Endpoint: tradit_diagnose(window_start, window_end) MCP tool + /diagnose page. Returns: scan count, regime distribution, abstention %, activated/dead hypotheses, anticipated vs occurred events.

U. Sift semantic search — similar situations

Search across 21,954 historical scans: "When did the market have a configuration similar to today?"

UI: semantic search integrated into the global chat. Like "Show me past scans where pressure was similar to right now" → returns 5-10 similar scans with outcome. Available via chat and tradit_find_similar_scans() MCP tool.

6. Cross-asset universe from day one

6.1 First-order assets

Crypto:

  • BTC, ETH, SOL, BNB, HYPE, XRP, ADA, AVAX, SUI (top 20 liquidity)
  • High-volume memecoins (WIF, BONK, PEPE, etc.)

Tokenized stocks (Ondo / xStocks):

  • AAPL-token, TSLA-token, MSFT-token, NVDA-token, GOOGL-token, AMZN-token, META-token, AMD-token

US Equities (via API):

  • MSTR, COIN (crypto-correlated, leading indicators)
  • RIOT, MARA, CLSK (mining stocks)
  • SPY, QQQ, IWM, VIX/UVXY (indices and volatility)
  • NVDA, AMD, TSLA, META, GOOGL, AAPL, MSFT, AMZN (mega-cap tech)

Commodities:

  • Oil (USO + Yahoo CME), gold (PAXG), natural gas

Macro:

  • DXY (UUP), US 10Y bonds, M2 money supply (FRED)

Prediction markets (pillar):

  • Kalshi monthly/annual event ladders
  • Polymarket consensus pricing by event
  • Polymarket vs Tradit spread detection as signal

Institutional ETF flows:

  • BlackRock IBIT (Dune Analytics)
  • Fidelity FBTC, Grayscale GBTC, ARK ARKB, 21Shares, etc.

Event calendar:

  • FOMC, CPI, NFP, ECB, BoJ
  • Mega-cap earnings
  • Tariff decisions
  • Halvings, token unlocks, governance votes

6.2 New coin listings

When shipped — dedicated feature:

  • Discovery feed of coins listed in the last 7d on major exchanges
  • Engine Read on each new coin: initial liquidity, first 24-72h of pressure, emerging narrative, divergence with established coins
  • Rug-pull / pump-and-dump flags based on feedback engine patterns

7. Compliance & disclosures

7.1 Automatic legal framing

  • Disclaimer in the footer of every dashboard page
  • Disclaimer in every MCP response (field agent_constraints.disclaimers)
  • Disclaimer in every alert email
  • Disclaimer in every Substack post

Base text (reviewed by counsel pre-launch):

Tradit provides market intelligence and research tools for educational purposes only. Not financial, investment, tax, or legal advice. Past performance and probabilistic readings do not guarantee future results.

7.2 Privacy & GDPR

  • Cookie banner with granular opt-in (analytics, marketing, functional)
  • Privacy policy + ToS published before charging dollar one
  • DPA available for EU enterprise users
  • Data export endpoint
  • Account deletion endpoint (30-day period for anti-fraud, then full purge)

7.3 Product language

UseAvoid
read, context, conditions, scenariobuy signal, BUY/SELL
probable direction, anticipationguaranteed prediction, certainty
invalidation, abstentionguaranteed, certain
suggested sizingguaranteed return, win rate

7.4 Encoded product boundaries

  • NO connection to user's broker
  • NO trade execution
  • NO portfolio personalization
  • NO blind BUY/SELL recommendations
  • NO return guarantees
  • NO personalized financial advice

8. Editorial & brand

8.1 Weekly Substack

  • Weekly regime analysis
  • Notable reads (confirmed + invalidated)
  • Notes when a material read fails
  • Consistent, human editorial voice

8.2 X / Twitter — Brand Broadcast

  • Posts on significant market events (regime flip, cascade brewing, divergence detected)
  • Format: emoji + label + shock number + read screenshot + link
  • Regular cadence, ramp-up on event-heavy days

8.3 Public Calibration Scoreboard

  • app.tradit.co/track-record — always on
  • Rolling Brier 7d / 30d / 90d / all-time
  • Reliability diagram
  • Hit rate by read type
  • Comparison vs market consensus where applicable

8.4 Methodology page

  • app.tradit.co/methodology
  • How the engine works (without secrets)
  • Data sources
  • Declared limitations
  • Engine version changelog

9. Infrastructure & ops

9.1 Hosting

  • API: DigitalOcean App Platform
  • Dashboard: Cloudflare Pages
  • MCP server: DigitalOcean (droplet)
  • Engine: dedicated worker fleet on DigitalOcean
  • Database: PostgreSQL managed (DigitalOcean)
  • Valkey: managed for cache + rate limits
  • LanceDB: local for semantic search

9.2 Observability

  • Error tracking: Sentry
  • Product analytics: PostHog
  • Uptime: Better Uptime
  • Logs: Grafana Loki
  • Engine metrics: Prometheus + Grafana

9.3 Persistent processes (PM2)

  • Recurring main scan
  • Daily label generator
  • Liquidations WebSocket daemon 24/7
  • Expired read resolver (updates track record)

9.4 Security

  • HTTPS everywhere (HSTS)
  • Global + per-user API rate limiting
  • ENCRYPTION_KEY rotation policy
  • Secrets in vault (DigitalOcean secrets manager)
  • Audit log for critical actions (MCP key generation, account changes)
  • Pre-launch pen test

10. Success metrics

Adoption

  • Signups
  • DAU / MAU
  • MCP activations (how many users connect Claude / Cursor)

Engagement

  • Reads consulted per user / week
  • Alerts configured / user
  • Chat queries / user
  • Weekly return (% of users who return 2+ times/week)

Product

  • Read accuracy by type (public on track-record)
  • Time-to-first-value (how long it takes a new user to understand a Read)
  • NPS
  • Cohort retention

Frequently asked questions

Does Tradit only cover Bitcoin?

No. The research phase and 16 months of backtesting focused on Bitcoin because it is the asset with the greatest data depth for validating methodology (1.16M 1m candles, 36+ APIs, mature derivatives, active prediction markets and an unmatched liquidity universe in crypto). But the product opens from day one to the main cryptocurrencies (ETH, SOL, majors), stocks and tokenized stocks (MSTR, COIN, mining stocks, mega-cap tech), commodities (oil, gold, gas), macro (DXY, US 10Y bonds, M2) and the cross-asset narrative layer (Google News, Brave, prediction markets, macro calendars). The engine was designed to triangulate between domains — a Bitcoin read without that context stops being representative of the product.

What is MCP and how does the AI agent integration work?

MCP (Model Context Protocol) is the open standard that Anthropic published in 2024 so that any AI agent — Claude, ChatGPT with MCP support, Cursor, LangChain agents or open frameworks like OpenClaw — can connect to external tools and consume their context in real time, without custom integrations. Tradit exposes the engine via MCP at mcp.tradit.co.

This implies an important model shift: Tradit no longer manages the user's portfolio by connecting to their exchange API. It does not execute trades, does not touch operation keys, does not assume responsibility for the user's capital decisions. What Tradit delivers is the structured intelligence layer — regime, cross-asset drivers, conditional scenarios, calibrated narrative — so the user's agent (whether a Claude / advanced GPT, a local open-source model or a low-cost agent) decides with context, not narrative.

The shift removes a layer of legal and operational responsibility that was never the product's real edge, and focuses us on what the research proved actually works: the engine. The agent — own or third-party — becomes the client. Tradit becomes the intelligence that client consumes to make better trading decisions.


Closing. This list is operational and syncs with the strategic vision of the pivot and market research. Every feature maps to a real engine output that already runs 24/7 — the work is exposing that intelligence with good UX, not building from scratch.