Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기AI economic agent — exchange, fund, lend, invest, and govern with any identity, in any currency, without gatekeepers.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Your AI economic agent — and the platform where it operates.
Economic participation still requires gatekeepers. To sell, fund, lend, invest, or govern collectively, you need banks, payment processors, platforms that take cuts and dictate terms. Pseudonymous participation is impossible. AI agents can't transact on your behalf.
OrangeCat is an AI-native platform for universal economic participation. The live wedge is a Bitcoin Lightning pay link. "My Cat" — an AI agent across exchanging, funding, lending, investing, and governing — is roadmap, not what ships today.README 전문 보기 ↗Your AI economic agent — and the platform where it operates.
Economic participation still requires gatekeepers. To sell, fund, lend, invest, or govern collectively, you need banks, payment processors, platforms that take cuts and dictate terms. Pseudonymous participation is impossible. AI agents can't transact on your behalf.
OrangeCat is an AI-native platform for universal economic participation. The wedge today is a Bitcoin Lightning pay link. "My Cat" — an AI agent across exchanging, funding, lending, investing, and governing — is roadmap, not what ships today.
orangecat.ch/pay/<username> for Bitcoin Lightning payments.15 entity types, one registry. One ownership model (actors), one permission layer (database RLS). Adding a new entity type requires 2-3 files.
src/config/entity-registry.ts — single source of truth for all 15 entity types. Drives CRUD, navigation, forms, and validation. No entity-specific switch statements.
Users and groups both have actors. All entities reference actor_id. One ownership model, one permission check — works for individuals, organizations, and (future) AI agents.
export const POST = compose(withRequestId(), withRateLimit('write'), withZodBody(schema))(handler);
Functional composition replaces inheritance. Each middleware does one thing.
src/lib/api/standardResponse.ts) across the API routes| Layer | Technology |
|---|---|
| Framework | Next.js 16, React 19, TypeScript 6 |
| Styling | Tailwind CSS 4, shadcn/ui |
| Database | Self-hosted Supabase (PostgreSQL + Auth + RLS) on Hetzner |
| Bitcoin | Lightning Network, LNURL, bitcoinjs-lib |
| Auth | Supabase Auth, JWT, Row Level Security |
| Deployment | Self-hosted on Hetzner (bitbaum, behind Caddy); GitHub Actions CI, then cd.yml deploys |
.nvmrc)git clone https://github.com/bitbaum/orangecat.git
cd orangecat
pnpm install
cp .env.example .env.local
# Fill in Supabase credentials
pnpm run dev
Dev server starts at http://localhost:3000.
See .env.example for the full list. Key variables:
NEXT_PUBLIC_SUPABASE_URL — Supabase project URLNEXT_PUBLIC_SUPABASE_ANON_KEY — Supabase anonymous keySUPABASE_SERVICE_ROLE_KEY — Server-side Supabase keyOrangeCat is MIT. Everything a copy needs is in this repository; nothing points at bitbaum's infrastructure that an environment variable cannot repoint.
NEXT_PUBLIC_SUPABASE_URL and the keys at it; the schema is
supabase/migrations/*.sql, applied in filename order (scripts/apply-migrations.sh).NEXT_PUBLIC_APP_URL. Sitemap, robots, SEO
metadata, structured data, emails and the OpenAPI document all build on it
(src/config/site-origin.ts); https://orangecat.ch is only the fallback.NEXT_PUBLIC_LOKI_URL / NEXT_PUBLIC_SOLON_URL and are
simply absent when their keys are unset..env.example: every variable src/ reads is named
there with the file that reads it, and __tests__/unit/ci/env-example-covers-src.test.ts
fails CI when one is not. A feature whose key is empty is off, not broken.pnpm run build && pnpm start. The
Hetzner scripts under scripts/ are how bitbaum deploys, not a requirement.The OrangeCat name and visual identity are not part of the licence; a copy should carry its own.
src/
config/entity-registry.ts -- SSOT: all 15 entity types
lib/api/ -- Middleware composition, generic CRUD
domain/ -- Business logic (no HTTP, no UI)
services/ -- Currency, search, notifications, groups
features/ -- Messaging
app/api/ -- API routes (thin, composed from middleware)
components/ -- UI components (shadcn/ui based)
2648 unit tests across 282 files (CI as of 2026-09-02). The pre-push hook runs type-check, file-size and route checks, and the unit tests before code reaches the remote; CI (pnpm run verify) is the gate.
See SECURITY.md for reporting vulnerabilities.
Bitbaum is a platform for the new economy and for creation: building, engineering and researching. It's a community of builders, creators and researchers, and of the people who support them. We work as engineers in the loop: agents do much of the typing, and people own the judgement.
This code is MIT-licensed so that you can take it. Use it, fork it, rebrand it, sell it, or lift a single file. Make it yours and keep improving it the way you like. You don't need to ask, book a call or sign a CLA. Just keep the LICENSE with your copy.
pnpm dlx degit bitbaum/orangecat my-orangecat # a clean copy without our git history
cd my-orangecat && pnpm install
.env.example).src/config/brand.ts.@bitbaum/* kits install from public npm or public GitHub, so you need no tokens or private registry.The OrangeCat name and logo are not covered by the licence, so ship your copy under a name of your own.
More to take: orangecat.ch/steal and github.com/bitbaum.
Copying code is free. What stays scarce once agents and robots write most of it is seeing the whole system. Pick one of these, in this repo, and open an issue or a pull request:
A real one from this repo: the list of entity types once lived in three docs and drifted in both directions until src/config/entity-registry.ts became the only copy and a test enforced it. Find the next one.
A short, correct answer beats a long one, and so does an answer that admits what it doesn't know.