Skip to main content

Rewards Overview

Skyhitz uses a post-exhaustion distribution model where the HITZ token supply is fully issued and rewards come from treasury distribution rather than minting.

System Overview​

Post-Exhaustion Model​

The HITZ supply is fully issued (~20M of 21M max). Key changes from the original model:

AspectBefore (Minting)After (Distribution)
Token sourceMinted on actionsTreasury distribution
Oracle dependencyYes (for staking)No (1:1 staking)
Reward timingInstant on actionDelayed (via treasury)
Supply riskInflation possibleFixed supply

Single Contract​

Skyhitz Core Contract: Handles user actions, staking, and reward distribution

  • Records all user actions (stream, like, download, mine, invest)
  • Manages HITZ token staking for equity actions
  • Collects fees to Treasury (non-staking) or Contract (staking)
  • Distributes HITZ rewards to entry pools

HITZ Token Economics​

Supply Model​

ParameterValue
Max Supply21,000,000 HITZ
Current Supply~20,000,000 HITZ
Decimals7 (1 HITZ = 10,000,000 stroops)
StatusDistribution-only mode

Treasury Distribution (Bitcoin-Like)​

Instead of minting, rewards come from treasury at a rate-limited pace:

Daily Distribution = Treasury Balance × 0.05%

This creates a 12+ year emission curve:

YearCumulative Distribution
1~17%
4~52%
8~77%
12~88%

Why 0.05%?

  • Prevents market flooding
  • Sustainable 12+ year runway
  • Matches Bitcoin's proven halving model

User Actions​

Action Types & Fees​

All fees are in HITZ tokens:

ActionDifficultyFee (HITZ)Stakes?Destination
Stream10.1 HITZNoTreasury (escrow)
Like20.2 HITZNoTreasury (escrow)
Download30.3 HITZNoTreasury (escrow)
Mine101.0 HITZYesContract (stake)
InvestDynamic3+ HITZYesContract (stake)

Fee Calculation​

Formula: Fee = base_fee × difficulty

Where:

  • base_fee = 0.1 HITZ (1,000,000 stroops) by default
  • difficulty = action-specific multiplier

Invest Action (Dynamic)​

The Invest action scales with the investment amount:

  • Minimum: 3 HITZ
  • Scaling: 10 difficulty units per 1 HITZ
  • Stake: 1:1 with fee (fee = stake)
InvestmentDifficultyStake
3 HITZ303 HITZ
10 HITZ10010 HITZ
100 HITZ1000100 HITZ

1:1 Staking Model​

Post-exhaustion simplification: Fee = Stake

Stake Amount = Fee Paid

Benefits:

  • No oracle dependency
  • No price manipulation risk
  • Simple and predictable

Two Revenue Streams​

1. Escrow (Non-Equity Revenue)​

Generated by: Stream, Like, Download actions

Purpose: Performance-based metric for distribution allocation

Flow:

  1. User pays HITZ fee (0.1-0.3 HITZ)
  2. HITZ goes to Treasury wallet
  3. Entry's escrow value increases
  4. Treasury bot distributes proportionally to entries with escrow

Key Point: These actions do NOT grant equity/stakes, but they DO increase the entry's share of treasury distributions.

2. TVL (Total Value Locked - Equity Revenue)​

Generated by: Mine, Invest actions

Purpose: Entry valuation and long-term investment with equity stake

Flow:

  1. User pays HITZ fee (1+ HITZ)
  2. HITZ goes to Contract as stake (1:1)
  3. Entry's tvl and total_stake increase
  4. User gets proportional ownership stake
  5. User can claim proportional rewards from entry's reward pool

Key Point: These actions DO grant equity/stakes (proportional to stake), allowing users to claim ongoing rewards.

Action Details​

Stream (Completion)​

  • Cost: 0.1 HITZ (1× base fee)
  • Difficulty: 1
  • Stake: None
  • Effect: Fee to treasury; increases entry's escrow
  • When: Triggered when user completes listening to a track

Like​

  • Cost: 0.2 HITZ (2× base fee)
  • Difficulty: 2
  • Stake: None
  • Effect: Fee to treasury; increases entry's escrow
  • When: User likes a track

Download​

  • Cost: 0.3 HITZ (3× base fee)
  • Difficulty: 3
  • Stake: None
  • Effect: Fee to treasury; increases entry's escrow; enables download
  • When: User wants to download a track

