Private by design · runs on your Mac Optional local AI: Chronos-2 + Qwen No wallet · no orders

Your personal crypto
intelligence desk.

Signal Lab watches the market from your own Mac, separates meaningful setups from noise, challenges them against uncertainty and your real costs, and shows why something deserves attention. It starts by reading years of history, so it has something to say on day one. Two optional local models can add forecast ranges and readable analysis — and neither one gets to invent an alert.

Useful on day one 4h · 24h · 72h horizons Every decision replayable Data and models stay local
illustrative · not live ILLUSTRATIVE EVIDENCE CARD 24h momentum research
BTC long 24h horizon
Bitcoin · BTC-USDT spot · scored at 14:00:00Z on the closed bar
0.00 p(favorable)
base rate 0.48 · lift +0.14
0.00 ▲ base 0.48 Wilson band 0.54–0.70 1.00
Scenario±180 bps expected move · breakeven 42 bps after your own costs
Forprice_trend, derivatives — 2 independent families confirmed
Againstbreadth weakening on the 4h frame
Invalid if4h close below 61,240 · or regime flips out of trend_up · or 72h expiry
0independent signal engines
0decision horizons
0observable market patterns
0free data sources wired
0wallet permissions required
Why a research desk matters

The market is loud.
Your attention is finite.

Crypto never closes. Charts, feeds, social posts, bots, and AI summaries keep adding information, but they rarely help you decide what is worth investigating now. A useful desk should watch continuously, remember what happened, challenge every pattern, and explain why it is asking for your attention.

THE JOB 01

Turn movement into priority

A moving market can produce hundreds of technically true observations. Very few deserve interruption. Signal Lab separates emitted alerts, watch candidates, and near misses instead of making every condition look urgent.

See what is live, what is close, and the exact threshold still missing.
THE JOB 02

Put every pattern in context

Momentum, breakouts, compression, and crowding do not mean the same thing in every regime or at every horizon. The desk tests the setup against market state, independent evidence, uncertainty, and data quality before it can alert you.

Four registered engines, three horizons, and a fixed sequence of challenge gates.
THE JOB 03

Make the edge personal

A setup that survives on paper can disappear after your fee, spread, slippage, funding, gas, local levy, and leverage. Generic signals cannot know your breakeven. Your local desk can.

Your cost profile recomputes the breakeven carried by every alert.
THE JOB 04

Build a memory that cannot rewrite itself

Most tools move on after the notification. Signal Lab keeps what it knew, what it decided, what failed, and what happened next, so today's intuition can become tomorrow's evidence instead of a selective memory.

Every decision is replayable against the exact information available at the time.
What you get on the first afternoon

Most tools start empty.
This one starts with memory.

Install almost anything else and it knows nothing about the market yet. It has to watch for weeks before it can tell you something you could not have seen yourself. That always felt backwards. So Signal Lab begins by reading years of price history and asking the same questions it will ask you tomorrow morning.

DAY ONE 01

Hours of reading, not months of waiting

Before it shows a single live reading, the desk replays years of market history for the assets it follows and works out what each setup did next. You set it up in the afternoon; by evening it already has something to say.

A desk that already remembers, instead of a blank screen.
DAY ONE 02

“How did this usually end?”

When a familiar setup appears, the useful question is not whether it looks bullish. It is how many times you have seen this before, and how it tended to resolve. That is the question the desk is built to answer, across every horizon it follows.

How often it appeared, and how it resolved — wins and losses.
DAY ONE 03

It goes quiet when the evidence is thin

This is the part most tools will not do. If a setup has only turned up a handful of times, a win rate is theatre. Below twenty past occurrences the desk shows you the count and refuses to print a rate at all.

A number worth trusting, or no number at all.
DAY ONE 04

Nothing is cherry-picked

History is read once, in order, without peeking ahead at what came later. Both directions are measured the same way, and the setups that went nowhere stay in the record. You get the whole picture, not the flattering slice of it.

The misses are counted too, or the average means nothing.

To be clear about what this is: history is context, not a forecast. Knowing how something resolved forty times before does not tell you what happens next — it tells you whether the thing in front of you is ordinary or unusual. That is a genuinely useful difference, and it is all we claim for it.

