# rewards
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/rewards/ — see https://develop.atlas-kit-docs.pages.dev/ai/ for the full machine-readable surface.

## Interfaces

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

### AtlasRewardConfigSnapshot

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

Cargo-resolved immutable ATLAS reward configuration version.

#### Example

```ts
declare const config: AtlasRewardConfigSnapshot;
console.log(config.configVersion, config.status);
```

#### Properties

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

##### activeMedallion

```ts
readonly activeMedallion: 
  | {
  buyerPriceAtlasRaw: bigint;
  cargo: CargoDefinitionSummary;
  generation: number;
}
  | undefined;
```

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

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

##### address

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

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

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

##### atlasBankInactivityExpirySeconds

```ts
readonly atlasBankInactivityExpirySeconds: bigint;
```

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

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

##### bump

```ts
readonly bump: number;
```

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

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

##### claimSettlementWindowSeconds

```ts
readonly claimSettlementWindowSeconds: number;
```

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

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

##### configVersion

```ts
readonly configVersion: number;
```

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

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

##### createdAtUnixSeconds

```ts
readonly createdAtUnixSeconds: bigint;
```

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

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

##### effectiveEpoch

```ts
readonly effectiveEpoch: bigint;
```

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

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

##### epochLengthSeconds

```ts
readonly epochLengthSeconds: number;
```

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

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

##### factionPoolLeverRaw

```ts
readonly factionPoolLeverRaw: bigint;
```

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

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

##### game

```ts
readonly game: EntityRef<"game">;
```

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

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

##### kind

```ts
readonly kind: "atlasRewardConfig";
```

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

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

##### kingSystemCurveRaw

```ts
readonly kingSystemCurveRaw: readonly readonly bigint[][];
```

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

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

##### lossModelTargetBps

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

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

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

##### medallionBuybackCapPerEpochRaw

```ts
readonly medallionBuybackCapPerEpochRaw: bigint;
```

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

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

##### pveLpRateBps

```ts
readonly pveLpRateBps: number;
```

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

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

##### pvpMedallionRateBps

```ts
readonly pvpMedallionRateBps: number;
```

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

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

##### repairKitLpRateRaw

```ts
readonly repairKitLpRateRaw: bigint;
```

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

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

##### rewardLootReclaimSeconds

```ts
readonly rewardLootReclaimSeconds: bigint;
```

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

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

##### rewardReserveLowBalanceThresholdRaw

```ts
readonly rewardReserveLowBalanceThresholdRaw: bigint;
```

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

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

##### salvageEntries

```ts
readonly salvageEntries: readonly {
  cargo: CargoDefinitionSummary;
  referenceValueAtlasRaw: bigint;
  weight: number;
}[];
```

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

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

##### salvageEvRateBps

```ts
readonly salvageEvRateBps: number;
```

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

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

##### sourceFlags

```ts
readonly sourceFlags: number;
```

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

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

##### starbaseDestructionMedallionsRaw

```ts
readonly starbaseDestructionMedallionsRaw: readonly bigint[];
```

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

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

##### status

```ts
readonly status: "enabled" | "disabled";
```

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

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

##### upgradeLpRates

```ts
readonly upgradeLpRates: readonly {
  cargo: CargoDefinitionSummary;
  lpPerRawUnit: bigint;
}[];
```

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

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

##### version

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

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

#### Methods

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

##### toJSON()

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

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

###### Returns

`unknown`

***

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

### AtlasRewardRegistrySnapshot

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

Immutable per-Game ATLAS reward registry and epoch selector.

#### Example

```ts
declare const registry: AtlasRewardRegistrySnapshot;
console.log(registry.currentEpoch, registry.activeConfigVersion);
```

#### Properties

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

##### activeConfigVersion

```ts
readonly activeConfigVersion: number;
```

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

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

##### address

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

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

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

##### bump

```ts
readonly bump: number;
```

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

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

##### currentEpoch

```ts
readonly currentEpoch: bigint;
```

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

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

##### currentEpochEndsAtUnixSeconds

```ts
readonly currentEpochEndsAtUnixSeconds: bigint;
```

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

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

##### currentEpochStartedAtUnixSeconds