Mine​

  • Cost: 1.0 HITZ (10× base fee)
  • Difficulty: 10
  • Stake: 1.0 HITZ (1:1 with fee)
  • Effect: Creates new entry; fee becomes stake; user gets ownership
  • When: User brings external music (from Audius, etc.) into Skyhitz
  • Note: Mining involves fetching metadata, pinning to R2 storage, and initializing on-chain

Invest​

  • Cost: 3+ HITZ
  • Difficulty: Dynamic (10 per 1 HITZ)
  • Stake: 1:1 with fee (3+ HITZ)
  • Effect: Fee becomes stake; increases entry's TVL; user gets equity stake
  • When: User wants to increase their stake in an existing entry

Staking & Ownership​

How Staking Works​

When you Mine or Invest:

  1. Your HITZ fee is transferred to the contract
  2. Fee becomes your stake (1:1 ratio)
  3. Entry's total stake increases
  4. You gain proportional ownership: your_stake / total_stake

Ownership Benefits​

Your ownership percentage determines:

  • Reward Claims: Your share of the entry's reward pool
  • Voting Power: Future governance rights (planned)
  • Entry Success: As the entry performs well, reward pool grows

Dilution​

  • When others stake in the same entry, total stake increases
  • Your absolute stake amount never decreases
  • Your ownership percentage may decrease if others stake more
  • However, if the entry performs well, your absolute rewards can still increase

Unstaking​

Users can unstake their HITZ at any time:

  • Call unstake(entry_id, amount)
  • Stake is returned to user's wallet
  • User loses proportional ownership
  • User keeps already-claimed rewards

Example​

Entry has 1000 HITZ total stake
You staked: 100 HITZ
Your ownership: 10%

Entry's reward pool grows to 500 HITZ
Your claimable: 50 HITZ (10% of 500)

Someone else stakes 500 HITZ
New total: 1500 HITZ
Your new ownership: 6.67% (100/1500)

But if reward pool grows to 900 HITZ:
Your claimable: 60 HITZ (6.67% of 900)
You still earn more despite dilution!

Claiming Rewards​

Users with equity stakes (from Mine or Invest) can claim accumulated HITZ rewards from the entry's reward pool.

How It Works​

Terminology (per entry):

  • Reward Pool: Total HITZ allocated to this entry from Treasury distributions
  • Staker Pool: Reward pool minus artist equity (if any)
  • Total Stake: Sum of all users' HITZ stakes in this entry
  • User Stake: Your HITZ stake in this entry
  • Ownership: your_stake / total_stake
  • Already Claimed: Total you've claimed from this entry previously
  • Claimable: Your share of the pool minus what you've already claimed

Formula:

staker_pool = reward_pool × (100% - artist_equity%)
claimable = (your_stake / total_stake) × staker_pool - already_claimed

Claiming Flow​

  1. Preview (read-only): Check your claimable amount without invoking the contract

    • Call get_claimable_rewards(entry_id, user)
    • UI shows amount and enables "Claim" button if > 0
  2. Claim (transaction): When you have claimable rewards

    • Call claim_rewards(entry_id, claimer)
    • Contract verifies you have stake in the entry
    • Calculates your claimable amount
    • Records the claim in claimed[user]
    • Transfers HITZ from contract to your wallet
    • Returns claimed amount
  3. Multiple Claims: You can claim multiple times as rewards accumulate

    • Each claim updates your claimed record
    • Future claims only give you the new rewards since last claim

Example​

Entry Stats:
- Total Stake: 1,000 HITZ
- Reward Pool: 500 HITZ
- Artist Equity: 0%
- Your Stake: 200 HITZ (20% ownership)

First Claim:
- Staker pool: 500 HITZ (100% - 0%)
- Your share: 20% × 500 = 100 HITZ
- Already claimed: 0
- Claimable: 100 HITZ ✓

After First Claim:
- Your claimed record: 100 HITZ

Later, Reward Pool Grows to 800 HITZ:
- Your share: 20% × 800 = 160 HITZ
- Already claimed: 100 HITZ
- Claimable: 60 HITZ ✓

Units & Precision​

  • Contract uses stroops (i128): 1 HITZ = 10,000,000 stroops
  • All calculations use saturating arithmetic for safety
  • UI displays values in HITZ with appropriate formatting

Claiming FAQs​

