Rifts And Locations
Rift and location data needs careful handling because not every location-like value is public coordinates.
The local world-contract source documents rifts as server-controlled spatial objects. Players do not have an OwnerCap for rifts and have no on-chain path to create or modify them.
Rift Events
Section titled “Rift Events”The world::rift module exposes two public event shapes:
| Event | Meaning |
|---|---|
RiftSpawnedEvent |
A rift object was spawned with an id, key and location hash. |
RiftLocationBroadcastEvent |
An authorised sponsor broadcast plaintext location fields on-chain. |
RiftSpawnedEvent includes:
- rift id
- rift key
- location hash
RiftLocationBroadcastEvent includes:
- rift id
- rift key
- location hash
- solar system
xyz
The broadcast event is the important boundary. A hash is evidence that a location exists; a broadcast event is public evidence for plaintext system and coordinate fields.
Location Hashes
Section titled “Location Hashes”A location hash is not a display coordinate. It can be useful for identity, matching and audit but a public explorer should not pretend it knows the exact location unless a public source reveals it.
Use labels such as:
location hash knowncoordinates broadcastcoordinates not publicDo not convert a hash into a fake system name or coordinate.
Revealed Coordinates
Section titled “Revealed Coordinates”Some world modules expose reveal_location functions or events that record revealed coordinates through a location registry. Treat those as source-backed public coordinates only when the source row includes the system and coordinate fields.
For rifts, the broadcast event records:
solarsystemxyzThose fields may be strings in the event payload, so clients should not assume they are already numeric floats without checking the API schema or parsed payload.
Registry Handling
Section titled “Registry Handling”Black Relay should store:
- the raw rift event as source evidence
- the rift entity where public evidence supports it
- the location hash as a sourced fact
- plaintext system/coordinate facts only when a public broadcast or equivalent source exists
- confidence and source links on every derived field
It should not store:
- private scout notes
- hidden tribe routes
- inferred private locations
- manually guessed coordinates
- location data from private Discord or private operations
Public Tool Guidance
Section titled “Public Tool Guidance”For rift and spatial tools:
- distinguish hash-only records from coordinate records
- show the source of every coordinate
- avoid live hostile-tracking behaviour
- avoid claiming route safety from stale data
- use static-client systems and route edges for map context
- use event/source freshness for operational confidence
API Starting Points
Section titled “API Starting Points”Current public API routes that can help with spatial context:
GET /v1/events?module=riftGET /v1/current/systemsGET /v1/current/routesGET /v1/current/route-edgesGET /v1/entities/{idOrSlug}/sourcesGET /v1/ops/freshnessIf a route does not return rift records yet, treat that as a source or importer gap. Do not fill it with unsourced field reports.