```ts
readonly currentEpochStartedAtUnixSeconds: bigint;
```

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

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

##### game

```ts
readonly game: EntityRef<"game">;
```

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

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

##### initialEpochOffsetSeconds

```ts
readonly initialEpochOffsetSeconds: bigint;
```

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

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

##### kind

```ts
readonly kind: "atlasRewardRegistry";
```

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

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

##### latestConfigVersion

```ts
readonly latestConfigVersion: number;
```

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

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

##### pendingConfig

```ts
readonly pendingConfig: 
  | {
  configVersion: number;
  effectiveEpoch: bigint;
}
  | undefined;
```

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

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

##### version

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

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

#### Methods

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

##### toJSON()

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

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

###### Returns

`unknown`

***

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

### AtlasRewardStateSnapshot

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

Combined active/pending reward configuration and treasury state.

Member snapshots retain their independent read metadata. The composite's
metadata reports the earliest member slot so callers can inspect slot skew.

#### Example

```ts
declare const state: AtlasRewardStateSnapshot;
console.log(state.registry.currentEpoch, state.activeConfig.status);
```

#### Properties

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

##### activeConfig

```ts
readonly activeConfig: AtlasRewardConfigSnapshot;
```

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

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

##### kind

```ts
readonly kind: "atlasRewardState";
```

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

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

##### pendingConfig

```ts
readonly pendingConfig: 
  | AtlasRewardConfigSnapshot
  | undefined;
```

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

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

##### registry

```ts
readonly registry: AtlasRewardRegistrySnapshot;
```

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

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

##### treasury

```ts
readonly treasury: AtlasRewardTreasurySnapshot;
```

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

#### Methods

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

##### toJSON()

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

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

###### Returns

`unknown`

***

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

### AtlasRewardTreasurySnapshot

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

Cargo-resolved finite ATLAS reward reserve.

#### Example

```ts
declare const treasury: AtlasRewardTreasurySnapshot;
console.log(treasury.reserves.length);
```

#### Properties

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

##### address

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

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

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

##### bump

```ts
readonly bump: number;
```

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

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

##### game

```ts
readonly game: EntityRef<"game">;
```

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

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

##### kind

```ts
readonly kind: "atlasRewardTreasury";
```

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

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

##### reserves

```ts
readonly reserves: readonly {
  cargo: CargoDefinitionSummary;
  quantityRaw: bigint;
}[];
```

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

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

##### version

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

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

#### Methods

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

##### toJSON()

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

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

###### Returns

`unknown`

***

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

### RewardCommitmentSnapshot

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

Reward commitment carried by Loot, linked to combat through a typed reference.

#### Example

```ts
declare const commitment: RewardCommitmentSnapshot;
console.log(commitment.loot.address, commitment.configVersion);
```

#### Properties

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

##### committedAtUnixSeconds

```ts
readonly committedAtUnixSeconds: bigint;
```

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

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

##### configVersion

```ts
readonly configVersion: number;
```

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

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

##### game

```ts
readonly game: EntityRef<"game">;
```

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

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

##### kind

```ts
readonly kind: "rewardCommitment";
```

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

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

##### legs

```ts
readonly legs: readonly {
  medallionsRaw: bigint;
  recipient: EntityRef<"profile">;
  salvageTargetValueAtlasRaw: bigint;
}[];
```

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

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

##### loot

```ts
readonly loot: EntityRef<"loot">;
```

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

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

##### profile

```ts
readonly profile: EntityRef<"profile">;
```

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

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

##### rawStatus?

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

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

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

##### slot

```ts
readonly slot: bigint;
```

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

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

##### status

```ts
readonly status: "resolved" | "unknown" | "committed";
```

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

#### Methods

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

##### toJSON()

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

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

###### Returns

`unknown`

## Type Aliases

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

### RewardCommitmentDiscoveryOptions

```ts
type RewardCommitmentDiscoveryOptions = Omit<DiscoveryRequest, "filters" | "strategy">;
```

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

Options supported by reward-bearing Loot discovery.

#### Example

```ts
const options: RewardCommitmentDiscoveryOptions = { commitment: 'confirmed' };
```

## Functions

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

### getAtlasRewardConfig()

