# world
Documentation: next (source: develop).

Install the preview: `pnpm add @aephia/atlas-kit@next`. These docs follow develop and may include changes not yet published to npm.

Markdown source of https://develop.atlas-kit-docs.pages.dev/reference/world/ — see https://develop.atlas-kit-docs.pages.dev/ai/ for the full machine-readable surface.

## Interfaces

<a id="asteroidsnapshot"></a>

### AsteroidSnapshot

Defined in: [packages/sage/src/world/index.ts:195](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L195)

Immutable Asteroid projection over a CelestialBody account.

#### Example

```ts
declare const asteroid: AsteroidSnapshot;
console.log(asteroid.details.resources);
```

#### Extends

- `Omit`\<`AsteroidAccountData`, `"system"`\>

#### Properties

<a id="address"></a>

##### address

```ts
readonly address: Address;
```

Defined in: [packages/sage/src/world/index.ts:196](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L196)

<a id="details"></a>

##### details

```ts
readonly details: WorldAsteroidData;
```

Defined in: [packages/sage/src/internal/c4/world.ts:412](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L412)

###### Inherited from

```ts
Omit.details
```

<a id="game"></a>

##### game

```ts
readonly game: Address;
```

Defined in: [packages/sage/src/internal/c4/world.ts:398](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L398)

###### Inherited from

```ts
Omit.game
```

<a id="id"></a>

##### id

```ts
readonly id: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:396](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L396)

###### Inherited from

```ts
Omit.id
```

<a id="kind"></a>

##### kind

```ts
readonly kind: "asteroid";
```

Defined in: [packages/sage/src/internal/c4/world.ts:411](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L411)

###### Inherited from

```ts
Omit.kind
```

<a id="lastsyncatunixseconds"></a>

##### lastSyncAtUnixSeconds

```ts
readonly lastSyncAtUnixSeconds: bigint;
```

Defined in: [packages/sage/src/internal/c4/world.ts:401](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L401)

###### Inherited from

```ts
Omit.lastSyncAtUnixSeconds
```

<a id="name"></a>

##### name

```ts
readonly name: string;
```

Defined in: [packages/sage/src/internal/c4/world.ts:397](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L397)

###### Inherited from

```ts
Omit.name
```

<a id="system"></a>

##### system

```ts
readonly system: EntityRef<"starSystem">;
```

Defined in: [packages/sage/src/world/index.ts:197](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L197)

<a id="systemsequenceid"></a>

##### systemSequenceId

```ts
readonly systemSequenceId: bigint;
```

Defined in: [packages/sage/src/internal/c4/world.ts:400](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L400)

###### Inherited from

```ts
Omit.systemSequenceId
```

<a id="version"></a>

##### version

```ts
readonly version: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:395](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L395)

###### Inherited from

```ts
Omit.version
```

#### Methods

<a id="tojson"></a>

##### toJSON()

```ts
toJSON(): unknown;
```

Defined in: [packages/sage/src/world/index.ts:198](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L198)

###### Returns

`unknown`

***

<a id="planetclaimstakeplotdefinition"></a>

### PlanetClaimStakePlotDefinition

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:115](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L115)

One Claim Stake definition of a tier and whether the Planet suits it.

`requiredTagsProvided` is true when the Planet provides every tag the
definition requires. It is not a complete eligibility verdict: permissions,
rent, faction rules and concurrent placements remain chain-authoritative.

#### Example

```ts
declare const entry: PlanetClaimStakePlotDefinition;
console.log(entry.definition.name, entry.requiredTagsProvided);
```

#### Properties

<a id="definition"></a>

##### definition

```ts
readonly definition: GameClaimStakeDefinitionData;
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:116](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L116)

<a id="requiredtagsprovided"></a>

##### requiredTagsProvided

```ts
readonly requiredTagsProvided: boolean;
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:117](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L117)

***

<a id="planetclaimstakeplotrow"></a>

### PlanetClaimStakePlotRow

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:95](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L95)

One plot row of a Planet: the Claim Stakes placed at one Starbase level.

The program records placed stakes per Starbase level row, not per Claim
Stake definition. `occupied` counts every stake in the row, of every tier
and including deactivated stakes that still hold their plot. `chronology` is
the stored placement order the program uses to index the row's stakes.

#### Example

```ts
declare const row: PlanetClaimStakePlotRow;
console.log(row.level, row.occupied);
```

#### Properties

<a id="chronology"></a>

##### chronology

```ts
readonly chronology: readonly Address[];
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:100](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L100)

<a id="level"></a>

##### level

```ts
readonly level: WorldStarbaseLevel;
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:96](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L96)

<a id="levelindex"></a>

##### levelIndex

```ts
readonly levelIndex: number;
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:97](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L97)

<a id="occupied"></a>

##### occupied

```ts
readonly occupied: number;
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:98](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L98)

<a id="structures"></a>

##### structures

```ts
readonly structures: readonly PlanetClaimStakePlotStructure[];
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:99](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L99)

***

<a id="planetclaimstakeplotssnapshot"></a>

### PlanetClaimStakePlotsSnapshot

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:165](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L165)

Immutable Claim Stake plot availability of one Planet.

`rows` always holds the seven plot rows in Starbase level order, and `tiers`
the five Claim Stake tiers in order. `starbaseLevel` and
`starbaseLevelIndex` come from the Planet's StarSystem and are absent when
that System has no Starbase. Read metadata reports the older of the Planet
and StarSystem observations.

#### Example

```ts
declare const plots: PlanetClaimStakePlotsSnapshot;
const open = plots.tiers.filter((tier) => (tier.available ?? 0) > 0);
console.log(plots.name, open.map((tier) => tier.tier));
```

#### Properties

<a id="address-1"></a>

##### address

```ts
readonly address: Address;
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:167](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L167)

<a id="bodyid"></a>

##### bodyId

```ts
readonly bodyId: number;
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:168](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L168)

<a id="game-1"></a>

##### game

```ts
readonly game: Address;
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:170](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L170)

<a id="kind-1"></a>

##### kind

```ts
readonly kind: "planetClaimStakePlots";
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:166](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L166)

<a id="name-1"></a>

##### name

```ts
readonly name: string;
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:169](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L169)

<a id="providedtags"></a>

##### providedTags

```ts
readonly providedTags: readonly number[];
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:174](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L174)

<a id="rows"></a>

##### rows

```ts
readonly rows: readonly PlanetClaimStakePlotRow[];
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:175](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L175)

<a id="starbaselevel"></a>

##### starbaseLevel?

```ts
readonly optional starbaseLevel?: WorldStarbaseLevel;
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:172](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L172)

<a id="starbaselevelindex"></a>

##### starbaseLevelIndex?

```ts
readonly optional starbaseLevelIndex?: number;
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:173](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L173)

<a id="system-1"></a>

##### system

```ts
readonly system: EntityRef<"starSystem">;
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:171](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L171)

<a id="tiers"></a>

##### tiers

```ts
readonly tiers: readonly PlanetClaimStakePlotTier[];
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:176](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L176)

#### Methods

<a id="tojson-1"></a>

##### toJSON()

```ts
toJSON(): unknown;
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:177](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L177)

###### Returns

`unknown`

***

<a id="planetclaimstakeplotstructure"></a>

### PlanetClaimStakePlotStructure

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:76](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L76)

One Claim Stake structure recorded on a Planet plot.

`active` is true while the stored deactivation time is zero. A deactivated
structure still occupies its plot until the program removes it from the
Planet.

#### Example

```ts
declare const structure: PlanetClaimStakePlotStructure;
console.log(structure.address, structure.active);
```

#### Properties

<a id="active"></a>

##### active

```ts
readonly active: boolean;
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:79](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L79)

<a id="address-2"></a>

##### address

```ts
readonly address: Address;
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:77](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L77)

<a id="deactivationtimeunixseconds"></a>

##### deactivationTimeUnixSeconds

```ts
readonly deactivationTimeUnixSeconds: bigint;
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:78](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L78)

***

<a id="planetclaimstakeplottier"></a>

### PlanetClaimStakePlotTier

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:139](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L139)

Plot limits and availability for one Claim Stake tier on a Planet.

`plotLimitByLevel`, `baseRentRateByLevel` and `basePlacementFeeByLevel`
list the stored cell of every plot row in [starbaseLevelIndex](/reference/world/#starbaselevelindex-1) order.
A row's limit caps the stakes of all tiers in that row: placing a stake of
this tier needs a row whose `occupied` count is below this tier's limit.
The program uses the first such row from `level-0` up to the System's
Starbase level; `placementLevel` names it. `available` sums the free plots
of this tier over those rows. Both are absent when the System has no
Starbase. Tiers share rows, so availability across tiers does not add up.
Definition multipliers and the exact rent and fee settlement remain
program-authoritative.

#### Example

```ts
declare const tier: PlanetClaimStakePlotTier;
console.log(tier.tier, tier.available, tier.placementLevel);
```

#### Properties

<a id="available"></a>

##### available?

```ts
readonly optional available?: number;
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:145](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L145)

<a id="baseplacementfeebylevel"></a>

##### basePlacementFeeByLevel

```ts
readonly basePlacementFeeByLevel: readonly WorldFixedValue[];
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:144](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L144)

<a id="baserentratebylevel"></a>

##### baseRentRateByLevel

```ts
readonly baseRentRateByLevel: readonly WorldFixedValue[];
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:143](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L143)

<a id="definitions"></a>

##### definitions

```ts
readonly definitions: readonly PlanetClaimStakePlotDefinition[];
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:147](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L147)

<a id="placementlevel"></a>

##### placementLevel?

```ts
readonly optional placementLevel?: WorldStarbaseLevel;
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:146](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L146)

<a id="plotlimitbylevel"></a>

##### plotLimitByLevel

```ts
readonly plotLimitByLevel: readonly number[];
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:142](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L142)

<a id="tier"></a>

##### tier

```ts
readonly tier: ClaimStakeTier;
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:140](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L140)

<a id="tierindex"></a>

##### tierIndex

```ts
readonly tierIndex: number;
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:141](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L141)

***

<a id="planetresourceitem"></a>

### PlanetResourceItem

Defined in: [packages/sage/src/world/index.ts:163](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L163)

One registry-resolved resource row observed in a Planet account.

#### Example

