Business Model & Revenue
Relevant source files
The following files were used as context for generating this wiki page:
SoulSeer operates as a premium spiritual consultation marketplace utilizing a pay-per-minute billing architecture. The platform facilitates spiritual guidance by connecting clients with gifted readers through live chat, voice, and video sessions. The core economic model is built upon a prepay balance system where the platform retains a commission from every session, and readers receive payouts via integrated financial services.
The system is designed to provide ethical, heart-centered readings while ensuring fair compensation for readers. Unlike traditional corporate psychic platforms, SoulSeer allows readers to keep the majority of their earnings and manage their own rates.
Sources: README.md:3-8, README.md:88-92, client/src/pages/AboutPage.tsx:18-24
Revenue Architecture & Split
SoulSeer employs a 70/30 revenue distribution model. Readers retain 70% of the session earnings, while the platform retains 30% as a service fee to cover operational costs, including infrastructure, payment processing, and administrative oversight.
Key Financial Metrics
| Metric | Value | Description |
|---|---|---|
| Revenue Split | 70% Reader / 30% Platform | The distribution of funds generated from every reading minute. |
| Minimum Top-up | $5.00 (500 cents) | The minimum amount a client must add to their balance to use the service. |
| Minimum Payout | $15.00 (1500 cents) | The threshold a reader's balance must reach before an admin can trigger a payout. |
| Billing Increment | Per-minute | Sessions are calculated and billed based on active duration. |
Sources: README.md:89-92, shared/src/validators.ts:80-82, client/src/pages/dashboard/AdminDashboard.tsx:268, server/src/routes/payments.ts:16
Prepay Balance System
The platform utilizes a "walled garden" credit system. Clients must fund their account with USD before initiating a reading. These funds are held as an internal balance and deducted in real-time during sessions.
Funding Flow
The funding process integrates with Stripe to handle secure transactions. When a client tops up, the system creates a Stripe PaymentIntent. Upon successful payment, a webhook notifies the server to credit the user's internal database balance.
This diagram shows the asynchronous flow of client funds from Stripe into the SoulSeer internal balance system.
Sources: server/src/routes/payments.ts:20-100, server/src/routes/payments.ts:133-146
Reading Session Billing
Billing is dynamic and determined by the specific rate set by the reader for different communication modes (Chat, Voice, Video).
Session Rates and Initiation
Readers manage their own rates within the following structure:
- Chat Rate: Per-minute pricing for text-based consultations.
- Voice Rate: Per-minute pricing for audio calls.
- Video Rate: Per-minute pricing for face-to-face video sessions.
Before a session begins, the system performs a balance check to ensure the client has at least $5.00 available. During the session, the frontend provides a real-time calculation of elapsed time, accrued cost, and remaining balance.
This sequence illustrates the financial validation and finalization of a reading session.
Sources: client/src/pages/readers/ReaderProfilePage.tsx:71-75, client/src/pages/reading/ReadingSessionPage.tsx:83-112, server/src/routes/admin.ts:335-378
Reader Payouts & Stripe Connect
SoulSeer uses Stripe Connect Express to manage reader onboarding and payouts. This ensures PCI compliance and simplifies international tax reporting.
Payout Logic
- Onboarding: Admins provision reader accounts, generating a Stripe Connect onboarding URL.
- Earnings: Reader balances increase by 70% of the
totalChargedfor every completed reading. - Manual Trigger: Platform admins manually initiate payouts once a reader exceeds the $15.00 threshold.
- Transfer: The system executes a Stripe Transfer from the platform's account to the reader's connected Express account, then zeroes the internal database balance.
The payout process ensures funds are only moved after platform verification.
Sources: server/src/routes/admin.ts:114-177, server/src/routes/admin.ts:268-333
Financial Data Models
The system maintains strict accounting through a central transactions ledger that tracks every movement of funds.
Transaction Types
| Type | Source | Effect |
|---|---|---|
topup | Stripe Webhook | Credits client balance. |
reading_charge | Session Completion | Debits client; Credits reader (70%) and platform (30%). |
reader_payout | Admin Action | Debits reader balance; Transfers to Stripe Connect. |
refund | Admin Action | Credits client balance; Typically debited from platform/reader earnings. |
admin_adjustment | Admin Action | Manual correction of user balance with a mandatory note. |
Sources: client/src/types/index.ts:77-88, server/src/routes/admin.ts:245-266, shared/src/validators.ts:21-23
The Transaction Object
export interface Transaction {
id: number;
userId: number;
readingId?: number;
type: TransactionType;
amount: number; // in cents
balanceBefore: number;
balanceAfter: number;
note?: string;
stripePaymentIntentId?: string;
createdAt: string;
}
Sources: client/src/types/index.ts:80-90
Conclusion
The SoulSeer business model prioritizes reader autonomy and platform transparency. By leveraging a prepay system and a fixed 70/30 split, the platform maintains a sustainable revenue stream while providing readers with significantly higher earnings compared to industry standards. The integration of Stripe and Stripe Connect provides a robust foundation for secure, automated financial operations and global scalability.