Create a Vouch. Accept the commitment. Confirm presence.
Both confirm in time and funds release. Otherwise, refund, void, or non-capture.
Core rule · How it works · Payment coordination · Boundaries · License
Vouch is a commitment-backed payment coordination system for pre-arranged appointments and in-person agreements.
It is built around one deterministic rule:
Both parties confirm presence within the confirmation window -> funds release. Otherwise -> refund, void, or non-capture.
Outcome follows system state.
No unilateral action releases funds. No late confirmation releases funds. No admin arbitration releases funds. No manual fund award exists. No discretionary confirmation rewrite exists. No dispute, evidence, or appeal surface exists.
both parties confirm presence within the confirmation window -> funds release
otherwise -> refund, void, or non-captureVouch does not decide who was right. It checks authenticated state, provider-backed payment state, and the confirmation window.
| Confirmation outcome | Payment outcome |
|---|---|
| Both parties confirm in time | Funds release |
| Only one party confirms | Refund, void, or non-capture |
| Neither party confirms | Refund, void, or non-capture |
| Confirmation window expires | Refund, void, or non-capture |
| Payment provider fails | Payment failed, release failed, or refund failed |
One-sided confirmation never releases funds.
The payer creates or funds a Vouch with an amount and confirmation window.
The payee reviews the Vouch and accepts only when payout readiness requirements are satisfied.
Both participants independently confirm presence inside the confirmation window.
If both confirmations happen in time and the PaymentIntent is capturable, Vouch releases funds through provider-backed settlement.
Anything else resolves to refund, void, or non-capture according to current provider state.
Vouch coordinates payment state through Stripe and Stripe Connect.
Vouch uses manual-capture PaymentIntents:
amount = customer total amount in cents
capture_method = manual
application_fee_amount = calculated Vouch fee
transfer_data.destination = payee connected account id when destination charge is usedBefore settlement, Vouch retrieves current provider state. Capture, cancel/void, refund, webhook reconciliation, and operational retries are idempotent.
Vouch does not directly custody funds and does not store raw card data, raw bank data, raw identity documents, full provider payloads, or sensitive KYC details.
Payer readiness is required for creating or funding a Vouch:
- authenticated user
- active Vouch account
- required identity/adult readiness
- accepted terms
- Stripe customer/payment method setup
- provider-backed payment readiness stored in Vouch DB
Payee readiness is required for accepting or becoming bound as payee:
- authenticated user
- active Vouch account
- required identity/adult readiness
- accepted terms
- Stripe connected account exists
- Stripe payout capability/readiness is active or sufficient
- provider-backed payout readiness stored in Vouch DB
Payer payment setup and payee payout setup are separate tracks.
Fee calculation is server-owned and belongs in lib/vouch/fees.ts.
Vouch fee = max(5% of customer total, 500 cents)Fees are shown before payment commitment.
Vouch is intentionally narrow.
It is not:
- a marketplace
- a broker
- a scheduler
- a messaging app
- a review system
- a dispute system
- an escrow provider
- a public directory
- a discovery platform
Vouch does not provide public profiles, listings, search, categories, recommendations, featured blocks, ratings, reviews, reputation scores, messaging, dispute workflows, claims, evidence uploads, appeals, manual awards, or force-release controls.
- Next.js App Router
- React 19
- TypeScript
- Prisma + Neon Postgres
- Clerk
- Stripe + Stripe Connect
- Zod
- React Hook Form
- Tailwind CSS v4
- shadcn/Base UI
- Vitest
- Playwright
- pnpm
Vouch uses a dark brutalist operational SaaS interface:
- black-first surfaces
- zero-radius panels
- hard neutral borders
- restrained Vouch blue:
#1D4ED8 - uppercase display typography
- dense mobile-first layouts
- amount, status, required action, deadline/window, and consequence visible on payment and Vouch screens
- status expressed with text, not color alone
Vouch is in active development.
The public repository exists to build the product openly while preserving the product’s narrow operating boundaries.
MIT License.
Made in Nuevo Mexico | 2026 Ivan P. Roman | Digital Herencia