```ts
declare const resource: PlanetResourceItem;
console.log(resource.cargo.name, resource.richness.value);
```

#### Properties

<a id="cargo"></a>

##### cargo

```ts
readonly cargo: CargoDefinitionSummary;
```

Defined in: [packages/sage/src/world/index.ts:164](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L164)

<a id="richness"></a>

##### richness

```ts
readonly richness: WorldFixedValue;
```

Defined in: [packages/sage/src/world/index.ts:165](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L165)

***

<a id="planetresourcessnapshot"></a>

### PlanetResourcesSnapshot

Defined in: [packages/sage/src/world/index.ts:175](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L175)

Immutable Planet resource observation with registry-resolved cargo definitions.

#### Example

```ts
declare const resources: PlanetResourcesSnapshot;
console.log(resources.name, resources.resources);
```

#### Properties

<a id="address-3"></a>

##### address

```ts
readonly address: Address;
```

Defined in: [packages/sage/src/world/index.ts:177](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L177)

<a id="bodyid-1"></a>

##### bodyId

```ts
readonly bodyId: number;
```

Defined in: [packages/sage/src/world/index.ts:178](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L178)

<a id="game-2"></a>

##### game

```ts
readonly game: Address;
```

Defined in: [packages/sage/src/world/index.ts:180](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L180)

<a id="kind-2"></a>

##### kind

```ts
readonly kind: "planetResources";
```

Defined in: [packages/sage/src/world/index.ts:176](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L176)

<a id="lastsyncedatunixseconds"></a>

##### lastSyncedAtUnixSeconds

```ts
readonly lastSyncedAtUnixSeconds: bigint;
```

Defined in: [packages/sage/src/world/index.ts:183](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L183)

<a id="name-2"></a>

##### name

```ts
readonly name: string;
```

Defined in: [packages/sage/src/world/index.ts:179](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L179)

<a id="resources"></a>

##### resources

```ts
readonly resources: readonly PlanetResourceItem[];
```

Defined in: [packages/sage/src/world/index.ts:184](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L184)

<a id="system-2"></a>

##### system

```ts
readonly system: EntityRef<"starSystem">;
```

Defined in: [packages/sage/src/world/index.ts:181](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L181)

<a id="systemsequenceid-1"></a>

##### systemSequenceId

```ts
readonly systemSequenceId: bigint;
```

Defined in: [packages/sage/src/world/index.ts:182](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L182)

#### Methods

<a id="tojson-2"></a>

##### toJSON()

```ts
toJSON(): unknown;
```

Defined in: [packages/sage/src/world/index.ts:185](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L185)

###### Returns

`unknown`

***

<a id="planetsnapshot"></a>

### PlanetSnapshot

Defined in: [packages/sage/src/world/index.ts:150](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L150)

Immutable Planet projection over a CelestialBody account.

Planet richness gameplay use: unverified. Version-matched program evidence
does not establish a consuming activity or formula for the decoded richness
values in `details.resources`. They are distinct from Asteroid richness used
by Fleet mining and from separately decoded Claim Stake building
`resourceExtraction` rates.

#### Example

```ts
declare const planet: PlanetSnapshot;
console.log(planet.details.resources);
```

#### Extends

- `Omit`\<`PlanetAccountData`, `"system"`\>

#### Properties

<a id="address-4"></a>

##### address

```ts
readonly address: Address;
```

Defined in: [packages/sage/src/world/index.ts:151](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L151)

<a id="details-1"></a>

##### details

```ts
readonly details: WorldPlanetData;
```

Defined in: [packages/sage/src/internal/c4/world.ts:408](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L408)

###### Inherited from

```ts
Omit.details
```

<a id="game-3"></a>

##### game

```ts
readonly game: Address;
```

Defined in: [packages/sage/src/internal/c4/world.ts:398](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L398)

###### Inherited from

```ts
Omit.game
```

<a id="id-1"></a>

##### id

```ts
readonly id: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:396](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L396)

###### Inherited from

```ts
Omit.id
```

<a id="kind-3"></a>

##### kind

```ts
readonly kind: "planet";
```

Defined in: [packages/sage/src/internal/c4/world.ts:407](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L407)

###### Inherited from

```ts
Omit.kind
```

<a id="lastsyncatunixseconds-1"></a>

##### lastSyncAtUnixSeconds

```ts
readonly lastSyncAtUnixSeconds: bigint;
```

Defined in: [packages/sage/src/internal/c4/world.ts:401](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L401)

###### Inherited from

```ts
Omit.lastSyncAtUnixSeconds
```

<a id="name-3"></a>

##### name

```ts
readonly name: string;
```

Defined in: [packages/sage/src/internal/c4/world.ts:397](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L397)

###### Inherited from

```ts
Omit.name
```

<a id="system-3"></a>

##### system

```ts
readonly system: EntityRef<"starSystem">;
```

Defined in: [packages/sage/src/world/index.ts:152](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L152)

<a id="systemsequenceid-2"></a>

##### systemSequenceId

```ts
readonly systemSequenceId: bigint;
```

Defined in: [packages/sage/src/internal/c4/world.ts:400](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L400)

###### Inherited from

```ts
Omit.systemSequenceId
```

<a id="version-1"></a>

##### version

```ts
readonly version: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:395](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L395)

###### Inherited from

```ts
Omit.version
```

#### Methods

<a id="tojson-3"></a>

##### toJSON()

```ts
toJSON(): unknown;
```

Defined in: [packages/sage/src/world/index.ts:153](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L153)

###### Returns

`unknown`

***

<a id="resolvedstarbaseupgradematerial"></a>

### ResolvedStarbaseUpgradeMaterial

Defined in: [packages/sage/src/world/starbase-status.ts:163](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L163)

One upgrade material with its registry-resolved cargo definition.

#### Example

```ts
declare const material: ResolvedStarbaseUpgradeMaterial;
console.log(material.cargo.name, material.remaining);
```

#### Extends

