Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Eligibility for global asset ownership. What you can own where you live, and where to buy it.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗What this is: the frontend for "what can I own here, and where do I buy it?" — a country × asset-class ownership matrix with a resolver that turns free text (Google, a house, gilts) into the right rule per country, a citizen/foreigner toggle, and a buy column that routes to partner venues with an attribution tag.
Open site/index.html in a browser to see it. Open docs/GLOSSARY.html to understand it end to end.
├── README.md ← you are here
├── CLAUDE.md ← project context for Claude Code (auto-read)
├── CLAUDE_CODE_FIRST_PROMPT.md ← the mentor's original brief
├── DEPLOY.md ← running the API and serving the page
├── app/
│ └── index.html ← the working page, single file, data inlined
├── data/ ← the same data, split into modules
│ ├── assets.json categories.json aliases.json entities.json
│ ├── countries.json venues.json activity.sample.json
│ └── schema/ README.md (data model) · schemas.json (JSON Schema)
├── services/api/ ← the HTTP API (see services/api/README.md)
├── packages/core/ ← resolver + matrix as a dependency-free ES module
│ ├── index.js package.json test.js (node test.js)
└── docs/
├── GLOSSARY.html ← vocabulary, architecture, build log, open questions
├── api/ openapi.yaml · API.md
└── diagrams/ resolver-pipeline.svg · system-flow.svg
The same listed share exists onchain as several different legal claims. Vestail records which, where, and what each one actually is:
| Chain | Provider | Tokens | Structure |
|---|---|---|---|
| Solana | xStocks, Backpack, Ondo, Tessera, PreStocks | 92 tokens across 48 symbols | custody-backed, entitlement, note |
| Robinhood Chain | Robinhood | 25 | tokenised debt, not redeemable |
| Base | Coinbase | 1 | share claim, redeemable |
The Solana total is 42 xStocks, 43 Ondo representations, three Tessera representations, three PreStocks representations and one Backpack entitlement.
Robinhood's rows are kept current by npm run tokens:robinhood, which reads
every address off the chain rather than trusting the registry that listed it.
Solana additions use scripts/sync-solana-tokens.mjs: Jupiter search supplies
candidates, while the SPL mint and its canonical metadata supply the facts
that Vestail records.
USO and SLV are carried as verified representations but deliberately have
no ownership verdict yet: the current model has no honest class for an
oil-futures fund or silver bullion. DRAM and COPX are classified by the
listed equity-fund units a buyer holds, not by their underlying sectors.
import { createVestail } from "./packages/core/index.js";
const core = createVestail({ assets, categories, aliases, entities, countries, venues }); // the JSON files
core.resolve("tesla shares"); // -> { stage:"entity", assets:[3,4], trail:[…], perCountry }
core.matrix("farmland", "foreigner"); // -> ranked rows with one cell + cta each
core.venues("cryptocurrency", "NG"); // -> [{ name:"Luno", url:"…?ref=vestail" }, …]
Everything in data/ is illustrative. Rules need legal review and provenance; venues are homepages, not affiliate links; HUD numbers are placeholders. See "Open questions" in the glossary.
The private operational dashboard is available at http://localhost:8080/admin.
It reads live Privy accounts, the current catalog and rule matrices, and recorded
route activity. It does not display sample metrics or call a route a completed trade.
Add the owner's exact Privy user ID to web/.env.local:
VESTAIL_ADMIN_USER_IDS=did:privy:your-owner-user-id
Separate multiple owners with commas. The server checks this allowlist on every
admin data request; never give it a NEXT_PUBLIC_ prefix.
/early-access is a standalone signup page. In production, configure
KV_REST_API_URL and KV_REST_API_TOKEN for durable, email-deduplicated
storage. Local development falls back to .data/early-access.jsonl, which is
git-ignored. The signup API validates every payload, uses a honeypot and keeps a
short-lived in-memory IP rate limit; IP addresses are not written with signups.