Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기A personal multi-chain crypto portfolio tracker that runs entirely in your browser. Ethereum, Solana, Base, Arbitrum, HyperEVM, Robinhood Chain and more. No account, no backend, no API key required.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A personal multi-chain portfolio manager that runs entirely in your browser.
Track every asset you hold, across every wallet and blockchain you use. No account, no backend, no API key required.
Paste in the addresses you want to watch, name them, and OpenPort shows you what they're
worth — combined, or one wallet at a time.README 전문 보기 ↗A personal multi-chain portfolio manager that runs entirely in your browser.
Track every asset you hold, across every wallet and blockchain you use. No account, no backend, no API key required.
→ Try it live at openport.ehlabs.xyz
Paste in the addresses you want to watch, name them, and OpenPort shows you what they're worth — combined, or one wallet at a time.
It costs almost nothing to run. One Multicall3 batch per chain covers every token for
every wallet at once, so cost scales with how many chains you use, not how big your
portfolio is. Prices and token logos arrive in a single CoinGecko call. Refresh is a button,
never a background poll, and results are cached — reopening the app makes no network calls at
all. A typical setup sits comfortably inside a free Alchemy tier, or skips Alchemy entirely.
It won't lie to you. A chain that fails to load is shown as failed, never as $0. A total
built from incomplete data says so. Assets without a price show their quantity rather than a
made-up value. The 12-month chart is honest about being an approximation, and clamps itself to
the date your wallet first appeared on-chain instead of drawing a year of fiction for a wallet
you created last week.
It can't touch your funds. Addresses only. There is no signing path, no wallet connection, and no private key input anywhere in the codebase.
| Network | Chain ID | Type | Public RPC works |
|---|---|---|---|
| Bitcoin | — | UTXO | ✅ |
| Ethereum | 1 | EVM | ✅ |
| Robinhood Chain | 4663 | EVM (Arbitrum L2) | ✅ |
| Base | 8453 | EVM | ✅ |
| Solana | — | SVM | ✅ |
| Arbitrum One | 42161 | EVM | ✅ |
| Hyperliquid HyperEVM | 999 | EVM | ✅ |
| Hyperliquid HyperCore | — | native L1 | ✅ |
| Abstract | 2741 | EVM (ZK rollup) | ✅ |
| Tempo | 4217 | EVM | ✅ |
| MegaETH | 4326 | EVM | ✅ |
| Blast | 81457 | EVM | ✅ |
| Keeta | — | custom | ✅ |
Every endpoint shipped by default was tested from a browser. Endpoints that look healthy but send no CORS headers are useless to a client-side app, so they aren't included.
Note: Hyperliquid is read twice, because it is two systems sharing one address. HyperEVM is the EVM execution layer; HyperCore is the native L1 holding your spot balances and perps account, which is invisible to
eth_calland needs Hyperliquid's own API. Both are keyless.
Note: Robinhood Chain is Robinhood's Ethereum-compatible L2 for tokenised real-world assets. It is not the Robinhood brokerage, and OpenPort has no connection to any brokerage account.
git clone https://github.com/ivaavimusic/openport.git
cd openport
npm install
npm run dev
Open http://localhost:3000, go to Settings, and add a wallet address. That's it — no key, no signup.
Prefer not to run it yourself? The same build is hosted at https://openport.ehlabs.xyz — it's the identical client-side app, so your wallets and keys still never leave your own browser.
OpenPort works without one. Adding a free Alchemy key in Settings unlocks:
| Without a key | With a key | |
|---|---|---|
| Token balances | Major tokens only (curated list) | Every token you hold |
| Solana SPL tokens | ✗ public nodes refuse the lookup | ✅ |
| NFTs | ✗ needs an indexer | ✅ |
| EVM tax export | MegaETH only | All EVM chains |
| Wallet age (chart clamp) | Solana only | All chains |
If you add a key, enable the networks you want in your Alchemy dashboard — they're off by default per app, and OpenPort will tell you which ones are switched off.
Settings → RPC endpoints. Each network has a list you can extend with +. Your own
endpoints are tried first, then Alchemy, then the public fallbacks, with automatic failover
down the list.
Everything lives in your browser's localStorage. There is no server, no database, no
telemetry, and no account.
One honest caveat: an Alchemy key in localStorage is readable by any script running on the
page. That's normal for a personal tool on your own machine, but don't paste a key with
billing scope you care about. Since public RPCs are the default, most people never enter one.
The Tax Export tab fetches a single wallet's history and downloads it as a CSV with
Date, Asset, Amount, Fee, P&L, Payment Token, ID, Notes, Tag, Transaction Hash.
Solana uses signature history with balance-delta accounting, so swaps and multi-instruction
transactions come out right. MegaETH uses Blockscout. Other EVM chains use Alchemy's transfer
API. Where a source doesn't report fees, the UI says "Not reported" rather than showing 0 as
if you paid no gas.
Next.js 16 (App Router, Turbopack) · React 19 · TypeScript · Tailwind CSS 4 · shadcn/ui · viem · CoinGecko · Alchemy (optional)
It's a static Next.js app — any host works.
npm run build && npm start
For Vercel: import the repo and deploy. No environment variables are needed; keys are entered by each user in their own browser.
The official instance runs at https://openport.ehlabs.xyz.
Issues and pull requests are welcome.
Adding a network is usually a single entry in src/lib/chains.ts. If
it's EVM with Multicall3 deployed, balances work immediately. Please verify the public RPC is
callable from a browser (CORS) before adding it — an endpoint that only works from curl
doesn't help here.
npm run dev # dev server
npm run build # production build
npm run lint # eslint
npx tsc --noEmit # typecheck
These are real, and deliberately visible in the UI rather than hidden:
MIT — see LICENSE.
Built by EventHorizon Labs