Skip to main content

Cross-Platform User Journey

For: Developers and admins who want to understand how users experience Resonance 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โ€‹

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

  • Earn RSNC 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 Resonance ecosystem:

Day 1: Discord Communityโ€‹

Alex joins a gaming Discord server that uses Resonance.

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

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

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

Behind the scenes:

  • Alex's wallet was created automatically on first reward
  • User ID format: discord_123456789@rsnc.network
  • All transactions recorded on-chain

Day 5: Discovers Another Discord Serverโ€‹

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

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

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

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 Resonance Telegram bot.

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

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

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 RSNC for discounts.

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

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

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. RSNC burned, perk delivered
  5. All recorded on-chain

Day 20: Mobile Gameโ€‹

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

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

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

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

Technical: How Cross-Platform Worksโ€‹

User Identificationโ€‹

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

discord_123456789@rsnc.network    โ†’ User's wallet
telegram_987654321@rsnc.network โ†’ Same wallet (if linked)
user@example.com โ†’ 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 Resonance user ID
  • All transactions use that ID

Manual API:

// Your server identifies the user
const userId = 'discord_123456789@rsnc.network';

// Send event
await fetch('https://api.rsnc.network/resonance-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 โ”‚
โ”‚ (RSNC 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 Resonance 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 Resonance user ID
// Or map your user IDs to Resonance format
const resonanceUserId = `yourplatform_${yourUserId}@rsnc.network`;

Step 2: Send events when users do things

await sendResonanceEvent({
userId: resonanceUserId,
event: 'completed_tutorial',
metadata: { level: 1 }
});

Step 3: Query balance for display

const balance = await getResonanceBalance(resonanceUserId);
// Show in your UI

Step 4: Process perk redemptions

const result = await redeemPerk({
userId: resonanceUserId,
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โ€‹