Intelligence with separation of powers

Pattern engines find the setup.
Chronos looks forward. Qwen explains the evidence.

Most "AI trading" products blur prediction, explanation, and action. Signal Lab keeps them separate. Validated deterministic logic decides whether something can become an alert. Forecasting and language models enrich a clearly marked research lane, but they cannot move a score, probability, direction, or gate.

One point-in-time market snapshot same evidence · separate authority
Live context
BTC trend_up ETH chop SOL high_vol
Governed decision lane

Signals that have earned authority

Four registered engines look for different market states across 4h, 24h, and 72h horizons.

ContinuationTime-series momentum
Range escapeDonchian breakout
Regime shiftCompression to expansion
Risk contextFragility overlay
challenge
10-gate decision coreregime · evidence · costs · uncertainty · attention
Research intelligence lane

Forward context without decision authority

Research models help you explore what may happen and understand what the system already knows.

Chronos-2 forecast researchp10 · p50 · p90 ranges · 4h / 24h / 72h
Qwen 3 14B local analystgrounded prose over frozen evidence · Ollama loopback
ground
Deterministic fallbackuseful analysis remains when the local LLM is absent
Decision outputAlert · watch candidate · nearest miss
Research outputForecast view · grounded insight
01

Four engines watch for distinct market states

Momentum, breakouts, volatility expansion, and fragility are not interchangeable labels. Each has its own hypothesis, eligible regimes, evidence requirements, and its own record of what happened whenever it fired. Pattern Studio separately observes eleven deterministic structures without granting the pattern name scoring authority.

registered hypothesesregime-awarepoint-in-time
02

Chronos-2 shows a range, not a prophecy

An optional local forecasting lane produces p10, p50, and p90 paths and tracks its performance against a naive baseline. Thin calibration is marked provisional. Forecasts are an independent research view, never a shortcut around the governed alert pipeline.

quantile pathsrolling validationresearch only
03

Qwen is an analyst, not an oracle

An optional Qwen 3 14B model runs through local Ollama and explains evidence already frozen by the system. It cannot create a number or direction. If Ollama is unavailable, a deterministic template preserves the workflow without pretending an AI call succeeded.

local inferenceevidence-groundeddeterministic fallback
The product advantage is not "more AI." It is better-defined authority.

Models can forecast and explain. Only validated, replayable, cost-aware logic can ask for your attention. Nothing in the product can place an order or touch your funds.

The decision discipline

Every alert must survive the questions you would ask if you had more time.

Is the data fresh? Does the setup fit the current regime? Is there independent confirmation? Does it survive your costs? Is uncertainty still acceptable? Signal Lab asks those questions in the same order every time. A setup that stops remains visible as a watch candidate or nearest miss, with the reason attached.

Why this deserves attention

10 ordered checks · same logic live and in replay

Choose a scenario above. Every answer is recorded, including the first reason a setup stops.
idle
Passed — evidence recorded Blocked — candidate kept, reason stated Not needed — the first failed check already explains the stop

Go back and see what the desk knew then

Replay reconstructs the exact point-in-time view: the bars that were closed, the information that had actually arrived, and the market universe in force. It runs the same decision logic and flags any difference from what happened live.

Confidence comes with its limits

A probability is shown with its uncertainty band, base rate, and the amount of evidence behind it. When history is too thin, the product says insufficient instead of dressing up a fragile estimate as conviction.

The record does not rewrite itself

Every alert keeps its model version, decision time, evidence, counter-evidence, costs, and checks. Trials and delivery outcomes are added to a durable local record rather than edited after the result is known.

One place to think

From first pattern to final outcome, keep the whole research loop in one desk.

Start with what changed today. Open the evidence behind an alert. Inspect the setups that almost qualified. Compare forecasts, patterns, costs, and historical outcomes. Save what you learned. Everything stays connected to the same local record, so the workspace never has to reconstruct the story from disconnected tools.

Local app preview · Today illustrative interface

Today — the signal workbench

Everything currently live, ranked. Emitted alerts at the top, then watch candidates, then the near misses with the exact check that stopped them. Each row shows direction, horizon, the probability against its base rate, and whether the confidence band is tight enough to act on.