Q: Why is my claimable amount 0 even though there's a reward pool?

  • You may have no stake in this entry (only Mine/Invest grant stakes)
  • You may have already claimed all available rewards
  • The pool may not have grown since your last claim
  • Artist equity may take a large portion of the pool

Q: Does claiming reduce my stake?

  • No! Claiming only transfers rewards, your stake remains unchanged
  • You continue earning on the same stake for future rewards

Q: Does claiming affect APR?

  • No. APR is calculated based on reward pool vs total stake
  • Your claim doesn't change the ratio for APR purposes

Q: Can I claim multiple entries at once?

  • Currently, claims are per-entry
  • Batch claiming may be added in future updates

Q: How often should I claim?

  • Claim whenever the amount is worth the transaction fee
  • There's no penalty for waiting
  • Your rewards are safely tracked on-chain

Artist Equity (Non-Dilutable)​

Verified artists can claim a non-dilutable percentage of rewards when uploading their music to Skyhitz.

How It Works​

  1. Verified Artist Status: Artists must be verified before they can set equity
  2. Upload with Equity: When uploading, verified artists can set their equity percentage (0-99.9%)
  3. Non-Dilutable: Artist equity is never diluted by fan investments
  4. Separate Pool: Artist rewards are calculated before staker rewards

Equity Split Example​

Artist uploads with 20% equity (2000 bps)
Staker pool: 80%

Entry earns 1000 HITZ in rewards:
- Artist gets: 200 HITZ (20%)
- Staker pool: 800 HITZ (80%)

If staker has 50% of total stake:
- Staker gets: 400 HITZ (50% of 800)

Claiming Artist Rewards​

Artist Equity: 20% (2000 bps)
Reward Pool: 1000 HITZ
Artist's Total Share: 200 HITZ
Already Claimed: 50 HITZ
Claimable Now: 150 HITZ

Artists can claim their rewards anytime by calling claim_artist_equity(entry_id).

Collaborations​

Multiple verified artists can claim equity on the same entry:

Entry: "Summer Vibes" (collaboration)
Artist A: 30% equity
Artist B: 20% equity
Total Artist Equity: 50%
Staker Pool: 50%

1000 HITZ rewards:
- Artist A: 300 HITZ
- Artist B: 200 HITZ
- Stakers: 500 HITZ (split by stake %)

Key Points​

  • Max Total Equity: 99.9% (must leave at least 0.1% for stakers)
  • Immutable: Once set, artist equity cannot be changed
  • Independent Claims: Each artist claims separately
  • No Dilution: Fan investments don't affect artist percentage

Treasury System​

Treasury Distribution​

The Treasury distributes HITZ to entry reward pools with rate limiting:

  1. Daily Rate: 0.05% of treasury balance
  2. Proportional: Entries with more escrow get more rewards
  3. Automatic: Treasury bot runs daily

Distribution Formula​

For each entry with escrow > 0:
entry_share = (entry.escrow / total_escrow) × daily_distribution

Entries with more escrow (more stream/like/download activity) receive a larger share of the HITZ distribution.

Example Distribution​

Treasury Balance: 15,000,000 HITZ
Daily Distribution (0.05%): 7,500 HITZ

Entry A: 500 HITZ escrow (50%) → 3,750 HITZ
Entry B: 300 HITZ escrow (30%) → 2,250 HITZ
Entry C: 200 HITZ escrow (20%) → 1,500 HITZ

Economic Sustainability​

Rate-Limited Distribution​

The 0.05% daily rate ensures:

  • 12+ year distribution runway
  • No market flooding
  • Gradual decline like Bitcoin's halving

Fixed Supply​

With supply exhausted:

  • No inflation possible
  • Scarcity drives value
  • All rewards from real engagement

Incentive Alignment​

  • Listeners: Contribute to entry escrow → help their favorite entries earn more
  • Stakers: Stake in quality entries → earn proportional rewards
  • Artists: Set equity → earn from all future rewards

Key Takeaways​

  1. HITZ-Only Economy: All fees and rewards in HITZ tokens
  2. Post-Exhaustion: No minting, rewards from treasury distribution
  3. 1:1 Staking: Fee = stake, no oracle dependency
  4. Rate-Limited: 0.05% daily distribution (12-year curve)
  5. Proportional Claims: Stakers claim based on ownership percentage
  6. Non-Dilutable Artists: Artist equity never diluted by fans
  7. Sustainable: Fixed supply with long-term distribution