Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
비트코인·테슬라·OpenAI·Canton 코인을 몇 분 단위로 청산하고 실시간 손익을 한 번에 확인
Call the close on Bitcoin, Tesla, OpenAI or Canton Coin, a few minutes at a time. Watch your PnL live and close in one tap. Your position is a private contract on Canton: only you and the venue can se
금융TypeScript · CSSGitHub @Blockchain-Oracle온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Prediction market on Canton/Daml — HackCanton League Season 3, Track 2
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Owarine · 終値 Call the close. Keep your position private. Short price predictions, games and trading agents on Canton Network. Owarine is a private prediction market on Canton, built with Daml. Pick a short price Window, take Up or Down at the venue's firm quote, watch your position, and close early or let the Window settle. Positions are contracts whose stakeholders are the owner and the venue. Games, copyable strategies and bounded agent desks offer other ways into the same markets, on the web and in the native phone app.README 전문 보기 ↗
Owarine is a private prediction market on Canton, built with Daml. Pick a short price Window, take Up or Down at the venue's firm quote, watch your position, and close early or let the Window settle. Positions are contracts whose stakeholders are the owner and the venue. Games, copyable strategies and bounded agent desks offer other ways into the same markets, on the web and in the native phone app.
Built for HackCanton League Season 3 · Financial Applications. Owarine (終値) means closing price. This prototype uses demo credits with no cash value and DevNet Canton Coin. See what is verified for recorded journeys and current limits.
Active traders who want to call the next price move face a trade-off: public-chain positions expose their activity, while hosted venues require them to trust private settlement rules.
Owarine offers short Up/Down markets, firm quotes, and position contracts shared with the owner and the venue. Canton scopes contract visibility; Daml enforces acceptance, oracle-based outcomes, payouts and refunds. Traders can inspect the rules behind their call while keeping the position private.
Problem, value and current status
One call. Choose Bitcoin and a five-minute Window. The opening print sets the line. Up wins if the closing print is at or above it; Down wins if it is below. Before accepting, read the quote for your size, the cost, fee and possible payout. A winning lot pays one demo credit; a losing lot pays zero. A void returns the stake and fee. A displayed spot price is not itself a settlement print.
| Way in | What you do | Start here |
|---|---|---|
| Predict | Call stocks, crypto, tokenized-stock prices, pre-IPO names or baskets. Read the actual lane hours and source availability. | Markets · trading guide |
| Play | Practice, compete in a duel, or try the chart games. Some games practice locally; others create ledger contracts. | Games · game guides |
| Put a strategy to work | Publish, copy or fade a strategy, or create a desk with allowed instruments and spending limits. Desk practice is paper; a funded mandate is a separate path. | Agents · Desk · desk guide |
| Inspect the result | Follow the opening and closing prints, resolution, payout and receipt. | Proof · Portfolio |
A prediction on a tokenized-stock price does not buy the underlying share. Pooled guest seats are a demo identity, not a durable account for real-money custody.
We are starting with active crypto traders who make short price calls and care about keeping their positions private. Canton builders and early testers can explore the DevNet flow, inspect its rules, and help improve quote clarity and onboarding. Paying customers, pricing and repeat-use demand are still being validated.
Watch the recorded demo on YouTube, or open it on Owarine. The cover is an editorial composition based on a dated Owarine app screen; the artwork itself is not a recording or a transaction receipt.
For an evidence walkthrough now, read the recorded DevNet acceptance: firm quote → acceptance → owner and outsider reads → oracle prints → resolution → settlement. It also includes the void refund, stale refund with operations stopped, and Canton Coin deposit/withdrawal records. Failed attempts are retained alongside the successful runs.
The documentation walkthroughs include eleven captioned recordings of the hosted app, with arrows pointing to the controls used. The first-trade guide records a BTC call reaching settlement; each guide separates what the recording demonstrates from unavailable or untested paths.
This unchanged capture shows the interface at that date. It is separate from the generated banner and cover, and does not prove a newly executed ledger trade.
Your seat · Price sources · Availability
The source data is attested by the venue's oracle parties. Three signers do not make the upstream feeds independent, and Owarine does not claim that every provider's cryptographic update is verified inside Daml. See the price policies, print rules and Daml engine.
Diagram source · Regenerate from docs-site with node scripts/export-readme-architecture.mjs.
The privacy boundary matters. An ordinary position and cash contract name the seat and venue as stakeholders; another party's ledger query does not receive them. The venue sees its counterparties. In this prototype, Noders hosts the parties on one participant and one server ledger user can act for them, so the participant operator and the application server remain trusted. The device key authenticates a seat request; it is not evidence of independently hosted, externally signed parties. Public posts and opted-in records reveal what the user chooses to publish; a duel has both players as stakeholders.
Privacy tests · seat authorization · party-view route · architecture guide
| Piece | Role in Owarine | Code |
|---|---|---|
| Canton Network | Party-scoped contracts and a shared participant on Noders DevNet. | Ledger client · DevNet preflight |
Daml abu-pm-main 0.5.2 | Windows, prices, quotes, positions, cash, settlement, refunds, reserves and resting calls. | Main package |
abu-pm-tickets 0.1.4 | Range, Moonshot, Parlay and Boost contracts. | Tickets |
abu-pm-agents 0.2.2 | Strategies, subscriptions, creator fees and bounded desk mandates. | Agents |
abu-pm-games 0.1.2 | Duel contracts, results and season prizes. | Games |
abu-pm-cc 0.1.1 · CIP-56 | Token-standard Canton Coin deposits, withdrawals and reserve statements. The recorded round trip uses DevNet coin. | Coin rail · rail operations |
abu-pm-seat 0.1.0 | Standing exits and send/accept demo-credit transfers. | Seat package |
The six package versions are in the checked-in source and release files. Deployment and execution are different claims: a package being registered does not prove every feature using it has completed a DevNet journey. Released DARs and hashes · Daml Script tests
Validation summary · This editorial cover illustrates the flow; the dated records below support the technical claims.
Evidence snapshot: 8 October 2026. The complete capability inventory preserves 219 entries and their original states. Its live label means a recorded DevNet run, not uninterrupted availability; it is conservative and some entries still describe older local acceptance.
| Area | Evidence and limit |
|---|---|
| Public website | Hosted app walkthroughs were recorded on 8 October, including a BTC two-minute Up call that settled WON with a 3-credit payout. Status also reported degraded feeds and resolver checks; no uninterrupted-availability or uptime-soak claim is made. |
| First call on DevNet | Recorded 6 October: firm quote, acceptance, owner view, empty outsider view, oracle attestations, resolution, payout, void refund and stale refund while operations were stopped. Acceptance records. |
| Canton Coin rail | Recorded 7 October: 200 test CC faucet, 100 CC deposit, 12.5-credit allowance, 5-credit withdrawal returning 40 CC, and a covered remaining reserve. The 8 October hosted recording separately shows a 20 CC deposit adding 2.5 credits. These are test amounts at each run's listing rate. Acceptance records · balance walkthrough. |
| Broader market lanes, tickets, strategies and games | Daml tests and dated local-sandbox drives exist. Their presence in the product is not a blanket claim of DevNet acceptance. Follow each capability's evidence. |
| Standing exits and credit transfers | Seat package and local drive evidence are present; this documentation pass did not verify the R2 user journey on DevNet. |
| Native phone app | iOS Simulator journeys against a local stack are recorded. Physical-device acceptance, public TestFlight/Android distribution and real push delivery remain unverified here. |
| External integrations | Sensei, X workflows and entitlement-gated price sources depend on working credentials and provider availability. Source adapters are not proof of a live integration. |
| Docs and demo | Source-backed guides, seven Mermaid diagrams and eleven captioned hosted-app walkthroughs are included in the docs app. The README play-button cover opens the website's /demo page; the cover itself does not prove a completed film or ledger journey. |
No MainNet trading, independent security audit, completed user study or production-money readiness is claimed.
| Milestone | Status |
|---|---|
| Canton DevNet web prototype | Available with demo credits and test funds. |
| Native mobile app | In development. |
| TestNet launch | Planned after user testing and improvements to wallet access and reliability. |
Our first distribution plan is hands-on Canton community demos, direct trader trials and walkthroughs shared through @owarine_app. We will measure first-trade completion, repeat use and feedback to guide the next release.
Go-to-market plan · Five-slide pitch · Header artwork provenance
Use Node.js 22+, pnpm 11.24.0, JDK 21, Daml package manager (dpm) / Canton 3.5, and Postgres. Set JAVA_HOME to your JDK and ensure java and dpm are on PATH (the default dpm location is $HOME/.dpm/bin). The Daml packages pin SDK 3.5.2. See the dpm installation guide for tool installation. Clone with full Git history: evidence checks resolve immutable historical objects after internal notes leave the public tree.
Run commands from the repository root. Create an empty local Postgres database and keep its connection URL ready.
pnpm install --frozen-lockfile
cp .env.example .env.local
cp services/ops/.env.example services/ops/.env.local
cp web/.env.example web/.env.local
# Build packages; tests are a separate command.
(cd daml && dpm build --all)
(cd daml/pm-tests && dpm test)
In a second terminal, keep the local Canton sandbox running:
dpm sandbox --json-api-port 7575
Back in the first terminal, allocate parties and seed the venue with six guest seats:
LEDGER_JSON_API_URL=http://127.0.0.1:7575 LEDGER_AUTH_MODE=none \
pnpm --filter @owarine/scripts exec tsx bootstrap-local.ts --seats 6
Fill the copied environment files before starting the services:
| Variable | Where | Local value |
|---|---|---|
DATABASE_URL | web/.env.local and services/ops/.env.local | The same local Postgres connection URL |
LEDGER_JSON_API_URL | Both files | http://127.0.0.1:7575 |
LEDGER_AUTH_MODE | Both files | none |
OWARINE_PARTIES_FILE | Both files | The absolute path to the generated ~/.config/owarine/canton/parties.json; expand ~ to your home directory |
OPS_INTERNAL_SECRET | Both files | The same random secret of at least 32 characters |
OWARINE_SEAT_COOKIE_SECRET | web/.env.local | A separate random secret of at least 32 characters |
OPS_INTERNAL_URL | web/.env.local | http://127.0.0.1:8080 |
OPS_HTTP_PORT | services/ops/.env.local | 8080 (the command otherwise defaults to 8787) |
DRY_RUN | services/ops/.env.local | 0 |
NEXT_PUBLIC_CANTON_NETWORK | web/.env.local | localnet |
NEXT_PUBLIC_APP_ORIGIN | Both files | http://localhost:3000 |
NEXT_PUBLIC_SITE_URL | web/.env.local | http://localhost:3000 |
NEXT_PUBLIC_DOCS_URL | web/.env.local | http://localhost:3153 |
NEXT_PUBLIC_PRICE_FEED_URL | web/.env.local | http://localhost:8080 |
NEXT_PUBLIC_LADDER_URL | web/.env.local | http://localhost:8080 |
Generate each secret with node -e "console.log(require('node:crypto').randomBytes(32).toString('hex'))". The database package applies its schema automatically. Ops loads its own environment file before the root file; shell variables take precedence. Optional integrations use the remaining entries in the examples.
In a third terminal, start venue operations and the projector:
pnpm ops:start
In a fourth terminal, start the web app and open localhost:3000:
pnpm dev
Alpaca credentials enable stock lanes; crypto feeders read exchange candles. Optional integrations stay unavailable without their own prerequisites. See the environment examples, ops configuration and builder setup.
pnpm typecheck
pnpm invariants
pnpm test
pnpm build
# The docs app has its own install and content/build checks.
pnpm -C docs-site install --frozen-lockfile
pnpm -C docs-site check
# Keep this running in a separate terminal to view http://localhost:3153.
pnpm -C docs-site dev
Native app setup · DevNet party-file template · DevNet bootstrap
The web/native application and shared interface foundation predate the Canton port. The hackcanton-s3-start tag records that starting point.
The Canton work includes six Daml packages and Daml Script tests, the JSON Ledger API v2 client, Canton market adapter, venue/oracle/resolver/settler operations, seat authentication and authorization, privacy/proof/receipt surfaces, Canton Coin rail, and Canton native-app integration. Inspect the changes with:
git log --oneline hackcanton-s3-start..HEAD
git diff --stat hackcanton-s3-start..HEAD -- daml packages services web mobile
| Looking for | Start here |
|---|---|
| Product guides and source map | Documentation · source map |
| Money rules, privacy and conservation tests | Daml packages · Script tests |
| Quotes, lanes and settlement | Market package · core rules · venue operations |
| Dated verification for human or automated review | Acceptance records · capability inventory |
| Documentation text for automated readers | Run the docs site, then open /llms.txt or /llms-full.txt. Export implementation |
| Brand and editorial asset provenance | Brand · asset manifest |
Maintained by Abubakr Jimoh · MIT license · Third-party notices
| JSON Ledger API v2 | Submission, active-contract reads, command deduplication and the update stream. | Client · generated bindings |
| Next.js · Expo · Postgres | Web, native app, seat leases, projections and journals. | Web · Mobile · Database |