```ts
function getAtlasRewardConfig(
   context, 
   configVersion, 
options?): Promise<AtlasRewardConfigSnapshot>;
```

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

Derives and reads one immutable ATLAS reward config version.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `context` | [`SageContext`](/reference/#sagecontext) |
| `configVersion` | `number` |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<[`AtlasRewardConfigSnapshot`](/reference/rewards/#atlasrewardconfigsnapshot)\>

#### Example

```ts
declare const ctx: SageContext;
const config = await getAtlasRewardConfig(ctx, 9);
```

***

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

### getAtlasRewardRegistry()

```ts
function getAtlasRewardRegistry(context, options?): Promise<AtlasRewardRegistrySnapshot>;
```

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

Derives and reads the configured Game's ATLAS reward registry.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `context` | [`SageContext`](/reference/#sagecontext) |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<[`AtlasRewardRegistrySnapshot`](/reference/rewards/#atlasrewardregistrysnapshot)\>

#### Example

```ts
declare const ctx: SageContext;
const registry = await getAtlasRewardRegistry(ctx);
```

***

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

### getAtlasRewardState()

```ts
function getAtlasRewardState(context, options?): Promise<AtlasRewardStateSnapshot>;
```

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

Reads combined active/pending config, epoch registry, and treasury state.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `context` | [`SageContext`](/reference/#sagecontext) |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<[`AtlasRewardStateSnapshot`](/reference/rewards/#atlasrewardstatesnapshot)\>

#### Example

```ts
declare const ctx: SageContext;
const state = await getAtlasRewardState(ctx);
```

***

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

### getAtlasRewardTreasury()

```ts
function getAtlasRewardTreasury(context, options?): Promise<AtlasRewardTreasurySnapshot>;
```

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

Derives and reads the configured Game's finite reward treasury.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `context` | [`SageContext`](/reference/#sagecontext) |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<[`AtlasRewardTreasurySnapshot`](/reference/rewards/#atlasrewardtreasurysnapshot)\>

#### Example

```ts
declare const ctx: SageContext;
const treasury = await getAtlasRewardTreasury(ctx);
```

***

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

### getRewardCommitmentsByProfile()

```ts
function getRewardCommitmentsByProfile(
   context, 
   profile, 
options?): Promise<readonly RewardCommitmentSnapshot[]>;
```

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

Discovers reward-bearing Loot for one Profile and returns combat-boundary refs.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `context` | [`SageContext`](/reference/#sagecontext) |
| `profile` | [`Address`](/reference/#address-20) |
| `options?` | [`RewardCommitmentDiscoveryOptions`](/reference/rewards/#rewardcommitmentdiscoveryoptions) |

#### Returns

`Promise`\<readonly [`RewardCommitmentSnapshot`](/reference/rewards/#rewardcommitmentsnapshot)[]\>

#### Example

```ts
declare const ctx: SageContext;
declare const profile: Address;
const commitments = await getRewardCommitmentsByProfile(ctx, profile);
```

***

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

### maybeGetRewardCommitment()

```ts
function maybeGetRewardCommitment(
   context, 
   loot, 
   options?): Promise<
  | RewardCommitmentSnapshot
| undefined>;
```

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

Reads an optional reward commitment from one Loot account.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `context` | [`SageContext`](/reference/#sagecontext) |
| `loot` | [`Address`](/reference/#address-20) |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<
  \| [`RewardCommitmentSnapshot`](/reference/rewards/#rewardcommitmentsnapshot)
  \| `undefined`\>

#### Example

```ts
declare const ctx: SageContext;
declare const loot: Address;
const commitment = await maybeGetRewardCommitment(ctx, loot);
```

***

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

### selectAtlasRewardConfigVersion()

```ts
function selectAtlasRewardConfigVersion(registry, epoch): number;
```

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

Selects the config version effective for an epoch, including the pending boundary.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `registry` | [`AtlasRewardRegistrySnapshot`](/reference/rewards/#atlasrewardregistrysnapshot) |
| `epoch` | `bigint` |

#### Returns

`number`

#### Example

```ts
declare const registry: AtlasRewardRegistrySnapshot;
const version = selectAtlasRewardConfigVersion(registry, 20_670n);
```
