@reyaxyz/common 0.385.0 → 0.386.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"incentives-api-types.js","sourceRoot":"/","sources":["incentives-api-types.ts"],"names":[],"mappings":"","sourcesContent":["import {\n AddressParam,\n ApiEndpoint,\n ApiInfiniteListEndpoint,\n ApiListEndpoint,\n PaginatedQueryParams,\n FailableResult,\n Stringified,\n} from './api-types';\nimport { Rank, RankTrading } from './types';\n\nexport type PointsBreakdown = {\n /** Includes goldPlusPoints. */\n totalPoints: number;\n /** Taker, maker, open-interest, liquidation and spot points together. */\n tradingPoints: number;\n stakingPoints: number;\n signalPoints: number;\n /** Season 2 Gold+ pool; 0 before 16 Nov 2026. Not part of tradingPoints. */\n goldPlusPoints: number;\n rank: number;\n};\n\n/** A points season as served by the API. `endsAt` is null while the season is active. */\nexport type IncentivesSeason = {\n id: number;\n name: string;\n startsAt: string;\n endsAt: string | null;\n};\n\n/** A wallet's frozen result in a closed season. Forfeited wallets read zero in every figure. */\nexport type IncentivesClosedSeasonPoints = PointsBreakdown & {\n season: IncentivesSeason;\n forfeited: boolean;\n};\n\nexport type IncentivesUserPointsData = {\n /** Latest weekly leaderboard of the active season. */\n weekly: PointsBreakdown;\n /** Running cumulative total of the active season. */\n season: PointsBreakdown;\n /** Final results of every closed season, oldest first (zeros where the wallet never scored). */\n closedSeasons: IncentivesClosedSeasonPoints[];\n};\n\nexport type IncentivesUserRanks = {\n walletAddress: string;\n tradingRank: RankTrading;\n stakingRank: Rank;\n};\n\nexport type IncentivesUserBoosts = {\n walletAddress: string;\n tradingBoost: number;\n stakingBoost: number;\n loyaltyBoost: number;\n};\n\n/** Live retention progress in the scorer's current (windowStartedAt, asOf] period. */\nexport type IncentivesRetention = {\n /** Previous archival, or season start before the first archival; an ISO UTC instant. */\n windowStartedAt: string;\n /** Query cutoff, an ISO UTC instant. */\n asOf: string;\n /** Sorted distinct UTC YYYY-MM-DD dates of matched perp fills, using block time on either leg. */\n tradingDates: string[];\n tradingDays: number;\n requiredDays: number;\n boostMultiplier: number;\n /** Meets the retention day threshold; does not guarantee a points award. */\n qualified: boolean;\n /** Current retention factor on volume XP, before other scoring rules. */\n appliedMultiplier: number;\n};\n\nexport type IncentivesUserSummaryData = {\n walletAddress: string;\n /** The season `points.weekly` and `points.season` belong to. */\n activeSeason: IncentivesSeason;\n points: IncentivesUserPointsData;\n ranks: Omit<IncentivesUserRanks, 'walletAddress'>;\n boosts: Omit<IncentivesUserBoosts, 'walletAddress'>;\n /** Live progress, separate from archived points.weekly; null outside active V2 scoring. */\n retention: IncentivesRetention | null;\n};\n\nexport type IncentivesLeaderBoardEntry = {\n rank: number;\n walletAddress: string;\n totalPoints: number;\n tradingPoints: number;\n stakingPoints: number;\n signalPoints: number;\n /** Season 2 Gold+ pool; counted in totalPoints, not in tradingPoints. */\n goldPlusPoints: number;\n isCurrentUser?: boolean;\n};\n\nexport type IncentivesPointsHistoryEntry = {\n walletAddress: string;\n totalXpOG: number;\n totalXpOGRanked: number;\n liquidityReferralXpOG: number;\n liquidityXpOG: number;\n rankMultiplierOG: number;\n rankOG: Rank;\n stakingPointsOG: number;\n liquidityReferralXpSeason1: number;\n liquidityXpSeason1: number;\n liquidityXpSeason1Ranked: number;\n rankMultiplierSeason1: number;\n rankSeason1: Rank;\n stakingPointsSeason1: number;\n tradingReferralXpSeason1: number;\n tradingXpSeason1: number;\n tradingXpSeason1Ranked: number;\n tradingRankMultiplierSeason1: number;\n tradingRankSeason1: RankTrading;\n tradingPointsSeason1: number;\n liquidityReferralXpSeason2: number;\n liquidityXpSeason2: number;\n rankSeason2: Rank;\n stakingPointsSeason2: number;\n tradingReferralXpSeason2: number;\n tradingXpSeason2: number;\n tradingRankSeason2: RankTrading;\n tradingPointsSeason2: number;\n totalLiquidityXp: number;\n totalLiquidityReferralXp: number;\n totalTradingXp: number;\n totalTradingReferralXp: number;\n totalXp: number;\n totalPoints: number;\n};\n\n/**\n * `weekly` = latest weekly leaderboard of the active season; `season` = a whole season: the\n * running cumulative of the active season by default, or the frozen result of the season selected\n * with the `seasonId` query parameter once it is closed.\n */\nexport type LeaderBoardType = 'weekly' | 'season';\nexport type LeaderBoardParams = { type: LeaderBoardType };\n/** `seasonId` selects the season for `type=season` (default: the active one); ignored for `weekly`. */\nexport type LeaderBoardQuery = { seasonId?: string };\n\nexport type TradingCompetitionRoundParams = { round: number };\n\nexport type TradingCompetitionUserSummaryData =\n | {\n status: 'out';\n }\n | {\n status: 'in';\n realizedPnl: number;\n position: number;\n volume: number;\n volumePosition: number;\n };\n\nexport type TradingCompetitionLeaderboardEntry = {\n walletAddress: string;\n realizedPnl: number;\n position: number;\n};\n\nexport type IncentivesStreakStatus = {\n currentStreakDay: number | 'upcoming' | 'ended';\n timeUntilNextStreakDay: number;\n};\n\nexport type IncentivesStreakMarketVolume = {\n symbol: string;\n volume: number;\n};\n\nexport type IncentivesStreakDayActivity = {\n day: number;\n markets: IncentivesStreakMarketVolume[];\n};\n\nexport type IncentivesStreakUserActivity = IncentivesStreakStatus & {\n walletAddress: string;\n days: IncentivesStreakDayActivity[];\n};\n\n/**\n * RET-259: 100 RCP for an admitted wallet's first perp fill inside its 7-day window.\n * `deadline` is ms. `paid` is true once the Monday payout has credited it (earned only).\n */\nexport type IncentivesFirstTradeBonus =\n | { walletAddress: string; eligible: false }\n | {\n walletAddress: string;\n eligible: true;\n bonusPoints: number;\n deadline: number;\n state: 'open' | 'earned' | 'missed';\n paid: boolean;\n };\n\nexport type IncentivesApiSource = {\n 'incentives/points': ApiEndpoint<\n {\n activeSeason: IncentivesSeason;\n /** Points issued in the latest weekly leaderboard of the active season. */\n weekly: number;\n /** Running total of the active season. */\n season: number;\n /** Frozen totals of every closed season, oldest first (forfeited wallets excluded). */\n closedSeasons: { season: IncentivesSeason; totalPoints: number }[];\n },\n never\n >;\n\n 'incentives/leaderBoard/:type': ApiInfiniteListEndpoint<\n IncentivesLeaderBoardEntry,\n LeaderBoardParams,\n PaginatedQueryParams & LeaderBoardQuery\n >;\n\n 'incentives/wallet/:address': ApiEndpoint<\n IncentivesUserSummaryData,\n AddressParam\n >;\n\n 'incentives/wallet/:address/referralsLeaderBoard/:type': ApiListEndpoint<\n IncentivesLeaderBoardEntry,\n AddressParam & LeaderBoardParams,\n LeaderBoardQuery\n >;\n\n 'incentives/wallet/:address/pointsHistory': ApiEndpoint<\n IncentivesPointsHistoryEntry,\n AddressParam\n >;\n\n 'incentives/tradingCompetition/:round': ApiEndpoint<\n {\n entries: TradingCompetitionLeaderboardEntry[];\n status: 'live' | 'ended';\n refreshedAt: number;\n },\n TradingCompetitionRoundParams\n >;\n\n 'incentives/wallet/:address/tradingCompetition/:round': ApiEndpoint<\n TradingCompetitionUserSummaryData,\n AddressParam & TradingCompetitionRoundParams\n >;\n\n 'incentives/wallet/:address/tradingCompetition/:round/registration': ApiEndpoint<\n { registered: boolean },\n AddressParam & TradingCompetitionRoundParams\n >;\n\n 'incentives/wallet/:address/tradingCompetition/:round/claim': ApiEndpoint<\n FailableResult,\n AddressParam & TradingCompetitionRoundParams,\n { code: string }\n >;\n\n 'incentives/streak': ApiEndpoint<IncentivesStreakStatus, never>;\n\n 'incentives/streak/wallet/:address': ApiEndpoint<\n IncentivesStreakUserActivity,\n AddressParam\n >;\n\n 'incentives/first-trade-bonus/wallet/:address': ApiEndpoint<\n IncentivesFirstTradeBonus,\n AddressParam\n >;\n\n 'incentives/vip/wallet/:address': ApiEndpoint<\n {\n walletAddress: string;\n isVip: boolean;\n registered: boolean;\n hasInviteLink: boolean;\n registeredAt: number | null;\n },\n AddressParam\n >;\n\n 'incentives/vip/wallet/:address/nonce': ApiEndpoint<\n FailableResult<{\n nonce: string;\n message: string;\n expiresAt: number;\n }>,\n AddressParam\n >;\n\n 'incentives/vip/wallet/:address/register': ApiEndpoint<\n FailableResult<{\n inviteLink: string;\n alreadyRegistered: boolean;\n }>,\n AddressParam\n >;\n\n 'incentives/waitlist/status/:address': ApiEndpoint<\n {\n status: 'none' | 'waiting' | 'admitted' | 'rejected';\n staked: boolean | null;\n x: { username: string; followedAt: string | null } | null;\n email: string | null;\n share: { lastAt: string | null; nextAt: string | null };\n /** (tier - 1) * 10000 + min(125 + position in the tier, 9999); null when not ranked. */\n rank: number | null;\n },\n AddressParam\n >;\n};\n\nexport type IncentivesApi = {\n [K in keyof IncentivesApiSource]: {\n params: IncentivesApiSource[K]['params'];\n query: IncentivesApiSource[K]['query'];\n response: Stringified<IncentivesApiSource[K]['response']>;\n };\n};\n"]}
1
+ {"version":3,"file":"incentives-api-types.js","sourceRoot":"/","sources":["incentives-api-types.ts"],"names":[],"mappings":"","sourcesContent":["import {\n AddressParam,\n ApiEndpoint,\n ApiInfiniteListEndpoint,\n ApiListEndpoint,\n PaginatedQueryParams,\n FailableResult,\n Stringified,\n} from './api-types';\nimport { Rank, RankTrading } from './types';\n\nexport type PointsBreakdown = {\n /** Includes goldPlusPoints. */\n totalPoints: number;\n /** Taker, maker, open-interest, liquidation and spot points together. */\n tradingPoints: number;\n stakingPoints: number;\n signalPoints: number;\n /** Season 2 Gold+ pool; 0 before 16 Nov 2026. Not part of tradingPoints. */\n goldPlusPoints: number;\n rank: number;\n};\n\n/** A points season as served by the API. `endsAt` is null while the season is active. */\nexport type IncentivesSeason = {\n id: number;\n name: string;\n startsAt: string;\n endsAt: string | null;\n};\n\n/** A wallet's frozen result in a closed season. Forfeited wallets read zero in every figure. */\nexport type IncentivesClosedSeasonPoints = PointsBreakdown & {\n season: IncentivesSeason;\n forfeited: boolean;\n};\n\nexport type IncentivesUserPointsData = {\n /** Latest weekly leaderboard of the active season. */\n weekly: PointsBreakdown;\n /** Running cumulative total of the active season. */\n season: PointsBreakdown;\n /** Final results of every closed season, oldest first (zeros where the wallet never scored). */\n closedSeasons: IncentivesClosedSeasonPoints[];\n};\n\nexport type IncentivesUserRanks = {\n walletAddress: string;\n tradingRank: RankTrading;\n stakingRank: Rank;\n};\n\nexport type IncentivesUserBoosts = {\n walletAddress: string;\n tradingBoost: number;\n stakingBoost: number;\n loyaltyBoost: number;\n};\n\n/** Live retention progress in the scorer's current (windowStartedAt, asOf] period. */\nexport type IncentivesRetention = {\n /** Previous archival, or season start before the first archival; an ISO UTC instant. */\n windowStartedAt: string;\n /** Query cutoff, an ISO UTC instant. */\n asOf: string;\n /** Sorted distinct UTC YYYY-MM-DD dates of matched perp fills, using block time on either leg. */\n tradingDates: string[];\n tradingDays: number;\n requiredDays: number;\n boostMultiplier: number;\n /** Meets the retention day threshold; does not guarantee a points award. */\n qualified: boolean;\n /** Current retention factor on volume XP, before other scoring rules. */\n appliedMultiplier: number;\n};\n\nexport type IncentivesUserSummaryData = {\n walletAddress: string;\n /** The season `points.weekly` and `points.season` belong to. */\n activeSeason: IncentivesSeason;\n points: IncentivesUserPointsData;\n ranks: Omit<IncentivesUserRanks, 'walletAddress'>;\n boosts: Omit<IncentivesUserBoosts, 'walletAddress'>;\n /** Live progress, separate from archived points.weekly; null outside active V2 scoring. */\n retention: IncentivesRetention | null;\n};\n\nexport type IncentivesLeaderBoardEntry = {\n rank: number;\n walletAddress: string;\n totalPoints: number;\n tradingPoints: number;\n stakingPoints: number;\n signalPoints: number;\n /** Season 2 Gold+ pool; counted in totalPoints, not in tradingPoints. */\n goldPlusPoints: number;\n isCurrentUser?: boolean;\n};\n\nexport type IncentivesPointsHistoryEntry = {\n walletAddress: string;\n totalXpOG: number;\n totalXpOGRanked: number;\n liquidityReferralXpOG: number;\n liquidityXpOG: number;\n rankMultiplierOG: number;\n rankOG: Rank;\n stakingPointsOG: number;\n liquidityReferralXpSeason1: number;\n liquidityXpSeason1: number;\n liquidityXpSeason1Ranked: number;\n rankMultiplierSeason1: number;\n rankSeason1: Rank;\n stakingPointsSeason1: number;\n tradingReferralXpSeason1: number;\n tradingXpSeason1: number;\n tradingXpSeason1Ranked: number;\n tradingRankMultiplierSeason1: number;\n tradingRankSeason1: RankTrading;\n tradingPointsSeason1: number;\n liquidityReferralXpSeason2: number;\n liquidityXpSeason2: number;\n rankSeason2: Rank;\n stakingPointsSeason2: number;\n tradingReferralXpSeason2: number;\n tradingXpSeason2: number;\n tradingRankSeason2: RankTrading;\n tradingPointsSeason2: number;\n totalLiquidityXp: number;\n totalLiquidityReferralXp: number;\n totalTradingXp: number;\n totalTradingReferralXp: number;\n totalXp: number;\n totalPoints: number;\n};\n\n/**\n * `weekly` = latest weekly leaderboard of the active season; `season` = a whole season: the\n * running cumulative of the active season by default, or the frozen result of the season selected\n * with the `seasonId` query parameter once it is closed.\n */\nexport type LeaderBoardType = 'weekly' | 'season';\nexport type LeaderBoardParams = { type: LeaderBoardType };\n/** `seasonId` selects the season for `type=season` (default: the active one); ignored for `weekly`. */\nexport type LeaderBoardQuery = { seasonId?: string };\n\nexport type TradingCompetitionRoundParams = { round: number };\n\nexport type TradingCompetitionUserSummaryData =\n | {\n status: 'out';\n }\n | {\n status: 'in';\n realizedPnl: number;\n position: number;\n volume: number;\n volumePosition: number;\n };\n\nexport type TradingCompetitionLeaderboardEntry = {\n walletAddress: string;\n realizedPnl: number;\n position: number;\n};\n\nexport type IncentivesStreakStatus = {\n currentStreakDay: number | 'upcoming' | 'ended';\n timeUntilNextStreakDay: number;\n};\n\nexport type IncentivesStreakMarketVolume = {\n symbol: string;\n volume: number;\n};\n\nexport type IncentivesStreakDayActivity = {\n day: number;\n markets: IncentivesStreakMarketVolume[];\n};\n\nexport type IncentivesStreakUserActivity = IncentivesStreakStatus & {\n walletAddress: string;\n days: IncentivesStreakDayActivity[];\n};\n\n/**\n * The welcome bonus for an admitted wallet. Admitted before 16 Nov 2026: its first perp fill\n * inside a 7-day window earns it. Admitted from then on: `minVolumeUsd` of perp volume traded\n * inside a 14-day window does. `deadline` is ms. `paid` is true once the Monday payout has\n * credited it (earned only).\n */\nexport type IncentivesFirstTradeBonus =\n | { walletAddress: string; eligible: false }\n | {\n walletAddress: string;\n eligible: true;\n bonusPoints: number;\n deadline: number;\n state: 'open' | 'earned' | 'missed';\n paid: boolean;\n /** Perp volume (USD) to trade before `deadline`; 0 means any first fill. */\n minVolumeUsd: number;\n /** When volume starts counting (admission), ms, when `minVolumeUsd` > 0; null otherwise. */\n volumeFrom: number | null;\n /**\n * Volume counted so far, when `minVolumeUsd` > 0 and not yet paid; null under the first-fill\n * rule and once paid (paid skips the volume read).\n */\n volumeUsd: number | null;\n };\n\nexport type IncentivesApiSource = {\n 'incentives/points': ApiEndpoint<\n {\n activeSeason: IncentivesSeason;\n /** Points issued in the latest weekly leaderboard of the active season. */\n weekly: number;\n /** Running total of the active season. */\n season: number;\n /** Frozen totals of every closed season, oldest first (forfeited wallets excluded). */\n closedSeasons: { season: IncentivesSeason; totalPoints: number }[];\n },\n never\n >;\n\n 'incentives/leaderBoard/:type': ApiInfiniteListEndpoint<\n IncentivesLeaderBoardEntry,\n LeaderBoardParams,\n PaginatedQueryParams & LeaderBoardQuery\n >;\n\n 'incentives/wallet/:address': ApiEndpoint<\n IncentivesUserSummaryData,\n AddressParam\n >;\n\n 'incentives/wallet/:address/referralsLeaderBoard/:type': ApiListEndpoint<\n IncentivesLeaderBoardEntry,\n AddressParam & LeaderBoardParams,\n LeaderBoardQuery\n >;\n\n 'incentives/wallet/:address/pointsHistory': ApiEndpoint<\n IncentivesPointsHistoryEntry,\n AddressParam\n >;\n\n 'incentives/tradingCompetition/:round': ApiEndpoint<\n {\n entries: TradingCompetitionLeaderboardEntry[];\n status: 'live' | 'ended';\n refreshedAt: number;\n },\n TradingCompetitionRoundParams\n >;\n\n 'incentives/wallet/:address/tradingCompetition/:round': ApiEndpoint<\n TradingCompetitionUserSummaryData,\n AddressParam & TradingCompetitionRoundParams\n >;\n\n 'incentives/wallet/:address/tradingCompetition/:round/registration': ApiEndpoint<\n { registered: boolean },\n AddressParam & TradingCompetitionRoundParams\n >;\n\n 'incentives/wallet/:address/tradingCompetition/:round/claim': ApiEndpoint<\n FailableResult,\n AddressParam & TradingCompetitionRoundParams,\n { code: string }\n >;\n\n 'incentives/streak': ApiEndpoint<IncentivesStreakStatus, never>;\n\n 'incentives/streak/wallet/:address': ApiEndpoint<\n IncentivesStreakUserActivity,\n AddressParam\n >;\n\n 'incentives/first-trade-bonus/wallet/:address': ApiEndpoint<\n IncentivesFirstTradeBonus,\n AddressParam\n >;\n\n 'incentives/vip/wallet/:address': ApiEndpoint<\n {\n walletAddress: string;\n isVip: boolean;\n registered: boolean;\n hasInviteLink: boolean;\n registeredAt: number | null;\n },\n AddressParam\n >;\n\n 'incentives/vip/wallet/:address/nonce': ApiEndpoint<\n FailableResult<{\n nonce: string;\n message: string;\n expiresAt: number;\n }>,\n AddressParam\n >;\n\n 'incentives/vip/wallet/:address/register': ApiEndpoint<\n FailableResult<{\n inviteLink: string;\n alreadyRegistered: boolean;\n }>,\n AddressParam\n >;\n\n 'incentives/waitlist/status/:address': ApiEndpoint<\n {\n status: 'none' | 'waiting' | 'admitted' | 'rejected';\n staked: boolean | null;\n x: { username: string; followedAt: string | null } | null;\n email: string | null;\n share: { lastAt: string | null; nextAt: string | null };\n /** (tier - 1) * 10000 + min(125 + position in the tier, 9999); null when not ranked. */\n rank: number | null;\n },\n AddressParam\n >;\n};\n\nexport type IncentivesApi = {\n [K in keyof IncentivesApiSource]: {\n params: IncentivesApiSource[K]['params'];\n query: IncentivesApiSource[K]['query'];\n response: Stringified<IncentivesApiSource[K]['response']>;\n };\n};\n"]}
@@ -162,8 +162,10 @@ export type IncentivesStreakUserActivity = IncentivesStreakStatus & {
162
162
  days: IncentivesStreakDayActivity[];
163
163
  };