- [`StarbaseUpgradeMaterial`](/reference/world/#starbaseupgradematerial)

#### Properties

<a id="cargo-1"></a>

##### cargo

```ts
readonly cargo: CargoDefinitionSummary;
```

Defined in: [packages/sage/src/world/starbase-status.ts:164](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L164)

<a id="cargoid"></a>

##### cargoId

```ts
readonly cargoId: number;
```

Defined in: [packages/sage/src/world/starbase-status.ts:66](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L66)

###### Inherited from

[`StarbaseUpgradeMaterial`](/reference/world/#starbaseupgradematerial).[`cargoId`](/reference/world/#starbaseupgradematerial)

<a id="complete"></a>

##### complete

```ts
readonly complete: boolean;
```

Defined in: [packages/sage/src/world/starbase-status.ts:70](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L70)

###### Inherited from

[`StarbaseUpgradeMaterial`](/reference/world/#starbaseupgradematerial).[`complete`](/reference/world/#starbaseupgradematerial)

<a id="crew"></a>

##### crew

```ts
readonly crew: number;
```

Defined in: [packages/sage/src/world/starbase-status.ts:71](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L71)

###### Inherited from

[`StarbaseUpgradeMaterial`](/reference/world/#starbaseupgradematerial).[`crew`](/reference/world/#starbaseupgradematerial)

<a id="deposited"></a>

##### deposited

```ts
readonly deposited: bigint;
```

Defined in: [packages/sage/src/world/starbase-status.ts:68](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L68)

###### Inherited from

[`StarbaseUpgradeMaterial`](/reference/world/#starbaseupgradematerial).[`deposited`](/reference/world/#starbaseupgradematerial)

<a id="durationseconds"></a>

##### durationSeconds

```ts
readonly durationSeconds: number;
```

Defined in: [packages/sage/src/world/starbase-status.ts:72](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L72)

###### Inherited from

[`StarbaseUpgradeMaterial`](/reference/world/#starbaseupgradematerial).[`durationSeconds`](/reference/world/#starbaseupgradematerial)

<a id="needed"></a>

##### needed

```ts
readonly needed: bigint;
```

Defined in: [packages/sage/src/world/starbase-status.ts:67](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L67)

###### Inherited from

[`StarbaseUpgradeMaterial`](/reference/world/#starbaseupgradematerial).[`needed`](/reference/world/#starbaseupgradematerial)

<a id="remaining"></a>

##### remaining

```ts
readonly remaining: bigint;
```

Defined in: [packages/sage/src/world/starbase-status.ts:69](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L69)

###### Inherited from

[`StarbaseUpgradeMaterial`](/reference/world/#starbaseupgradematerial).[`remaining`](/reference/world/#starbaseupgradematerial)

***

<a id="resolvedstarbaseupgradeprogress"></a>

### ResolvedStarbaseUpgradeProgress

Defined in: [packages/sage/src/world/starbase-status.ts:175](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L175)

Upgrade progress whose materials carry resolved cargo definitions.

#### Example

```ts
declare const upgrade: ResolvedStarbaseUpgradeProgress;
console.log(upgrade.materials.map((material) => material.cargo.name));
```

#### Extends

- `Omit`\<[`StarbaseUpgradeProgress`](/reference/world/#starbaseupgradeprogress), `"materials"`\>

#### Properties

<a id="complete-1"></a>

##### complete

```ts
readonly complete: boolean;
```

Defined in: [packages/sage/src/world/starbase-status.ts:90](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L90)

###### Inherited from

[`StarbaseUpgradeProgress`](/reference/world/#starbaseupgradeprogress).[`complete`](/reference/world/#starbaseupgradeprogress)

<a id="materials"></a>

##### materials

```ts
readonly materials: readonly ResolvedStarbaseUpgradeMaterial[];
```

Defined in: [packages/sage/src/world/starbase-status.ts:179](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L179)

<a id="tolevel"></a>

##### toLevel

```ts
readonly toLevel: WorldStarbaseLevel;
```

Defined in: [packages/sage/src/world/starbase-status.ts:89](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L89)

###### Inherited from

[`StarbaseUpgradeProgress`](/reference/world/#starbaseupgradeprogress).[`toLevel`](/reference/world/#starbaseupgradeprogress)

***

<a id="starbaseserviceavailability"></a>

### StarbaseServiceAvailability

Defined in: [packages/sage/src/world/starbase-status.ts:102](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L102)

Whether one Starbase service is enabled at the current level.

#### Example

```ts
declare const service: StarbaseServiceAvailability;
if (service.available) console.log('enabled since', service.enabledFromLevel);
```

#### Properties

<a id="available-1"></a>

##### available

```ts
readonly available: boolean;
```

Defined in: [packages/sage/src/world/starbase-status.ts:104](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L104)

<a id="enabledfromlevel"></a>

##### enabledFromLevel

```ts
readonly enabledFromLevel: WorldStarbaseLevel;
```

Defined in: [packages/sage/src/world/starbase-status.ts:103](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L103)

***

<a id="starbasestatus"></a>

### StarbaseStatus

Defined in: [packages/sage/src/world/starbase-status.ts:123](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L123)

Derived status of the shared Starbase nested in one StarSystem.

`current` pairs the stored hull and shield points with the maximums the
current level configures. `pendingHullPoints` mirrors the stored
`pendingHp` field as is: the pinned contract only names it, so the SDK makes
no claim about when or how the program settles it into `hullPoints`.
`timing` values are raw Unix seconds, as on the Fleet combat status; shield
and hull settlement rules are likewise unqualified. `upgrade` is absent once
the Starbase has reached its maximum level.

#### Example

```ts
declare const status: StarbaseStatus;
console.log(status.level, status.current.hullPoints, status.current.maxHullPoints);
```

#### Properties

<a id="atmaxlevel"></a>

##### atMaxLevel

```ts
readonly atMaxLevel: boolean;
```

Defined in: [packages/sage/src/world/starbase-status.ts:130](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L130)

<a id="current"></a>

##### current

```ts
readonly current: {
  hullPoints: number;
  maxHullPoints: number;
  maxShieldPoints: number;
  pendingHullPoints: number;
  shieldPoints: number;
};
```

Defined in: [packages/sage/src/world/starbase-status.ts:133](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L133)

###### hullPoints

```ts
readonly hullPoints: number;
```

###### maxHullPoints

```ts
readonly maxHullPoints: number;
```

###### maxShieldPoints

```ts
readonly maxShieldPoints: number;
```

###### pendingHullPoints

```ts
readonly pendingHullPoints: number;
```

###### shieldPoints

```ts
readonly shieldPoints: number;
```

<a id="kind-4"></a>

##### kind

```ts
readonly kind: "starbaseStatus";
```

Defined in: [packages/sage/src/world/starbase-status.ts:124](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L124)

<a id="level-1"></a>

##### level

```ts
readonly level: WorldStarbaseLevel;
```

Defined in: [packages/sage/src/world/starbase-status.ts:126](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L126)

<a id="levelindex-1"></a>

##### levelIndex

```ts
readonly levelIndex: number;
```

Defined in: [packages/sage/src/world/starbase-status.ts:128](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L128)

Ordinal from [starbaseLevelIndex](/reference/world/#starbaselevelindex-1); the Central Space Station is 6.

<a id="levelinfo"></a>

##### levelInfo

```ts
readonly levelInfo: WorldStarbaseLevelInfoData;
```

Defined in: [packages/sage/src/world/starbase-status.ts:132](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L132)

Configured values for the current level, copied from the level table.

<a id="maxlevel"></a>

##### maxLevel

```ts
readonly maxLevel: WorldStarbaseLevel;
```

Defined in: [packages/sage/src/world/starbase-status.ts:129](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L129)

<a id="owner"></a>

##### owner

```ts
readonly owner: WorldFaction;
```

Defined in: [packages/sage/src/world/starbase-status.ts:125](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L125)

<a id="services"></a>

##### services

```ts
readonly services: {
  localMarket: StarbaseServiceAvailability;
  repair: StarbaseServiceAvailability;
};
```

Defined in: [packages/sage/src/world/starbase-status.ts:147](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L147)

###### localMarket

```ts
readonly localMarket: StarbaseServiceAvailability;
```

###### repair

```ts
readonly repair: StarbaseServiceAvailability;
```

<a id="timing"></a>

##### timing

```ts
readonly timing: {
  builtOrDestroyedAtUnixSeconds: bigint;
  lastCombatUpdateAtUnixSeconds: bigint;
  shieldBreakDelayEndsAtUnixSeconds: bigint;
};
```

Defined in: [packages/sage/src/world/starbase-status.ts:140](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L140)

###### builtOrDestroyedAtUnixSeconds

```ts
readonly builtOrDestroyedAtUnixSeconds: bigint;
```

When the Starbase was last built or destroyed.

###### lastCombatUpdateAtUnixSeconds

```ts
readonly lastCombatUpdateAtUnixSeconds: bigint;
```

###### shieldBreakDelayEndsAtUnixSeconds

```ts
readonly shieldBreakDelayEndsAtUnixSeconds: bigint;
```

When shield points may resume regenerating after reaching zero.

<a id="upgrade"></a>

##### upgrade?

```ts
readonly optional upgrade?: StarbaseUpgradeProgress;
```

Defined in: [packages/sage/src/world/starbase-status.ts:151](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L151)

#### Methods

<a id="tojson-4"></a>

##### toJSON()

```ts
toJSON(): unknown;
```

Defined in: [packages/sage/src/world/starbase-status.ts:152](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L152)

###### Returns

`unknown`

***

<a id="starbasestatussnapshot"></a>

### StarbaseStatusSnapshot

Defined in: [packages/sage/src/world/starbase-status.ts:193](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L193)

Immutable shared Starbase status read for one StarSystem.

`address` is the StarSystem address: the nested Starbase has no account of
its own. Read metadata comes from the StarSystem observation.

#### Example

```ts
declare const status: StarbaseStatusSnapshot;
console.log(status.systemName, status.upgrade?.materials[0]?.cargo.name);
```

#### Extends

- `Omit`\<[`StarbaseStatus`](/reference/world/#starbasestatus), `"upgrade"`\>

#### Properties

<a id="address-5"></a>

##### address

```ts
readonly address: Address;
```

Defined in: [packages/sage/src/world/starbase-status.ts:197](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L197)

<a id="atmaxlevel-1"></a>

##### atMaxLevel

```ts
readonly atMaxLevel: boolean;
```

Defined in: [packages/sage/src/world/starbase-status.ts:130](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L130)

###### Inherited from

[`StarbaseStatus`](/reference/world/#starbasestatus).[`atMaxLevel`](/reference/world/#starbasestatus)

<a id="current-1"></a>

##### current

```ts
readonly current: {
  hullPoints: number;
  maxHullPoints: number;
  maxShieldPoints: number;
  pendingHullPoints: number;
  shieldPoints: number;
};
```

Defined in: [packages/sage/src/world/starbase-status.ts:133](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L133)

###### hullPoints

```ts
readonly hullPoints: number;
```

###### maxHullPoints

```ts
readonly maxHullPoints: number;
```

###### maxShieldPoints

```ts
readonly maxShieldPoints: number;
```

###### pendingHullPoints

```ts
readonly pendingHullPoints: number;
```

###### shieldPoints

```ts
readonly shieldPoints: number;
```

###### Inherited from

[`StarbaseStatus`](/reference/world/#starbasestatus).[`current`](/reference/world/#starbasestatus)

<a id="kind-5"></a>

##### kind

```ts
readonly kind: "starbaseStatus";
```

Defined in: [packages/sage/src/world/starbase-status.ts:124](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L124)

###### Inherited from

[`StarbaseStatus`](/reference/world/#starbasestatus).[`kind`](/reference/world/#starbasestatus)

<a id="level-2"></a>

##### level

```ts
readonly level: WorldStarbaseLevel;
```

Defined in: [packages/sage/src/world/starbase-status.ts:126](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L126)

###### Inherited from

[`StarbaseStatus`](/reference/world/#starbasestatus).[`level`](/reference/world/#starbasestatus)

<a id="levelindex-2"></a>

##### levelIndex

```ts
readonly levelIndex: number;
```

Defined in: [packages/sage/src/world/starbase-status.ts:128](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L128)

Ordinal from [starbaseLevelIndex](/reference/world/#starbaselevelindex-1); the Central Space Station is 6.

###### Inherited from

[`StarbaseStatus`](/reference/world/#starbasestatus).[`levelIndex`](/reference/world/#starbasestatus)

<a id="levelinfo-1"></a>

##### levelInfo

```ts
readonly levelInfo: WorldStarbaseLevelInfoData;
```

Defined in: [packages/sage/src/world/starbase-status.ts:132](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L132)

Configured values for the current level, copied from the level table.

###### Inherited from

[`StarbaseStatus`](/reference/world/#starbasestatus).[`levelInfo`](/reference/world/#starbasestatus)

<a id="maxlevel-1"></a>

##### maxLevel

```ts
readonly maxLevel: WorldStarbaseLevel;
```

Defined in: [packages/sage/src/world/starbase-status.ts:129](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L129)

###### Inherited from

[`StarbaseStatus`](/reference/world/#starbasestatus).[`maxLevel`](/reference/world/#starbasestatus)

<a id="owner-1"></a>

##### owner

```ts
readonly owner: WorldFaction;
```

Defined in: [packages/sage/src/world/starbase-status.ts:125](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L125)

###### Inherited from

[`StarbaseStatus`](/reference/world/#starbasestatus).[`owner`](/reference/world/#starbasestatus)

<a id="services-1"></a>

##### services

```ts
readonly services: {
  localMarket: StarbaseServiceAvailability;
  repair: StarbaseServiceAvailability;
};
```

Defined in: [packages/sage/src/world/starbase-status.ts:147](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L147)

###### localMarket

```ts
readonly localMarket: StarbaseServiceAvailability;
```

###### repair

```ts
readonly repair: StarbaseServiceAvailability;
```

###### Inherited from

[`StarbaseStatus`](/reference/world/#starbasestatus).[`services`](/reference/world/#starbasestatus)

<a id="system-4"></a>

##### system

```ts
readonly system: EntityRef<"starSystem">;
```

Defined in: [packages/sage/src/world/starbase-status.ts:198](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L198)

<a id="systemname"></a>

##### systemName

```ts
readonly systemName: string;
```

Defined in: [packages/sage/src/world/starbase-status.ts:199](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L199)

<a id="timing-1"></a>

##### timing

```ts
readonly timing: {
  builtOrDestroyedAtUnixSeconds: bigint;
  lastCombatUpdateAtUnixSeconds: bigint;
  shieldBreakDelayEndsAtUnixSeconds: bigint;
};
```

Defined in: [packages/sage/src/world/starbase-status.ts:140](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L140)

###### builtOrDestroyedAtUnixSeconds

```ts
readonly builtOrDestroyedAtUnixSeconds: bigint;
```

When the Starbase was last built or destroyed.

###### lastCombatUpdateAtUnixSeconds

```ts
readonly lastCombatUpdateAtUnixSeconds: bigint;
```

###### shieldBreakDelayEndsAtUnixSeconds

```ts
readonly shieldBreakDelayEndsAtUnixSeconds: bigint;
```

When shield points may resume regenerating after reaching zero.

###### Inherited from

[`StarbaseStatus`](/reference/world/#starbasestatus).[`timing`](/reference/world/#starbasestatus)

<a id="upgrade-1"></a>

##### upgrade?

```ts
readonly optional upgrade?: ResolvedStarbaseUpgradeProgress;
```

Defined in: [packages/sage/src/world/starbase-status.ts:200](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L200)

#### Methods

<a id="tojson-5"></a>

##### toJSON()

```ts
toJSON(): unknown;
```

Defined in: [packages/sage/src/world/starbase-status.ts:152](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L152)

###### Returns

`unknown`

###### Inherited from

[`StarbaseStatus`](/reference/world/#starbasestatus).[`toJSON`](/reference/world/#starbasestatus)

***

<a id="starbaseupgradematerial"></a>

### StarbaseUpgradeMaterial

Defined in: [packages/sage/src/world/starbase-status.ts:65](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L65)

One material a shared Starbase needs before it can reach its next level.

`needed`, `deposited` and `remaining` are raw cargo units. `complete` is true
once `deposited` has reached `needed`. `crew` and `durationSeconds` describe
one contribution of this material: a Starbase Player installs it through its
own `StarbaseUpgradeProcess`, which the `starbases` entry reads separately.

#### Example

```ts
declare const material: StarbaseUpgradeMaterial;
console.log(material.cargoId, material.remaining);
```

#### Extended by

- [`ResolvedStarbaseUpgradeMaterial`](/reference/world/#resolvedstarbaseupgradematerial)

#### Properties

<a id="cargoid-1"></a>

##### cargoId

```ts
readonly cargoId: number;
```

Defined in: [packages/sage/src/world/starbase-status.ts:66](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L66)

<a id="complete-2"></a>

##### complete

```ts
readonly complete: boolean;
```

Defined in: [packages/sage/src/world/starbase-status.ts:70](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L70)

<a id="crew-1"></a>

##### crew

```ts
readonly crew: number;
```

Defined in: [packages/sage/src/world/starbase-status.ts:71](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L71)

<a id="deposited-1"></a>

##### deposited

```ts
readonly deposited: bigint;
```

Defined in: [packages/sage/src/world/starbase-status.ts:68](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L68)

<a id="durationseconds-1"></a>

##### durationSeconds

```ts
readonly durationSeconds: number;
```

Defined in: [packages/sage/src/world/starbase-status.ts:72](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L72)

<a id="needed-1"></a>

##### needed

```ts
readonly needed: bigint;
```

Defined in: [packages/sage/src/world/starbase-status.ts:67](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L67)

<a id="remaining-1"></a>

##### remaining

```ts
readonly remaining: bigint;
```

Defined in: [packages/sage/src/world/starbase-status.ts:69](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L69)

***

<a id="starbaseupgradeprogress"></a>

### StarbaseUpgradeProgress

Defined in: [packages/sage/src/world/starbase-status.ts:88](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L88)

Shared progress of a Starbase toward its next level.

`complete` is true when every listed material is fully deposited. The pinned
contract states that the Starbase should then change level and reset the
deposits; the program applies that change, the SDK only reports the stored
state.

#### Example

```ts
declare const upgrade: StarbaseUpgradeProgress;
console.log(upgrade.toLevel, upgrade.complete);
```

#### Properties

<a id="complete-3"></a>

##### complete

```ts
readonly complete: boolean;
```

Defined in: [packages/sage/src/world/starbase-status.ts:90](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L90)

<a id="materials-1"></a>

##### materials

```ts
readonly materials: readonly StarbaseUpgradeMaterial[];
```

Defined in: [packages/sage/src/world/starbase-status.ts:91](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L91)

<a id="tolevel-1"></a>

##### toLevel

```ts
readonly toLevel: WorldStarbaseLevel;
```

Defined in: [packages/sage/src/world/starbase-status.ts:89](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L89)

***

<a id="starsystemaccountdata"></a>

### StarSystemAccountData

Defined in: [packages/sage/src/internal/c4/world.ts:271](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L271)

SDK-owned decoded StarSystem data.

#### Example

```ts
declare const system: StarSystemAccountData;
console.log(system.coordinates);
```

#### Extended by

- [`StarSystemSnapshot`](/reference/world/#starsystemsnapshot)

#### Properties

<a id="celestialbodyaddresses"></a>

##### celestialBodyAddresses

```ts
readonly celestialBodyAddresses: readonly Address[];
```

Defined in: [packages/sage/src/internal/c4/world.ts:282](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L282)

<a id="connections"></a>

##### connections

```ts
readonly connections: readonly WorldConnectionData[];
```

Defined in: [packages/sage/src/internal/c4/world.ts:281](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L281)

<a id="coordinates"></a>

##### coordinates

```ts
readonly coordinates: WorldCoordinates;
```

Defined in: [packages/sage/src/internal/c4/world.ts:277](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L277)

<a id="coordinatesraw"></a>

##### coordinatesRaw

```ts
readonly coordinatesRaw: {
  x: bigint;
  y: bigint;
};
```

Defined in: [packages/sage/src/internal/c4/world.ts:279](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L279)

Exact stored I8F56 coordinates for movement arithmetic.

###### x

```ts
readonly x: bigint;
```

###### y

```ts
readonly y: bigint;
```

<a id="game-4"></a>

##### game

```ts
readonly game: Address;
```

Defined in: [packages/sage/src/internal/c4/world.ts:273](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L273)

<a id="name-4"></a>

##### name

```ts
readonly name: string;
```

Defined in: [packages/sage/src/internal/c4/world.ts:275](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L275)

<a id="regionid"></a>

##### regionId?

```ts
readonly optional regionId?: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:276](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L276)

<a id="sequenceid"></a>

##### sequenceId

```ts
readonly sequenceId: bigint;
```

Defined in: [packages/sage/src/internal/c4/world.ts:280](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L280)

<a id="starbase"></a>

##### starbase?

```ts
readonly optional starbase?: WorldStarbaseData;
```

Defined in: [packages/sage/src/internal/c4/world.ts:283](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L283)

<a id="systemid"></a>

##### systemId

```ts
readonly systemId: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:274](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L274)

<a id="version-2"></a>

##### version

```ts
readonly version: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:272](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L272)

***

<a id="starsystemsnapshot"></a>

### StarSystemSnapshot

Defined in: [packages/sage/src/world/index.ts:124](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L124)

Immutable, translated StarSystem snapshot including nested shared Starbase data.

#### Example

```ts
declare const system: StarSystemSnapshot;
console.log(system.name, system.coordinates);
```

#### Extends

- [`StarSystemAccountData`](/reference/world/#starsystemaccountdata)

#### Extended by

- [`StarSystemView`](/reference/#starsystemview)

#### Properties

<a id="address-6"></a>

##### address

```ts
readonly address: Address;
```

Defined in: [packages/sage/src/world/index.ts:126](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L126)

<a id="celestialbodyaddresses-1"></a>

##### celestialBodyAddresses

```ts
readonly celestialBodyAddresses: readonly Address[];
```

Defined in: [packages/sage/src/internal/c4/world.ts:282](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L282)

###### Inherited from

[`StarSystemAccountData`](/reference/world/#starsystemaccountdata).[`celestialBodyAddresses`](/reference/world/#starsystemaccountdata)

<a id="connections-1"></a>

##### connections

```ts
readonly connections: readonly WorldConnectionData[];
```

Defined in: [packages/sage/src/internal/c4/world.ts:281](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L281)

###### Inherited from

[`StarSystemAccountData`](/reference/world/#starsystemaccountdata).[`connections`](/reference/world/#starsystemaccountdata)

<a id="coordinates-1"></a>

##### coordinates

```ts
readonly coordinates: WorldCoordinates;
```

Defined in: [packages/sage/src/internal/c4/world.ts:277](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L277)

###### Inherited from

[`StarSystemAccountData`](/reference/world/#starsystemaccountdata).[`coordinates`](/reference/world/#starsystemaccountdata)

<a id="coordinatesraw-1"></a>

##### coordinatesRaw

```ts
readonly coordinatesRaw: {
  x: bigint;
  y: bigint;
};
```

Defined in: [packages/sage/src/internal/c4/world.ts:279](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L279)

Exact stored I8F56 coordinates for movement arithmetic.

###### x

```ts
readonly x: bigint;
```

###### y

```ts
readonly y: bigint;
```

###### Inherited from

[`StarSystemAccountData`](/reference/world/#starsystemaccountdata).[`coordinatesRaw`](/reference/world/#starsystemaccountdata)

<a id="game-5"></a>

##### game

```ts
readonly game: Address;
```

Defined in: [packages/sage/src/internal/c4/world.ts:273](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L273)

###### Inherited from

[`StarSystemAccountData`](/reference/world/#starsystemaccountdata).[`game`](/reference/world/#starsystemaccountdata)

<a id="kind-6"></a>

##### kind

```ts
readonly kind: "starSystem";
```

Defined in: [packages/sage/src/world/index.ts:125](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L125)

<a id="name-5"></a>

##### name

```ts
readonly name: string;
```

Defined in: [packages/sage/src/internal/c4/world.ts:275](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L275)

###### Inherited from

[`StarSystemAccountData`](/reference/world/#starsystemaccountdata).[`name`](/reference/world/#starsystemaccountdata)

<a id="regionid-1"></a>

##### regionId?

```ts
readonly optional regionId?: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:276](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L276)

###### Inherited from

[`StarSystemAccountData`](/reference/world/#starsystemaccountdata).[`regionId`](/reference/world/#starsystemaccountdata)

<a id="sequenceid-1"></a>

##### sequenceId

```ts
readonly sequenceId: bigint;
```

Defined in: [packages/sage/src/internal/c4/world.ts:280](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L280)

###### Inherited from

[`StarSystemAccountData`](/reference/world/#starsystemaccountdata).[`sequenceId`](/reference/world/#starsystemaccountdata)

<a id="starbase-1"></a>

##### starbase?

```ts
readonly optional starbase?: WorldStarbaseData;
```

Defined in: [packages/sage/src/internal/c4/world.ts:283](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L283)

###### Inherited from

[`StarSystemAccountData`](/reference/world/#starsystemaccountdata).[`starbase`](/reference/world/#starsystemaccountdata)

<a id="systemid-1"></a>

##### systemId

```ts
readonly systemId: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:274](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L274)

###### Inherited from

[`StarSystemAccountData`](/reference/world/#starsystemaccountdata).[`systemId`](/reference/world/#starsystemaccountdata)

<a id="version-3"></a>

##### version

```ts
readonly version: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:272](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L272)

###### Inherited from

[`StarSystemAccountData`](/reference/world/#starsystemaccountdata).[`version`](/reference/world/#starsystemaccountdata)

#### Methods

<a id="tojson-6"></a>

##### toJSON()

```ts
toJSON(): unknown;
```

Defined in: [packages/sage/src/world/index.ts:127](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L127)

###### Returns

`unknown`

***

<a id="worldasteroiddata"></a>

### WorldAsteroidData

Defined in: [packages/sage/src/internal/c4/world.ts:390](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L390)

Fully translated Asteroid projection data.

#### Example

```ts
declare const asteroid: WorldAsteroidData;
console.log(asteroid.resources);
```

#### Properties

<a id="resources-1"></a>

##### resources

```ts
readonly resources: readonly WorldAsteroidResourceData[];
```

Defined in: [packages/sage/src/internal/c4/world.ts:391](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L391)

***

<a id="worldasteroidresourcedata"></a>

### WorldAsteroidResourceData

Defined in: [packages/sage/src/internal/c4/world.ts:376](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L376)

One translated Asteroid resource state.

#### Example

```ts
declare const resource: WorldAsteroidResourceData;
console.log(resource.amountMined);
```

#### Properties

<a id="amountmined"></a>

##### amountMined

```ts
readonly amountMined: bigint;
```

Defined in: [packages/sage/src/internal/c4/world.ts:379](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L379)

<a id="cargoid-2"></a>

##### cargoId

```ts
readonly cargoId: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:377](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L377)

<a id="miners"></a>

##### miners

```ts
readonly miners: bigint;
```

Defined in: [packages/sage/src/internal/c4/world.ts:380](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L380)

<a id="richness-1"></a>

##### richness

```ts
readonly richness: WorldFixedValue;
```

Defined in: [packages/sage/src/internal/c4/world.ts:378](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L378)

***

<a id="worldclaimstakegroupdata"></a>

### WorldClaimStakeGroupData

Defined in: [packages/sage/src/internal/c4/world.ts:311](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L311)

One translated nested Claim Stake structure group.

#### Example

```ts
declare const group: WorldClaimStakeGroupData;
console.log(group.structures);
```

#### Properties

<a id="chronoaddresses"></a>

##### chronoAddresses

```ts
readonly chronoAddresses: readonly Address[];
```

Defined in: [packages/sage/src/internal/c4/world.ts:314](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L314)

<a id="key"></a>

##### key

```ts
readonly key: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:312](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L312)

<a id="offset"></a>

##### offset

```ts
readonly offset: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:313](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L313)

<a id="structures-1"></a>

##### structures

```ts
readonly structures: readonly WorldStructureData[];
```

Defined in: [packages/sage/src/internal/c4/world.ts:315](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L315)

***

<a id="worldconnectioncosts"></a>

### WorldConnectionCosts

Defined in: [packages/sage/src/internal/c4/world.ts:120](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L120)

Unit-explicit warp-lane costs for one connected system.

#### Example

```ts
declare const costs: WorldConnectionCosts;
console.log(costs.level1Atlas);
```

#### Properties

<a id="cssatlas"></a>

##### cssAtlas

```ts
readonly cssAtlas: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:132](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L132)

<a id="cssraw"></a>

##### cssRaw

```ts
readonly cssRaw: bigint;
```

Defined in: [packages/sage/src/internal/c4/world.ts:131](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L131)

<a id="level1atlas"></a>

##### level1Atlas

```ts
readonly level1Atlas: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:122](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L122)

<a id="level1raw"></a>

##### level1Raw

```ts
readonly level1Raw: bigint;
```

Defined in: [packages/sage/src/internal/c4/world.ts:121](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L121)

<a id="level2atlas"></a>

##### level2Atlas

```ts
readonly level2Atlas: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:124](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L124)

<a id="level2raw"></a>

##### level2Raw

```ts
readonly level2Raw: bigint;
```

Defined in: [packages/sage/src/internal/c4/world.ts:123](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L123)

<a id="level3atlas"></a>

##### level3Atlas

```ts
readonly level3Atlas: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:126](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L126)

<a id="level3raw"></a>

##### level3Raw

```ts
readonly level3Raw: bigint;
```

Defined in: [packages/sage/src/internal/c4/world.ts:125](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L125)

<a id="level4atlas"></a>

##### level4Atlas

```ts
readonly level4Atlas: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:128](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L128)

<a id="level4raw"></a>

##### level4Raw

```ts
readonly level4Raw: bigint;
```

Defined in: [packages/sage/src/internal/c4/world.ts:127](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L127)

<a id="level5atlas"></a>

##### level5Atlas

```ts
readonly level5Atlas: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:130](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L130)

<a id="level5raw"></a>

##### level5Raw

```ts
readonly level5Raw: bigint;
```

Defined in: [packages/sage/src/internal/c4/world.ts:129](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L129)

***

<a id="worldconnectiondata"></a>

### WorldConnectionData

Defined in: [packages/sage/src/internal/c4/world.ts:142](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L142)

One StarSystem connection keyed by the connected system id.

#### Example

```ts
declare const connection: WorldConnectionData;
console.log(connection.systemId);
```

#### Properties

<a id="costs"></a>

##### costs

```ts
readonly costs: WorldConnectionCosts;
```

Defined in: [packages/sage/src/internal/c4/world.ts:144](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L144)

<a id="systemid-2"></a>

##### systemId

```ts
readonly systemId: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:143](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L143)

***

<a id="worldcraftinghabdata"></a>

### WorldCraftingHabData

Defined in: [packages/sage/src/internal/c4/world.ts:228](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L228)

One nested Crafting Hab group retained as shared Starbase data.

#### Example

```ts
declare const hab: WorldCraftingHabData;
console.log(hab.structures);
```

#### Properties

<a id="chronoaddresses-1"></a>

##### chronoAddresses

```ts
readonly chronoAddresses: readonly Address[];
```

Defined in: [packages/sage/src/internal/c4/world.ts:231](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L231)

<a id="key-1"></a>

##### key

```ts
readonly key: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:229](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L229)

<a id="offset-1"></a>

##### offset

```ts
readonly offset: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:230](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L230)

<a id="structures-2"></a>

##### structures

```ts
readonly structures: readonly WorldStructureData[];
```

Defined in: [packages/sage/src/internal/c4/world.ts:232](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L232)

***

<a id="worldfixedvalue"></a>

### WorldFixedValue

Defined in: [packages/sage/src/internal/c4/world.ts:80](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L80)

A translated fixed-point world value retaining its exact source integer.

#### Example

```ts
const value: WorldFixedValue = { raw: 65_536n, value: 1 };
```

#### Properties

<a id="raw"></a>

##### raw

```ts
readonly raw: bigint;
```

Defined in: [packages/sage/src/internal/c4/world.ts:81](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L81)

<a id="value"></a>

##### value

```ts
readonly value: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:82](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L82)

***

<a id="worldplanetdata"></a>

### WorldPlanetData

Defined in: [packages/sage/src/internal/c4/world.ts:340](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L340)

Fully translated Planet projection data.

#### Example

```ts
declare const planet: WorldPlanetData;
console.log(planet.resources);
```

#### Properties

<a id="baseclaimstakeplacementfee"></a>

##### baseClaimStakePlacementFee

```ts
readonly baseClaimStakePlacementFee: readonly readonly WorldFixedValue[][];
```

Defined in: [packages/sage/src/internal/c4/world.ts:359](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L359)

Base placement fee per plot, indexed like `claimStakePlots`.

<a id="baseclaimstakerentrate"></a>

##### baseClaimStakeRentRate

```ts
readonly baseClaimStakeRentRate: readonly readonly WorldFixedValue[][];
```

Defined in: [packages/sage/src/internal/c4/world.ts:357](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L357)

Base rent rate per plot, indexed like `claimStakePlots`.

<a id="claimedplots"></a>

##### claimedPlots

```ts
readonly claimedPlots: readonly WorldClaimStakeGroupData[];
```

Defined in: [packages/sage/src/internal/c4/world.ts:366](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L366)

Placed Claim Stake groups keyed by plot row, the Starbase level index
that also indexes `claimStakePlots`. Each group lists the stakes of every
tier placed in that row and their placement chronology.

<a id="claimedplotsunsizedlength"></a>

##### claimedPlotsUnsizedLength

```ts
readonly claimedPlotsUnsizedLength: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:362](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L362)

<a id="claimstakeplots"></a>

##### claimStakePlots

```ts
readonly claimStakePlots: readonly readonly number[][];
```

Defined in: [packages/sage/src/internal/c4/world.ts:355](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L355)

Plot counts indexed `[starbaseLevelIndex][claimStakeTierIndex]`: seven
Starbase level rows (`level-0` .. `level-5`, `css`) and five Claim Stake
tier columns (`one` .. `five`).

<a id="providedtags-1"></a>

##### providedTags

```ts
readonly providedTags: readonly number[];
```

Defined in: [packages/sage/src/internal/c4/world.ts:361](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L361)

<a id="resources-2"></a>

##### resources

```ts
readonly resources: readonly WorldPlanetResourceData[];
```

Defined in: [packages/sage/src/internal/c4/world.ts:360](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L360)

<a id="subtype"></a>

##### subtype?

```ts
readonly optional subtype?: WorldPlanetSubtype;
```

Defined in: [packages/sage/src/internal/c4/world.ts:351](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L351)

Category from the current C4 numeric tag mapping. Undefined when absent,
conflicting, or tagged as an asteroid; raw providedTags remain available.
Unrelated tags do not suppress a recognized category. Shares the body's
account observation and cache; no separate definition read is performed.

###### Example

```ts
declare const planet: WorldPlanetData;
console.log(planet.subtype ?? 'unknown');
```

***

<a id="worldplanetresourcedata"></a>

### WorldPlanetResourceData

Defined in: [packages/sage/src/internal/c4/world.ts:299](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L299)

One translated Planet resource richness value.

Planet richness gameplay use: unverified. Version-matched program evidence
does not establish a consuming activity or formula for this decoded Planet
account value. It is distinct from Asteroid richness used by Fleet mining
and from separately decoded Claim Stake building `resourceExtraction` rates.

#### Example

```ts
declare const resource: WorldPlanetResourceData;
console.log(resource.richness.value);
```

#### Properties

<a id="cargoid-3"></a>

##### cargoId

```ts
readonly cargoId: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:300](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L300)

<a id="richness-2"></a>

##### richness

```ts
readonly richness: WorldFixedValue;
```

Defined in: [packages/sage/src/internal/c4/world.ts:301](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L301)

***

<a id="worldstarbasedata"></a>

### WorldStarbaseData

Defined in: [packages/sage/src/internal/c4/world.ts:242](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L242)

Fully translated nested shared Starbase data.

#### Example

```ts
declare const starbase: WorldStarbaseData;
console.log(starbase.owner, starbase.level);
```

#### Properties

<a id="basecraftinghabplacementfee"></a>

##### baseCraftingHabPlacementFee

```ts
readonly baseCraftingHabPlacementFee: readonly readonly WorldFixedValue[][];
```

Defined in: [packages/sage/src/internal/c4/world.ts:255](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L255)

<a id="basecraftinghabrentrate"></a>

##### baseCraftingHabRentRate

```ts
readonly baseCraftingHabRentRate: readonly readonly WorldFixedValue[][];
```

Defined in: [packages/sage/src/internal/c4/world.ts:254](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L254)

<a id="buildingtags"></a>

##### buildingTags

```ts
readonly buildingTags: readonly number[];
```

Defined in: [packages/sage/src/internal/c4/world.ts:258](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L258)

<a id="builtdestroyedatunixseconds"></a>

##### builtDestroyedAtUnixSeconds

```ts
readonly builtDestroyedAtUnixSeconds: bigint;
```

Defined in: [packages/sage/src/internal/c4/world.ts:252](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L252)

<a id="craftinghabplots"></a>

##### craftingHabPlots

```ts
readonly craftingHabPlots: readonly readonly number[][];
```

Defined in: [packages/sage/src/internal/c4/world.ts:253](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L253)

<a id="craftinghabs"></a>

##### craftingHabs

```ts
readonly craftingHabs: readonly WorldCraftingHabData[];
```

Defined in: [packages/sage/src/internal/c4/world.ts:261](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L261)

<a id="craftinghabsunsizedlength"></a>

##### craftingHabsUnsizedLength

```ts
readonly craftingHabsUnsizedLength: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:260](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L260)

<a id="hp"></a>

##### hp

```ts
readonly hp: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:247](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L247)

<a id="lastcombatupdateunixseconds"></a>

##### lastCombatUpdateUnixSeconds

```ts
readonly lastCombatUpdateUnixSeconds: bigint;
```

Defined in: [packages/sage/src/internal/c4/world.ts:251](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L251)

<a id="level-3"></a>

##### level

```ts
readonly level: WorldStarbaseLevel;
```

Defined in: [packages/sage/src/internal/c4/world.ts:244](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L244)

<a id="localmarketenablelevel"></a>

##### localMarketEnableLevel

```ts
readonly localMarketEnableLevel: WorldStarbaseLevel;
```

Defined in: [packages/sage/src/internal/c4/world.ts:245](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L245)

<a id="locationtags"></a>

##### locationTags

```ts
readonly locationTags: readonly number[];
```

Defined in: [packages/sage/src/internal/c4/world.ts:257](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L257)

<a id="maxlevel-2"></a>

##### maxLevel

```ts
readonly maxLevel: WorldStarbaseMaxLevelData;
```

Defined in: [packages/sage/src/internal/c4/world.ts:256](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L256)

<a id="owner-2"></a>

##### owner

```ts
readonly owner: WorldFaction;
```

Defined in: [packages/sage/src/internal/c4/world.ts:243](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L243)

<a id="pendinghp"></a>

##### pendingHp

```ts
readonly pendingHp: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:248](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L248)

<a id="repairenablelevel"></a>

##### repairEnableLevel

```ts
readonly repairEnableLevel: WorldStarbaseLevel;
```

Defined in: [packages/sage/src/internal/c4/world.ts:246](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L246)

<a id="shieldbreakdelayexpiresatunixseconds"></a>

##### shieldBreakDelayExpiresAtUnixSeconds

```ts
readonly shieldBreakDelayExpiresAtUnixSeconds: bigint;
```

Defined in: [packages/sage/src/internal/c4/world.ts:250](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L250)

<a id="sp"></a>

##### sp

```ts
readonly sp: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:249](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L249)

<a id="validrecipeids"></a>

##### validRecipeIds

```ts
readonly validRecipeIds: readonly number[];
```

Defined in: [packages/sage/src/internal/c4/world.ts:259](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L259)

***

<a id="worldstarbaseleveldata"></a>

### WorldStarbaseLevelData

Defined in: [packages/sage/src/internal/c4/world.ts:191](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L191)

One translated level inside the Starbase maximum-level union.

#### Example

```ts
declare const level: WorldStarbaseLevelData;
console.log(level.upgrades);
```

#### Properties

<a id="info"></a>

##### info

```ts
readonly info: WorldStarbaseLevelInfoData;
```

Defined in: [packages/sage/src/internal/c4/world.ts:193](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L193)

<a id="level-4"></a>

##### level

```ts
readonly level: WorldStarbaseLevel;
```

Defined in: [packages/sage/src/internal/c4/world.ts:192](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L192)

<a id="upgrades"></a>

##### upgrades

```ts
readonly upgrades: readonly WorldStarbaseUpgradeData[];
```

Defined in: [packages/sage/src/internal/c4/world.ts:194](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L194)

***

<a id="worldstarbaselevelinfodata"></a>

### WorldStarbaseLevelInfoData

Defined in: [packages/sage/src/internal/c4/world.ts:154](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L154)

Fully translated combat/economy values for one Starbase level.

#### Example

```ts
declare const info: WorldStarbaseLevelInfoData;
console.log(info.repairFeeAtlas);
```

#### Properties

<a id="damageperround"></a>

##### damagePerRound

```ts
readonly damagePerRound: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:166](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L166)

<a id="hp-1"></a>

##### hp

```ts
readonly hp: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:155](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L155)

<a id="repairability"></a>

##### repairAbility

```ts
readonly repairAbility: WorldFixedValue;
```

Defined in: [packages/sage/src/internal/c4/world.ts:161](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L161)

<a id="repaircost"></a>

##### repairCost

```ts
readonly repairCost: WorldFixedValue;
```

Defined in: [packages/sage/src/internal/c4/world.ts:163](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L163)

<a id="repairefficiency"></a>

##### repairEfficiency

```ts
readonly repairEfficiency: WorldFixedValue;
```

Defined in: [packages/sage/src/internal/c4/world.ts:162](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L162)

<a id="repairfeeatlas"></a>

##### repairFeeAtlas

```ts
readonly repairFeeAtlas: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:165](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L165)

<a id="repairfeeraw"></a>

##### repairFeeRaw

```ts
readonly repairFeeRaw: bigint;
```

Defined in: [packages/sage/src/internal/c4/world.ts:164](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L164)

<a id="repairrate"></a>

##### repairRate

```ts
readonly repairRate: WorldFixedValue;
```

Defined in: [packages/sage/src/internal/c4/world.ts:160](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L160)

<a id="shieldbreakdelayseconds"></a>

##### shieldBreakDelaySeconds

```ts
readonly shieldBreakDelaySeconds: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:158](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L158)

<a id="shieldrechargerate"></a>

##### shieldRechargeRate

```ts
readonly shieldRechargeRate: WorldFixedValue;
```

Defined in: [packages/sage/src/internal/c4/world.ts:159](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L159)

<a id="sp-1"></a>

##### sp

```ts
readonly sp: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:156](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L156)

<a id="xp"></a>

##### xp

```ts
readonly xp: WorldFixedValue;
```

Defined in: [packages/sage/src/internal/c4/world.ts:157](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L157)

***

<a id="worldstarbasemaxleveldata"></a>

### WorldStarbaseMaxLevelData

Defined in: [packages/sage/src/internal/c4/world.ts:204](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L204)

Plain replacement for the generated StarbaseMaxLevel union.

#### Example

```ts
declare const maximum: WorldStarbaseMaxLevelData;
console.log(maximum.kind);
```

#### Properties

<a id="kind-7"></a>

##### kind

```ts
readonly kind: WorldStarbaseLevel;
```

Defined in: [packages/sage/src/internal/c4/world.ts:205](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L205)

<a id="levels"></a>

##### levels

```ts
readonly levels: readonly WorldStarbaseLevelData[];
```

Defined in: [packages/sage/src/internal/c4/world.ts:206](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L206)

***

<a id="worldstarbaseupgradedata"></a>

### WorldStarbaseUpgradeData

Defined in: [packages/sage/src/internal/c4/world.ts:176](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L176)

One cargo deposit requirement for an intermediate Starbase level.

#### Example

```ts
declare const upgrade: WorldStarbaseUpgradeData;
console.log(upgrade.cargoId);
```

#### Properties

<a id="cargoid-4"></a>

##### cargoId

```ts
readonly cargoId: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:177](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L177)

<a id="crew-2"></a>

##### crew

```ts
readonly crew: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:180](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L180)

<a id="deposited-2"></a>

##### deposited

```ts
readonly deposited: bigint;
```

Defined in: [packages/sage/src/internal/c4/world.ts:179](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L179)

<a id="durationseconds-2"></a>

##### durationSeconds

```ts
readonly durationSeconds: number;
```

Defined in: [packages/sage/src/internal/c4/world.ts:181](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L181)

<a id="needed-2"></a>

##### needed

```ts
readonly needed: bigint;
```

Defined in: [packages/sage/src/internal/c4/world.ts:178](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L178)

***

<a id="worldstructuredata"></a>

### WorldStructureData

Defined in: [packages/sage/src/internal/c4/world.ts:216](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L216)

One nested shared structure value from Starbase crafting-hab data.

#### Example

```ts
declare const structure: WorldStructureData;
console.log(structure.address);
```

#### Properties

<a id="address-7"></a>

##### address

```ts
readonly address: Address;
```

Defined in: [packages/sage/src/internal/c4/world.ts:217](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L217)

<a id="deactivationtimeunixseconds-1"></a>

##### deactivationTimeUnixSeconds

```ts
readonly deactivationTimeUnixSeconds: bigint;
```

Defined in: [packages/sage/src/internal/c4/world.ts:218](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L218)

## Type Aliases

<a id="celestialbodydiscoveryoptions"></a>

### CelestialBodyDiscoveryOptions

```ts
type CelestialBodyDiscoveryOptions = Omit<DiscoveryRequest, "filters" | "strategy">;
```

Defined in: [packages/sage/src/world/index.ts:112](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L112)

Options for discovering Celestial Bodies across the configured Game.

#### Example

```ts
const options: CelestialBodyDiscoveryOptions = { commitment: 'confirmed' };
```

***

<a id="celestialbodysnapshot"></a>

### CelestialBodySnapshot

```ts
type CelestialBodySnapshot = 
  | PlanetSnapshot
  | AsteroidSnapshot;
```

Defined in: [packages/sage/src/world/index.ts:208](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L208)

A translated CelestialBody snapshot projected as a Planet or Asteroid.

#### Example

```ts
declare const body: CelestialBodySnapshot;
if (body.kind === 'planet') console.log(body.details.claimStakePlots);
```

***

<a id="claimstaketier"></a>

### ClaimStakeTier

```ts
type ClaimStakeTier = C4ClaimStakeTier;
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:38](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L38)

Claim Stake tier label, the column axis of Planet plot tables.

#### Example

```ts
const tier: ClaimStakeTier = 'two';
```

***

<a id="starsystemdiscoveryoptions"></a>

### StarSystemDiscoveryOptions

```ts
type StarSystemDiscoveryOptions = Omit<DiscoveryRequest, "filters" | "strategy"> & {
  regionId?: number;
};
```

Defined in: [packages/sage/src/world/index.ts:98](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L98)

Options supported by galaxy-scale StarSystem discovery.

#### Type Declaration

##### regionId?

```ts
readonly optional regionId?: number;
```

Limits discovery to StarSystems whose fixed-width region field contains this unsigned 16-bit id.

#### Example

```ts
const options: StarSystemDiscoveryOptions = {
  commitment: 'confirmed',
  regionId: 3,
};
```

***

<a id="worldfaction"></a>

### WorldFaction

```ts
type WorldFaction = "unaligned" | "mud" | "oni" | "ustur";
```

Defined in: [packages/sage/src/internal/c4/world.ts:102](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L102)

Human-readable faction labels used by shared Starbase data.

#### Example

```ts
const faction: WorldFaction = 'mud';
```

***

<a id="worldplanetsubtype"></a>

### WorldPlanetSubtype

```ts
type WorldPlanetSubtype = 
  | "terrestrial"
  | "volcanic"
  | "barren"
  | "gas-giant"
  | "ice-giant"
  | "dark"
  | "oceanic";
```

Defined in: [packages/sage/src/internal/c4/world.ts:324](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L324)

Planet category interpreted from on-chain building tags using the verified C4 mapping.

#### Example

```ts
const subtype: WorldPlanetSubtype = 'ice-giant';
```

***

<a id="worldstarbaselevel"></a>

### WorldStarbaseLevel

```ts
type WorldStarbaseLevel = 
  | "level-0"
  | "level-1"
  | "level-2"
  | "level-3"
  | "level-4"
  | "level-5"
  | "css";
```

Defined in: [packages/sage/src/internal/c4/world.ts:110](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/internal/c4/world.ts#L110)

Human-readable Starbase level labels.

#### Example

```ts
const level: WorldStarbaseLevel = 'level-1';
```

## Functions

<a id="claimstaketierindex"></a>

### claimStakeTierIndex()

```ts
function claimStakeTierIndex(tier): number;
```

Defined in: [packages/sage/src/world/planet-claim-stake-plots.ts:60](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/planet-claim-stake-plots.ts#L60)

Returns the zero-based column index of a Claim Stake tier.

Planet plot, base rent and base placement-fee tables are indexed
`[starbaseLevelIndex][claimStakeTierIndex]`: seven Starbase level rows and
five tier columns.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `tier` | `ClaimStakeTier` |

#### Returns

`number`

#### Example

```ts
declare const planet: PlanetSnapshot;
const level1TierTwo = planet.details.claimStakePlots[1]![claimStakeTierIndex('two')];
```

***

<a id="derivestarbasestatus"></a>

### deriveStarbaseStatus()

```ts
function deriveStarbaseStatus(starbase): StarbaseStatus;
```

Defined in: [packages/sage/src/world/starbase-status.ts:279](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L279)

Derives the status of a shared Starbase from already-loaded StarSystem data.

This is pure and network-free: it needs neither the context nor the Game
definitions registry, so galaxy-map readers can call it on every System they
already hold. The result is a new deeply frozen value; the input is left
untouched. Materials carry numeric cargo ids; use `getStarbaseStatus` when
you want them resolved to cargo definitions.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `starbase` | [`WorldStarbaseData`](/reference/world/#worldstarbasedata) |

#### Returns

[`StarbaseStatus`](/reference/world/#starbasestatus)

#### Example

```ts
declare const system: StarSystemSnapshot;
if (system.starbase !== undefined) {
  const status = deriveStarbaseStatus(system.starbase);
  console.log(status.level, status.upgrade?.toLevel);
}
```

***

<a id="distancebetweenstarsystems"></a>

### distanceBetweenStarSystems()

```ts
function distanceBetweenStarSystems(from, to): number;
```

Defined in: [packages/sage/src/world/index.ts:789](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L789)

Returns Euclidean distance between two SAGE coordinates.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `from` | [`WorldCoordinates`](/reference/fleets/#worldcoordinates) |
| `to` | [`WorldCoordinates`](/reference/fleets/#worldcoordinates) |

#### Returns

`number`

#### Example

```ts
const distance = distanceBetweenStarSystems({ x: 0, y: 0 }, { x: 3, y: 4 });
```

***

<a id="findcelestialbodypda"></a>

### findCelestialBodyPda()

```ts
function findCelestialBodyPda(game, bodyId): Promise<Address>;
```

Defined in: [packages/sage/src/world/index.ts:405](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L405)

Derives the CelestialBody PDA for a Game and numeric body id.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `game` | [`Address`](/reference/#address-20) |
| `bodyId` | `number` |

#### Returns

`Promise`\<[`Address`](/reference/#address-20)\>

#### Example

```ts
declare const game: Address;
const address = await findCelestialBodyPda(game, 11);
```

***

<a id="findstarsystempda"></a>

### findStarSystemPda()

```ts
function findStarSystemPda(game, systemId): Promise<Address>;
```

Defined in: [packages/sage/src/world/index.ts:391](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L391)

Derives the StarSystem PDA for a Game and numeric system id.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `game` | [`Address`](/reference/#address-20) |
| `systemId` | `number` |

#### Returns

`Promise`\<[`Address`](/reference/#address-20)\>

#### Example

```ts
declare const game: Address;
const address = await findStarSystemPda(game, 1);
```

***

<a id="getallcelestialbodies"></a>

### getAllCelestialBodies()

```ts
function getAllCelestialBodies(ctx, options?): Promise<readonly CelestialBodySnapshot[]>;
```

Defined in: [packages/sage/src/world/index.ts:683](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L683)

Discovers every Celestial Body for the configured Game without system fan-out.

Uses one discovery response, with configured indexer precedence and otherwise
targeted program-account filters. The context's maxDiscoveryResults rejects
an oversized response. Results reuse the address-keyed account cache; no Game
definitions are loaded. Resource values are observations, not static catalogs.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `ctx` | [`SageContext`](/reference/#sagecontext) |
| `options` | [`CelestialBodyDiscoveryOptions`](/reference/world/#celestialbodydiscoveryoptions) |

#### Returns

`Promise`\<readonly [`CelestialBodySnapshot`](/reference/world/#celestialbodysnapshot)[]\>

#### Example

```ts
declare const ctx: SageContext;
const bodies = await getAllCelestialBodies(ctx);
console.log(bodies.map(body => body.name));
```

***

<a id="getasteroids"></a>

### getAsteroids()

```ts
function getAsteroids(
   ctx, 
   systemAddress, 
options?): Promise<readonly AsteroidSnapshot[]>;
```

Defined in: [packages/sage/src/world/index.ts:768](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L768)

Returns only Asteroid projections in one StarSystem.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `ctx` | [`SageContext`](/reference/#sagecontext) |
| `systemAddress` | [`Address`](/reference/#address-20) |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<readonly [`AsteroidSnapshot`](/reference/world/#asteroidsnapshot)[]\>

#### Example

```ts
declare const ctx: SageContext;
declare const systemAddress: Address;
const asteroids = await getAsteroids(ctx, systemAddress);
```

***

<a id="getcelestialbodies"></a>

### getCelestialBodies()

```ts
function getCelestialBodies(
   ctx, 
   systemAddress, 
options?): Promise<readonly CelestialBodySnapshot[]>;
```

Defined in: [packages/sage/src/world/index.ts:707](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L707)

Traverses a StarSystem's stored CelestialBody addresses with explicit reads.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `ctx` | [`SageContext`](/reference/#sagecontext) |
| `systemAddress` | [`Address`](/reference/#address-20) |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<readonly [`CelestialBodySnapshot`](/reference/world/#celestialbodysnapshot)[]\>

#### Example

```ts
declare const ctx: SageContext;
declare const systemAddress: Address;
const bodies = await getCelestialBodies(ctx, systemAddress);
```

***

<a id="getcelestialbody"></a>

### getCelestialBody()

```ts
function getCelestialBody(
   ctx, 
   address, 
options?): Promise<CelestialBodySnapshot>;
```

Defined in: [packages/sage/src/world/index.ts:541](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L541)

Reads a required CelestialBody by account address.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `ctx` | [`SageContext`](/reference/#sagecontext) |
| `address` | [`Address`](/reference/#address-20) |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<[`CelestialBodySnapshot`](/reference/world/#celestialbodysnapshot)\>

#### Example

```ts
declare const ctx: SageContext;
declare const address: Address;
const body = await getCelestialBody(ctx, address);
```

***

<a id="getcelestialbodybyid"></a>

### getCelestialBodyById()

```ts
function getCelestialBodyById(
   ctx, 
   bodyId, 
options?): Promise<CelestialBodySnapshot>;
```

Defined in: [packages/sage/src/world/index.ts:649](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L649)

Derives and reads a CelestialBody by its Game-scoped numeric id.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `ctx` | [`SageContext`](/reference/#sagecontext) |
| `bodyId` | `number` |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<[`CelestialBodySnapshot`](/reference/world/#celestialbodysnapshot)\>

#### Example

```ts
declare const ctx: SageContext;
const body = await getCelestialBodyById(ctx, 11);
```

***

<a id="getcelestialbodycoordinates"></a>

### getCelestialBodyCoordinates()

```ts
function getCelestialBodyCoordinates(
   ctx, 
   bodyAddress, 
options?): Promise<WorldCoordinates>;
```

Defined in: [packages/sage/src/world/index.ts:804](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L804)

Resolves a CelestialBody's stored StarSystem relation to its coordinates.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `ctx` | [`SageContext`](/reference/#sagecontext) |
| `bodyAddress` | [`Address`](/reference/#address-20) |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<[`WorldCoordinates`](/reference/fleets/#worldcoordinates)\>

#### Example

```ts
declare const ctx: SageContext;
declare const bodyAddress: Address;
const coordinates = await getCelestialBodyCoordinates(ctx, bodyAddress);
```

***

<a id="getplanetclaimstakeplots"></a>

### getPlanetClaimStakePlots()

```ts
function getPlanetClaimStakePlots(
   ctx, 
   planet, 
options?): Promise<PlanetClaimStakePlotsSnapshot>;
```

Defined in: [packages/sage/src/world/index.ts:600](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L600)

Reads one Planet and its StarSystem, then summarizes Claim Stake plot
occupancy per Starbase level row and availability for every tier.

The Planet and System stay on the shared account cache; Claim Stake
definitions load lazily through the registry. The program records stakes per
Starbase level row, and every tier shares a row's occupancy, so
availability is per tier across the rows up to the System's Starbase level,
matching the placement planner's check. A Planet whose System has no
Starbase still lists its rows and plot limits by level, but no availability.
An Asteroid address is rejected: only Planets carry Claim Stake plots.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `ctx` | [`SageContext`](/reference/#sagecontext) |
| `planet` | [`Address`](/reference/#address-20) |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<[`PlanetClaimStakePlotsSnapshot`](/reference/world/#planetclaimstakeplotssnapshot)\>

#### Example

```ts
declare const ctx: SageContext;
declare const planet: Address;
const plots = await getPlanetClaimStakePlots(ctx, planet);
for (const tier of plots.tiers) {
  console.log(tier.tier, tier.available, tier.placementLevel);
}
```

***

<a id="getplanetresources"></a>

### getPlanetResources()

```ts
function getPlanetResources(
   context, 
   planet, 
options?): Promise<PlanetResourcesSnapshot>;
```

Defined in: [packages/sage/src/world/index.ts:567](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L567)

Reads one Planet resource observation and resolves every cargo definition.

The Planet stays on the shared CelestialBody account cache. Cargo definitions
load lazily through the registry and do not imply that the body and catalog
were observed atomically. Unknown cargo ids reject the whole read.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `context` | [`SageContext`](/reference/#sagecontext) |
| `planet` | [`Address`](/reference/#address-20) |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<[`PlanetResourcesSnapshot`](/reference/world/#planetresourcessnapshot)\>

#### Example

```ts
declare const ctx: SageContext;
declare const planet: Address;
const snapshot = await getPlanetResources(ctx, planet);
console.log(snapshot.resources[0]?.cargo.name);
```

***

<a id="getplanets"></a>

### getPlanets()

```ts
function getPlanets(
   ctx, 
   systemAddress, 
options?): Promise<readonly PlanetSnapshot[]>;
```

Defined in: [packages/sage/src/world/index.ts:745](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L745)

Returns only Planet projections in one StarSystem.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `ctx` | [`SageContext`](/reference/#sagecontext) |
| `systemAddress` | [`Address`](/reference/#address-20) |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<readonly [`PlanetSnapshot`](/reference/world/#planetsnapshot)[]\>

#### Example

```ts
declare const ctx: SageContext;
declare const systemAddress: Address;
const planets = await getPlanets(ctx, systemAddress);
```

***

<a id="getstarbasestatus"></a>

### getStarbaseStatus()

```ts
function getStarbaseStatus(
   ctx, 
   system, 
   options?): Promise<
  | StarbaseStatusSnapshot
| undefined>;
```

Defined in: [packages/sage/src/world/index.ts:447](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L447)

Reads one StarSystem and derives the status of its shared Starbase.

Returns `undefined` when the System exists but has no Starbase; a missing
System account still throws. The StarSystem stays on the shared account
cache. Upgrade materials resolve lazily through the definitions registry,
so a Starbase at its maximum level never loads the Game definitions.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `ctx` | [`SageContext`](/reference/#sagecontext) |
| `system` | [`Address`](/reference/#address-20) |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<
  \| [`StarbaseStatusSnapshot`](/reference/world/#starbasestatussnapshot)
  \| `undefined`\>

#### Example

```ts
declare const ctx: SageContext;
declare const system: Address;
const status = await getStarbaseStatus(ctx, system);
console.log(status?.level, status?.current.hullPoints);
```

***

<a id="getstarsystem"></a>

### getStarSystem()

```ts
function getStarSystem(
   ctx, 
   address, 
options?): Promise<StarSystemSnapshot>;
```

Defined in: [packages/sage/src/world/index.ts:420](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L420)

Reads a required StarSystem by account address.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `ctx` | [`SageContext`](/reference/#sagecontext) |
| `address` | [`Address`](/reference/#address-20) |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<[`StarSystemSnapshot`](/reference/world/#starsystemsnapshot)\>

#### Example

```ts
declare const ctx: SageContext;
declare const address: Address;
const system = await getStarSystem(ctx, address);
```

***

<a id="getstarsystembyid"></a>

### getStarSystemById()

```ts
function getStarSystemById(
   ctx, 
   systemId, 
options?): Promise<StarSystemSnapshot>;
```

Defined in: [packages/sage/src/world/index.ts:489](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L489)

Derives and reads a StarSystem by its Game-scoped numeric id.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `ctx` | [`SageContext`](/reference/#sagecontext) |
| `systemId` | `number` |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<[`StarSystemSnapshot`](/reference/world/#starsystemsnapshot)\>

#### Example

```ts
declare const ctx: SageContext;
const system = await getStarSystemById(ctx, 1);
```

***

<a id="getstarsystems"></a>

### getStarSystems()

```ts
function getStarSystems(ctx, options?): Promise<readonly StarSystemSnapshot[]>;
```

Defined in: [packages/sage/src/world/index.ts:515](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L515)

Discovers StarSystems for the configured Game with stable targeted filters.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `ctx` | [`SageContext`](/reference/#sagecontext) |
| `options` | [`StarSystemDiscoveryOptions`](/reference/world/#starsystemdiscoveryoptions) |

#### Returns

`Promise`\<readonly [`StarSystemSnapshot`](/reference/world/#starsystemsnapshot)[]\>

#### Example

```ts
declare const ctx: SageContext;
const systems = await getStarSystems(ctx, { regionId: 3 });
```

***

<a id="maybegetcelestialbody"></a>

### maybeGetCelestialBody()

```ts
function maybeGetCelestialBody(
   ctx, 
   address, 
   options?): Promise<
  | CelestialBodySnapshot
| undefined>;
```

Defined in: [packages/sage/src/world/index.ts:626](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L626)

Reads an optional CelestialBody by account address.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `ctx` | [`SageContext`](/reference/#sagecontext) |
| `address` | [`Address`](/reference/#address-20) |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<
  \| [`CelestialBodySnapshot`](/reference/world/#celestialbodysnapshot)
  \| `undefined`\>

#### Example

```ts
declare const ctx: SageContext;
declare const address: Address;
const body = await maybeGetCelestialBody(ctx, address);
```

***

<a id="maybegetstarsystem"></a>

### maybeGetStarSystem()

```ts
function maybeGetStarSystem(
   ctx, 
   address, 
   options?): Promise<
  | StarSystemSnapshot
| undefined>;
```

Defined in: [packages/sage/src/world/index.ts:466](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/index.ts#L466)

Reads an optional StarSystem by account address.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `ctx` | [`SageContext`](/reference/#sagecontext) |
| `address` | [`Address`](/reference/#address-20) |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<
  \| [`StarSystemSnapshot`](/reference/world/#starsystemsnapshot)
  \| `undefined`\>

#### Example

```ts
declare const ctx: SageContext;
declare const address: Address;
const system = await maybeGetStarSystem(ctx, address);
```

***

<a id="starbaselevelindex-1"></a>

### starbaseLevelIndex()

```ts
function starbaseLevelIndex(level): number;
```

Defined in: [packages/sage/src/world/starbase-status.ts:48](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/world/starbase-status.ts#L48)

Returns the zero-based ordinal of a Starbase level label.

Levels `level-0` through `level-5` map to 0 through 5 and the Central Space
Station (`css`) ranks above them as 6. This is the row index used by Planet
Claim Stake plot tables and Starbase Crafting Hab plot tables, and the order
used to compare a Starbase level with a service enable level.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `level` | [`WorldStarbaseLevel`](/reference/world/#worldstarbaselevel) |

#### Returns

`number`

#### Example

```ts
const unlocked = starbaseLevelIndex('level-3') >= starbaseLevelIndex('level-2');
```

## References

<a id="worldcoordinates"></a>

### WorldCoordinates

Re-exports [WorldCoordinates](/reference/fleets/#worldcoordinates)
