Shared Services Overview
The Resonance Shared Services provide a unified API layer for streak tracking, leaderboards, achievements, and perks across all platform integrations. This ensures consistent behavior and enables cross-platform features.
Architecture
Base URL
All shared services are available at:
https://services.rsnc.network
Services
| Service | Purpose | Endpoints |
|---|---|---|
| Community Service | Register and manage platform communities | /community/register, /community/activate, /community/:platform/:communityId |
| Streak Service | Track daily check-ins and activity streaks | /streak/record-activity, /streak/claim-milestone, /streak/status/:brandId/:userIdentifier |
| Leaderboard Service | Generate rankings by various metrics | /leaderboard/:brandId, /leaderboard/update-stats |
| Achievement Service | Track and unlock achievements | /achievements/:brandId/:userIdentifier, /achievements/update-progress |
| Perks Service | Browse and redeem perks | /perks/:brandId, /perks/redeem |
User Identification
All services use platform-agnostic user identifiers in the format:
{platform}_{userId}@rsnc.network
Examples:
- Discord:
discord_123456789@rsnc.network - Telegram:
telegram_987654321@rsnc.network - Twitter:
twitter_1234567890@rsnc.network - Farcaster:
farcaster_12345@rsnc.network - Shopify:
shopify_customer@example.com@rsnc.network(or direct email) - WordPress:
wordpress_user@example.com@rsnc.network(or direct email)
Authentication
Shared services use CORS headers and can be called from any platform integration. No authentication is required for public endpoints, but all requests should include proper Content-Type: application/json headers.
Response Format
All endpoints return JSON responses in this format:
{
"success": true,
"data": { ... },
"error": null
}
Error responses:
{
"success": false,
"error": "Error message",
"data": null
}
CORS Support
All endpoints support CORS preflight requests. Include appropriate headers in your requests:
const response = await fetch('https://services.rsnc.network/streak/record-activity', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
brandId: '0x...',
userIdentifier: 'discord_123@rsnc.network',
platform: 'discord',
streakType: 'daily'
})
});
Health Check
Check service health:
GET https://services.rsnc.network/health
Response:
{
"status": "healthy",
"service": "shared-services",
"timestamp": "2026-01-15T10:30:00.000Z"
}
Platform Integration
Each platform integration should:
- Call shared services for streak, leaderboard, achievement, and perks data
- Use consistent user identifiers following the platform pattern
- Handle errors gracefully with fallback behavior
- Cache responses when appropriate to reduce API calls