164
164
  /**
165
- * RET-259: 100 RCP for an admitted wallet's first perp fill inside its 7-day window.
166
- * `deadline` is ms. `paid` is true once the Monday payout has credited it (earned only).
165
+ * The welcome bonus for an admitted wallet. Admitted before 16 Nov 2026: its first perp fill
166
+ * inside a 7-day window earns it. Admitted from then on: `minVolumeUsd` of perp volume traded
167
+ * inside a 14-day window does. `deadline` is ms. `paid` is true once the Monday payout has
168
+ * credited it (earned only).
167
169
  */
168
170
  export type IncentivesFirstTradeBonus = {
169
171
  walletAddress: string;
@@ -175,6 +177,15 @@ export type IncentivesFirstTradeBonus = {
175
177
  deadline: number;
176
178
  state: 'open' | 'earned' | 'missed';
177
179
  paid: boolean;
180
+ /** Perp volume (USD) to trade before `deadline`; 0 means any first fill. */
181
+ minVolumeUsd: number;
182
+ /** When volume starts counting (admission), ms, when `minVolumeUsd` > 0; null otherwise. */
183
+ volumeFrom: number | null;
184
+ /**
185
+ * Volume counted so far, when `minVolumeUsd` > 0 and not yet paid; null under the first-fill
186
+ * rule and once paid (paid skips the volume read).
187
+ */
188
+ volumeUsd: number | null;
178
189
  };
179
190
  export type IncentivesApiSource = {
180
191
  'incentives/points': ApiEndpoint<{
@@ -1 +1 @@
1
- {"version":3,"file":"incentives-api-types.d.ts","sourceRoot":"/","sources":["incentives-api-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"incentives-api-types.d.ts","sourceRoot":"/","sources":["incentives-api-types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reyaxyz/common",
3
- "version": "0.385.0",
3
+ "version": "0.386.0",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -41,5 +41,5 @@
41
41
  "test:coverage": "npx jest test --coverage",
42
42
  "generate:coverage-badges": "npx istanbul-badges-readme --silent"
43
43
  },
44
- "gitHead": "2f0120592b6c55dbb1d8118df19bbaf8d7a963fb"
44
+ "gitHead": "af9abe6fd785b9e17f82b8ac1f90e32e9b5e4527"
45
45
  }
@@ -185,8 +185,10 @@ export type IncentivesStreakUserActivity = IncentivesStreakStatus & {
185
185
  };
186
186
 
187
187
  /**
188
- * RET-259: 100 RCP for an admitted wallet's first perp fill inside its 7-day window.
189
- * `deadline` is ms. `paid` is true once the Monday payout has credited it (earned only).
188
+ * The welcome bonus for an admitted wallet. Admitted before 16 Nov 2026: its first perp fill
189
+ * inside a 7-day window earns it. Admitted from then on: `minVolumeUsd` of perp volume traded
190
+ * inside a 14-day window does. `deadline` is ms. `paid` is true once the Monday payout has
191
+ * credited it (earned only).
190
192
  */
191
193
  export type IncentivesFirstTradeBonus =
192
194
  | { walletAddress: string; eligible: false }
@@ -197,6 +199,15 @@ export type IncentivesFirstTradeBonus =
197
199
  deadline: number;
198
200
  state: 'open' | 'earned' | 'missed';
199
201
  paid: boolean;
202
+ /** Perp volume (USD) to trade before `deadline`; 0 means any first fill. */
203
+ minVolumeUsd: number;
204
+ /** When volume starts counting (admission), ms, when `minVolumeUsd` > 0; null otherwise. */
205
+ volumeFrom: number | null;
206
+ /**
207
+ * Volume counted so far, when `minVolumeUsd` > 0 and not yet paid; null under the first-fill
208
+ * rule and once paid (paid skips the volume read).
209
+ */
210
+ volumeUsd: number | null;
200
211
  };
201
212
 
202
213
  export type IncentivesApiSource = {