Technical Architecture

Virality Leaderboard is built on a transparent, data-driven architecture designed to quantify attention with precision and distribute rewards with fairness. Below is a complete breakdown of how each module works under the hood.

Infomarket Architecture

Market Map & Treemap View

The treemap visualizes the top 15 projects by mindshare. Each block represents a single project:

Property
Description

Size

Larger block = higher mindshare %

Color

🟒 Green = positive trend Β· πŸ”΄ Red = negative trend (based on selected time window)

Content

Project slug, mindshare %, trend %

Sparkline

Mini chart showing recent trajectory

Rank

Medal indicator for top 3 (πŸ₯‡πŸ₯ˆπŸ₯‰)

Click any block to open the Project Detail page.

Time Window Tabs

Tab
Description

TODAY

Since midnight UTC today

WTD

Week-to-date (since Monday 00:00 UTC)

MTD

Month-to-date (since 1st of the month)

QTD

Quarter-to-date

YTD

Year-to-date

Trend

Real-time momentum that uses a 72-hour rolling window with time decay. Newer posts are weighted more heavily. Best for identifying what's hot right now.

The sidebar surfaces projects with the sharpest mindshare movements for the selected time window:

  • Top Gainers: largest positive mindshare change.

  • Top Losers: largest negative mindshare change.

  • Project Stats: total projects, total coverage %, average change, gainers vs. losers count.

Click any project in the sidebar to open its detail page.

Project Detail Page

Top Contributors: Ranked list of creators who contributed the most to the project's mindshare, showing rank, display name, @username, follower count, cast count, and contribution score.

Top Casts: List of top-performing casts mentioning the project, showing author, date, cast text, likes, recasts, and replies.

Creator Detail Page

Raw Activity (7D): Casts, likes, recasts, replies, and composite score.

Attributes:

Attribute
Description

Activity Level

Casual / Moderate / Hardcore : based on casts per day

Impact Style

Volume Focused / Balanced / Quality Curator : based on avg engagement per cast

Top Projects: Projects this creator has contributed to, with individual contribution scores.

Top Casts: Sample of their highest-performing casts with full engagement metrics.

Key Metrics Reference

Mindshare %

A project's share of total ecosystem attention. All projects sum to 100%. Higher % = more attention relative to peers.

Trend vs. Calendar Windows

Type
Mechanism
Best For

Trend

72h rolling window with time decay. For instance, a viral post from 2 days ago counts less than one from yesterday

"What's hot right now"

Calendar

(TODAY, WTD, MTD, etc.)

Cumulative sum, no decay

Total volume & reporting

Change (Ξ”)

Percentage change in mindshare compared to the previous equivalent period. 🟒 Green = up Β· πŸ”΄ Red = down.

Top Curators vs. Most Active

Ranking
Sorted By
Best For

Curators

Quality (avg score per cast)

Finding influential voices

Most Active

Volume (casts per day)

Finding frequent contributors

Activity Level Thresholds

Level
Criteria

Casual

< 1 cast/day avg

Moderate

1–2 casts/day avg

Hardcore

> 3 casts/day avg

Impact Style Thresholds

Style
Criteria

Volume Focused

Lower avg engagement per cast

Balanced

Medium avg engagement per cast

Quality Curator

Higher avg engagement per cast


City Rewards Architecture

Campaign Task Types

Type
Purpose
Key Fields

Follow

User must follow specified Farcaster accounts

Handle, FID (required for verification)

Post

User must publish posts with required keywords/mentions

Platform, keywords, mention handles, min posts

Mindshare Growth

User must contribute posts to grow a project's mindshare

Project slug, post text

Description

Informational block for participants (no verification needed)

Description text

Follow Task Configuration

Each follow target requires a Handle (e.g. @polymarket) and FID (Farcaster ID). FID is required because the system uses it to verify the follow onchain. Multiple targets can be added per task. If a Handle is left empty but FID is provided, FID alone is used for verification.

πŸ’‘ Where to find FID: Look up the FID for any handle via Farcaster or external tools (e.g. Warpcast profile URL).

Post Task Configuration

Field
Description

Platform

Farcaster, Base, or X (Twitter)

Post Text

Suggested template for users (optional)

Required Keywords

Keywords that must appear in the post (e.g. Aerodrome, $Brett)

Required Mention Handles

Handles that must be mentioned (e.g. @aerodrome)

Min Posts

Minimum number of posts required (default: 1)

Mindshare Growth Task Configuration

Any project currently featured on the Infomarket leaderboard can be selected as the target, which enables cross-project collaborative campaigns.

Task Participation Metrics

Metric
Description

Participants

Total users who joined

Completed

Users who completed all tasks

In Progress

Users who completed some tasks

Not Started

Users who joined but completed no tasks

Avg Completion

Average completion rate across participants

Total Tasks

Number of tasks in the campaign

Campaign Step Schema

Each campaign contains a steps array (required, minimum 1 step, maximum 50 steps).

Step fields:

Field
Required
Description
Example

steps[].id

βœ…

Unique identifier within the campaign

"follow"

steps[].type

βœ…

Social action type

"FOLLOW_ACCOUNT"

steps[].title

βœ…

User-facing task title

"Follow @polymarket on Base App"

steps[].description

βœ…

Detailed instruction

"Follow the official project account."

steps[].target_id

❌

Farcaster entity identifier

"fid:12345" or "cast:0xPM1024"

steps[].sort_order

❌

Display order (0-indexed)

0

Supported action types: FOLLOW_ACCOUNT, LIKE_POST, COMMENT_POST, REPOST_POST

Progress Tracking

Progress is displayed as "X/Y Verified" with a percentage bar. The bar shows green at 100% completion and accent blue otherwise. A "Completed" badge appears on the campaign card when all steps are verified. Last verified timestamp is shown after the first successful verification. Progress is tracked per-user, per-campaign.

Verification Rules

Rule
Detail

Campaign must have a unique id

N/A

Required fields

name, handle, tag, category, rewardPool, rewardSub, recipients, activityPeriod, distribution, steps

Timing

Verify button is disabled for upcoming and past campaigns

API validation

Requires campaignId, accountHandle, and steps array

Step limit

Max 50 steps per verification request

Auth

User must be signed in to verify

Category / Tag Filters

Filter projects by category using tag buttons below the time tabs (e.g. All, DeFi, Eco). All displays every featured project.

Last updated