MIRTHWATCH
SAMPLE DESK

LOCAL-FIRST / READ-ONLY / TWO VENUES

The market kept moving.
Your policy kept watching.

One private watch officer for Robinhood Chain and Pump.fun. It rejects noise locally, asks your OpenRouter model to explain the remainder, and records every decision.

LOCAL WORKSPACE SETUP / CLONE THE PUBLIC REPOSITORY

git clone https://github.com/Mirthwatch/mirthwatch.git && cd mirthwatch && npm install && npm link
NO WALLET CONNECTED NO PRIVATE KEYS NOTHING EXECUTED
GITHUB / SOURCE ↗

FILTER RECEIPT / SAMPLE RUN

Noise in. Reasons out.

Deterministic rules run before the model spends a cent. Every outcome remains visible in the local ledger.

LOCAL POLICYWHY IT STOPS
R1 / AGE WINDOWOutside early discovery
R2 / CONCENTRATIONTop holders too concentrated
R3 / SOURCE FLAGVendor marked asset banned
R4 / DEV ACTIVITYDeveloper sell detected
R5 / DEDUPEvent already observed
LOCAL
BEFORE MODEL
No custody. No execution.

OBSERVATION LEDGER

Show the rejection.

Alerts are only half the product. The suppressed rows prove the filter is doing its job.

Swipe or use arrow keys to inspect every column.

TIMESOURCEASSETSCOREOUTCOMEFIRST REASON

ONE POLICY / TWO VENUES

Small enough to inspect.

The model explains shortlisted evidence. It does not set the deterministic score and can never initiate a trade.

WATCH LOOP / 8 SEC STABLE EVENT ID AT-LEAST-ONCE INGEST READ-ONLY BOUNDARY
INGEST / EVM4663
ROBINHOOD CHAIN

Noxa + Pons snapshots with a public RPC boundary reserved for direct pool events.

HTTPJSONRETRY
INGEST / SOLWS
PUMP.FUN

Snapshot discovery plus one PumpPortal socket for launches, migrations, and watchlists.

HTTPWSBACKOFF
01 / ADAPTERLOCAL
NORMALIZE

Untrusted venue payloads become one sanitized MarketEvent.

  • source + assetId
  • observedAt + evidence
  • stable event fingerprint
02 / POLICYSYNC
DETERMINISTIC GATE

Age, concentration, source flags, developer activity, score threshold.

SHORTLIST ≥ 45
03 / EVIDENCEWAL
SQLITE LEDGER

Primary-key dedup records every alert, review, and suppressed reason.

EVENTSCOREDECISIONWHY
04 / OPTIONALBYOK
OPENROUTER

Structured explanation only after local shortlist and daily budget guard.

JSON SCHEMACOST CAP
05 / DELIVERYUSER
ROUTE SIGNAL

The same evidence envelope reaches the channel you choose.

›_ CLITELEGRAMSLACK
LOCAL TRUST BOUNDARY NO WALLET · NO SIGNER · NO EXECUTION PATH Model output cannot mutate score, ledger identity, or trading state.
EXTERNAL INPUT LOCAL DETERMINISTIC OPTIONAL NETWORK FAILURE MODE: RECORD → BACKOFF → CONTINUE

THE SHIFT STAYS COVERED

It watches.
You decide.

SET UP LOCAL MVP → Open source / local data / user-supplied model

EVENT EVIDENCE

OBSERVATION

POLICY REASONS

    Read-only evidence. No action was executed.