Statur - RoyaltyNode
RoyaltyNode is a structured Real-World Asset (RWA) community raise designed to support Iagon's growth while maintaining long-term alignment with the network and existing token holders. Participants receive exposure to IP protection & commercialization and enterprise compute node participation. Learn more about RoyaltyNode →
Overview
This document describes Iagon's custom implementation of the Statur self-sovereign pseudonymous reputation model on the Cardano blockchain. The reputation score for each wallet is calculated based on multiple factors that reflect a user's engagement, contribution, and commitment to the Iagon ecosystem.
Each wallet's total reputation score is computed as a weighted sum of individual category scores.
Soulbound Identity Token
When a user joins the Statur reputation system, they mint a soulbound (non-transferable) identity token that anchors their reputation on-chain. This token:
- Cannot be transferred - Validator logic prevents the token from being spent to any address other than the reputation contract
- Is burnable on exit - If a user leaves the system, they burn the token as part of the exit transaction
- Uniquely identifies the user's reputation throughout its lifetime
This ensures that reputation cannot be bought, sold, or transferred between users.
User Sovereignty
Statur is built on the principle of user sovereignty:
- Users decide which projects may contribute to their reputation by joining a project
- Once joined, a project can freely update that user's metrics within its own scope—no additional authorization is required for each update
- Users may disconnect from projects at any time, revoking that project's ability to update their reputation
- Users can leave the system entirely, which burns their soulbound token and removes their on-chain reputation
All reputation updates are signed by the contributing project and form a traceable history that users can independently verify.
All weights and factors described in this document are subject to change based on future observations and research.
Reputation Score Calculation
In plain terms: Your reputation score is a weighted average of all your activities. Some metrics (like holding duration) scale linearly—twice as long means twice the score. Other metrics (like token quantity) use diminishing returns—your first 100K tokens contribute more to your score than your next 100K. This design rewards consistent participation over raw wealth, preventing whales from dominating the leaderboard.
Statur's base scoring model uses a simple weighted sum (value × weight) to compute project-level scores. However, projects may implement custom scoring algorithms for their specific needs.
Iagon uses a custom hybrid formula that combines linear metrics and diminishing returns metrics to prevent whales from dominating the reputation system and encourage broader ecosystem participation:
Where:
- s = Total normalized reputation score
- ω = Σwᵢ = Sum of all weights (normalization factor)
- wᵢ, wⱼ = Weights for each metric
- vᵢ, vⱼ = Normalized metric values
Linear Metrics
The first sum Σᵢ(wᵢvᵢ) handles metrics that scale linearly with value. These are straightforward weighted contributions where more is proportionally better.
Diminishing Returns Metrics
The second sum Σⱼ(wⱼ(1 - e^(vⱼ/aⱼ))) handles metrics where additional value provides decreasing marginal benefit. This prevents whales from dominating the reputation system and encourages broader participation.
The diminishing returns parameter a is calculated as:
Where:
- h = Optimal value (the target value for strong reputation)
- s' = Optimal score at h (the target score achieved when v = h)
This creates an asymptotic curve where early contributions have high impact, but returns diminish as values grow larger.
Category Weights
The following table shows the weight assigned to each reputation category. All weights sum to 1.0 (100%).
| Category | Weight |
|---|---|
| Token Holder | 0.28 |
| Liquidity Provider | 0.18 |
| Node Operator | 0.13 |
| Token Staker | 0.11 |
| Token Trader | 0.10 |
| Stake Pool Delegator | 0.08 |
| Badges | 0.07 |
| Storage Subscriber | 0.05 |
Detailed Factor Breakdown
Token Holder
Category Weight: 0.28
Measures a wallet's IAG token holdings and commitment to long-term holding.
| Factor | Value Weight | Scaling | Description |
|---|---|---|---|
| Holding Quantity | 70% | Linear scale to 10M IAG | Total IAG tokens held in the wallet |
| Holding Duration | 30% | Linear scale to 5 years | Average duration tokens have been held |
Calculation:
Token Holder Score = (0.70 × quantity_score) + (0.30 × duration_score)
where:
quantity_score = min(holding_amount / 10,000,000, 1.0)
duration_score = min(average_hold_days / 1825, 1.0)
Token Staker
Category Weight: 0.11
Evaluates participation in IAG staking, both as an operator and as a delegator.
| Factor | Value Weight | Scaling | Description |
|---|---|---|---|
| Staking Quantity | 70% | Linear scale to 10M IAG | IAG tokens staked |
| Staking Duration | 30% | Linear scale to 5 years | Duration of staking |
Calculation:
Token Staker Score = (0.70 × iag_stake_qty) + (0.30 × iag_stake_dur)
where:
iag_stake_qty = min(staked_iag / 10,000,000, 1.0)
iag_stake_dur = min(iag_stake_days / 1825, 1.0)
Node Operator
Category Weight: 0.13
Assesses the quality and reliability of storage node operators within the Iagon network.
| Factor | Value Weight | Scaling | Description |
|---|---|---|---|
| Node Reputation Score | 45% | Linear scale from 0-70 | Composite score based on node performance metrics (uptime, speed, reliability). 70 is the current maximum possible score. |
| Node Operation Duration | 40% | Linear scale to 5 years | How long the node has been actively operating |
| Margin Changes | 15% | Penalty-based | Negative impact for aggressive or frequent margin changes |
Margin Changes Modifiers (Negative Impact):
- Aggressive change: Significant penalty for large margin increases. Negative actions carry stronger weight than the positive impact of stable behavior.
- Frequent changes: Penalty for changing margins too often
Calculation:
Node Operator Score = (0.45 × reputation_score) + (0.40 × duration_score)
+ (0.15 × margin_stability_score)
where:
reputation_score = min(node_score / 70, 1.0)
duration_score = min(operation_days / 1825, 1.0)
margin_stability_score = 1.0 - margin_penalty
Token Trader
Category Weight: 0.10
Evaluates trading behavior to reward positive market participation and discourage harmful trading patterns.
| Factor | Value Weight | Scaling | Description |
|---|---|---|---|
| Total Trading Volume | 50% | Linear scale to 1B IAG | Cumulative trading volume in IAG |
| Trend During Sells | 15% | Directional modifier | Positive for selling during uptrends, negative for selling during downtrends |
| Trend During Buys | 35% | Directional modifier | Positive for buying during downtrends (supporting price) |
Trend Modifiers:
| Action | Market Condition | Impact | Reason |
|---|---|---|---|
| Selling | Up trend | Positive | Selling during uptrends is neutral/positive |
| Selling | Down trend | Negative | Selling during downtrends amplifies price drops |
| Buying | Down trend | Positive | Buying during downtrends supports the token price |
Note: Negative trading actions carry stronger weight than the positive impact of supportive actions.
Calculation:
Token Trader Score = (0.50 × volume_score) + (0.15 × sell_trend_score)
+ (0.35 × buy_trend_score)
where:
volume_score = min(total_volume / 1,000,000,000, 1.0)
sell_trend_score = weighted average of sell timing relative to market trends
buy_trend_score = weighted average of buy timing relative to market trends
Badges
Category Weight: 0.07
Awards reputation based on achievement badges earned through various ecosystem activities.
| Factor | Value Weight | Scaling | Description |
|---|---|---|---|
| Badge Collection | 100% | Linear scale to 1.0 | Sum of unique badge weights earned |
Each badge has its own unique weight contribution. Badges are earned through:
- Participation in community events
- Completing specific milestones
- Contributing to the ecosystem
- Special achievements and recognitions
Calculation:
Badges Score = min(sum(badge_weights), 1.0)
Storage Subscriber
Category Weight: 0.05
Measures engagement as a storage customer within the Iagon decentralized storage network.
| Factor | Value Weight | Scaling | Description |
|---|---|---|---|
| Subscription Size | 30% | Linear scale from smallest to largest plan | Size of the storage plan subscribed |
| Storage Used | 30% | Linear scale to subscription size | Actual storage utilization |
| Subscription Duration | 40% | Linear scale to 5 years | Length of active subscription |
Calculation:
Storage Subscriber Score = (0.30 × plan_size_score) + (0.30 × utilization_score)
+ (0.40 × duration_score)
where:
plan_size_score = plan_tier / max_plan_tier
utilization_score = storage_used / subscription_size
duration_score = min(subscription_days / 1825, 1.0)
Liquidity Provider
Category Weight: 0.18
Evaluates contribution to liquidity pools supporting IAG trading pairs.
| Factor | Value Weight | Scaling | Description |
|---|---|---|---|
| Liquidity Quantity | 60% | Linear scale to 10M IAG | Total IAG (or equivalent value) provided to liquidity pools |
| Liquidity Duration | 40% | Linear scale to 5 years | Duration liquidity has been maintained |
Calculation:
Liquidity Provider Score = (0.60 × quantity_score) + (0.40 × duration_score)
where:
quantity_score = min(liquidity_iag_value / 10,000,000, 1.0)
duration_score = min(liquidity_days / 1825, 1.0)
Stake Pool Delegator
Category Weight: 0.08
Rewards delegation to Cardano stake pools, particularly those supporting the Iagon ecosystem.
| Factor | Value Weight | Scaling | Description |
|---|---|---|---|
| ADA Quantity | 60% | Linear scale to 5M ADA | Total ADA delegated to stake pools |
| Delegation Duration | 40% | Linear scale to 5 years | Duration of stake pool delegation |
Calculation:
Stake Pool Delegator Score = (0.60 × quantity_score) + (0.40 × duration_score)
where:
quantity_score = min(delegated_ada / 5,000,000, 1.0)
duration_score = min(delegation_days / 1825, 1.0)
Score Decay
Reputation scores decay over time when a user leaves a project to ensure that reputation reflects recent activity rather than historical contributions alone. The system uses exponential decay with a configurable decay period.
The decay formula follows:
Where:
- t = time elapsed since the account left the project
- τ = decay time constant (the time for score to decay by factor of e)
- e = Euler's number (~2.718)
This means that when a user leaves a project, their reputation score will gradually decrease, encouraging ongoing positive participation in the ecosystem.
On-Chain Calculation
Reputation scores are calculated and stored using a combination of on-chain and off-chain mechanisms:
-
Data Collection: Metrics are collected from various on-chain sources:
- Wallet balances and transaction history (Token Holder, Token Trader)
- Smart contract interactions (Token Staker, Node Operator)
- DEX activity (Liquidity Provider, Token Trader)
- Stake pool registrations (Stake Pool Delegator)
-
Metric Storage: Each metric value is stored in the off-chain reputation database as a
FloatMetricwith associated weight, units, and description. -
Score Computation: The reputation backend computes scores by:
- Aggregating weighted metric values per category
- Applying decay based on time since last update
- Combining category scores using the weights defined above
-
On-Chain Verification: A
Blake2b-256hash of the canonical JSON representation of the account's reputation data is stored on-chain, allowing anyone to verify the off-chain data independently. -
Batch Updates: A specialized batcher service periodically updates on-chain hashes via transaction chaining to minimize blockchain costs.
Scaling Functions
All metrics use linear scaling within their defined ranges:
Key scaling parameters:
| Metric Type | Maximum Value |
|---|---|
| IAG Token Amounts | 10,000,000 IAG |
| ADA Amounts | 5,000,000 ADA |
| Trading Volume | 1,000,000,000 IAG |
| Duration | 5 years (1,825 days) |
| Node Reputation | 70 (current max) |