Understanding Reflections
Date: 2025-01-12 Audience: Token creators & holders Reading Time: 12 minutes
What Are Reflections?
Reflections are automatic rewards distributed to token holders based on their holdings. Think of it as passive income—just by holding tokens, you earn more tokens over time.
How It Works
1. User A transfers tokens → 2.5% transfer fee collected
2. Fee split: 40% goes to Reflection Treasury
3. Keeper bot distributes rewards to all holders
4. Your share = (Your tokens / Total eligible tokens) × Reward poolExample:
You hold: 100,000 tokens (1% of supply)
Reflection pool: 50,000 tokens accumulated
Your reward: 500 tokens (1% of pool)
Result: You now have 100,500 tokensTwo Reflection Modes
MintCraft offers two distinct reflection systems, each optimized for different needs:
Mode Comparison
| Feature | Transparent | Stealth |
|---|---|---|
| Distribution | Automatic (hourly) | Manual claim (weekly) |
| Privacy | None (all public) | High (holders hidden) |
| Cost | High ($19.50/1k holders/day) | Low ($0.78/week any size) |
| User Action | None required | Must claim rewards |
| Frequency | Hourly | Weekly/Monthly |
| Scalability | Poor (expensive at scale) | Excellent (any size) |
| Visibility | Real-time on-chain | Hidden until claimed |
| Tax Reporting | Easy (automatic) | Manual export needed |
Transparent Reflections
How Transparent Works
Automatic Distributions:
- Keeper bot runs every hour
- Snapshots all eligible holders
- Calculates each holder's share
- Sends tokens directly to wallets
- All transactions visible on-chain
No Action Required: Holders wake up with more tokens in their wallet every hour.
Advantages
✅ Fully Automatic
- Holders don't need to do anything
- Tokens appear automatically
- No claiming interface needed
- No user education required
✅ Immediate Liquidity
- Can sell rewards instantly
- No claiming delay
- Real-time availability
✅ Full Transparency
- Every distribution visible on-chain
- Easy to verify amounts
- Clear transaction history
- Great for tax reporting
✅ Regulatory Friendly
- Full audit trail
- Compliant with transparency requirements
- Easy to report for taxes
Disadvantages
❌ High Cost
- ~$0.00025 SOL per recipient per distribution
- 1,000 holders × 24/day = $19.50/day = $585/month
- Scales linearly with holder count
- Unsustainable for large communities
❌ No Privacy
- All holder addresses public
- All amounts visible
- Whale holdings exposed
- Vulnerable to targeting
❌ Not Scalable
- 10,000 holders = $5,850/month
- Cost prohibitive for successful projects
- Forces switch to stealth mode later
When to Choose Transparent
Best For:
- Small holder bases (< 100 holders)
- High-value tokens (where cost is negligible vs rewards)
- Regulatory-compliant projects (need full transparency)
- Tokens targeting institutional investors
- Projects with significant budget
Cost Examples:
50 holders: $1.00/day = $30/month
100 holders: $1.95/day = $58.50/month
500 holders: $9.75/day = $292.50/month
1,000 holders: $19.50/day = $585/month
5,000 holders: $97.50/day = $2,925/month
10,000 holders: $195/day = $5,850/monthStealth Reflections
How Stealth Works
Merkle Tree Claims:
- Weekly: Keeper bot snapshots holders
- Generates merkle tree off-chain
- Stores root hash on-chain (tiny cost)
- Holders claim with cryptographic proofs
- Can batch 10 claims per transaction
User Action Required: Holders must claim their rewards manually via the claim interface.
Advantages
✅ 96% Cost Reduction
- One-time cost per update: ~0.002 SOL
- Weekly: $0.78/week = $3.12/month
- Same cost whether 100 or 100,000 holders
- Sustainable at any scale
✅ Privacy Enhanced
- Holder list hidden off-chain
- Only merkle root visible on-chain
- Amounts hidden until claimed
- Whale protection
✅ Highly Scalable
- Cost stays flat regardless of holders
- 10x, 100x, 1000x holders = same cost
- No cost ceiling
✅ Batch Claiming
- Claim 10 distributions at once
- Amortize gas costs
- Efficient for holders
Disadvantages
❌ Requires Claiming
- Holders must take action
- Education needed
- Claim interface required
- Less convenient than automatic
❌ Weekly Frequency
- Not hourly like transparent
- Longer wait between updates
- Less "instant gratification"
❌ Unclaimed Balance Locked
- If holder never claims, rewards locked
- Needs reminder system
- Some holders may forget
When to Choose Stealth
Best For:
- Large holder bases (1,000+ holders)
- Privacy-focused projects
- International communities (avoid holder discrimination)
- Cost-sensitive projects
- Scaling for growth
Cost Examples:
Any holder count: $0.78/week = $3.12/month
Savings vs Transparent:
1,000 holders: $585/month → $3.12/month (99.5% savings)
10,000 holders: $5,850/month → $3.12/month (99.9% savings)How to Claim Stealth Reflections
For Token Holders
Step 1: Check Eligibility
- Visit token's claim page
- Connect your wallet
- See if you have unclaimed rewards
Step 2: View Available Claims
Claim Period 1: Dec 1-7 → 150 tokens
Claim Period 2: Dec 8-14 → 200 tokens
Claim Period 3: Dec 15-21 → 180 tokens
Total Available: 530 tokensStep 3: Claim Rewards
- Select periods to claim (up to 10)
- Click "Claim Rewards"
- Approve transaction in wallet
- Gas cost: ~0.00025 SOL
Step 4: Verify Receipt
- Check wallet balance increased
- View claim transaction on Explorer
- Confirm amounts match expected
Batch Claiming
Why Batch?
- Claim multiple periods at once
- Reduce gas costs per claim
- More efficient
Example:
Single claim: 0.00025 SOL → $0.02 per period
Batch 10 claims: 0.00025 SOL → $0.002 per period
Savings: 90% gas reductionSetting Up Auto-Claim (Advanced)
For developers: Create a script that automatically claims when threshold reached.
// Check unclaimed balance
const unclaimedAmount = await getUnclaimedReflections(wallet);
// If > threshold, claim
if (unclaimedAmount > CLAIM_THRESHOLD) {
await claimReflections(wallet, periods);
}USD-Based Filtering
Minimum Holder Value
What It Is: Minimum USD value of tokens required to receive reflections.
Default: $5 USD
Why It Matters:
- Filters out spam wallets (<$5 worth)
- Reduces distribution costs
- Focuses rewards on real holders
- Dynamic based on real-time price
How It Works:
Token price: $0.0001
Min value: $5 USD
Required tokens: 50,000 tokens
Holder A: 60,000 tokens → Eligible ✅
Holder B: 40,000 tokens → Filtered ❌Price Oracle:
- Primary: Jupiter API (real-time)
- Fallback: Meteora pool price
- Default: $0.0001 if both fail
- Cache: 5 minutes
Anti-Whale Exclusion
What It Is: Maximum % of supply a wallet can hold and still receive reflections.
Default: 2% of supply
Why It Matters:
- Prevents whale dominance
- Makes distributions more fair
- Encourages decentralization
How It Works:
Total supply: 1,000,000,000 tokens
Anti-whale: 2%
Max eligible: 20,000,000 tokens
Holder A: 15,000,000 tokens (1.5%) → Eligible ✅
Holder B: 25,000,000 tokens (2.5%) → Excluded ❌Edge Case: Holder with exactly 2% IS eligible (boundary inclusive)
Choosing the Right Mode
Decision Framework
Choose Transparent If:
- You have < 100 holders
- Budget allows $50-200/month for distributions
- Regulatory compliance requires full transparency
- Holders are non-technical (can't handle claiming)
- Immediate liquidity important
- Tax reporting simplicity matters
Choose Stealth If:
- You have or expect 1,000+ holders
- Budget-conscious (need $3/month, not $500/month)
- Privacy is important (protect holder identities)
- International community (avoid discrimination)
- Scaling for growth
- Technical community (can handle claiming)
Hybrid Approach (Future)
Planned Feature: Automatic mode switching
- Start transparent (< 100 holders)
- Auto-switch to stealth at threshold
- Best of both worlds
- Coming Q2 2025
Reflection Economics
Fee Split Breakdown
Pool Fee: 3% base (scales down with market cap)
How It's Split:
Pool Fee (e.g., 3%)
├── Meteora Protocol: 20%
└── LP Providers: 80%
├── Platform (locked LP): 31%
└── Creator (locked LP): 69%
├── Direct to Creator: 0.25% - 1.00% (tier-based)
└── Held in Vault: Remainder (unlock via crafting)Sniper Fee Excess (above base 3%):
- 100% → The Foundry (90% to community, 10% to platform)
- See The Foundry for details on how to get your cut
Reflections Pool:
- Funded from creator's share of fees
- Distributes to eligible holders automatically (transparent) or via claims (stealth)
Reflection Accumulation
Example: 1 Billion supply, 1,000 holders, 2.5% transfer fee
Daily volume: 10M tokens traded
Transfer fees: 250,000 tokens (2.5%)
To reflections: 100,000 tokens (40% of fees)
Per holder (equal distribution):
- 100,000 / 1,000 = 100 tokens per holder per day
- ~3,000 tokens per month
- 0.003% of holdings per monthWith proportional distribution (by holdings):
You hold: 10M tokens (1% of supply)
Reflection pool: 100,000 tokens
Your share: 1,000 tokens (1% of pool)
Annual: 365,000 tokens (3.65% APY)Calculating Your ROI
Formula:
Daily Reflection = (Your Holdings / Total Eligible Holdings) × Daily Pool
Annual ROI = (365 × Daily Reflection) / Your Holdings × 100%Example:
Your holdings: 5,000,000 tokens
Total eligible: 500,000,000 tokens (50% of supply eligible)
Daily pool: 100,000 tokens
Daily reflection: (5M / 500M) × 100k = 1,000 tokens
Annual reflection: 365 × 1,000 = 365,000 tokens
Annual ROI: 365k / 5M × 100% = 7.3% APYBest Practices
For Token Creators
Communication:
- Explain reflection mode clearly in docs
- Provide claiming tutorials (stealth mode)
- Remind community regularly
- Show unclaimed balance dashboards
Settings:
- Set realistic min holder value ($5-10)
- Choose appropriate anti-whale % (2-5%)
- Monitor claim rates (stealth)
- Adjust frequency if needed
Monitoring:
- Track distribution success rates
- Monitor costs vs volume
- Check holder satisfaction
- Review and optimize settings
For Token Holders
Transparent Mode:
- No action needed!
- Check wallet periodically
- Track rewards on Explorer
- Save for tax reporting
Stealth Mode:
- Check for claims weekly
- Batch claims to save gas
- Don't let claims expire
- Verify amounts match expected
Troubleshooting
I'm Not Receiving Reflections (Transparent)
Check:
- Do you meet min holder value? (check price × your balance)
- Are you below anti-whale threshold?
- Is your wallet excluded (treasury, pool, etc.)?
- Has enough time passed since last distribution?
- Is reflection treasury funded?
Solutions:
- Wait for next hourly distribution
- Check your balance against filters
- Verify you're not in excluded wallet list
- Contact token creator if issues persist
I Can't Claim Reflections (Stealth)
Check:
- Are you using the correct wallet?
- Do you meet eligibility requirements?
- Is there a claim available for your period?
- Is the merkle proof server accessible?
- Do you have enough SOL for gas?
Solutions:
- Refresh claim page
- Try different browser/wallet
- Clear cache
- Check claim periods available
- Verify wallet connection
Reflections Are Too Small
Possible Reasons:
- Low trading volume (small fee pool)
- Large number of holders (split many ways)
- Your holdings are small % of total
- Token just launched (fees haven't accumulated)
Normal Ranges:
Low volume: 0.1-1% APY
Medium volume: 1-5% APY
High volume: 5-20% APY
Extreme volume: 20%+ APYTax Implications
Transparent Mode
Tax Treatment (US, consult your advisor):
- Each reflection = taxable income
- Value = FMV at time of receipt
- Many small transactions
- Easy to track (all on-chain)
Record Keeping:
- Export all transactions from Explorer
- Track each distribution
- Save price at time of receipt
- Use crypto tax software (Koinly, CoinTracker)
Stealth Mode
Tax Treatment:
- Each claim = taxable income
- Value = FMV at time of claim
- Fewer transactions (weekly claims)
- Manual tracking needed
Record Keeping:
- Export claim history
- Note claim amounts and dates
- Track token price at claim time
- Save claim transactions
Consult a tax professional familiar with crypto in your jurisdiction.
Advanced Topics
Reflection Compounding
What It Is: Receiving reflections on your reflections
Example:
Day 1: Hold 100,000 tokens → Receive 100 reflections → Now 100,100
Day 2: Hold 100,100 tokens → Receive 100.1 reflections → Now 100,200.1
Year 1: Compound 7.25% APY → 107,500 tokensCompounding Effect:
No compounding: 100,000 → 107,000 (7% APY)
With compounding: 100,000 → 107,250 (7.25% APY)
Difference: 250 tokens bonus from compoundingExcluded Wallets
Automatically Excluded:
- Treasury PDAs (reflection, jackpot, auto-LP, burn)
- Pool reserve accounts
- Platform wallet
- Custom excluded list (set by creator)
Why Exclude?:
- Treasuries shouldn't receive reflections (circular)
- Pools don't have "holders" (just vault)
- Platform wallet is infrastructure
Custom Reward Tokens
Advanced Feature: Swap collected fees to different reward token
Example:
Collect fees in: YOUR_TOKEN
Swap via Jupiter to: USDC
Distribute: USDC to holders
Result: Holders earn stable USD income instead of YOUR_TOKENSee: Custom Reward Tokens guide for details
Next Steps
For Creators:
- Review mode comparison carefully
- Calculate costs for your expected holder count
- Choose mode during token creation
- Prepare holder education materials
For Holders:
- Understand which mode your token uses
- Learn how to claim (if stealth)
- Track your rewards
- Report for taxes
Learn More:
- Jackpot Lottery (05) → Another way to earn
- Managing Tokens (03) → Monitor distributions
- Token Creation (02) → Configure reflections
- Security Guide (07) → Protect your rewards
Last Updated: 2025-01-12 Previous: Managing Tokens Guide (03) Next: Jackpot Lottery Guide (05)
