Oracle3
Open-source trading engine and MCP server for prediction markets. Fee-aware no-arbitrage trading across related contracts, live on Kalshi, Polymarket and Solana or on paper.
Prop-firm evaluations, funded accounts and live broker accounts side by side — with a real journal, live sync and order copying.
FinanceTypeScript · PythonGitHub @Chris-Selorm-GadzeOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
A prop trading tracking and performance dashboard
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
A personal trading operations suite — started as a prop-firm account tracker, has grown into a
full toolkit spanning account tracking, live broker sync, trade copying, journaling, and AI-backed
review. No firm's rules or risk math are hardcoded in anywhere; every number is either user-entered
or pulled live from a real broker. Data is per-user in Supabase (sign in required).Read the full README ↗A personal trading operations suite — started as a prop-firm account tracker, has grown into a full toolkit spanning account tracking, live broker sync, trade copying, journaling, and AI-backed review. No firm's rules or risk math are hardcoded in anywhere; every number is either user-entered or pulled live from a real broker. Data is per-user in Supabase (sign in required).
worker/) that holds the broker MT5 terminals open and places the orders itself. It is the
only part of the system that can reach a broker. The worker is platform infrastructure: the
founders run it and it serves every user, each in their own process, claimed through
expiring leases so no user is ever run by two machines. Add machines to scale out. Master/follower copy links (created
disarmed), risk profiles with stopouts/unlock, a per-copy execution log, and
test-connection / close / flatten commands pushed to the worker. The worker applies symbol
mappings from the symbol_mappings table, but the app has no screen for editing them yet. The worker also has a DXtrade
executor. cTrader and MT4 are stubs, and Tradovate is blocked. Futures copying isn't built.opening_balance_at), so the 72h backfill isn't counted twice.eaglecapital-broker-sync service, which isn't deployed. The
page is hidden from the nav unless VITE_BROKER_SYNC_API_URL is set. Tradovate is also blocked
on a paid API plan.trading-insights Edge Function. It uses Groq if
GROQ_API_KEY is set, otherwise Anthropic, and is capped per user per day.economic-calendar Edge Function, filterable by impact and by
country/instrument.purge-deleted-accounts).There is no separate backend service for the copier. The browser reads and writes the copier's
tables directly under RLS. The copier-gateway Edge Function handles the two things that need
ENCRYPTION_KEY (connecting an account, fixing its credentials) and is the worker's fallback
API. The worker itself talks to Postgres directly (worker_api functions) and receives commands
by NOTIFY. See WORKER.md for the whole picture.
npm install
npm test # run the test suite
npm run lint # correctness lint — run it, typecheck alone misses hook-order bugs
npm run dev # open http://localhost:5173
Requires a Supabase project. Set the env vars in .env.example in .env.local, then run these
three files in the SQL editor, in this order:
supabase/schema.sql — the app's tables.supabase/delta-engine-schema.sql — the copier's tables (read its header first).supabase/migrations-worker-direct.sql — the worker's direct database path.supabase/migrations-shared-worker.sql — one worker serving every user (leases, terminal
reservation, the operator fleet view).All four are idempotent. The other supabase/migrations-*.sql files are deltas for a database
created before they were folded into the two schema files. A fresh project doesn't need them.
Three pieces, none of which a git push deploys completely:
VITE_* vars in the Vercel dashboard. .env.local never
reaches production.copier-gateway, trading-insights,
economic-calendar, purge-deleted-accounts) and their secrets. See DEPLOY.md.WINDOWS-SETUP.md for the bring-up and
worker/README.md for running and scaling it.The GitHub remote is still named prop-tracker (github.com/Chris-Selorm-Gadze/prop-tracker)
from before the app outgrew that name — renaming it is a deliberate call to make later (affects
clone URLs and any CI/deploy hooks tied to it), not something to do in passing.
| Path | What |
|---|---|
CLAUDE.md | Architecture and invariants (context for Claude Code sessions) |
workflow.txt | Change log, incl. the LOAD-BEARING fixes not to revert |
later.txt | Known gaps deliberately deferred |
DEPLOY.md | Supabase deploy steps: schema, Edge Functions, secrets, cron |
WORKER.md | How the worker, the database and the gateway fit together |
WINDOWS-SETUP.md | Step-by-step bring-up of the Windows worker |
supabase/schema.sql, supabase/delta-engine-schema.sql | Postgres schema + RLS policies (app, copier) |
supabase/migrations-*.sql | Deltas for databases created before a change was folded in; migrations-worker-direct.sql and migrations-shared-worker.sql are still required |
supabase/functions/ | Edge Functions: copier-gateway, trading-insights, economic-calendar, purge-deleted-accounts |
scripts/verify-copier-gateway.sh | Contract check for the gateway's worker endpoints |
worker/ | The Windows copy engine (Python + PowerShell); engine/tenancy.py is the multi-user supervisor — see worker/README.md |
src/db/ | Supabase-backed data access (accounts, sessions, payouts, rewards, trades, report cards, playbooks, trading rules, copier, live positions, broker connections, account deletion) |
src/features/accounts/ | Prop-firm + live account management, risk cockpit |
src/features/copier/ | Trade Copier page |
src/features/liveposition/ | Live Trading page |
src/features/brokers/ | Broker Connections (parked MetaApi/Tradovate flow) |
src/features/trades/ | Trade Log + Trade Journal |
src/features/playbooks/ | Setup library with performance stats and PDF/Word export |
Personal tool for tracking accounts and journaling trades — not financial advice, and not a substitute for your own risk judgment. No firm's rules or risk math are encoded anywhere; the Trade Copier mirrors real orders between accounts you connect, so treat it with the same care as any other live-trading tool.
src/features/reportcard/, src/features/tradermanagement/ | Daily Report Card, personal rules |
src/features/insights/ | AI Insights (pattern detection + LLM digest) |
src/features/calendar/, src/features/charting/ | Economic Calendar, TradingView charting |
src/features/settings/ | Settings: export, sign out, account deletion |
src/landing/ | Public marketing site |
src/lib/sentry.ts, src/lib/posthog.ts | Observability wiring |
eaglecapital-broker-sync (separate repo, parked) | Backend for the parked Broker Connections page only |