Skip to main content

Cross-Platform User Journey

For: Developers and admins who want to understand how users experience Loyalteez across multiple touchpoints.

You'll learn: How a single user balance works across Discord, Telegram, web, and any platform using the API.


The Open-Loop Promiseโ€‹

Loyalteez enables one balance, infinite touchpoints. A user can:

  • Earn LTZ in a Discord community
  • Check their balance in a Telegram group
  • Redeem for a perk on a brand's website
  • Continue earning in a mobile game

All with the same unified balance, no account linking required.


Example User Journeyโ€‹

Meet Alex. Here's their journey across the Loyalteez ecosystem:

Day 1: Discord Communityโ€‹

Alex joins a gaming Discord server that uses Loyalteez.

Action: Alex runs /checkin
Result: +100 LTZ (daily check-in reward)
Balance: 100 LTZ

Action: Alex participates in voice chat for 30 minutes
Result: +50 LTZ (voice activity reward)
Balance: 150 LTZ

Action: Alex reaches 3-day streak
Result: +75 LTZ (streak bonus)
Balance: 225 LTZ

Behind the scenes:

  • Alex's wallet was created automatically on first reward
  • User ID format: [email protected]
  • All transactions recorded on-chain

Day 5: Discovers Another Discord Serverโ€‹

Alex finds a different Discord community (an e-commerce brand) that also uses Loyalteez.

Action: Alex runs /checkin in Brand B's Discord
Result: +100 LTZ (different server, same balance!)
Balance: 325 LTZ

Action: Alex refers a friend
Result: +500 LTZ (referral bonus)
Balance: 825 LTZ

Key insight: Alex's existing balance carried over. They didn't need to "start fresh" or link accounts.

Day 10: Telegram Groupโ€‹

Alex joins a Telegram community that uses the Loyalteez Telegram bot.

Action: Alex sends /balance in Telegram
Result: Shows 825 LTZ (same balance!)

Action: Alex completes daily quest
Result: +200 LTZ
Balance: 1,025 LTZ

How this works:

  • Telegram user ID maps to same wallet via OAuth linking
  • Or: Same email used across platforms
  • Balance is blockchain-native, not platform-specific

Day 15: Website Redemptionโ€‹

Alex visits an e-commerce store that accepts LTZ for discounts.

Action: Alex logs in with Discord OAuth
Result: Sees 1,025 LTZ balance

Action: Alex redeems "10% Discount" perk (costs 500 LTZ)
Result: -500 LTZ
Balance: 525 LTZ

Action: Alex receives discount code
Result: Uses code at checkout

The flow:

  1. Website calls Perks Service to check Alex's balance
  2. Alex clicks "Redeem"
  3. Website calls Perks Service to process claim
  4. LTZ burned, perk delivered
  5. All recorded on-chain

Day 20: Mobile Gameโ€‹

Alex starts playing a mobile game that rewards LTZ for achievements.

Action: Alex completes tutorial
Result: +150 LTZ
Balance: 675 LTZ

Action: Alex reaches level 10
Result: +300 LTZ
Balance: 975 LTZ

Action: Alex purchases in-game item with LTZ
Result: -200 LTZ
Balance: 775 LTZ

Technical: How Cross-Platform Worksโ€‹

User Identificationโ€‹

Loyalteez supports multiple user ID formats that map to the same wallet:

[email protected]    โ†’ User's wallet
[email protected] โ†’ Same wallet (if linked)
[email protected] โ†’ Same wallet (if same email)

Linking Methodsโ€‹

Automatic (Email Match):

  • Discord OAuth โ†’ extracts email
  • Telegram login โ†’ provides email
  • Same email = same wallet

OAuth Flow:

  • User authenticates on your platform
  • You receive their Loyalteez user ID
  • All transactions use that ID

Manual API:

// Your server identifies the user
const userId = '[email protected]';

// Send event
await fetch('https://api.loyalteez.app/loyalteez-api/manual-event', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
brandId: 'your_brand_id',
userId: userId,
event: 'user_action',
signature: hmacSignature,
timestamp: Date.now()
})
});

Shared Services Architectureโ€‹

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Discord โ”‚ โ”‚ Telegram โ”‚ โ”‚ Your App โ”‚
โ”‚ Bot โ”‚ โ”‚ Bot โ”‚ โ”‚ (API) โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”‚ โ”‚ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”‚
โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Shared Services โ”‚
โ”‚ - Streaks โ”‚
โ”‚ - Leaderboards โ”‚
โ”‚ - Achievements โ”‚
โ”‚ - Perks โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”‚
โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Blockchain โ”‚
โ”‚ (LTZ Token) โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

All platforms share:

  • Streak tracking (7-day streak in Discord counts in Telegram)
  • Leaderboard position (earn on any platform, rank unified)
  • Achievement progress (cross-platform milestone tracking)
  • Perk eligibility (balance works everywhere)

User Experience Highlightsโ€‹

What Users Seeโ€‹

PlatformExperience
Discord/balance shows unified balance
Telegram/balance shows same balance
WebsiteDashboard shows same balance
Mobile AppIn-app UI shows same balance

What Users DON'T Seeโ€‹

  • Wallet addresses
  • Gas fees
  • Blockchain transactions
  • Complex linking flows
  • Different balances per platform

The Magicโ€‹

Users experience Loyalteez as a single, seamless rewards account that works everywhereโ€”without understanding any of the underlying technology.


Implementation Guideโ€‹

For Discord/Telegram (Pre-Built)โ€‹

The official bots handle everything automatically:

  • User identification
  • Balance queries
  • Reward distribution
  • Perk redemption

Just configure your events and rewards in the Partner Portal.

For Custom Platforms (API)โ€‹

Step 1: Identify users consistently

// Use OAuth to get Loyalteez user ID
// Or map your user IDs to Loyalteez format
const loyalteezUserId = `yourplatform_${yourUserId}@loyalteez.app`;

Step 2: Send events when users do things

await sendLoyalteezEvent({
userId: loyalteezUserId,
event: 'completed_tutorial',
metadata: { level: 1 }
});

Step 3: Query balance for display

const balance = await getLoyalteezBalance(loyalteezUserId);
// Show in your UI

Step 4: Process perk redemptions

const result = await redeemPerk({
userId: loyalteezUserId,
perkId: 'discount_10_percent'
});
// Deliver the perk (discount code, access, etc.)

Benefits of Cross-Platformโ€‹

For Usersโ€‹

  • One balance everywhere โ€” No fragmented points
  • More places to spend โ€” Network utility
  • Never expires โ€” Permanent value
  • Portable โ€” Take rewards anywhere

For Brandsโ€‹

  • Shared acquisition โ€” Users arrive with existing balances
  • Higher engagement โ€” Cross-platform utility drives activity
  • Network effects โ€” Every brand adds value
  • Lower friction โ€” Users already have accounts

Next Stepsโ€‹