emittedBTC24h · longp 0.62 · band 0.54–0.70
watchETH4h · longcandidate 0.58 · needs 0.62
nearest missSOL72h · risk_offblocked at confirmation — 1 of 2 families

Watchlist — the ones that didn't make it

A suppressed candidate is not a deleted candidate. Every asset you follow keeps its live composite state, the gate it is currently failing, and how far it is from clearing. Optional low-priority notifications can tell you when a watch candidate is closing on its threshold — capped at five to keep the channel meaningful.

ETHfailing: candidate93% of threshold
SOLfailing: confirmation1 / 2 families
BTCfailing: attention budgetdaily cap reached

Alert detail — the full receipt

The complete alert record: probability with its Wilson band and method, the scenario range, your personal breakeven after fees and levy and leverage, every piece of evidence with the timestamp it became available, the counter-evidence, all six veto checks, and the ordered checks. Plus the exact invalidation conditions.

evidenceprice_trend · tsmom z-score 1.84 · available 13:59:58Z · binance klines
counterbreadth · 4h advance ratio 0.41 · available 14:00:01Z
vetoessecurity pass · liquidity pass · concentration pass · events n/a · manipulation pass · quality pass
personalbreakeven 42 bps at 1.0× · your taker 7 bps + spread 4 + slip 6 + funding 1 + levy 24

Evidence timeline — what changed, and when

A chronological stream per asset: pattern occurrences as they fire, regime flips with the vol and trend states that caused them, forecast refreshes, data-quality incidents, and the alerts themselves. Because everything is timestamped at availability, you can reconstruct exactly what was knowable at any instant.

14:00:00Zalert emitted · 24h momentum · long
12:00:00Zregime flip · chop → trend_up (vol mid, trend up, 2-frame hysteresis)
08:00:00Zpattern · donchian breakout confirmed on f4h
03:14:00Zquality · kraken funding stale 11m, circuit half-open

Pattern Studio — test an idea without polluting the record

A catalog of deterministic patterns across the f1h and f4h frames, with occurrence heatmaps per asset. Run an experiment against synthetic or historical bars and see the occurrence distribution — it is sandboxed, so nothing you try here can reach the alert pipeline or the promotion ledger.

BTCETHSOLBNBXRP
00:0006:0012:0018:0023:00

donchian_breakout · f1h · occurrences by asset × hour-of-day, last 90 days · darker = fewer

History & calibration — did it actually work?

Every past call with what actually happened next. Reliability curves put the confidence it claimed against how often it was right, so drift shows up here long before anything is taken off your notifications.

bin 0.5–0.6predicted 0.55 · observed 0.56 · n 84
bin 0.6–0.7predicted 0.65 · observed 0.63 · n 61
bin 0.7–0.8predicted 0.74 · observed 0.71 · n 22 · thin

Experiments — the trial ledger

Every replay run you have ever executed, append-only, with its run id, code SHA, config hash, split fold, stress profile, and full metrics. Tracked to a local MLflow instance. Duplicate registrations are rejected by hash, so you cannot accidentally overwrite the history of what you tried.

7a1f…c90424h momentum · fold 3 · doubled costsprecision 0.61 · robustness passed
31b8…2ea7donchian.4h.liquid · fold 3 · delay5mprecision 0.49 · below target
c0d4…9f13compexp.72h.majors · fold 2 · dropoutESS 47 · under minimum

Research insights — clearly fenced off

An always-on research lane combines pattern strength, regime state, and current Chronos-2 corroboration into descriptive research. The local Ollama analyst may explain evidence, with deterministic prose as the fallback. Everything here carries a permanent badge — “Research insight — not an alert or advice” — and is structurally incapable of entering the gate, alert, promotion, wallet, or order path.

research onlySOL · volatility impulse with Donchian confirmation on f1h · utility unmeasurable until you set a cost
research onlyETH · forecast corroborates 3-bar direction · calibration provisional, 14 of 20 origins

Sources — connector health and governance

Nine free sources across five centralised exchanges, three DEX/security feeds, and a price oracle. Each shows its rate-limit budget, circuit-breaker state, freshness, and whether governance has approved it. A source disabled by governance cannot be re-enabled from the UI.

