Overview
JOIP uses a credit-based system for premium features. Credits are the virtual currency that powers AI generation, session creation, and other advanced functionality.How Credits Work
- 1 Credit = 1 Feature Use (approximately)
- Credits are deducted when you use paid features
- Balance is tracked in real-time
- Transactions are logged for full transparency
- Monthly allocations based on your tier
Getting Credits
New User Bonus
Every new user receives 50 free credits upon account creation to get started.Monthly Allocations
Depending on your tier, you receive credits monthly:| Tier | Monthly Credits | Can Purchase Extra |
|---|---|---|
| Free | 50 | No |
| JOI-Curious | 1,000 | Yes |
| Full Access | 2,500 | Yes |
| VIP | 5,000 | Yes |
- Your balance is reset to your monthly allocation amount
- Unused credits do not roll over to the next month
- Purchased credits are tracked separately in lifetime stats
Purchasing Credits
You can purchase credit packages if your tier allows it:| Package | Credits | Price |
|---|---|---|
| Starter | 250 | $14.99 |
| Pro | 1,000 | $49.99 (Most Popular) |
| Power User | 2,500 | $99.99 (Best Value) |
- PayGate (Cryptocurrency: USDC on Polygon)
- Telegram Stars (in-app payments)
- Thirdweb (Web3 payments)
Earning Credits
Referral Program:- Refer a friend: +10 credits for you
- New user gets: +25 bonus credits
- No limit on referrals (subject to rate limiting)
- Claim free credits daily by logging in
- Bonus amount varies by tier
- Check status at
GET /api/user/daily-bonus/status - Claim bonus at
POST /api/user/daily-bonus/claim
Feature Pricing
Current Pricing (March 2026)
Smart Caption - 10 credits
Smart Caption - 10 credits
Generate AI-powered NSFW captions for images.What you get:
- Contextual caption based on image content
- Choice of themes (JOI, Forced-Bi, Beta, CBT, Cuckold)
- Custom prompt support
- High-quality captions using OpenAI/OpenRouter
BabeCock Generate - 20 credits
BabeCock Generate - 20 credits
Create composite babecock images.What you get:
- Automatic layout detection (side-by-side or top-bottom)
- Smart cropping and positioning
- High-quality output optimized for viewing
BabeCock Remix - 10 credits
BabeCock Remix - 10 credits
Remix an existing babecock image with new content.What you get:
- Replace babe or cock side
- Preserve original layout
- Quick regeneration
HypnoCocks Generate - 25 credits
HypnoCocks Generate - 25 credits
Generate animated HypnoCocks WebP images.What you get:
- Animated WebP output
- Hypnotic spiral effects
- Customizable content
Session Create - 25 credits
Session Create - 25 credits
Create or save a JOIP session.What you get:
- Reddit-based sessions with automatic media fetching
- Manual sessions with custom uploads
- Imported sessions from Imgchest
- Full session configuration (timing, transitions, themes)
Session Slide View - 1 credit
Session Slide View - 1 credit
Per-slide billing during session playback.How it works:
- Charged once per slide when it first appears
- Subsequent views of the same slide in the same play session are free
- Only applies to sessions with AI-generated captions
- Manual sessions with pre-written captions are not charged per slide
- Session with 10 slides = 10 credits for first full playthrough
- Rewatching same session immediately = 0 additional credits
- New play session later = 10 credits again
BetaCensor Image - 5 credits
BetaCensor Image - 5 credits
AI-powered NSFW image censoring.What you get:
- Intelligent detection of NSFW regions
- Pixelation or blur effects
- Adjustable censoring strength
AI Undress (Low Quality) - 25 credits
AI Undress (Low Quality) - 25 credits
Transform images using Freepik AI.What you get:
- Fast processing (30-60 seconds)
- Good quality output
- Powered by Freepik Seedream v4.5 Edit
AI Undress (High Quality) - 45 credits
AI Undress (High Quality) - 45 credits
Premium transformations using xAI/Grok.What you get:
- Higher quality results
- More realistic outputs
- Advanced AI model
Batch Caption Rewrite - 8 credits per slide
Batch Caption Rewrite - 8 credits per slide
Rewrite all captions in a session with a new theme.What you get:
- Bulk caption regeneration
- Theme consistency across entire session
- Preserves session structure
Legacy Features (Disabled)
These features have been replaced by newer billing models:Session Play (Legacy)- 25 credits per session (replaced by per-slide billing)Manual Session Create (Legacy)- 30 credits (now unified with session_create)Import JOIP (Legacy)- 20 credits (now unified with session_create)AI Undress (Legacy Alias)- 25 credits (replaced by low/high quality options)
Credit Balance
Checking Your Balance
Client-Side:Low Balance Warning
The system warns you when your balance falls below 20 credits (configurable).Transaction History
Viewing Transactions
All credit transactions are logged with full details:Transaction Types
| Type | Description | Amount |
|---|---|---|
purchase | Bought credits via payment | Positive |
allocation | Monthly tier allocation | Positive |
usage | Used a paid feature | Negative |
refund | Refund for failed operation | Positive |
admin_grant | Admin manually granted credits | Positive |
bonus | Referral or promotional bonus | Positive |
API Endpoints
GET /api/credits/balance
GET /api/credits/balance
Get current credit balance and tier info.Response:
GET /api/credits/transactions
GET /api/credits/transactions
Get paginated transaction history.Query Parameters:
page- Page number (default: 1)limit- Items per page (default: 20)
GET /api/credits/stats
GET /api/credits/stats
Get credit usage statistics.Response:
GET /api/credits/pricing
GET /api/credits/pricing
Get all active feature pricing.Response:
Credit Mechanics
Deduction Process
When you use a paid feature:-
Feature Request
- User initiates feature (e.g., generate caption)
- System identifies feature key (e.g.,
smart_caption)
-
Atomic Check & Deduct
- Database transaction with row-level locking
- Prevents race conditions from concurrent requests
- Either succeeds completely or fails (no partial deductions)
-
Transaction Logging
- Records amount, feature, balance after
- Logs related entity (e.g., which session/media)
- Timestamps for audit trail
Refund Process
If a paid operation fails after credits are deducted:-
Automatic Refund
- System detects failure (error during AI generation, etc.)
- Credits are automatically returned
- Refund transaction logged
-
Example:
Race Condition Prevention
The credit system uses PostgreSQL row-level locking:- No double-charging even with concurrent requests
- Balance always consistent
- Transaction history always accurate
Tier System
Available Tiers
Free
Monthly Credits: 50Features:
- All basic features
- Cannot purchase extra credits
- Use-it-or-lose-it allocation
JOI-Curious
Monthly Credits: 1,000Features:
- All features unlocked
- Can purchase credit packages
- Priority support
Full Access
Monthly Credits: 2,500Features:
- All features unlocked
- Can purchase credit packages
- Priority support
- Early access to new features
VIP
Monthly Credits: 5,000Features:
- All features unlocked
- Can purchase credit packages
- Priority support
- Early access to new features
- VIP Discord role
Tier Management
Upgrade/Downgrade:- Contact admin to change tiers
- Changes take effect on next allocation cycle
- Current balance preserved during tier change
Credit Packages
Purchasing Flow
-
Select Package
- View available packages at
/credits/purchase - Choose payment method (PayGate, Telegram Stars, Thirdweb)
- View available packages at
-
Payment Session
- System creates payment session in database
- Generates unique payment ID
- Sets expiration (typically 1 hour)
-
Payment Processing
- User completes payment via provider
- Provider sends callback to server
- Server validates payment authenticity
-
Credit Delivery
- Upon successful payment verification:
- Credits added to account
- Transaction logged as type
purchase - Payment session marked as
completed
Payment Session Structure
Callback Security
Payment callbacks are verified to prevent fraud:-
PayGate:
- Validates
polygonAddressInmatches session - Checks
callbackSecretHashif provided - Verifies transaction amounts
- Validates
-
Telegram:
- Validates Telegram charge ID
- Verifies user ID matches session
- Checks Stars amount matches expected
-
Thirdweb:
- Validates payment ID
- Verifies blockchain transaction hash
- Checks transaction confirmation
Admin Features
Manual Credit Grants
Admins can manually grant credits to users:Feature Pricing Management
Update Pricing:Tier Configuration
Update Tier:Troubleshooting
402 Insufficient Credits Error
402 Insufficient Credits Error
Cause: Not enough credits to use the featureSolution:
- Check your balance:
GET /api/credits/balance - Purchase more credits if your tier allows it
- Wait for next monthly allocation
- Refer friends to earn bonus credits
Credits deducted but feature failed
Credits deducted but feature failed
Cause: Feature processing error after deductionSolution:
- System should automatically refund credits
- Check transaction history for refund entry
- If not refunded within 5 minutes, contact support
Monthly allocation not received
Monthly allocation not received
Cause: Allocation date not yet reached or system errorSolution:
- Check
nextAllocationDatein your credit balance - Allocation processes automatically when you check balance after due date
- If overdue, try refreshing user data:
Payment completed but credits not added
Payment completed but credits not added
Cause: Callback processing delay or failureSolution:
- Wait 2-3 minutes for callback processing
- Check payment session status via support
- Provide payment ID and transaction hash
Best Practices
For Users
-
Monitor Your Balance
- Keep an eye on credit balance before starting expensive operations
- Enable low balance warnings
-
Use Free Features First
- Test with manual sessions (no caption generation)
- Use existing community content
- Experiment before committing credits
-
Plan Monthly Usage
- Remember: credits don’t roll over
- Use your allocation before it resets
- Consider upgrading tier if consistently running out
-
Refer Friends
- Easiest way to earn extra credits
- Both you and your friend benefit
- No limit on referrals
For Developers
-
Always use
checkAndDeductCredits() -
Implement Refunds
-
Log Meaningful Descriptions
-
Handle All Error Cases
Related Documentation
- Authentication - User accounts and login
- Referral Program - Earn credits by referring friends
- Profile Management - View credit stats in your profile