Skip to content
Creator Hub

Data sources

Every datum this hub can show, the endpoint behind it, and whether that endpoint answered just now. 30 sources.

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

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.

Live9

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
Deployed bytes and quotaDeployed-content bytes per NAME plus the wallet allowance. Byte counts are decimal strings and are parsed with BigInt. Worlds deployed to catalyst.example.com are not counted here.GET worlds-content-server.decentraland.org/wallet/{address}/statsNo sampleprobed just now/creator-hub/activity/:world · /creator-hub/worlds-storage
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
Platform totalsWorld counts and comms room/user totals for the upstream network.GET worlds-content-server.decentraland.org/statusLiveprobed just now/creator-hub/data-sources
Likes, dislikes, favouritesReception for one world. A 200 with an empty list means Places has no record of it — rendered as an empty state, not as zeros.GET catalyst.example.com/places/api/worlds?names={world}No sampleprobed just now/creator-hub/activity/:world
Scene URN and spawn point404 here means either 'no scenes deployed' or 'never heard of it' — catalyst answers the same way for both, so the page does not claim to know which.GET catalyst.example.com/world/{world}/aboutNo sampleprobed just now/creator-hub/activity/:world
Access control list and ownerRead-only here. Changing it is a signed write that belongs to /creator-hub/world-permissions.GET catalyst.example.com/world/{world}/permissionsNo sampleprobed just now/creator-hub/activity/:world
Realm healthWhether the realm is healthy, accepting users, and in sync.GET catalyst.example.com/aboutLiveprobed just now/creator-hub/activity · /creator-hub/activity/:world
Your NAMEsNAMEs owned on this stack. A NAME can exist with nothing deployed to it, so this list and the worlds-content-server list disagree by design.GET catalyst.example.com/lambdas/users/{address}/namesNo sampleprobed just now/creator-hub/manage

Sampled4

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}No sampleprobed just now/creator-hub/activity · /creator-hub/activity/:world
Occupancy history per sceneThe Genesis-parcel lookup. Same gap rules as the world history.GET catalyst.example.com/presence/scenes/history?pointer={x,y}&limit={limit}No sampleprobed just now/creator-hub/activity?pointer=

Snapshot0

The vocabulary exists and nothing currently qualifies. A snapshot is a dated export from metabase; an artifact that reports any other source is not rendered at all.

The vocabulary exists and nothing currently qualifies. A snapshot is a dated export from metabase; an artifact reporting any other source is not rendered at all.

Unavailable4

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
The 16 world metricsThe host serves the marketing SPA, so a JSON read gets HTML. The artifact behind it reports source: fixture (synthetic) — which would still not be rendered, because only a metabase export may become a snapshot. No retry control: a retry cannot succeed.GET decentraland.org/creators-data/api/worlds/{world}/metricsUnavailablenothing yet
Scene key-value storage (world, players, env)400 Invalid Auth Chain. It needs an ADR-44 signed fetch made by the scene runtime (realm + parcel metadata); this hub holds no such identity. It would also be a different number — that endpoint sums the KV store your scene writes at runtime, not the bytes you deployed.GET catalyst.example.com/world-storage/usage/{world|players|env}Unavailable/creator-hub/worlds-storage · /creator-hub/activity/:world
Creator identity, studio, tierNot deployed. The host answers with the marketing SPA.GET decentraland.org/creators-data/api/meUnavailablenothing yet

Not built7

DatumEndpointStateUsed by
World federation / submit to another realmcatalyrst-worlds has no sync or federation module, the Genesis replication stack has no world references, and the federation peer list holds one placeholder peer. interconnected.online is a real content server whose /worlds returns 0 rows and which has no per-scene comms room, so there is nothing to submit to. Today: Publishing from this hub updates this network only, not Genesis City on decentraland.org.Not builtnothing yet
Land and parcel event notificationscatalyrst-notifications is email preferences — its substance is first-wear and email ports, with zero parcel, land or scene references. Today: The refresh control on the activity pages.Not builtnothing yet
Creator-defined metricsThe metric vocabulary is a 16-name whitelist enforced at import time; an unknown metric aborts the import, and the endpoint reads a pre-exported snapshot. A creator can read what someone else exported and cannot define one.Not builtnothing yet
Crash reports scoped to my scenecatalyrst-telemetry ingests Sentry-shaped events and groups them into issues, but every read is behind an admin guard and the data carries no scene or owner dimension. There is no query that means 'my world'. Today: Start your explorer with --mcp, then read its scene log directly: POST get_scene_logs to http://127.0.0.1:8123/unity-explorer-mcp.Not builtnothing yet
In-scene bot spawn and controlNo spawn/drop/request bot path exists anywhere in the server, sites or the play harness. dcl-scene-bots is an MCP client you run beside your own explorer; the browser cannot reach that port. Today: Run it yourself from a terminal — the command is on the world page.Not builtnothing yet
Live 2-D scene state / who is whereNothing serves a scene's current entity or player state. Presence knows addresses and parcel coordinates internally; nothing exposes them. Today: Join the world.Not builtnothing yet
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 purpose6

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
places user_visits / user_count0 for every world sampled, including real, liked, occupied ones.GET catalyst.example.com/places/api/worlds?names={world}Excludednothing 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

“Probed” means this page asked the endpoint while rendering, with a four-second timeout. A row that is not probed is a constant: its state is a fact about what exists, not about what answered today.