binanceklines · trades · funding · depthcircuit closed · 41% of budget
coinbaseklines · tradescircuit closed · 12% of budget
krakenfundinghalf-open · 2 transient failures
goplustoken securitydisabled by governance

Diagnostics — is the machine healthy?

Whether the desk is actually healthy: what is running, how far behind it is, disk headroom, clock accuracy, anything stuck waiting, and when your last verified backup ran. One screen, plain answers, no guessing.

writer queuedepth 3 · healthy
disk38% · soft 80 / hard 90
clock skew0.08s · warn 2s / safemode 30s
last backup02:30Z · verified · 14-day retention

Memory & search — your own research notes

Search across alerts, insights, and evidence. Save a filter you keep coming back to. Attach a dated note to an asset so your future self knows what you were thinking. Notes are yours and never influence a score — they sit beside the record, not inside it.

saved“BTC long, 24h, band width under 0.16, emitted only”
noteETH · “funding flipped negative twice this week — watch the derivatives family”

Daily digest — one summary, at your hour

A frozen daily rollup delivered at a local time you choose: alerts emitted, suppressed with their gates, calibration drift, source incidents, and outcomes that resolved overnight. It goes through the identical dispatch pipeline as alerts — idempotent, deduplicated, retry-bounded, audited.

07:30 local3 alerts · 5 watch candidates · 1 suppressed at uncertainty · 0 source incidents

Settings — your costs, your channels, your quiet hours

Build the cost profile that makes alerts honest: maker and taker in bps, spread, slippage, funding per 8h, gas per transaction, a named local levy with the scope it applies to, and a leverage factor that comes with an explicit warning. Then wire notification channels and test each one.

coststaker 7 bps · spread 4 · slippage 6 · funding 1 / 8h · levy 24 bps (all) · leverage 1.0×
channelsdesktop ✓ · ntfy ✓ mobile · browser ○ · telegram ○
quiet hours23:00 – 07:00 local · held, not dropped

Setup — first run, then never again

Choose your governed sources, a backfill depth of 7d / 30d / 90d / max, a cost preset, and your notification channels. The wizard installs the user service, tracks bootstrap progress per source with provenance labels, and opens the UI when it is ready to be useful.

bootstrapbinance 90d · 74% · 612k bars
bootstrapcoinbase 90d · complete
servicelaunchd user agent installed · starts on login
managed

A real Mac app, not another tab

The desk starts with your Mac, keeps the local service healthy, and gives you clear Start, Stop, Status, and Repair controls when something needs attention.

continuous

Catches up after downtime

When the Mac wakes or restarts, Signal Lab fills the missing market window before it resumes live research instead of quietly leaving a hole in the record.

fresh

Keeps the research view fresh

Closed-bar features and market context refresh continuously, with freshness and source health visible when the underlying data is delayed.

private

Private phone access

The companion reads a narrow, signed view from your own Mac through private HTTPS. It does not turn your research desk into a public cloud service.

Your desk, away from the desk

Keep the full system on your Mac. Carry only the view you need.

The iPhone companion is a private window into your own installation, not another hosted account. Approve one device, choose home-only access or private Tailscale reach, and inspect alerts or watch items without moving the research system off your Mac. Optional push messages contain no market data; they only tell the app to refresh.

Start with a healthy desktop

The companion depends on the local research desk. Complete desktop setup first, then install the iPhone alpha through Xcode today or TestFlight when the public beta channel opens.

Approve your own phone

Create a short-lived invite in Devices, scan it, compare the short code, and approve. Each phone receives separate credentials and can be revoked without disrupting another device.

Choose where the phone should work

A local-network pairing works at home. Private Tailscale HTTPS lets the same approved phone reach the Mac while away, without opening Signal Lab to the public internet.

Let notifications wake the app, not carry the research

An optional generic push says only that an update is available. The companion then requests the signed view from your Mac; assets, probabilities, evidence, and credentials never ride inside the push message.

connect your phone — one time
# 1 · start the managed desktop service
$ siglab start --no-browser
 owner API 127.0.0.1:8766 · gateway 127.0.0.1:8767

