Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
PriorityPay는 입금 시점에 분할 계산을 수행해, 설정한 비율에 따라 퇴직금·저축·세금 금액을 정확히 표시합니다
PriorityPay calculates your split the moment a deposit lands, showing exactly how much to send to retirement, savings, and taxes based on the percentages you set.
금융JavaScript · PLpgSQLGitHub @meganmahoney123온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A real, deployable Next.js app: Supabase for auth + database, Plaid for
read-only bank account linking. PriorityPay calculates a percentage-based
split for every deposit and shows you a checklist of what to send where --
you complete every transfer yourself, in your own bank's app (that's
manual_approval mode, the default -- see lib/executionMode.js). Real
money movement via Dwolla exists in the codebase as an opt-in mode
(TRANSFER_EXECUTION_MODE=dwolla_auto) for later, but isn't required to run
or deploy the app today.README 전문 보기 ↗A real, deployable Next.js app: Supabase for auth + database, Plaid for
read-only bank account linking. PriorityPay calculates a percentage-based
split for every deposit and shows you a checklist of what to send where --
you complete every transfer yourself, in your own bank's app (that's
manual_approval mode, the default -- see lib/executionMode.js). Real
money movement via Dwolla exists in the codebase as an opt-in mode
(TRANSFER_EXECUTION_MODE=dwolla_auto) for later, but isn't required to run
or deploy the app today. Runs in sandbox mode end-to-end for Plaid until
you're approved for Plaid production access (see "Going to production"
below) -- there's no real money at risk either way, since PriorityPay never
touches it regardless of Plaid's environment.
Verified to build clean (next build, no errors) before this was handed to
you.
New to this project? Start with
PROJECT_HANDOFF.mdfirst. This README covers how to run and deploy the app; PROJECT_HANDOFF.md covers the product model, the decisions behind it, and a list of specific gotchas that will otherwise cost you real debugging time.
Next.js App Router, deployed on Vercel. Supabase Auth handles sign-up/login;
Supabase Postgres (with row-level security) holds everything else. The
browser never talks to Plaid, Dwolla, or the database directly — every
sensitive action goes through a Next.js API route (app/api/**) running
server-side, where PLAID_SECRET, DWOLLA_SECRET, PLAID_TOKEN_ENCRYPTION_KEY,
and the Supabase service-role key actually live. See lib/supabaseServer.js
for why it's built this way, and lib/executionMode.js for the
manual-vs-automatic transfer switch mentioned above.
You'll need three free accounts to run the app as it actually works today. A fourth (Dwolla) is optional -- only needed if you plan to test or enable automatic transfer execution later.
prioritypay, set a database password (save it somewhere), pick
a region close to you.supabase/schema.sql from this repo → Run.Project URL → NEXT_PUBLIC_SUPABASE_URLanon public key → NEXT_PUBLIC_SUPABASE_ANON_KEYservice_role secret key → SUPABASE_SERVICE_ROLE_KEY (never expose this one to a browser)client_id → PLAID_CLIENT_IDSandbox secret → PLAID_SECRETPLAID_ENV=sandbox for now.Skip this entirely for now unless you specifically want to test automatic
transfer execution. The default manual_approval mode never calls Dwolla,
so DWOLLA_KEY/DWOLLA_SECRET can stay blank in .env.local and nothing
breaks (lib/dwolla.js builds its client lazily, only when actually
called).
If you do want to test it: go to
dashboard-sandbox.dwolla.com → sign
up for a sandbox account → Applications → default app → copy the Key
and Secret → DWOLLA_KEY / DWOLLA_SECRET → leave DWOLLA_ENV=sandbox →
set TRANSFER_EXECUTION_MODE=dwolla_auto. Note that identity verification
(collecting each user's SSN before Dwolla will move their money) was
removed from onboarding when manual-approval mode became the default --
re-adding that flow is required before dwolla_auto mode is usable with real
users, not just a config flip.
.env.example to .env.local and fill in every
value you collected above.openssl rand -hex 32 → PLAID_TOKEN_ENCRYPTION_KEY.npm install, then npm run dev, then open
http://localhost:3000.user_good,
password pass_good → Percentage Splits → Review) → land on the
Dashboard → seed a test deposit (see app/api/dev/seed-history for the
sandbox-only tooling that backfills realistic mock deposits) → check
Accounts or the Dashboard's "Transfers waiting on you" section for
the checklist PriorityPay generated. There's nothing to check in a
Dwolla dashboard -- nothing was sent anywhere, by design.If anything errors, the browser network tab + your terminal (npm run dev
logs) will show which API route failed and why — almost always a missing
or mistyped env var.
No GitHub repo needed for this — deploying straight from your machine via the Vercel CLI:
npm install -g vercel
vercel login
cd prioritypay-simple
vercel # first run: creates the project, links this folder to it
Then add every env var from .env.local to the Vercel project — either:
vercel env add PLAID_CLIENT_ID production (repeat per variable)Set NEXT_PUBLIC_APP_URL=https://prioritypay.co this time (not localhost).
Deploy for real:
vercel --prod
That gives you a live app on a *.vercel.app URL. Now point your domain at
it:
prioritypay.co.A
record to 76.76.21.21 and a CNAME for www, but use whatever Vercel
displays — it's specific to your setup).prioritypay.co is registered (GoDaddy, Namecheap,
Cloudflare, etc.), find DNS settings, add those records.prioritypay.co is now a real, working app — sign-up, bank linking, and split calculation all function end-to-end, using Plaid's sandbox (fake data, zero real money moved). You complete every transfer yourself; nothing here requires Dwolla to be configured at all.
Plaid production access is a coding-adjacent, not a coding, task:
Plaid — Dashboard → request Production access. You'll fill out a
company profile, a security questionnaire, and (as of this writing) a
Beneficial Owners section that needs a real person's information, not
something to fill in on someone else's behalf. Typically approved within a
couple of business days once submitted. Swap PLAID_ENV=sandbox →
production and the sandbox keys for production ones once approved.
PLAID_TOKEN_ENCRYPTION_KEY needs to be set in that environment too --
same key works fine, or generate a fresh one for production specifically.
Dwolla is not required to go live. The current product works and makes
money on real deposits without ever calling Dwolla, since manual_approval
mode is the default and PriorityPay never initiates a transfer. Only pursue
Dwolla production approval (registered legal business + EIN, Dwolla
Platform verification, and re-adding real identity verification to
onboarding) if and when you decide to build and ship automatic transfer
execution as a real feature -- treat it as a future project, not a launch
blocker.
Nothing else about the app changes for the Plaid cutover — same code, same database, just real credentials.
PROJECT_HANDOFF.md sections 4c and 5, and lib/tokenCrypto.js).lib/allocations.js and the same API routes is the natural path once
the web app is stable; budget real time for App Store / Play Store
review after that.Next.js 14 (App Router) · Supabase (Postgres + Auth) · Plaid · Dwolla (present in the codebase, inactive by default) · Stripe (billing) · Twilio (optional deposit SMS alerts) · Anthropic (optional Tax Strategy Advisor chat) · Tailwind · Recharts · lucide-react. No separate backend — API routes are the backend.