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.
A Broadway financial platform: model a production's capitalization and waterfall, run scenarios, and share deal terms with investors through a read-only deal room.
FinanceShell · PythonGitHub @nathanjohnpayneOnlineOwner 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 financial operating system for Broadway productions: capitalization structuring, investor return and recoupment modeling, bear/base/bull scenario analysis, and token-secured deal rooms, replacing the term-sheet-plus-drifting-spreadsheet workflow.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Override is the financial operating platform for Broadway producers—from modeling your capitalization to managing investors, tracking recoupment, and distributing returns.Read the full README ↗Override is the financial operating platform for Broadway producers—from modeling your capitalization to managing investors, tracking recoupment, and distributing returns.
Live at: overridebroadway.com
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router, static export) |
| Language | TypeScript (strict) |
| UI | Tailwind CSS v4 + shadcn/ui + Lucide |
| Charts | Recharts 3 |
| Forms | react-hook-form |
| State | Zustand (persist middleware) |
| Backend | Firebase (Auth, Firestore, Storage, Analytics, Cloud Functions—one callable mutation backend) |
| Hosting | Firebase Hosting |
npm install -g firebase-tools)gcloud) for deploy-auth bootstrap / ADC refreshgit clone https://github.com/your-org/overridebroadway.git
cd overridebroadway
npm install
.env.local with your Firebase config:NEXT_PUBLIC_FIREBASE_API_KEY=
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=soyouthinkyouwant.firebaseapp.com
NEXT_PUBLIC_FIREBASE_PROJECT_ID=soyouthinkyouwant
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=soyouthinkyouwant.firebasestorage.app
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=777571271688
NEXT_PUBLIC_FIREBASE_APP_ID=
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=
Get these values from: Firebase Console → Project Settings → Your Apps → Web App config.
npm run dev
Open http://localhost:3000.
| Command | Description |
|---|---|
npm run dev | Start development server |
npm run build | Static export to out/ (includes prebuild/postbuild scripts) |
npm run lint | Run ESLint |
npm run deploy | Deploy hosting + Firestore rules + Storage rules + the override-mutations Cloud Functions codebase via keyless impersonation (see DEPLOYMENT.md) |
npm run deploy:hosting | Deploy hosting only via keyless impersonation; does not ship backend changes |
src/
├── app/ # Next.js App Router pages and components
│ ├── (auth)/ # Login and signup (public)
│ ├── (app)/ # Authenticated routes (dashboard, production hub)
│ └── deal-room/ # Public investor-facing deal room
├── components/ # Shared components (analytics, update checker, shadcn/ui)
├── contexts/ # React context providers (auth)
├── hooks/ # Custom hooks (productions, deal inputs, investors, pools)
├── lib/ # Firebase integration, Firestore reads, `mutate` callable client, storage, utilities
│ └── model/ # Financial engine (calculations, scenarios, waterfall, formatters)
├── stores/ # Zustand stores (UI state)
└── types/ # TypeScript type definitions
The callable mutation backend (mutate) lives in functions/ and is the only write path; see specs/resource-quotas.md.
NEXT_PUBLIC_FIREBASE_* values in .env.local, not in tracked source..env.local, redeploy, verify the live site uses the new key, then delete the old key.Private/GCP ADC source credential through the 1Password CLI without browser login; if that credential itself needs rotation, refresh it once and update the item; if IAM bindings drift, rerun op-firebase-setup soyouthinkyouwant.Private/GCP ADC, then run op-firebase-setup soyouthinkyouwantnpm run deploy or npm run deploy:hostingop-firebase-deploy keeps the old name for compatibility, but it now creates a short-lived impersonated credential for [email protected] from a 1Password-backed GCP ADC source credential or another explicit GOOGLE_APPLICATION_CREDENTIALS file.op://Private/<item>/<field> references and op inject into gitignored runtime files during deployPrivate—All rights reserved.