Skip to main content

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! πŸ†πŸ›Ή