Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
346 changes: 346 additions & 0 deletions CASINO_TRUST_SYSTEM.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,346 @@
# 🎰 CollectClock Casino Trust System Integration

## Overview

This document describes the integration between CollectClock and TiltCheck's casino trust scoring system, including the casino submission workflow and RTP verification process.

---

## 🏪 Casino Trust System

### TiltCheck RTP Verification
TiltCheck monitors real-time gameplay to verify:
- **RTP (Return to Player)** percentages match advertised rates
- **House edge** calculations are accurate
- **Game fairness** through provable outcomes
- **Payout patterns** align with expected distributions

### Casino Scoring System

Casinos receive trust scores based on:
- ✅ RTP accuracy (positive points)
- ✅ Consistent payouts (positive points)
- ✅ Fair game mechanics (positive points)
- ❌ RTP mismatches (negative points)
- ❌ Suspicious patterns (negative points)
- ❌ User complaints (negative points)

**Score Ranges**:
- **90-100**: Highly Trusted (green badge) 🟢
- **70-89**: Trusted (yellow badge) 🟡
- **50-69**: Caution (orange badge) 🟠
- **0-49**: High Risk (red badge) 🔴
- **Negative**: Blacklisted (removed from CollectClock) ⛔

---

## 📥 Casino Submission Workflow

### Discord Channel Integration

**Submit Casino Channel**: Discord ID `1440350195278942268`
**Support Request Channel**: Discord ID `1437295074856927363`

### Submission Process

1. **User Submits Casino**
- User posts casino details in Submit Casino channel
- Required info: Casino name, URL, bonus type, RTP claims

2. **Automated Message**
- Bot automatically cross-posts to Support Request channel
- Tags `@jmenichole` for approval
- Includes submission timestamp and user info

3. **Review Process**
- Admin reviews casino details
- TiltCheck runs initial RTP analysis (if available)
- CollectClock checks for existing data

4. **Approval/Rejection**
- ✅ **Approved**: Casino added to CollectClock database
- ❌ **Rejected**: User notified with reason
- ⏳ **Pending**: Requires more data or investigation

5. **Trust Monitoring**
- Casino enters monitoring period
- TiltCheck tracks gameplay data from users
- RTP verification runs continuously
- Trust score updated daily

### Implementation Code

```javascript
// Discord Bot - Casino Submission Handler
// Listens on channel 1440350195278942268 (submit-casino)

client.on('messageCreate', async (message) => {
// Check if message is in submit-casino channel
if (message.channel.id !== '1440350195278942268') return;
if (message.author.bot) return;

// Parse casino submission
const submission = parseCasinoSubmission(message.content);

if (!submission.valid) {
await message.reply('❌ Invalid submission format. Use: `!submit-casino [Name] [URL] [Bonus Info]`');
return;
}

// Create support request
const supportChannel = client.channels.cache.get('1437295074856927363');

const embed = {
color: 0x60a5fa,
title: '🎰 New Casino Submission',
fields: [
{ name: 'Casino Name', value: submission.name, inline: true },
{ name: 'URL', value: submission.url, inline: true },
{ name: 'Bonus Type', value: submission.bonusType, inline: true },
{ name: 'Submitted By', value: `<@${message.author.id}>`, inline: true },
{ name: 'Submission Time', value: new Date().toISOString(), inline: true }
],
footer: { text: 'React ✅ to approve, ❌ to reject' }
};

const supportMsg = await supportChannel.send({
content: '<@jmenichole>',
embeds: [embed]
});

// Add reaction buttons
await supportMsg.react('✅');
await supportMsg.react('❌');

// Confirm to user
await message.reply('✅ Casino submitted for review! You\'ll be notified when it\'s processed.');

// Store submission in database
await storeCasinoSubmission({
...submission,
submittedBy: message.author.id,
supportMessageId: supportMsg.id,
status: 'pending'
});
});

// Handle approval/rejection reactions
client.on('messageReactionAdd', async (reaction, user) => {
if (user.bot) return;
if (reaction.message.channel.id !== '1437295074856927363') return;

const submission = await getCasinoSubmissionByMessageId(reaction.message.id);
if (!submission) return;

if (reaction.emoji.name === '✅') {
// Approve casino
await approveCasino(submission);
await notifyUser(submission.submittedBy, `✅ Your casino submission "${submission.name}" has been approved!`);

} else if (reaction.emoji.name === '❌') {
// Reject casino
await rejectCasino(submission);
await notifyUser(submission.submittedBy, `❌ Your casino submission "${submission.name}" was rejected.`);
}
});

// Parse casino submission from message
function parseCasinoSubmission(content) {
// Expected format: !submit-casino Name | URL | Bonus Info
const match = content.match(/!submit-casino\s+(.+?)\s*\|\s*(.+?)\s*\|\s*(.+)/i);

if (!match) {
return { valid: false };
}

return {
valid: true,
name: match[1].trim(),
url: match[2].trim(),
bonusType: match[3].trim()
};
}
```

