Calculating Rewards
The reward system in Intuition incentivizes high-quality contributions and active participation in the ecosystem. Understanding how rewards are calculated helps users maximize their earnings and contribute effectively.
Reward Fundamentals
What are Rewards?
Rewards in Intuition are distributed in $TRUST tokens to users who:
- Create valuable atoms and triples
- Provide accurate and useful information
- Engage with the ecosystem meaningfully
- Stake tokens to back their contributions
Reward Types
1. Creation Rewards
Rewards for creating high-quality atoms and triples.
const creationReward = await calculateCreationReward({
atomId: "did:ethr:mainnet:0x...",
creator: userDid,
quality: 0.95,
stake: 1000, // TRUST tokens
usage: 150 // views/interactions
});
2. Usage Rewards
Rewards for atoms and triples that are frequently used.
const usageReward = await calculateUsageReward({
atomId: "did:ethr:mainnet:0x...",
timeframe: "30d",
usage: {
views: 500,
references: 25,
shares: 10
}
});
3. Quality Rewards
Rewards for maintaining high accuracy and relevance.
const qualityReward = await calculateQualityReward({
atomId: "did:ethr:mainnet:0x...",
accuracy: 0.98,
consensus: 0.92,
relevance: 0.85
});
4. Staking Rewards
Rewards for staking tokens to back contributions.
const stakingReward = await calculateStakingReward({
userId: userDid,
stakedAmount: 5000, // TRUST tokens
duration: 90, // days
atomQuality: 0.9
});
Reward Calculation Formula
Base Reward Formula
const baseReward = (qualityScore * stakeAmount * usageMultiplier) / totalStake;
Quality Score Components
const qualityScore = (
accuracyScore * 0.4 +
relevanceScore * 0.3 +
consensusScore * 0.2 +
noveltyScore * 0.1
);
Usage Multiplier
const usageMultiplier = Math.log(1 + totalUsage) / Math.log(10);
Detailed Calculation Examples
1. Atom Creation Reward
const atomReward = await calculateAtomReward({
atom: {
id: "did:ethr:mainnet:0x...",
content: "Machine Learning",
creator: userDid,
stake: 1000
},
metrics: {
views: 250,
references: 15,
accuracy: 0.95,
consensus: 0.88
},
timeframe: "30d"
});
// Reward calculation:
// Base: 1000 TRUST (stake)
// Quality: 0.95 * 0.4 + 0.88 * 0.2 = 0.556
// Usage: log(1 + 265) / log(10) = 2.42
// Total: (1000 * 0.556 * 2.42) / 10000 = 134.6 TRUST
2. Triple Creation Reward
const tripleReward = await calculateTripleReward({
triple: {
id: "did:ethr:mainnet:0x...",
subject: "did:ethr:mainnet:0x...", // Ethereum
predicate: "did:ethr:mainnet:0x...", // is
object: "did:ethr:mainnet:0x...", // decentralized
creator: userDid,
stake: 500
},
metrics: {
usage: 120,
confidence: 0.92,
consensus: 0.85
}
});
3. Staking Reward
const stakingReward = await calculateStakingReward({
userId: userDid,
stakedAtoms: [
{ atomId: "did:ethr:mainnet:0x...", amount: 2000, quality: 0.9 },
{ atomId: "did:ethr:mainnet:0x...", amount: 1500, quality: 0.85 }
],
duration: 60, // days
totalEcosystemStake: 100000
});
Reward Distribution
1. Daily Distribution
const dailyRewards = await distributeDailyRewards({
date: "2024-01-15",
totalPool: 10000, // TRUST tokens
participants: activeUsers,
metrics: dailyMetrics
});
2. Weekly Bonuses
const weeklyBonus = await calculateWeeklyBonus({
userId: userDid,
week: "2024-W03",
activities: {
atomsCreated: 5,
triplesCreated: 12,
interactions: 150,
quality: 0.92
}
});
3. Monthly Milestones
const monthlyMilestone = await calculateMonthlyMilestone({
userId: userDid,
month: "2024-01",
achievements: {
topContributor: true,
qualityExcellence: true,
communityLeader: true
}
});
Reward Optimization Strategies
1. Quality-First Approach
// Focus on creating high-quality content
const qualityStrategy = {
research: true,
verification: true,
communityFeedback: true,
iterativeImprovement: true
};
2. Strategic Staking
// Stake on promising atoms early
const stakingStrategy = {
earlyAdoption: true,
diversification: true,
qualityAssessment: true,
activeMonitoring: true
};
3. Network Building
// Create valuable connections
const networkStrategy = {
meaningfulTriples: true,
crossReferences: true,
communityEngagement: true,
knowledgeSharing: true
};
Reward Analytics
1. Personal Analytics
const personalAnalytics = await getPersonalRewardAnalytics({
userId: userDid,
timeframe: "90d",
metrics: ['totalEarned', 'qualityScore', 'usageRate', 'stakeROI']
});
2. Comparative Analysis
const comparison = await compareRewardPerformance({
users: [userDid1, userDid2, userDid3],
timeframe: "30d",
metrics: ['rewardRate', 'qualityScore', 'efficiency']
});
3. Predictive Modeling
const prediction = await predictRewardGrowth({
userId: userDid,
timeframe: "7d",
factors: ['currentQuality', 'usageTrend', 'stakeGrowth']
});
Reward Claiming
1. Automatic Claims
// Set up automatic claiming
await setupAutoClaim({
userId: userDid,
threshold: 100, // TRUST tokens
frequency: "weekly"
});
2. Manual Claims
// Manually claim rewards
const claim = await claimRewards({
userId: userDid,
amount: 500, // TRUST tokens
gasEstimate: true
});
3. Batch Claims
// Claim multiple reward types at once
const batchClaim = await batchClaimRewards({
userId: userDid,
types: ['creation', 'usage', 'staking', 'quality'],
gasOptimization: true
});
Reward Security
1. Fraud Prevention
const fraudCheck = await detectRewardFraud({
userId: userDid,
patterns: ['artificial_inflation', 'sock_puppets', 'collusion']
});
2. Dispute Resolution
const dispute = await createRewardDispute({
rewardId: "did:ethr:mainnet:0x...",
reason: "inaccurate_information",
evidence: ["source1", "source2"],
stake: 1000
});
3. Appeal Process
const appeal = await appealRewardDecision({
disputeId: "did:ethr:mainnet:0x...",
newEvidence: ["additional_source"],
communityVote: true
});
Best Practices
1. Content Quality
- Research thoroughly before creating atoms
- Verify information from multiple sources
- Update content as new information becomes available
- Engage with the community for feedback
2. Strategic Participation
- Focus on high-value, underserved topics
- Build meaningful connections between atoms
- Stake tokens on quality content
- Participate in community governance
3. Continuous Learning
- Monitor reward performance analytics
- Adapt strategies based on results
- Learn from successful contributors
- Stay updated on protocol changes
4. Community Engagement
- Help other users improve their content
- Participate in discussions and feedback
- Share knowledge and best practices
- Contribute to protocol governance
Integration Examples
Web Application
// React component for reward tracking
function RewardTracker({ userId }) {
const [rewards, setRewards] = useState(null);
useEffect(() => {
const fetchRewards = async () => {
const userRewards = await getUserRewards({
userId,
timeframe: "30d"
});
setRewards(userRewards);
};
fetchRewards();
}, [userId]);
return (
<div>
<h3>Your Rewards</h3>
<p>Total Earned: {rewards?.total} TRUST</p>
<p>Quality Score: {rewards?.qualityScore}</p>
<button onClick={() => claimRewards(userId)}>
Claim Rewards
</button>
</div>
);
}
Mobile Application
// React Native reward tracking
const trackRewardActivity = async (activity) => {
await logRewardActivity({
userId: userDid,
activity,
timestamp: new Date().toISOString(),
metadata: {
platform: 'mobile',
appVersion: '1.2.0'
}
});
};
Next Steps
Now that you understand reward calculation, explore:
- Atoms - Learn how to create valuable atoms
- Triples - Understand how to build meaningful relationships
- Capturing Signal - Discover how signal drives rewards