# 2 · approve private Tailscale Serve once, then verify
$ tailscale serve status
 https://your-mac.tailnet.ts.net → http://127.0.0.1:8767

# 3 · desktop → Devices → Pair a device
 invite 5m · P-256 device key · individual revoke

# 4 · tested simulator feedback loop
$ scripts/run_ios_sim.sh
 signed v2 glance · watch detail · encrypted offline cache
9:41▮▮▮ ⌁ 84%
14:00
Friday, 25 July

Illustrative wake only · real ntfy payloads contain no market data

Desktopnative local notifications
Browserlive updates while the desk is open
Telegramoptional · your bot and chat
iPhone companionprivate · device-bound · read-only
what actually lands on the lock screen — content-free by design
Signal Lab update available
Open Signal Lab to refresh the verified companion view.
tap → cryptosignallab://wake → signed pull over Tailscale HTTPS

One alert, one delivery record

Signal Lab records the delivery before it contacts a channel, so a repeated task cannot quietly send the same alert twice.

Failures stay visible

Temporary failures retry carefully. Ambiguous outcomes stop instead of risking duplicates. Interrupted attempts are reconciled when the service returns.

Quiet hours mean quiet

Notifications wait locally until your quiet window ends. They are held, not dropped, and the daily digest still arrives at the time you choose.

A different category of crypto tool

More than a chart. More disciplined than a signal feed.

Charting tools help you inspect the market. Automation tools help you act faster. Signal Lab is built for the step between them: deciding what deserves attention, what the evidence can support, and what should remain a watch item.

What you need Crypto Signal Lab Typical alternative
Know what deserves attention ● ranked — four independent signal engines, regime context, watch candidates, and the exact threshold separating a near miss from an alert. Indicator conditions, dashboards, and notifications each show a slice; the user still has to assemble the decision.
Look forward without pretending certainty ● bounded — Chronos-2 adds p10/p50/p90 forecast research across 4h, 24h, and 72h horizons, visibly fenced from alert authority. A projected line, a black-box score, or a confident narrative with little separation between research and decision.
Understand the market in plain language ● local — optional Qwen 3 14B explains already-frozen evidence on your Mac; a deterministic analyst remains when Ollama is absent. Cloud AI commentary, generic summaries, or no explanatory layer at all.
See confidence and doubt together ● explicit — favorable-outcome probability, base rate, sample count, and uncertainty band. A wide band can block the alert. A trigger, score, or direction without the evidence needed to judge how fragile it is.
Know whether the idea held up before ● replayable — point-in-time reconstruction, leakage controls, stress profiles, and live-versus-replay parity through the same code path. A vendor backtest, bar replay, selected examples, or no durable history of past calls.
Make the economics personal ● yours — fees, spread, slippage, funding, gas, local levy, and leverage recompute the breakeven for every alert. Frictionless outcomes, generic venue fees, or an edge calculated for someone else's account.
Keep control of the research desk ● private — data, models, notes, decisions, and the UI stay on your Mac. No wallet or exchange write key is required. A cloud account, vendor-held history, remote models, and sometimes exchange credentials.
Protect judgment from automation ● research only — no wallet connection, order placement, custody, or live-capital path exists in the product. Execution can be the product, or persuasive signals can arrive without an auditable decision boundary.

Categories overlap and individual products vary. Signal Lab is not trying to replace a professional charting terminal, an execution platform, or a premium on-chain dataset. It gives the individual researcher something those categories do not center: a private, accountable process for deciding what deserves attention and why.

Why you can trust the process

An idea must earn the right to interrupt you.

A promising pattern does not become an alert because it looked good once. It is written down before testing, challenged across time and worse conditions, observed live without notifying you, and promoted only with a durable record. There is no path from "interesting idea" to "your phone buzzes" that skips the evidence.

Test the idea you actually wrote down

Label construction is frozen and hashed before the historical run. Any later mismatch between the registration hash and the run configuration raises a hard error rather than a footnote. Holdout windows carry a lifetime reuse budget so you cannot quietly grind against them.

split geometry365d train / 30d test / 30d step
purge + embargohorizon-scaled, per fold
final exam120d untouched, strictly rationed
bootstrap2000 block resamples

Make it survive worse conditions