---

## 🎯 RTP Verification System

### How TiltCheck Verifies RTP

1. **Gameplay Tracking**
- User opts into TiltCheck monitoring
- Extension/overlay captures gameplay data
- Bets, wins, losses tracked in real-time

2. **Statistical Analysis**
```
Observed RTP = (Total Wins / Total Bets) × 100
Expected RTP = Casino's advertised RTP

Variance Threshold = ±5% (accounting for short-term variance)

Alert triggered if: |Observed - Expected| > Threshold
```

3. **Sample Size Requirements**
- Minimum 100 spins/hands for slots
- Minimum 500 spins/hands for table games
- Data aggregated across multiple users
- Statistical confidence calculated

4. **Mismatch Handling**
```
Small Mismatch (5-10% deviation):
→ Yellow flag, continue monitoring

Moderate Mismatch (10-20% deviation):
→ Orange flag, -10 trust points, alert users

Large Mismatch (20%+ deviation):
→ Red flag, -50 trust points, review for removal

Persistent Issues (3+ red flags):
→ Recommend legal action
→ Remove from CollectClock
→ Public transparency report
```

---

## 📊 Integration Data Flow

```
┌─────────────┐
│ USER │
│ GAMEPLAY │
└──────┬──────┘
↓ Real-time data
┌──────▼──────────┐
│ TILTCHECK │ ← Monitors RTP, patterns, behavior
│ (Monitoring) │
└──────┬──────────┘
↓ Trust scoring data
┌──────▼──────────┐
│ CASINO TRUST DB │ ← Aggregates from multiple users
│ │
└──────┬──────────┘
↓ Trust scores + RTP data
┌──────▼──────────┐
│ COLLECTCLOCK │ ← Displays badges, ranks casinos
│ (Display) │
└──────┬──────────┘
↓ Bonus predictions + trust info
┌──────▼──────────┐
│ USERS │ ← Make informed decisions
│ (Informed) │
└─────────────────┘
```

---

## 🚨 Alert System

### User Alerts

When TiltCheck detects issues:

1. **In-Game Alert**
```
⚠️ TiltCheck Alert
RTP verification shows [Casino Name]
may be paying below advertised rates.

Observed: 92.3% | Expected: 96.5%
Sample: 450 spins

[View Details] [Report Issue] [Continue Anyway]
```

2. **Discord Alert**
- Posted to user's DM
- Posted to community channel (anonymized)
- Cross-posted to CollectClock updates

3. **CollectClock Badge Update**
- Casino badge changes color
- Trust score adjusted
- Alert shown in bonus listings

---

## 🛠️ API Endpoints

### For CollectClock to Query TiltCheck Data

```javascript
// Get casino trust score
GET /api/casino-trust/:casinoId
Response: {
casinoId: "stake_com",
name: "Stake Casino",
trustScore: 87,
badge: "trusted",
rtpAccuracy: 98.5,
sampleSize: 10483,
lastUpdated: "2024-11-18T14:30:00Z"
}

// Get RTP verification data
GET /api/rtp-verification/:casinoId/:gameId
Response: {
gameId: "sweet_bonanza",
advertisedRTP: 96.5,
observedRTP: 96.3,
variance: -0.2,
sampleSize: 1240,
confidence: 0.95,
status: "verified"
}
```

---

## 🎮 User Experience in CollectClock

**Casino Listing with Trust Badge**:
```
🎰 Stake Casino 🟢 Trusted (Score: 87)
Daily Bonus: $5 RTP Verified ✓
[Claim Now] [More Info]

🎰 Mystery Casino 🟠 Caution (Score: 65)
Daily Bonus: $10 RTP Unverified ⚠️
[Claim Anyway] [More Info]
```

**Filter Options**:
- Show only verified casinos
- Sort by trust score
- Filter by bonus type
- Hide flagged casinos

---

## 🔗 Related Documentation

- [ECOSYSTEM_POSITIONING.md](ECOSYSTEM_POSITIONING.md) - Full ecosystem overview
- [DEGEN_FLYWHEEL.md](DEGEN_FLYWHEEL.md) - How all tools connect
- [COLLECTCLOCK_INTEGRATION.md](COLLECTCLOCK_INTEGRATION.md) - General CollectClock integration
- [README.md](README.md) - TiltCheck main documentation

---

## 📞 Support

**Casino Submission Issues**: Discord channel `1440350195278942268`
**Trust Score Questions**: Discord channel `1437295074856927363`
**Admin Contact**: Tag `@jmenichole` in support channel

---

**© 2024-2025 JME (jmenichole). Made for degens by degens.** 🎮
Loading
Loading