@0xmonaco/types 1.1.7 → 1.1.8

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.
@@ -9,7 +9,7 @@
9
9
  * Fees here are the builder's own add-ons (taker plus maker), never the
10
10
  * protocol taker fee. USD amounts are decimal strings (USDC 1:1).
11
11
  */
12
- import type { AnalyticsWindow, AnalyticsWindowParams } from "./index";
12
+ import type { AnalyticsWindow, AnalyticsWindowParams, VolumeUsdBySource } from "./index";
13
13
  /** A builder's kind. */
14
14
  export type BuilderKind = "application" | "group";
15
15
  /** The display group an application is shown under. */
@@ -78,6 +78,8 @@ export interface BuilderFigures {
78
78
  withdrawalsUsd: string;
79
79
  /** `depositsUsd` less `withdrawalsUsd`; negative when more left than arrived. */
80
80
  netFlowUsd: string;
81
+ /** `volumeUsd` split into its order-book and RFQ parts, counting the trades the builder took; absent when it covers a bucket folded before the split was recorded. */
82
+ volumeBySource?: VolumeUsdBySource;
81
83
  }
82
84
  /** Every displayed builder, by name. */
83
85
  export interface ListBuildersResponse {
@@ -95,6 +97,8 @@ export interface GetBuilderTotalsResponse extends BuilderFigures {
95
97
  activeTakers: number;
96
98
  /** Wallets whose first trade through one of its applications fell in the window, once per (application, wallet). */
97
99
  newTraders: number;
100
+ /** Accounts registered in the window under one of its applications (sign-ups), whether or not they traded. */
101
+ newAccounts: number;
98
102
  }
99
103
  /** A builder's figures for one bucket. */
100
104
  export interface BuilderSeriesPoint extends BuilderFigures {
@@ -102,6 +106,7 @@ export interface BuilderSeriesPoint extends BuilderFigures {
102
106
  bucketStart: number;
103
107
  activeTakers: number;
104
108
  newTraders: number;
109
+ newAccounts: number;
105
110
  }
106
111
  /** A builder's figures per bucket over a window. */
107
112
  export interface GetBuilderSeriesResponse {
@@ -115,10 +120,12 @@ export interface ListBuilderLeaderboardParams extends AnalyticsWindowParams {
115
120
  /** Builders to return, largest volume first (1-100, default 25). */
116
121
  limit?: number;
117
122
  }
118
- /** One builder's row on the leaderboard; a display group ranks as one. A builder that only took deposits ranks with zero volume. */
123
+ /** One builder's row on the leaderboard; a display group ranks as one. A builder that only took deposits or only registered accounts ranks with zero volume. */
119
124
  export interface BuilderLeaderboardRow extends BuilderFigures {
120
125
  builder: Builder;
121
126
  newTraders: number;
127
+ /** Accounts registered in the window under one of its applications (sign-ups). */
128
+ newAccounts: number;
122
129
  /**
123
130
  * Distinct taker wallets that traded through the builder, each once. With
124
131
  * `window: "all"`, every wallet that ever traded through it. `null` for a
@@ -50,6 +50,16 @@ export interface AnalyticsWindow {
50
50
  /** Bucket size the window is counted in. */
51
51
  granularity: AnalyticsGranularity | (string & {});
52
52
  }
53
+ /**
54
+ * A USD volume split by how it executed (RFQ-17). `orderBookVolumeUsd` plus
55
+ * `rfqVolumeUsd` is exactly the `volumeUsd` beside it.
56
+ */
57
+ export interface VolumeUsdBySource {
58
+ /** The part of `volumeUsd` filled on the order book: `volumeUsd` less `rfqVolumeUsd`. */
59
+ orderBookVolumeUsd: string;
60
+ /** The part of `volumeUsd` filled by RFQ block trades. */
61
+ rfqVolumeUsd: string;
62
+ }
53
63
  /** Protocol figures over a window or one bucket. */
54
64
  export interface ProtocolFigures {
55
65
  /** Taker volume in USD routed by the displayed builders; hidden builders' trades are not counted. */
@@ -64,8 +74,15 @@ export interface ProtocolFigures {
64
74
  protocolFeesUsd: string;
65
75
  /** Distinct taker wallets that traded (each once), all builders included. */
66
76
  activeTakers: number;
67
- /** Wallets whose first trade through a builder fell inside, once per (builder, wallet), all builders included. */
77
+ /** Wallets whose first trade on the protocol fell inside, each counted once however many builders it traded through. */
68
78
  newTraders: number;
79
+ /**
80
+ * Accounts registered inside (sign-ups) under any application, whether or not
81
+ * they traded, all builders included; `newTraders` counts first trades instead.
82
+ */
83
+ newAccounts: number;
84
+ /** `volumeUsd` split into its order-book and RFQ parts; absent when it covers a bucket folded before the split was recorded. */
85
+ volumeBySource?: VolumeUsdBySource;
69
86
  }
70
87
  /** USDC custody flow over a window or one bucket, in USD (1:1). */
71
88
  export interface CustodyFlows {
@@ -113,6 +130,8 @@ export interface MarketVolume {
113
130
  protocolFeesUsd: string;
114
131
  /** Trades in the market. */
115
132
  tradesCount: number;
133
+ /** `volumeUsd` split into its order-book and RFQ parts; absent when the window holds a bucket folded before the split was recorded. */
134
+ volumeBySource?: VolumeUsdBySource;
116
135
  }
117
136
  /** Volume per market over a window. */
118
137
  export interface ListMarketVolumesResponse {
@@ -85,6 +85,13 @@ export declare const GetMyFeeTierResponseSchema: z.ZodObject<{
85
85
  makerFeeBps: z.ZodString;
86
86
  takerFeeBps: z.ZodString;
87
87
  }, z.core.$strip>>;
88
+ rateSource: z.ZodEnum<{
89
+ custom: "custom";
90
+ tier_override: "tier_override";
91
+ volume: "volume";
92
+ }>;
93
+ makerFeeBps: z.ZodString;
94
+ takerFeeBps: z.ZodString;
88
95
  }, z.core.$strip>;
89
96
  /**
90
97
  * Zod schema for the parameters of a public fee schedule lookup
@@ -67,17 +67,19 @@ export const SimulateFeeResponseSchema = z.object({
67
67
  applicationMakerFee: z.string().optional(),
68
68
  /** Maker add-on rate in basis points an order placed now would store. Absent from servers older than this field */
69
69
  applicationMakerFeeBps: z.number().optional(),
70
- /** Monaco protocol maker rebate (negative = rebate) */
70
+ /** Monaco protocol maker fee: negative is a rebate, positive is a fee */
71
71
  monacoMakerRebate: z.string(),
72
72
  /**
73
- * Tier-resolved Monaco maker rebate as a decimal basis-points string (negative is a
74
- * rebate), e.g. "-1" — the exact rate the ledger credits this caller.
73
+ * Monaco maker rate as a decimal basis-points string (negative is a rebate, positive is
74
+ * a fee), e.g. "-1" — the exact rate this caller gets, from their tier or the assigned or
75
+ * custom rate on their wallet.
75
76
  */
76
77
  monacoMakerRebateBpsExact: z.string(),
77
78
  /** Monaco protocol taker fee */
78
79
  monacoTakerFee: z.string(),
79
80
  /**
80
- * Tier-resolved Monaco taker fee as a decimal basis-points string, e.g. "6.5" — the exact
81
+ * Monaco taker fee, from the caller's tier or the assigned or custom rate on their
82
+ * wallet, as a decimal basis-points string, e.g. "6.5" — the exact
81
83
  * rate the ledger charges this caller (equals monacoTakerFee / notional).
82
84
  */
83
85
  monacoTakerFeeBpsExact: z.string(),
@@ -118,7 +120,7 @@ export const FeeTierScheduleRowSchema = z.object({
118
120
  * Zod schema for the "my fee tier" response
119
121
  */
120
122
  export const GetMyFeeTierResponseSchema = z.object({
121
- /** Caller's resolved tier (1–6) from their wallet's recorded weighted 14-day volume */
123
+ /** Caller's tier (1–6) on the requested pair: the tier their rates come from, or the tier their wallet's recorded weighted 14-day volume earns when `rateSource` is `custom` */
122
124
  currentTierLevel: z.number().int(),
123
125
  /** Caller's weighted 14-day volume (perp + 2.5× spot), summed across every application the wallet trades through */
124
126
  weightedVolume14d: z.string(),
@@ -126,12 +128,18 @@ export const GetMyFeeTierResponseSchema = z.object({
126
128
  spotVolume14d: z.string(),
127
129
  /** Caller's rolling 14-day perp volume, summed across every application the wallet trades through */
128
130
  perpVolume14d: z.string(),
129
- /** Additional weighted volume needed to reach the next tier, counted from the volume the current tier resolved from; absent at tier 6 */
131
+ /** Additional weighted volume needed to reach the next tier, counted from the volume the current tier resolved from; absent at tier 6 and unless `rateSource` is `volume` */
130
132
  volumeToNextTier: z.string().nullable().optional(),
131
- /** Next tier level; absent when already at tier 6 */
133
+ /** Next tier level; absent when already at tier 6 and unless `rateSource` is `volume` */
132
134
  nextTierLevel: z.number().int().nullable().optional(),
133
135
  /** Six-row fee schedule for the requested pair, ascending by tier */
134
136
  feeSchedule: z.array(FeeTierScheduleRowSchema),
137
+ /** Why this rate applies: `volume` (the tier your 14-day volume earns), `tier_override` (an assigned tier), or `custom` (custom rates assigned to your wallet). Applies to orders you place now */
138
+ rateSource: z.enum(["volume", "tier_override", "custom"]),
139
+ /** Effective maker rate for the requested pair, in decimal basis points; negative is a rebate, positive is a fee */
140
+ makerFeeBps: z.string(),
141
+ /** Effective taker rate for the requested pair, in decimal basis points */
142
+ takerFeeBps: z.string(),
135
143
  });
136
144
  /**
137
145
  * Zod schema for the parameters of a public fee schedule lookup
@@ -204,6 +204,121 @@ export interface ListSweeperDepositsResponse {
204
204
  /** Cursor for the next page; empty when this page is the last */
205
205
  nextPageToken: string;
206
206
  }
207
+ /**
208
+ * Which Hyperliquid (HyperCore) balance a {@link SweeperAPI.depositFromHypercore}
209
+ * withdrawal draws on.
210
+ */
211
+ export type HypercoreBalanceSource = "perp" | "spot";
212
+ /**
213
+ * A Hyperliquid account's abstraction mode, as Hyperliquid's `userAbstraction`
214
+ * query reports it. `unifiedAccount` and `portfolioMargin` keep one balance per
215
+ * asset, reported as spot; the others keep separate perp and spot balances.
216
+ * Widened: Hyperliquid may add modes this SDK version predates.
217
+ */
218
+ export type HypercoreAccountMode = "unifiedAccount" | "portfolioMargin" | "disabled" | "default" | "dexAbstraction" | (string & {});
219
+ /**
220
+ * What a deposit from Hyperliquid can draw on, from
221
+ * {@link SweeperAPI.getHypercoreDepositInfo}. Amounts are raw USDC base units
222
+ * (6 decimals), truncated from Hyperliquid's own decimals.
223
+ */
224
+ export interface HypercoreDepositInfo {
225
+ /** The wallet's address, which is its Hyperliquid account */
226
+ account: string;
227
+ /** The account's abstraction mode */
228
+ accountMode: HypercoreAccountMode;
229
+ /** Withdrawable USDC in the perp balance; `0n` for a unified or portfolio-margin account */
230
+ perpBalance: bigint;
231
+ /** USDC in the spot balance not on hold */
232
+ spotBalance: bigint;
233
+ /**
234
+ * The most one deposit can draw: a withdrawal draws on a single balance, and
235
+ * 0.1 USDC stays back for the fee Hyperliquid charges on top of the amount —
236
+ * in spot when spot can hold it, otherwise in the balance drawn
237
+ */
238
+ available: bigint;
239
+ /** The most Circle deducts to forward a withdrawal to Sei, read from Circle's CoreDepositWallet on HyperEVM */
240
+ maxFee: bigint;
241
+ /** The smallest `amount` {@link SweeperAPI.depositFromHypercore} accepts: `maxFee` plus the Sei hub's USDC minimum */
242
+ minimumAmount: bigint;
243
+ }
244
+ /** Body for {@link SweeperAPI.depositFromHypercore}. */
245
+ export interface DepositFromHypercoreRequest {
246
+ /**
247
+ * USDC to withdraw from Hyperliquid, in raw base units (6 decimals). Circle
248
+ * deducts its forwarding fee on the way, so at least `amount - maxFee`
249
+ * reaches Sei, and that must clear the Sei hub's USDC `minSweepRaw` (see
250
+ * {@link SweeperAPI.getChains}).
251
+ */
252
+ amount: bigint;
253
+ /**
254
+ * Which deposit address receives it, as in
255
+ * {@link RegisterSweeperRequest.depositTarget}. Defaults to `"spot"`.
256
+ */
257
+ depositTarget?: DepositTarget;
258
+ }
259
+ /** Result of {@link SweeperAPI.depositFromHypercore}: Hyperliquid accepted the withdrawal. */
260
+ export interface DepositFromHypercoreResponse {
261
+ /** The deposit address on Sei the USDC is minted to */
262
+ sweeperAddress: string;
263
+ /** USDC withdrawn from Hyperliquid, raw base units */
264
+ amount: bigint;
265
+ /** The Hyperliquid balance it was drawn from */
266
+ source: HypercoreBalanceSource;
267
+ /**
268
+ * The most Circle deducts to forward the withdrawal to Sei, raw base units,
269
+ * read from Circle's CoreDepositWallet on HyperEVM before signing
270
+ */
271
+ maxFee: bigint;
272
+ /** `amount - maxFee`: the least that is minted on Sei and credited */
273
+ minimumCredit: bigint;
274
+ /** The Hyperliquid action's nonce (milliseconds since the epoch) */
275
+ nonce: number;
276
+ }
277
+ /**
278
+ * What a deposit from HyperEVM can draw on, from
279
+ * {@link SweeperAPI.getHyperEvmDepositInfo}. USDC amounts are raw base units
280
+ * (6 decimals).
281
+ */
282
+ export interface HyperEvmDepositInfo {
283
+ /** The wallet's address on HyperEVM */
284
+ account: string;
285
+ /** The wallet's Circle USDC on HyperEVM */
286
+ usdcBalance: bigint;
287
+ /** The wallet's HYPE on HyperEVM, in wei: it pays the approval and burn gas */
288
+ gasBalance: bigint;
289
+ /** Circle's forwarding fee to Sei, quoted from Circle's API: the most Circle keeps */
290
+ maxFee: bigint;
291
+ /** The smallest `amount` {@link SweeperAPI.depositFromHyperEvm} accepts: `maxFee` plus the Sei hub's USDC minimum */
292
+ minimumAmount: bigint;
293
+ }
294
+ /** Body for {@link SweeperAPI.depositFromHyperEvm}. */
295
+ export interface DepositFromHyperEvmRequest {
296
+ /**
297
+ * USDC to burn on HyperEVM, in raw base units (6 decimals). Circle keeps its
298
+ * forwarding fee, so at least `amount - maxFee` reaches Sei.
299
+ */
300
+ amount: bigint;
301
+ /**
302
+ * Which deposit address receives it, as in
303
+ * {@link RegisterSweeperRequest.depositTarget}. Defaults to `"spot"`.
304
+ */
305
+ depositTarget?: DepositTarget;
306
+ }
307
+ /** Result of {@link SweeperAPI.depositFromHyperEvm}: the burn landed on HyperEVM. */
308
+ export interface DepositFromHyperEvmResponse {
309
+ /** The deposit address on Sei the USDC is minted to */
310
+ sweeperAddress: string;
311
+ /** USDC burned on HyperEVM, raw base units */
312
+ amount: bigint;
313
+ /** The most Circle keeps to forward the transfer to Sei, raw base units */
314
+ maxFee: bigint;
315
+ /** `amount - maxFee`: the least that is minted on Sei and credited */
316
+ minimumCredit: bigint;
317
+ /** The HyperEVM approval transaction, when the allowance had to be raised */
318
+ approveTxHash?: string;
319
+ /** The HyperEVM burn transaction */
320
+ burnTxHash: string;
321
+ }
207
322
  /**
208
323
  * Sweeper API interface. Registration and deposit status require
209
324
  * authentication; the chain listing is public.
@@ -266,4 +381,70 @@ export interface SweeperAPI extends BaseAPI {
266
381
  * sending).
267
382
  */
268
383
  listDeposits(params?: ListSweeperDepositsParams): Promise<ListSweeperDepositsResponse>;
384
+ /**
385
+ * Deposits USDC the wallet holds on Hyperliquid (HyperCore): the wallet
386
+ * signs Circle's CCTP withdrawal to the caller's deposit address on Sei, and
387
+ * the SDK posts it to Hyperliquid, which executes it. Circle forwards the
388
+ * mint to Sei and the sweeper credits it like any deposit to the address —
389
+ * it lists in {@link listDeposits} by its Sei mint once minted. No gas and
390
+ * no HyperEVM transaction from the user.
391
+ *
392
+ * The balance is chosen from the account itself: the spot balance for a
393
+ * unified or portfolio-margin account, otherwise whichever of perp (first)
394
+ * or spot covers `amount`.
395
+ *
396
+ * Needs a session (it registers the deposit address first) and a wallet
397
+ * client on Sei, whose account must be the one holding the Hyperliquid
398
+ * balance. Throws before signing on an invalid amount, a wallet on another
399
+ * chain, a failed Hyperliquid balance read, a hub that does not sweep USDC,
400
+ * an amount below {@link HypercoreDepositInfo.minimumAmount}, and an amount
401
+ * above {@link HypercoreDepositInfo.available}.
402
+ *
403
+ * Throws `APIError` when Hyperliquid refuses the action (a decided outcome:
404
+ * nothing moved). A lost or unreadable reply is an UNKNOWN outcome — the
405
+ * error carries `retryable: false`, because calling this again signs a
406
+ * second withdrawal. Check {@link listDeposits} or the Hyperliquid balance
407
+ * first.
408
+ */
409
+ depositFromHypercore(body: DepositFromHypercoreRequest): Promise<DepositFromHypercoreResponse>;
410
+ /**
411
+ * What the wallet can deposit from Hyperliquid: its account mode and USDC
412
+ * balances, the most one deposit can draw, Circle's fee and the smallest
413
+ * accepted amount — everything a deposit form needs before the user types.
414
+ * Reads only public data, so it needs a wallet client on Sei but no
415
+ * session. A failed Hyperliquid read throws `APIError`.
416
+ */
417
+ getHypercoreDepositInfo(): Promise<HypercoreDepositInfo>;
418
+ /**
419
+ * Deposits Circle USDC the wallet holds on HyperEVM: the wallet approves
420
+ * and burns it through Circle's TokenMessengerV2 on HyperEVM, naming the
421
+ * caller's Sei deposit address as the recipient and asking Circle to
422
+ * forward the mint. Circle mints on Sei and the sweeper credits it like any
423
+ * deposit to the address — it lists in {@link listDeposits} by its Sei mint.
424
+ * The wallet pays HYPE for gas; no Monaco contract is involved on HyperEVM.
425
+ *
426
+ * Needs a session (it registers the deposit address) and a wallet client
427
+ * on Sei. A browser or embedded wallet is switched to HyperEVM (added
428
+ * first if it does not know the chain) and back to Sei afterwards. Throws
429
+ * before registering or sending on an invalid amount, a wallet on another
430
+ * chain, a failed read or fee quote, a hub that does not sweep USDC, an
431
+ * amount below {@link HyperEvmDepositInfo.minimumAmount} or above the
432
+ * wallet's HyperEVM USDC, and a wallet with no HYPE.
433
+ *
434
+ * A burn that reverts throws `ContractError` (nothing burned). A burn
435
+ * broadcast but whose receipt cannot be read is an UNKNOWN outcome: the
436
+ * `APIError` carries `retryable: false` and the burn's hash, because
437
+ * calling this again burns a second time. Check {@link listDeposits} or the
438
+ * HyperEVM transaction first.
439
+ */
440
+ depositFromHyperEvm(body: DepositFromHyperEvmRequest): Promise<DepositFromHyperEvmResponse>;
441
+ /**
442
+ * What the wallet can deposit from HyperEVM: its Circle USDC and HYPE on
443
+ * HyperEVM, Circle's forwarding fee and the smallest accepted amount.
444
+ * Reads only public data, so it needs a wallet client on Sei but no
445
+ * session.
446
+ */
447
+ getHyperEvmDepositInfo(): Promise<HyperEvmDepositInfo>;
448
+ /** Set the wallet client that signs {@link depositFromHypercore} and {@link depositFromHyperEvm}. */
449
+ setWalletClient(walletClient: unknown): void;
269
450
  }
@@ -1953,9 +1953,11 @@ export interface paths {
1953
1953
  };
1954
1954
  /**
1955
1955
  * Get my fee tier and pair schedule
1956
- * @description Return the caller's current fee tier, rolling 14-day volumes, and a pair's schedule.
1956
+ * @description Return the caller's current fee tier, rolling 14-day volumes, the rates that
1957
+ * apply to them on a pair and why, and the pair's schedule.
1957
1958
  *
1958
- * Volumes and the tier are wallet-wide: the caller's wallet total across every application.
1959
+ * Volumes and the volume-earned tier are wallet-wide: the caller's wallet total
1960
+ * across every application.
1959
1961
  */
1960
1962
  get: operations["get_my_fee_tier"];
1961
1963
  put?: never;
@@ -5268,6 +5270,13 @@ export interface components {
5268
5270
  * @example 11000
5269
5271
  */
5270
5272
  netFlowUsd?: string | null;
5273
+ volumeBySource?: components["schemas"]["VolumeUsdBySource"];
5274
+ /**
5275
+ * Format: int64
5276
+ * @description Accounts registered in the window under one of the builder's applications, whether or not they traded, summed over a group's applications (newTraders counts first trades instead)
5277
+ * @example 12
5278
+ */
5279
+ newAccounts?: number | null;
5271
5280
  };
5272
5281
  BuilderSeriesPoint: {
5273
5282
  /**
@@ -5339,6 +5348,13 @@ export interface components {
5339
5348
  * @example 11000
5340
5349
  */
5341
5350
  netFlowUsd?: string | null;
5351
+ volumeBySource?: components["schemas"]["VolumeUsdBySource"];
5352
+ /**
5353
+ * Format: int64
5354
+ * @description Accounts registered in the bucket under one of the builder's applications, whether or not they traded, summed over a group's applications (newTraders counts first trades instead)
5355
+ * @example 2
5356
+ */
5357
+ newAccounts?: number | null;
5342
5358
  };
5343
5359
  BuildercodePayout: {
5344
5360
  /**
@@ -6877,6 +6893,13 @@ export interface components {
6877
6893
  * @example 11000
6878
6894
  */
6879
6895
  netFlowUsd?: string | null;
6896
+ volumeBySource?: components["schemas"]["VolumeUsdBySource"];
6897
+ /**
6898
+ * Format: int64
6899
+ * @description Accounts registered in the window under one of the builder's applications, whether or not they traded, summed over a group's applications (newTraders counts first trades instead)
6900
+ * @example 12
6901
+ */
6902
+ newAccounts?: number | null;
6880
6903
  };
6881
6904
  GetBuildercodePayoutSummaryResponse: {
6882
6905
  /**
@@ -7387,7 +7410,7 @@ export interface components {
7387
7410
  GetMyFeeTierResponse: {
7388
7411
  /**
7389
7412
  * Format: int32
7390
- * @description Caller's resolved tier (1–6) from their wallet's recorded weighted 14-day volume
7413
+ * @description Caller's tier (1–6) on the requested pair: the tier their rates come from, or the tier their wallet's recorded weighted 14-day volume earns when rateSource is custom
7391
7414
  * @example 2
7392
7415
  */
7393
7416
  currentTierLevel?: number | null;
@@ -7407,18 +7430,33 @@ export interface components {
7407
7430
  */
7408
7431
  perpVolume14d?: string | null;
7409
7432
  /**
7410
- * @description Additional weighted volume needed to reach the next tier, counted from the volume the current tier resolved from; omitted at tier 6
7433
+ * @description Additional weighted volume needed to reach the next tier, counted from the volume the current tier resolved from; omitted at tier 6 and unless rateSource is volume
7411
7434
  * @example 17500000
7412
7435
  */
7413
7436
  volumeToNextTier?: string | null;
7414
7437
  /**
7415
7438
  * Format: int32
7416
- * @description Next tier level when not already at 6
7439
+ * @description Next tier level when not already at 6; omitted unless rateSource is volume
7417
7440
  * @example 3
7418
7441
  */
7419
7442
  nextTierLevel?: number | null;
7420
7443
  /** @description Six-row fee schedule for the requested pair, ascending by tier */
7421
7444
  feeSchedule?: components["schemas"]["FeeTierScheduleRow"][] | null;
7445
+ /**
7446
+ * @description Why this rate applies: volume (the tier your 14-day volume earns), tier_override (an assigned tier), or custom (custom rates assigned to your wallet). Applies to orders you place now.
7447
+ * @example volume
7448
+ */
7449
+ rateSource?: string | null;
7450
+ /**
7451
+ * @description Effective maker rate for the requested pair, in decimal basis points; negative is a rebate, positive is a fee
7452
+ * @example -1.15
7453
+ */
7454
+ makerFeeBps?: string | null;
7455
+ /**
7456
+ * @description Effective taker rate for the requested pair, in decimal basis points
7457
+ * @example 6
7458
+ */
7459
+ takerFeeBps?: string | null;
7422
7460
  };
7423
7461
  GetMyReferralDownlineResponse: {
7424
7462
  /** @description One page of rows, one per (source account, level, token) the caller earns from, across every reward level, ordered by each source account's own total, largest first. A wallet that traded through several applications has one account per application: its rows within a page are merged into one row at the position of its first (largest) part, so a merged row can sit below a smaller one, and the wallet can appear again on a later page. Paged by `pageSize` / `pageToken`; follow `nextPageToken` for the rest. Comes from the caller's maintained reward totals — no tree walk. */
@@ -8364,7 +8402,7 @@ export interface components {
8364
8402
  activeTakers?: number | null;
8365
8403
  /**
8366
8404
  * Format: int64
8367
- * @description Wallets whose first trade through a builder fell in the window, counted once per (builder, wallet), all builders included
8405
+ * @description Wallets whose first trade on the protocol fell in the window, each counted once however many builders it traded through
8368
8406
  * @example 27
8369
8407
  */
8370
8408
  newTraders?: number | null;
@@ -8399,6 +8437,13 @@ export interface components {
8399
8437
  * @example 418
8400
8438
  */
8401
8439
  activeAccounts?: number | null;
8440
+ volumeBySource?: components["schemas"]["VolumeUsdBySource"];
8441
+ /**
8442
+ * Format: int64
8443
+ * @description Accounts registered in the window: every account with an application, whether or not it traded, all builders included (newTraders counts first trades instead). Every sign-up counts, in buckets without trades too; window=all starts where the analytics history does.
8444
+ * @example 57
8445
+ */
8446
+ newAccounts?: number | null;
8402
8447
  };
8403
8448
  GetPulseResponse: {
8404
8449
  /**
@@ -9349,7 +9394,8 @@ export interface components {
9349
9394
  /**
9350
9395
  * @description Displayed builders with figures in the window, largest volume first
9351
9396
  * (ties by builder id), up to limit. A builder that only earned maker
9352
- * add-ons, or only took deposits, ranks with zero volume.
9397
+ * add-ons, only took deposits, or only registered accounts, ranks with zero
9398
+ * volume.
9353
9399
  */
9354
9400
  rows?: components["schemas"]["BuilderLeaderboardRow"][] | null;
9355
9401
  };
@@ -10057,6 +10103,7 @@ export interface components {
10057
10103
  * @example 2100
10058
10104
  */
10059
10105
  tradesCount?: number | null;
10106
+ volumeBySource?: components["schemas"]["VolumeUsdBySource"];
10060
10107
  };
10061
10108
  MatchResult: {
10062
10109
  /**
@@ -11023,7 +11070,7 @@ export interface components {
11023
11070
  activeTakers?: number | null;
11024
11071
  /**
11025
11072
  * Format: int64
11026
- * @description Wallets whose first trade through a builder fell in the bucket, counted once per (builder, wallet), all builders included
11073
+ * @description Wallets whose first trade on the protocol fell in the bucket, each counted once however many builders it traded through
11027
11074
  * @example 3
11028
11075
  */
11029
11076
  newTraders?: number | null;
@@ -11047,6 +11094,13 @@ export interface components {
11047
11094
  * @example 49000
11048
11095
  */
11049
11096
  netFlowUsd?: string | null;
11097
+ volumeBySource?: components["schemas"]["VolumeUsdBySource"];
11098
+ /**
11099
+ * Format: int64
11100
+ * @description Accounts registered in the bucket: every account with an application, whether or not it traded, all builders included (newTraders counts first trades instead)
11101
+ * @example 4
11102
+ */
11103
+ newAccounts?: number | null;
11050
11104
  };
11051
11105
  PublicHealthCheckResponse: {
11052
11106
  /**
@@ -12089,7 +12143,7 @@ export interface components {
12089
12143
  */
12090
12144
  monacoTakerFee?: string | null;
12091
12145
  /**
12092
- * @description Monaco maker rebate in quote token (negative)
12146
+ * @description Monaco maker fee in quote token: negative is a rebate, positive is a fee
12093
12147
  * @example -5.00
12094
12148
  */
12095
12149
  monacoMakerRebate?: string | null;
@@ -12146,12 +12200,12 @@ export interface components {
12146
12200
  */
12147
12201
  slippageToleranceBps?: number | null;
12148
12202
  /**
12149
- * @description Tier-resolved Monaco taker fee rate as a decimal basis-points string — the exact rate the ledger charges this caller (equals monaco_taker_fee / notional). Fractional and per-tier, e.g. "6.5".
12203
+ * @description Monaco taker fee rate as a decimal basis-points string — the exact rate the ledger charges this caller, from their tier or the assigned or custom rate on their wallet (equals monaco_taker_fee / notional). Fractional, e.g. "6.5".
12150
12204
  * @example 6.5
12151
12205
  */
12152
12206
  monacoTakerFeeBpsExact?: string | null;
12153
12207
  /**
12154
- * @description Tier-resolved Monaco maker rebate as a decimal basis-points string (negative is a rebate) — the exact rate the ledger credits this caller. Fractional and per-tier, e.g. "-1".
12208
+ * @description Monaco maker rate as a decimal basis-points string (negative is a rebate, positive is a fee) — the exact rate this caller gets, from their tier or the assigned or custom rate on their wallet. Fractional, e.g. "-1".
12155
12209
  * @example -1
12156
12210
  */
12157
12211
  monacoMakerRebateBpsExact?: string | null;
@@ -14005,6 +14059,22 @@ export interface components {
14005
14059
  */
14006
14060
  rfqQuoteVolume?: string | null;
14007
14061
  };
14062
+ /**
14063
+ * @description A USD volume split by how it executed (RFQ-17): the order-book part and the
14064
+ * RFQ part add back exactly to the volumeUsd beside it.
14065
+ */
14066
+ VolumeUsdBySource: {
14067
+ /**
14068
+ * @description The part of volumeUsd filled on the order book: volumeUsd less rfqVolumeUsd
14069
+ * @example 1180000.5
14070
+ */
14071
+ orderBookVolumeUsd?: string | null;
14072
+ /**
14073
+ * @description The part of volumeUsd filled by RFQ block trades
14074
+ * @example 70000
14075
+ */
14076
+ rfqVolumeUsd?: string | null;
14077
+ };
14008
14078
  /** @description A wallet's figures through one displayed builder. A display group's applications fold into one row under the group. */
14009
14079
  WalletBuilderVolume: {
14010
14080
  /** @description The builder the figures are reported under; applications is empty. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xmonaco/types",
3
- "version": "1.1.7",
3
+ "version": "1.1.8",
4
4
  "type": "module",
5
5
  "homepage": "https://docs.0xmonaco.com/sdk/typescript",
6
6
  "main": "./dist/index.js",
@@ -16,7 +16,7 @@
16
16
  "lint": "biome lint ."
17
17
  },
18
18
  "dependencies": {
19
- "@0xmonaco/contracts": "1.1.7",
19
+ "@0xmonaco/contracts": "1.1.8",
20
20
  "zod": "^4.6.7"
21
21
  },
22
22
  "peerDependencies": {