Each fold is re-run under five adversarial profiles. An edge that only exists at zero latency and half cost is not an edge — and it will not be allowed any further down the path.

basereference conditions
cost2xdouble all frictions
delay5m5-minute decision latency
dropoutsource outage injection
adjacentneighbouring-parameter robustness

Let it observe before it interrupts

A new engine runs silently first — scoring everything, notifying nobody — until it has built up enough live results under settings that never changed. Only then can a human let it reach your notifications, and there is a window to object before it does.

the pathproposed → tested on history → silent live run → admitted
and back againdemote · remediate · retire
who decidesa person, never the machine itself

Recreate the decision later

Every replay result carries a deterministic run id, the registration hash, the config hash, the code SHA, the seed, and the lake watermark. Hand someone the same repo at the same commit and they get the same numbers. That is the whole point.

run_iddeterministic 24-hex
code_shagit commit, recorded per run
config_hashhash of the full YAML bundle
lake_watermark_tsexact data cutoff honoured
Public methodology whitepaper

See the moat, the negative evidence, and the proof still required.

The research paper traces both signal lanes, publishes the real BTC/ETH/SOL benchmark, grounds the methods in 27 academic references, and separates the implemented systems moat from an unproven alpha moat.

Read the whitepaper
Non-negotiable

What this will never do

These are enforced in the codebase and in the specification, not in a terms-of-service paragraph. Several of them are the reason the project exists.

Hard denials

  • No wallet connection. No exchange write keys. No order execution path exists in the code.
  • No "buy now" or "sell now" instruction, and no guaranteed-return language, anywhere in the product surface.
  • No language model in the scoring, gating, or promotion path. Prose only, over evidence already frozen.
  • No scraping of protected sites, no anti-bot circumvention, no unofficial social APIs.
  • No influencer calls or paid-alpha feeds treated as ground truth. No DEX paid boosts read as bullish signal.
  • No telemetry. The UI binds to loopback; opening it to your LAN is an explicit, deliberate flag.

Standing guarantees

  • Every alert states what would invalidate it, before you act on it.
  • Missing data blocks an alert but never erases the candidate — you always see what was suppressed and why.
  • Research-only outputs are badged as research and can never enter the alert or promotion path.
  • Secrets resolve through a governed mode-0600 file or OS keychain and are redacted from logs, exports, and backup manifests.
  • A single writer owns the database. Backups are atomic and verified; restore resumes prior service state.
  • Uninstall removes the service and the package. Your data is yours to keep or delete.

This is research software, not financial advice. Crypto Signal Lab produces decision-support research and paper simulations. It does not execute trades, custody assets, or predict the future. Calibrated probabilities are estimates derived from historical evidence and can be wrong. Markets can move against every gate that passed. You are solely responsible for any decision you take, and for the tax and regulatory treatment of it in your jurisdiction.

Private alpha · early users welcome

Help shape the intelligence desk
you wish existed.

We are inviting careful Apple Silicon users who want to test a real research workflow, challenge how the system explains uncertainty, and help turn a serious local tool into a product more people can trust. The private desktop alpha now bundles its complete core runtime and setup; Apple distribution trust remains the release gate.

Alpha reality check. The current build supports Apple Silicon macOS. iPhone access is a manually paired, device-bound companion over private HTTPS; optional ntfy sends only a generic wake and the phone then pulls signed details. The first TestFlight build is in Beta App Review and is not available to alpha users yet; a Developer ID signed, notarized Mac release is also not public. Upstream source-quality failures are shown honestly and can suppress alerts, so an installation may show Research and Radar context while producing no governed market alert.

BRING
A real research workflow

Show us how you currently move from a market observation to a decision, and where existing tools leave you stitching context together.

CHALLENGE
The intelligence

Compare patterns, forecasts, explanations, uncertainty, and realized outcomes. Tell us where the evidence clarifies and where it still obscures.

STRESS
The operating edges

Sleep the Mac, lose the network, restart services, pair a phone, restore a backup, and help us make failure understandable rather than mysterious.

LEAVE
Better evidence behind

Useful alpha reports include the version, machine, exact path, reproduction steps, and redacted diagnostics. Good feedback becomes part of the product record.