Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
Base와 Solana에서 정확한 주식 상품을 비교하고 기업 상황을 추적하며, 지갑 인증 보유자 전용 커뮤니티에 참여한다
Compare exact stock instruments on Base and Solana, follow company context, and join private wallet-verified holder circles.
금융TypeScript · JavaScriptGitHub @ronkenx9온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Find your circle. Company discovery, tokenized stocks on Base, and a more personal watchlist.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Find your circle.
Discover companies, follow your interests, and give your watchlist a little personality.
Proposed economic design: DAYC, service credits, creator incentives and treasury policy. This is a design proposal, not implemented token commitments.
Your interests are bigger than a ticker symbol. Gaming, AI, the brands you use every day: they connect companies, culture, and people.README 전문 보기 ↗Discover companies, follow your interests, and give your watchlist a little personality.
Tokenized stocks on X Layer, Base and Solana · Next.js · TypeScript · Privy · Postgres
Get started · Product · X Layer · Architecture · Roadmap
Proposed economic design: DAYC, service credits, creator incentives and treasury policy. This is a design proposal, not implemented token commitments.
Your interests are bigger than a ticker symbol. Gaming, AI, the brands you use every day: they connect companies, culture, and people.
Daybreak is building a discovery layer around those connections. Explore companies and their tokenized stocks across X Layer, Base and Solana, read the stories behind them, back your conviction with real stock, save what catches your eye, and make the experience yours. The longer-term home for all of this is your circle: people with shared interests exchanging watchlists, memes, and discoveries.
Electric blue, liquid glass, and plush stock-pin characters give Daybreak its identity. The interface is playful; the financial data stays explicit about its source, coverage, and limitations.
Status: active development. Anonymous discovery works without account credentials. The account data layer has local database validation; a complete hosted Privy-to-Postgres sign-in flow still needs deployment verification. Shared feeds and public watchlists are upcoming, and example community profiles are labeled.
Use Node.js 22 LTS and npm.
git clone https://github.com/ronkenx9/daybreak.git
cd daybreak
npm ci
cp .env.example .env.local
npm run dev
Open localhost:3000. The app is at /app; your profile is at /app/profile.
You can start with an empty .env.local. Discovery uses public Base, Solana and X Layer RPCs, news needs no API key, and personal saves stay on the device until the account backend is configured.
DaybreakConvictionVault is live on X Layer mainnet (chain 196) at 0x55318F36f5B482e9F2b1429f2Ca7fD7c5BBf97fc and supports 20 xStocks.
backWithPermit replaces the separate approval.The app uses the deployed vault by default; NEXT_PUBLIC_XLAYER_VAULT_ADDRESS only overrides it. Contracts, fork tests and the deploy script are in contracts/. The verified token table and integration notes are in docs/xlayer/README.md.
The live Conviction thesis page offers Buy the stock for the exact canonical Solana xStock paired with that thesis. Enter a USDC amount and a maximum USDC price per stock token. Flash returns a limit-order quote; the user's Privy-linked Solana wallet signs any first-time token-account/delegation setup and then signs the order message. Daybreak submits the order through Flash and reads its later status from Flash. A limit order may remain open, fill later, or expire after 24 hours. It is distinct from buying the thesis token through the Meteora DBC pool.
The integration uses the Flash quote API, Solana signing flow, order API, and order status API. Its human implementation is in lib/flash/stock-order.ts, app/api/theses/[id]/flash/quote/route.ts, setup/route.ts, order/route.ts, orders/route.ts, and FlashStockOrder.tsx. The server binds the quote to the authenticated wallet, thesis, canonical stock mint, USDC mint, amount, and limit price; the wallet signs an exact reviewed setup transaction and Ed25519 order message.
An owner can separately enable agent-driven Flash limit orders in You → Your market agents. The owner binds a dedicated standard Solana wallet, sets per-order and UTC daily USDC limits, and issues a new key with live:flash; existing paper keys never gain live access automatically. /api/v1/agents/flash/quotes, setup, and orders support the same exact-stock order with wallet signatures, policy rechecks, atomic daily reservations, and idempotent submission. Daybreak never stores or signs with the agent wallet key. Apply migration 0023_agent_flash_orders before deploying the new API. The agent quickstart and OpenAPI describe the flow. Agents cannot trade the thesis token through Meteora.
Create a Daybreak integrator key in Definitive's Flash dashboard and set DEFINITIVE_FLASH_API_KEY in the server environment for local development and production. Until that key is configured, Daybreak hides the order controls and its Flash routes reject quote, order, and order-list requests; it does not use Definitive's shared key as a fallback. NEXT_PUBLIC_PRIVY_APP_ID, PRIVY_APP_SECRET, DATABASE_URL, and SOLANA_RPC_URL are needed for authenticated wallet signing, account verification, and Solana setup confirmation. A real order spends funds; local verification does not sign, broadcast, or submit one.
.env.local and your hosting environment:| Variable | Purpose | Visibility |
|---|---|---|
NEXT_PUBLIC_PRIVY_APP_ID | Enables the Privy client | Public app identifier |
PRIVY_APP_SECRET | Verifies access tokens on the server | Server only |
DATABASE_URL | Account database connection | Server only |
BASE_RPC_URL | Optional dedicated Base RPC | Server only |
XLAYER_RPC_URL | Optional dedicated X Layer RPC | Server only |
npm run db:preflight
npm run db:migrate
npm run db:verify
Private API requests use verified Privy bearer tokens. The server derives the acting user from that token. Profile writes use version checks; bookmark and membership updates operate on individual records. Cross-device refresh happens on focus and at intervals, rather than through live push.
See account milestone notes for validation details and remaining acceptance checks. For the deployment sequence and authorization model, see Supabase database setup.
Next.js / React interface
├─ Company discovery, circles, holdings, profile
├─ Privy identity + wallet connection
└─ React Query
└─ Next.js API routes
├─ X Layer RPC → xStocks holdings, supply and the conviction vault
├─ Solana RPC → xStocks holdings; Definitive Flash → stock limit orders
├─ Base RPC → balances and oracle references
├─ GDELT → company headline links
├─ Dexscreener → related token discovery
├─ Aerodrome + GeckoTerminal → stock LP positions and pool activity
├─ OKX AI tool endpoint → agent discovery and scoped actions
└─ Verified Privy identity → Drizzle → Postgres
| Location | Responsibility |
|---|---|
app/ | Pages, styles, and API routes |
components/daybreak/ | Product interface, identity, account state, and artwork sections |
lib/xlayer/ | X Layer xStocks registry, holdings, supply and vault reads |
lib/solana/ | Solana xStocks and PreStocks registries and holdings |
lib/base/ | Base token registry, chain reads, valuation, and market integrations |
lib/okx/ | OKX AI tool catalog |
contracts/ | DaybreakConvictionVault, X Layer mainnet-fork tests and deploy script |
lib/account/ | Authentication verification and API client |
lib/db/ | Schema, database connection, and account operations |
drizzle/ | Versioned database migrations |
public/assets/ | Characters, posters, marks, and company icons |
scripts/ | Registry tooling and core regression checks |
docs/ | Product plans, implementation notes, and audits |
Every stock token is identified by its exact contract or mint, per chain. On X Layer, rebasing xStock balances are converted to underlying shares through the on-chain multiplier, and wrapped balances through the ERC-4626 wrapper. Base holdings valuation uses raw ERC-20 quantities and total-return oracle answers with bigint arithmetic. Scaled share quantities are shown separately. Reads validate token/feed metadata and oracle pause state at a consistent block. Missing prices produce a priced subtotal and coverage information, never an invented complete total.
Oracle values are reference values, not executable quotes. External purchase links do not establish available liquidity or eligibility. News providers can rate-limit or time out. Current caches and request limits are process-local; production deployment needs appropriate shared infrastructure.
Wallet connection is separate from Daybreak account identity. Signing in does not create a funded wallet, move assets, or publish holdings. Older room purchase flows are isolated simulations.
npm test # Core regression checks
npm run type-check # TypeScript validation
npm run build # Production build
npm run start # Serve the production build
Run development and production builds from separate checkouts if they must run simultaneously: both use .next in this checkout.
Product roadmap · Account architecture · Character assets · Core audit and fixes
Daybreak's character and poster artwork was generated for this project from the owner's visual direction. Company names and logos identify their respective companies and do not imply endorsement. DynaPuff's font license is included in public/fonts/DynaPuff-OFL.txt.
This repository is public for review and collaboration. No general open-source license has been granted yet.