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.
23 DeFi protocols on Ethereum and Base, plus Polaris on Sepolia — every position replayed from the protocol's own on-chain events, with a receipt on every number.
FinanceTypeScript · JavaScriptGitHub @rails-financeOnlineOwner 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.
The web app behind rails.finance: position explorers for DeFi lending
protocols, with every figure re-derived from the chain and a transaction timeline that says what
happened, event by event.Read the full README ↗The web app behind rails.finance: position explorers for DeFi lending protocols, with every figure re-derived from the chain and a transaction timeline that says what happened, event by event.
Twenty-six explorers across Ethereum, Base and Sepolia. On Ethereum: Aave V3, Aave V4, Asymmetry,
Compound V2, Compound V3, Dolomite, Ebisu, Fluid, Frankencoin, f(x), Liquity V1, Liquity V2,
LlamaLend, MakerDAO, Maple, Moonwell, Morpho Blue, PWN and Spark. On Base: Aave V3, Basedollar,
Compound V3, Moonwell, Morpho Blue and Seamless. On Sepolia: Polaris. The roster is
lib/shared/protocols.ts; what each explorer can state, and what it cannot yet, is the coverage
matrix at /coverage, driven by lib/shared/coverage.ts.
Every explorer has a listing, a position page and a timeline. A position page shows chain-state balances and health beside the indexed history, prices each event at its own block where the protocol's oracle allows it, and exports the position as Markdown or CSV for pasting into an LLM. Where a figure cannot be stated from chain, the page says so rather than estimating.
Next.js App Router, TypeScript, Tailwind. Server-side route handlers talk to a bearer-authenticated
indexing backend (RAILS_API_URL) and, for live chain state, to an Ethereum and a Base RPC. No key
reaches the browser. .env.example documents every variable the app and its scripts read.
pnpm install
cp .env.example .env.local # fill in the runtime keys
pnpm dev
pnpm check # routes, locale, OG cards, dead code, types
scripts/verify-*-chain.mjs re-derive an explorer's figures from the protocol's own contracts and
check them against what the site serves; scripts/verify/run-all.mjs runs the page-level
verifiers against a running dev server.
Rails is in beta. Explorers whose coverage cells are still open say so on /coverage.
MIT — see LICENSE. Third-party images and one transcribed icon are listed in ATTRIBUTION.md and are not covered by it.