Aller au contenu principal

Leaderboard

The Skatehive Leaderboard ranks community members based on their engagement, holdings, and contributions. Data is stored in Supabase and updated regularly.

View it at skatehive.app/leaderboard


🏆 Overview

The leaderboard tracks Skatehive community subscribers and ranks them by points. Points are calculated from multiple factors including:

  • Hive holdings (HIVE, HP, HBD)
  • Ethereum assets (Gnars votes, Skatehive NFTs)
  • Activity (posts, snaps)
  • Community support (witness votes, donations)

📊 Data Tracked

Each user on the leaderboard has the following data:

FieldDescription
hive_authorHive username
hive_balanceLiquid HIVE balance
hp_balanceHive Power
hbd_balanceHBD balance
hbd_savings_balanceHBD in savings (15% APR)
has_voted_in_witnessWhether user voted for Skatehive witness
eth_addressLinked Ethereum address
gnars_balanceGnars NFT holdings
gnars_votesGnars DAO voting power
skatehive_nft_balanceSkatehive NFT count
max_voting_power_usdUser's max vote value in USD
post_countCombined posts/snaps score
giveth_donations_usdTotal donated via Giveth
pointsCalculated ranking score

📈 Points Calculation

Points are calculated with the following multipliers and caps:

Positive Factors

FactorMultiplierCap
HIVE Balance0.11,000 HIVE
HP Balance0.512,000 HP
HBD Savings0.21,000 HBD
Gnars Votes30-
Skatehive NFTs50-
Max Voting Power (USD)1,000-
Post Count (activity score)0.13,000
Witness Vote+1,000 points-
ETH Wallet Linked+5,000 points-
Giveth Donations5 per USD1,000 USD max

Penalties

ConditionPenalty
No ETH wallet linked-2,000
Zero HIVE balance-1,000
Zero HP balance-5,000
Zero Gnars votes-300
Zero Skatehive NFTs-900
Zero HBD savings-200
Zero post count-2,000
InactivityUp to -100 (days since last post)

Minimum points is 0 - users can't have negative scores.


📡 Data Sources

Hive Blockchain

  • Account balances (HIVE, HP, HBD)
  • Vesting shares (for HP calculation)
  • Witness votes
  • Last post date
  • Metadata (for ETH address extraction)

Ethereum

  • Gnars NFT balance and voting power
  • Skatehive NFT holdings
  • Read via public RPC

Skatehive API

  • api.skatehive.app/api/v2/activity/posts - Post activity scores
  • api.skatehive.app/api/v2/activity/snaps - Snap activity scores

Giveth

  • Donation tracking via Giveth API
  • USD values matched to Hive usernames

🔄 Update Schedule

The leaderboard data is updated in batches:

  1. Full refresh: All community subscribers processed
  2. Partial refresh: 100 oldest records updated
  3. Batch size: 25 users processed in parallel
  4. Community: hive-173115 (Skatehive)

After data fetch, points are recalculated for all users.


🎯 Activity Score

The post_count field is actually a combined activity score:

combined_score = (post_score × 10) + (snap_score × 3 × capped_ratio)
  • Posts have higher influence (10x multiplier)
  • Snaps have lower influence (3x multiplier)
  • Maximum 50 snaps counted (prevents spam gaming)

🖥️ API Endpoints

EndpointDescription
GET https://api.skatehive.app/api/skatehiveFetch leaderboard data
GET https://api.skatehive.app/api/leaderboardTrigger data refresh

🎨 UI Features

The webapp leaderboard shows:

  • Podium: Top 3 users with avatars
  • Rankings table: All users sorted by points
  • User stats: Click to see detailed breakdown
  • Dynamic OG images: For social sharing

🔗 Airdrop Integration

The leaderboard powers the airdrop system:

  • Filter users by various criteria
  • Sort by points, HP, NFTs, etc.
  • Apply weighted distribution based on rankings

See the Airdrop docs for more details.


Climb the leaderboard by being active, holding assets, and supporting the community! 🏆🛹