ReferenceWidgets
Leaderboard widget
A ranked list scoped to time window, audience, or group.
Mount
<div
data-hatched-widget="leaderboard"
data-hatched-token="SESSION_OR_EMBED_TOKEN"
data-hatched-leaderboard-id="lb_weekly"
></div>Attributes
| Attribute | Values | Default |
|---|---|---|
data-hatched-token | session or embed token | required |
data-hatched-leaderboard-id | leaderboard id | required |
data-hatched-visibility | full neighborhood | neighborhood |
data-hatched-highlight-self | true false | true |
data-hatched-limit | number | 10 |
data-hatched-group-id | id string | optional |
Visibility modes
full— the entire ranked list, up tolimitentries.neighborhood— the buddy's own rank ±N entries. Less demotivating for mid/low ranks.
Required scopes
leaderboards:readbuddy:read(to highlight self)
Events
el.addEventListener('hatched:rank-changed', (e) => {
console.log('new rank', e.detail.rank);
});Refresh cadence
Leaderboards are snapshotted every 10 minutes by default. The widget
auto-refreshes on a matching cadence. For lower-latency surfaces, dial
data-hatched-refresh-ms="60000" — it still respects the server-side
snapshot window, so this only determines when the widget fetches.