Skip to content
Creator Hub

Activity

Who is in your worlds, sampled every ~5 minutes. Headcount only — see “What we can’t tell you” below.

Read at 00:48:54 UTC (just now)

Sampled 1No sample 4

Everything on this page is public. worlds-content-server, /presence/* and the Places API all answer unauthenticated requests. Your address selects which rows you see; it does not protect them.

No address yet

This page needs an address to pick which worlds to show. It is not a login — the data is public either way.

This field is the proof that an address scopes rows rather than protecting them — anyone’s worlds read the same.

Source ledger

Live3

DatumEndpointStateUsed by
Your worldsWorlds worlds-content-server holds content for, filtered to the address you supplied. A 200 with no rows is a real answer and is shown as an empty list, never as a failure.GET worlds-content-server.decentraland.org/worlds?authorized_deployer={address}No sampleprobed just now/creator-hub/activity · /creator-hub/manage
Users online per worldThe worlds server's own instant figure. It lists only rooms that currently have users, and it routinely disagrees with the presence sample — both are shown, neither is reconciled.GET worlds-content-server.decentraland.org/live-dataLiveprobed just now/creator-hub/activity · /creator-hub/activity/:world
Realm healthWhether the realm is healthy, accepting users, and in sync.GET catalyst.example.com/aboutLive/creator-hub/activity · /creator-hub/activity/:world

Sampled3

A missing bucket is not a zero. Rows exist only for the instants a world or scene was live when the sampler ran. History depth is whatever exists, not a fixed window.

DatumEndpointStateUsed by
Headcount per worldThe most recent 5-minute snapshot. A world missing from it was not live when the sampler ran — that is 'no sample', not zero.GET catalyst.example.com/presence/current/worldsNo sampleprobed just now/creator-hub/activity · /creator-hub/activity/:world
Headcount per sceneOccupancy by parcel pointer. There is no owner field on these rows, which is why parcels can be looked up but never listed.GET catalyst.example.com/presence/current/scenesNo sampleprobed just now/creator-hub/activity
Occupancy history per worldWhatever snapshots exist, newest first, capped at 5000 rows. Empty cadence buckets are plotted as gaps, never as zeros, and the series never extends past the last sample.GET catalyst.example.com/presence/worlds/history?world={world}&limit={limit}Sampled/creator-hub/activity · /creator-hub/activity/:world

Unavailable1

DatumEndpointStateUsed by
Sessions, retention, dwell time, device split, FPS (15 fields)404. That API serves /healthz, /api/auth/*, /api/me, /api/admin/* and /api/worlds/{w}/metrics — this route is not among them. The client half exists in this repo with a generated zod model and a drift gate, and stays unused until the route does.GET decentraland.org/creators-data/api/creators/me/scenes/statsUnavailable/creator-hub/scene-analytics

Not built1

DatumEndpointStateUsed by
Which Genesis parcels are mineNothing on this stack maps a wallet to the parcels it deployed to. /presence/current/scenes reports occupancy by pointer with no owner field, and worlds-content-server's authorized_deployer filter covers worlds only. Today: Look up a pointer directly with ?pointer=x,y.Not built/creator-hub/activity

Excluded on purpose5

These are never rendered anywhere in the hub. This list exists so nobody rediscovers them and wires them up.

DatumEndpointStateUsed by
comms.usersCount / bff.userCountBoth read 0 on both realms, on a network that demonstrably has users.GET catalyst.example.com/aboutExcludednothing yet
Hot scenesReturns [] and fails open to [] on any upstream error, non-JSON body or unreachable host — so an empty answer is indistinguishable from a broken one.GET catalyst.example.com/hot-scenesExcludednothing yet
Parcel detailA stub: empty name and description, and an image URL pointing at 127.0.0.1.GET catalyst.example.com/v2/parcels/{x}/{y}Excludednothing yet
occupancyTotals() for a per-world figureIt Math.maxes three disagreeing sources into one number. The hub shows the sources side by side instead.Excludednothing yet
worldsBase() as a worlds hostIt rewrites the catalyst hostname to worlds.<domain>, which 404s every path. worlds-content-server.decentraland.org is a different, real host.GET worlds.example.com/*Excludednothing yet