Wallet & Payouts
How the Fangate wallet works, transaction types, and the payout process.
Wallet Structure
Each creator has a wallet with three balance categories:
Available (Balance)
- Funds ready for withdrawal
- Money that has cleared all hold periods
- Can be requested as payout
Hold
- Funds temporarily on hold
- Default rule: 1 hour after time of purchase
- Released back to Balance after hold period
- No hold for trusted users:
- Not blocked
- Is verified
- Register date > 30 days
- No refund for last 30 days
Pending
- Funds currently being processed for payout
- Moved from Balance when payout is requested
- Visible in admin panel during manual wire transfer
- Removed when admin completes/declines payout
Transaction Types
| Type | Description |
|---|---|
| Product Earnings | Sales revenue from product purchases |
| Affiliate Earnings | Referral commissions from invited users |
| Withdrawals | Completed payouts |
| Fees | Platform service fees |
| Refunds | Returned payments |
| Hold | Funds placed on hold |
| Release Hold | Funds released from hold to Balance |
| Pending | Funds in payout processing |
Payout Process
Creator-Side
- Creator requests payout via app (
POST /api/wallet/cashout) - System validates:
- Minimum amount (if any)
- Sufficient Balance
- Bank details on file
System Actions
- At moment of request:
- Funds move: Balance → Pending
- Amount shows in admin panel as "Pending"
Admin-Side
- Admin team:
- Reviews payout request
- Initiates wire transfer via bank
- Admin accepts or declines request in Filament panel
- Push notification sent to creator on acceptance or decline
Completion
- Funds removed from Pending
- If declined, funds may return to Balance (verify in implementation)
Payout Provider Configuration
Payout routing depends on creator's currency (set at registration, permanent):
| Currency | PayPal Payouts | Stripe Payouts |
|---|---|---|
| USD | Via Stripe Integration | KYW Europe Operation Limited |
| EUR | KYW Europe Operation Limited | KYW Europe Operation Limited |
| GBP | KYW Europe Operation Limited | KYW Europe Operation Limited |
API Endpoints
| Endpoint | Purpose |
|---|---|
GET /api/wallet | Balance, transactions, cashout_available |
GET /api/wallet/affiliate | Affiliate-only earnings |
POST /api/wallet/cashout | Request payout |
Considerations
- Additional currencies may require new PSP partnerships
- Payout routing stored in
payment_providerstable - Configuration should be database-driven
- In future, PSP selection may depend on account-level factors, not just currency