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.
The Tracker — live market rates, spreads, and order book monitoring across regional markets.
FinanceTypeScript · PLpgSQLGitHub @taheito26-sysOnlineOwner 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
Loading the full README. The saved excerpt is shown below.
This repository remains a single Vite + React codebase for desktop web, mobile web/PWA, and Capacitor native wrappers.
• Capacitor dependency wiring in package.json
• Capacitor config in capacitor.config.ts (uses Vite dist/ output)
• Scripts to add/sync/open Android and iOS projects (all via npx --no-install cap so no global cap binary is required and commands only use the local CLI install)
• Safe platform detection helpers in src/platform/runtime.ts
No desktop layout/navigation/business-logic rewrite is included.
Source integrity safeguards (code generation / patch pipeline)Read the full README ↗This repository remains a single Vite + React codebase for desktop web, mobile web/PWA, and Capacitor native wrappers.
package.jsoncapacitor.config.ts (uses Vite dist/ output)npx --no-install cap so no global cap binary is required and commands only use the local CLI install)src/platform/runtime.tsNo desktop layout/navigation/business-logic rewrite is included.
npm install
npm run dev
npm run build
npm run preview
npm run guard:generated -- <file...> validates .ts/.tsx/.js/.jsx files for:
"The user is", "I need to", "continue where", "previous response")scripts/safe-source-write.mjs performs the same validation before writing content to a source file; if parsing/sanitization fails it aborts the write.npm run build now enforces TypeScript preflight (tsc --noEmit) before vite build.npm run guard:precommit validates staged source files, and when critical UI files are staged (src/pages/OrdersPage.tsx, src/pages/MerchantsPage.tsx, src/components/*) it also runs:
npm run typechecknpm run build:dry-runCreate native projects once:
npm run cap:add:android
npm run cap:add:ios
Sync web build into native projects:
npm run cap:sync
Open native IDE projects:
npm run cap:android
npm run cap:ios
@capacitor/* packages).Use src/platform/runtime.ts utilities for guarded checks:
isNativeApp()isAndroid()isIOS()isWebBrowser()Keep native-only behavior behind these checks so browser desktop remains unaffected.
Once a user is signed in on a mobile browser (iOS or Android), a blocking install
gate appears — the app must be installed before it can be used on a phone or tablet. The
policy lives in src/platform/install-gate.ts and is rendered by
src/components/shared/MobileInstallPrompt.tsx:
intent://…;package=com.android.chrome link, which
installs a real WebAPK. Desktop Edge installs a proper app window and is unaffected.Inside a normal browser tab display-mode is always browser, even when the app is
installed — so standalone detection alone reports "not installed" forever. The gate also
calls navigator.getInstalledRelatedApps(), which needs related_applications in the
manifest (declared in vite.config.ts, pointing at the production origin). Override the
origin per environment with PWA_ORIGIN=https://your-domain at build time, otherwise the
call cannot match and detection silently falls back to standalone-only.
Detection runs on mount, on tab focus, and on the "I've installed it — recheck" button.
isInstalledPwa() accepts standalone, minimal-ui, fullscreen and
window-controls-overlay display modes, iOS navigator.standalone, and the
android-app:// referrer set by WebAPK launches — a plain shortcut matches none of these,
which is exactly the distinction that keeps shortcuts from passing as installs.
Set VITE_FORCE_MOBILE_INSTALL=false at build time to fall back to the soft prompt on
mobile (kill switch for fleets on browsers that cannot install a PWA). Append
?pwa_debug=1 to any URL to see the resolved gate state.
Run these commands in order to validate native pipeline readiness:
npm run build
test -f dist/index.html
npx cap sync
If platform folders are missing, generate them once:
Note: Native
android/andios/projects are generated locally via Capacitor commands and are not committed to this repository to avoid binary artifacts in PRs.
npx cap add android
npx cap add ios
For this app's auth to work reliably across web + Capacitor Android, configure all of these redirect URLs in your Supabase Auth settings (and any provider allow-list if required):
https://<your-production-domain>/auth/callbackhttp://localhost:5173/auth/callbackhttp://localhost:5173/reset-passwordcom.taheito26sys.corerefactorinitiative://login-callbackcom.taheito26sys.corerefactorinitiative://reset-password-callbackImplementation notes:
/auth/callback, /reset-password).com.taheito26sys.corerefactorinitiative://...).AndroidManifest.xml intent filters and routes back into the SPA callback routes.