@0xmonaco/types 1.0.60 → 1.0.62

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.
@@ -2166,6 +2166,61 @@ export interface paths {
2166
2166
  patch?: never;
2167
2167
  trace?: never;
2168
2168
  };
2169
+ "/api/v1/pitpass/referrals/me": {
2170
+ parameters: {
2171
+ query?: never;
2172
+ header?: never;
2173
+ path?: never;
2174
+ cookie?: never;
2175
+ };
2176
+ /**
2177
+ * Get your referral position
2178
+ * @description Read your own referral position (self-scoped).
2179
+ *
2180
+ * Return the authenticated caller's referral position: their direct (L1)
2181
+ * referrer, the total rewards they have earned, and their most recent reward
2182
+ * rows. Self-scoped — identity comes only from the session, never a path id,
2183
+ * so a caller can only ever read their own chain. Every other user is
2184
+ * identified by their public wallet address, never an internal id. An empty
2185
+ * `referrer` means the caller was not referred.
2186
+ */
2187
+ get: operations["get_my_referral_position"];
2188
+ put?: never;
2189
+ post?: never;
2190
+ delete?: never;
2191
+ options?: never;
2192
+ head?: never;
2193
+ patch?: never;
2194
+ trace?: never;
2195
+ };
2196
+ "/api/v1/pitpass/referrals/me/downline": {
2197
+ parameters: {
2198
+ query?: never;
2199
+ header?: never;
2200
+ path?: never;
2201
+ cookie?: never;
2202
+ };
2203
+ /**
2204
+ * Get your referral downline and earnings
2205
+ * @description Read your own downline earnings (self-scoped).
2206
+ *
2207
+ * Return who the authenticated caller earns from and how much: an
2208
+ * earnings-by-source breakdown aggregated from the caller's reward rows across
2209
+ * all three reward levels (L1/L2/L3), their L1 direct-referee roster (including
2210
+ * referees who have not traded yet), and a per-level earnings summary.
2211
+ * Self-scoped — identity comes only from the session, never a path id. Every
2212
+ * source and referee is identified by their public wallet address, never an
2213
+ * internal id.
2214
+ */
2215
+ get: operations["get_my_referral_downline"];
2216
+ put?: never;
2217
+ post?: never;
2218
+ delete?: never;
2219
+ options?: never;
2220
+ head?: never;
2221
+ patch?: never;
2222
+ trace?: never;
2223
+ };
2169
2224
  "/api/v1/pitpass/rewards/balance": {
2170
2225
  parameters: {
2171
2226
  query?: never;
@@ -3246,7 +3301,7 @@ export interface components {
3246
3301
  */
3247
3302
  price?: string | null;
3248
3303
  /**
3249
- * @description New TOTAL quantity (if changing). On a partially filled order the replacement rests total minus filled, and collateral is locked for that remainder only (FIX cancel/replace convention: LeavesQty = OrderQty - CumQty). Must exceed the filled amount. Omitted, the replacement keeps the unfilled remainder.
3304
+ * @description New TOTAL quantity (if changing). On a partially filled order the replacement rests total minus filled, and collateral is locked for that remainder only (FIX cancel/replace convention: LeavesQty = OrderQty - CumQty). Must exceed the filled amount. Omitted, the replacement keeps the unfilled remainder. Margin reduce-only orders are the exception: their quantity is a close size measured against the live position, placed as given, with no subtraction and no must-exceed-filled rule.
3250
3305
  * @example 0.7
3251
3306
  */
3252
3307
  quantity?: string | null;
@@ -4811,6 +4866,33 @@ export interface components {
4811
4866
  /** @description Six-row fee schedule for the requested pair, ascending by tier */
4812
4867
  feeSchedule?: components["schemas"]["FeeTierScheduleRow"][] | null;
4813
4868
  };
4869
+ GetMyReferralDownlineResponse: {
4870
+ /** @description One row per (source trader, level, token) the caller earns from, across all three reward levels. Comes straight from the caller's reward rows — no tree walk. */
4871
+ earningsBySource?: components["schemas"]["ReferralEarningsSource"][] | null;
4872
+ /** @description The caller's direct (L1) referees, newest first, including referees who have not traded yet (0 earned). Bounded to the most recent 500 EFFECTIVE referees (after per-wallet dedupe and the winning-edge filter). The earnings views (`earnings_by_source` and the summary) are unbounded and count every level, so a caller past the roster cap still sees their full earnings; only this roster listing is capped. */
4873
+ directReferees?: components["schemas"]["ReferralDirectReferee"][] | null;
4874
+ /** @description Total earned broken down by level (L1/L2/L3). */
4875
+ summary?: components["schemas"]["ReferralEarningsSummary"] | null;
4876
+ };
4877
+ GetMyReferralPositionResponse: {
4878
+ /**
4879
+ * @description Public wallet address of the caller's direct (L1) referrer — who referred them. Empty when the caller was not referred. Never exposes L2/L3 upline or any internal id.
4880
+ * @example 0x0000000000000000000000000000000000000002
4881
+ */
4882
+ referrer?: string | null;
4883
+ /**
4884
+ * @description Total reward amount the caller has earned, summed across every level and token, in RAW atomic units.
4885
+ * @example 1400000
4886
+ */
4887
+ totalEarned?: string | null;
4888
+ /**
4889
+ * @description Human-facing name for the referrer: their custom TraderCode handle when they have claimed one, otherwise the wallet address (same as `referrer`). Empty when the caller was not referred. Render this instead of raw hex.
4890
+ * @example cooltrader123
4891
+ */
4892
+ referrerDisplay?: string | null;
4893
+ /** @description The caller's most recent reward rows, newest first. Bounded server-side — not the full history. */
4894
+ rewards?: components["schemas"]["ReferralRewardEntry"][] | null;
4895
+ };
4814
4896
  /** @description Latest public open interest for a trading pair. */
4815
4897
  GetOpenInterestResponse: {
4816
4898
  /**
@@ -5141,12 +5223,25 @@ export interface components {
5141
5223
  tradingPairId?: string | null;
5142
5224
  symbol?: string | null;
5143
5225
  minLeverage?: string | null;
5226
+ /**
5227
+ * @description Tier-1 maximum leverage: the cap for a position in the lowest notional bracket. Larger positions are capped by their own bracket in riskTiers.
5228
+ * @example 50
5229
+ */
5144
5230
  maxLeverage?: string | null;
5231
+ /**
5232
+ * @description Tier-1 initial-margin floor rate, as a decimal fraction. Mirrors riskTiers[0].initialMarginRatio; use the active bracket's rate and deduction for the ladder floor. Selected leverage can produce a higher position initial-margin requirement.
5233
+ * @example 0.02
5234
+ */
5145
5235
  initialMarginRatio?: string | null;
5236
+ /**
5237
+ * @description Tier-1 maintenance-margin rate, as a decimal fraction. Mirrors riskTiers[0].maintenanceMarginRatio; use the active bracket's rate and deduction to calculate maintenance margin.
5238
+ * @example 0.01
5239
+ */
5146
5240
  maintenanceMarginRatio?: string | null;
5147
5241
  /** Format: uint32 */
5148
5242
  fundingIntervalSeconds?: number | null;
5149
5243
  liquidationFeeBps?: string | null;
5244
+ /** @description The market's full margin ladder, ascending by lowerBoundNotional and always non-empty (a market with no configured brackets reports a single tier). A position's bracket is the LAST tier whose lowerBoundNotional is at or below its notional, abs(quantity) x markPrice. */
5150
5245
  riskTiers?: components["schemas"]["RiskTier"][] | null;
5151
5246
  updatedAt?: string | null;
5152
5247
  };
@@ -6015,7 +6110,7 @@ export interface components {
6015
6110
  movements?: components["schemas"]["ApplicationMovement"][] | null;
6016
6111
  /**
6017
6112
  * Format: uint32
6018
- * @description Total matching movements
6113
+ * @description Matching movements. Exact up to 10,000 pages of the requested page size (page_size x 10,000 rows) and saturates there, so an application with more matching movements than the listing can page through reads the cap, not its lifetime total.
6019
6114
  * @example 150
6020
6115
  */
6021
6116
  total?: number | null;
@@ -6033,7 +6128,7 @@ export interface components {
6033
6128
  pageSize?: number | null;
6034
6129
  /**
6035
6130
  * Format: uint32
6036
- * @description Total number of pages
6131
+ * @description Number of pages at the requested page size. Exact up to 10,000 and saturates there, the last page this listing can reach.
6037
6132
  * @example 8
6038
6133
  */
6039
6134
  totalPages?: number | null;
@@ -6042,7 +6137,7 @@ export interface components {
6042
6137
  orders?: components["schemas"]["ApplicationOrder"][] | null;
6043
6138
  /**
6044
6139
  * Format: uint32
6045
- * @description Total matching orders
6140
+ * @description Matching orders. Exact up to 10,000 pages of the requested page size (page_size x 10,000 rows) and saturates there, so an application with more matching orders than the listing can page through reads the cap, not its lifetime total.
6046
6141
  * @example 150
6047
6142
  */
6048
6143
  total?: number | null;
@@ -6060,7 +6155,7 @@ export interface components {
6060
6155
  pageSize?: number | null;
6061
6156
  /**
6062
6157
  * Format: uint32
6063
- * @description Total number of pages
6158
+ * @description Number of pages at the requested page size. Exact up to 10,000 and saturates there, the last page this listing can reach.
6064
6159
  * @example 8
6065
6160
  */
6066
6161
  totalPages?: number | null;
@@ -7282,6 +7377,136 @@ export interface components {
7282
7377
  */
7283
7378
  relevance?: number | null;
7284
7379
  };
7380
+ /** @description One direct (L1) referee of the caller, whether or not they have traded yet. */
7381
+ ReferralDirectReferee: {
7382
+ /**
7383
+ * @description Public wallet address of the direct referee. Never an internal id.
7384
+ * @example 0x0000000000000000000000000000000000000002
7385
+ */
7386
+ wallet?: string | null;
7387
+ /**
7388
+ * @description RFC 3339 timestamp when the referral relationship was recorded (the referee's sign-up under the caller).
7389
+ * @example 2026-07-07T18:00:00Z
7390
+ */
7391
+ referredAt?: string | null;
7392
+ /**
7393
+ * @description Total the caller has earned from this referee's own (L1) trades, in RAW atomic units. `0` for a referee who has not traded yet.
7394
+ * @example 900000
7395
+ */
7396
+ totalEarned?: string | null;
7397
+ /**
7398
+ * @description Human-facing name for the referee: their custom TraderCode handle when they have claimed one, otherwise the wallet address (same as `wallet`). Render this instead of raw hex.
7399
+ * @example cooltrader123
7400
+ */
7401
+ display?: string | null;
7402
+ };
7403
+ /**
7404
+ * @description One aggregated earnings row per (source trader, level, token) the caller
7405
+ * earns from.
7406
+ */
7407
+ ReferralEarningsSource: {
7408
+ /**
7409
+ * @description Public wallet address of the trader (taker) the caller earns from. Never an internal id.
7410
+ * @example 0x0000000000000000000000000000000000000002
7411
+ */
7412
+ source?: string | null;
7413
+ /**
7414
+ * Format: int32
7415
+ * @description Referral level the caller earns from this source at: 1 (direct), 2, or 3.
7416
+ * @example 1
7417
+ */
7418
+ level?: number | null;
7419
+ /**
7420
+ * @description Total earned from this source at this level and token, in RAW atomic units.
7421
+ * @example 900000
7422
+ */
7423
+ totalEarned?: string | null;
7424
+ /**
7425
+ * @description Reward token contract address (0x-prefixed).
7426
+ * @example 0x0000000000000000000000000000000000000002
7427
+ */
7428
+ token?: string | null;
7429
+ /**
7430
+ * @description Human-facing name for the source: their custom TraderCode handle when they have claimed one, otherwise the wallet address (same as `source`). Render this instead of raw hex.
7431
+ * @example cooltrader123
7432
+ */
7433
+ sourceDisplay?: string | null;
7434
+ };
7435
+ /**
7436
+ * @description Per-level breakdown of the caller's total referral earnings.
7437
+ *
7438
+ * These are ALL-TIME CREDITED earnings — a raw sum of the immutable
7439
+ * `referral_rewards` audit rows — and match the `total_earned` on the referral
7440
+ * position. They are NOT the caller's current spendable rewards balance:
7441
+ * `GetRewardsBalance` reports the live bucket, which `TransferRewards` draws
7442
+ * down, so the two diverge after any transfer. Read the rewards balance for
7443
+ * current availability. Denominated in the single reward token's atomic units
7444
+ * (Monaco pays PitPass rewards in one token — the quote asset); if a deployment
7445
+ * ever pays in more than one reward token, atomic units across tokens are not
7446
+ * additive, so read the per-token `earnings_by_source` rows for a correct
7447
+ * breakdown.
7448
+ */
7449
+ ReferralEarningsSummary: {
7450
+ /**
7451
+ * @description All-time credited earnings across all levels, in the reward token's RAW atomic units (see the message note — this is not the spendable rewards balance).
7452
+ * @example 1400000
7453
+ */
7454
+ totalEarned?: string | null;
7455
+ /**
7456
+ * @description Total earned from direct (L1) referees, in RAW atomic units.
7457
+ * @example 900000
7458
+ */
7459
+ level1Earned?: string | null;
7460
+ /**
7461
+ * @description Total earned from L2 downline, in RAW atomic units.
7462
+ * @example 400000
7463
+ */
7464
+ level2Earned?: string | null;
7465
+ /**
7466
+ * @description Total earned from L3 downline, in RAW atomic units.
7467
+ * @example 100000
7468
+ */
7469
+ level3Earned?: string | null;
7470
+ };
7471
+ /** @description A single reward the caller has earned, one row per referred trade × level. */
7472
+ ReferralRewardEntry: {
7473
+ /**
7474
+ * @description Public wallet address of the trader (taker) whose trade generated this reward. Never an internal id.
7475
+ * @example 0x0000000000000000000000000000000000000002
7476
+ */
7477
+ source?: string | null;
7478
+ /**
7479
+ * Format: int32
7480
+ * @description Referral level this reward was paid at: 1 (direct, 30%), 2 (15%), or 3 (5%).
7481
+ * @example 1
7482
+ */
7483
+ level?: number | null;
7484
+ /**
7485
+ * @description Reward amount, in RAW atomic units of the token.
7486
+ * @example 1200000
7487
+ */
7488
+ amount?: string | null;
7489
+ /**
7490
+ * @description Reward token contract address (0x-prefixed).
7491
+ * @example 0x0000000000000000000000000000000000000002
7492
+ */
7493
+ token?: string | null;
7494
+ /**
7495
+ * @description The referral rate applied to the source's fee for this reward, as a decimal fraction (e.g. `0.30` for L1).
7496
+ * @example 0.30
7497
+ */
7498
+ rateApplied?: string | null;
7499
+ /**
7500
+ * @description RFC 3339 timestamp when the reward row was recorded.
7501
+ * @example 2026-07-07T18:00:00Z
7502
+ */
7503
+ createdAt?: string | null;
7504
+ /**
7505
+ * @description Human-facing name for the source: their custom TraderCode handle when they have claimed one, otherwise the wallet address (same as `source`). Render this instead of raw hex.
7506
+ * @example cooltrader123
7507
+ */
7508
+ sourceDisplay?: string | null;
7509
+ };
7285
7510
  RefreshManagedMarketQuotesRequest: {
7286
7511
  launchId?: string | null;
7287
7512
  ownerId?: string | null;
@@ -7336,7 +7561,7 @@ export interface components {
7336
7561
  */
7337
7562
  price?: string | null;
7338
7563
  /**
7339
- * @description New TOTAL quantity (if changing). On a partially filled order the replacement rests total minus filled, and collateral is locked for that remainder only (FIX cancel/replace convention: LeavesQty = OrderQty - CumQty). Must exceed the filled amount. Omitted, the replacement keeps the unfilled remainder.
7564
+ * @description New TOTAL quantity (if changing). On a partially filled order the replacement rests total minus filled, and collateral is locked for that remainder only (FIX cancel/replace convention: LeavesQty = OrderQty - CumQty). Must exceed the filled amount. Omitted, the replacement keeps the unfilled remainder. Margin reduce-only orders are the exception: their quantity is a close size measured against the live position, placed as given, with no subtraction and no must-exceed-filled rule.
7340
7565
  * @example 0.7
7341
7566
  */
7342
7567
  quantity?: string | null;
@@ -7409,16 +7634,56 @@ export interface components {
7409
7634
  */
7410
7635
  available?: string | null;
7411
7636
  };
7637
+ /**
7638
+ * @description One notional bracket of a market's margin ladder. Brackets are MARGINAL:
7639
+ * a bracket's rate applies only to the notional inside it, and the deduction
7640
+ * carries the cheaper margin already charged by the brackets below, so margin
7641
+ * is continuous across every bound rather than jumping at it.
7642
+ */
7412
7643
  RiskTier: {
7644
+ /**
7645
+ * @description Marginal initial-margin floor rate for notional inside this bracket, as a decimal fraction. The ladder floor is IM_floor(N) = N x initialMarginRatio - initialMarginDeduction. A position's initial-margin requirement is the greater of this floor and its selected-leverage initial margin scaled to the current mark.
7646
+ * @example 0.04
7647
+ */
7413
7648
  initialMarginRatio?: string | null;
7649
+ /**
7650
+ * @description Marginal maintenance-margin rate for notional inside this bracket, as a decimal fraction. Maintenance margin for a position of notional N in this bracket is MM(N) = N x maintenanceMarginRatio - maintenanceMarginDeduction.
7651
+ * @example 0.02
7652
+ */
7414
7653
  maintenanceMarginRatio?: string | null;
7415
7654
  /**
7416
7655
  * @deprecated
7417
7656
  * @description DEPRECATED compatibility alias. This value is a maximum absolute base-asset quantity, not a notional. Use maxPositionSize.
7418
7657
  */
7419
7658
  maxPositionNotional?: string | null;
7420
- /** @description Maximum authoritative absolute position size in base-asset quantity. */
7659
+ /** @description Maximum authoritative absolute position size in base-asset quantity. A market-wide cap, repeated on every tier rather than varying per bracket. */
7421
7660
  maxPositionSize?: string | null;
7661
+ /**
7662
+ * Format: uint32
7663
+ * @description 1-based bracket index within the market's ladder; 1 is the lowest bracket.
7664
+ * @example 2
7665
+ */
7666
+ tierLevel?: number | null;
7667
+ /**
7668
+ * @description USD notional at which this bracket starts, inclusive; "0" for tier 1.
7669
+ * @example 100000000
7670
+ */
7671
+ lowerBoundNotional?: string | null;
7672
+ /**
7673
+ * @description Maximum leverage available inside this bracket. Absent only for a single-tier market configured from explicit margin rates rather than from a leverage.
7674
+ * @example 25
7675
+ */
7676
+ maxLeverage?: string | null;
7677
+ /**
7678
+ * @description Continuity term of the ladder's initial-margin floor formula IM_floor(N) = N x initialMarginRatio - initialMarginDeduction; "0" for tier 1.
7679
+ * @example 2000000
7680
+ */
7681
+ initialMarginDeduction?: string | null;
7682
+ /**
7683
+ * @description Continuity term of the maintenance-margin formula MM(N) = N x maintenanceMarginRatio - maintenanceMarginDeduction; "0" for tier 1.
7684
+ * @example 1000000
7685
+ */
7686
+ maintenanceMarginDeduction?: string | null;
7422
7687
  };
7423
7688
  /** @description Per-pair screener row. Window fields null when insufficient history. */
7424
7689
  ScreenerItem: {
@@ -7676,6 +7941,11 @@ export interface components {
7676
7941
  /** @description Required for normal orders; optional and ignored for reduce-only. */
7677
7942
  leverage?: string | null;
7678
7943
  reduceOnly?: boolean | null;
7944
+ /**
7945
+ * Format: int32
7946
+ * @description MARKET only: client slippage tolerance in basis points, 0..1000, the same rule placement enforces — a LIMIT or IOC preview carrying it is rejected. Tightens the previewed walk to the band the real order will run under and never widens it; omit for the placement default.
7947
+ */
7948
+ slippageToleranceBps?: number | null;
7679
7949
  };
7680
7950
  SimulateOrderRiskResponse: {
7681
7951
  accepted?: boolean | null;
@@ -7739,6 +8009,66 @@ export interface components {
7739
8009
  * previewed pair.
7740
8010
  */
7741
8011
  selectedTradingPairIds?: string[] | null;
8012
+ /**
8013
+ * @description The simulated match the engine ran to admit this order (0XM-2746): the
8014
+ * same `MatchResult` shape `CreateOrderResponse.match_result` carries for a
8015
+ * real placement, produced by the same `simulate_match_with_stp` walk over
8016
+ * the live book at the moment of the preview — under the caller's
8017
+ * `slippage_tolerance_bps` merged tighter-wins with the mandatory 1,000 bps
8018
+ * protective band, the caller's own self-trade-prevention default (the
8019
+ * preview runs under the caller's wallet, as placement does) and
8020
+ * reduce-only sizing. Not a handler-side re-walk of an orderbook snapshot,
8021
+ * so a preflight and the placement it precedes read the same numbers — the
8022
+ * reason this rides the risk simulation rather than a separate quote
8023
+ * endpoint. What a preview cannot carry: a post-only flag, TP/SL legs and a
8024
+ * per-order self-trade-prevention override, so a post-only placement that
8025
+ * would cross is refused by placement, not by this preview.
8026
+ *
8027
+ * Fields: `total_filled` is what the walk fills; `remaining_quantity` what
8028
+ * it could NOT fill inside the merged band — the partial-fill / band-cut
8029
+ * indicator (0 means the whole size executes; a MARKET preview with a
8030
+ * non-zero remainder comes back partially filled when placed);
8031
+ * `average_fill_price` is the quantity-weighted fill price and
8032
+ * `execution_price_range.worst_price` the worst level reached (highest ask a
8033
+ * BUY takes, lowest bid a SELL hits), both absent when nothing crosses;
8034
+ * `status` is the status placement would end in: FILLED for a full fill,
8035
+ * CANCELLED for a MARKET order the band or the depth cuts short (a MARKET
8036
+ * remainder cannot rest, so the fills execute and the rest is cancelled —
8037
+ * read `remaining_quantity` for the partial fill), SUBMITTED for a LIMIT
8038
+ * that rests, PARTIALLY_FILLED for a LIMIT that crosses partly and rests
8039
+ * the remainder; `actual_slippage_bps` the realized
8040
+ * slippage against `reference_price` as the engine computes it for a
8041
+ * placement, absent when nothing crosses; `max_slippage_bps` echoes the
8042
+ * caller's tolerance, not the merged band. A LIMIT preview that would rest
8043
+ * reports 0 filled, the full size remaining and no prices.
8044
+ *
8045
+ * For a LIMIT or IOC preview the engine measures slippage against the LIMIT
8046
+ * price and reports none when every fill improved on it, exactly as the
8047
+ * placement's `match_result` does; `reference_price` below is therefore
8048
+ * published for MARKET previews only.
8049
+ *
8050
+ * Priced against the book RIGHT NOW. For a take-profit / stop-loss the close
8051
+ * runs later, on a different book, under the wider 1,200 bps band the engine
8052
+ * stamps on a triggered market leg and anchored at trigger time — so for a
8053
+ * TP/SL estimate apply `actual_slippage_bps` to the TRIGGER price as an
8054
+ * impact figure rather than displaying this call's absolute average price.
8055
+ * Fees for this walk are `estimated_fee` above, at the caller's own tier,
8056
+ * which can lag the engine's copy by one refresh interval.
8057
+ *
8058
+ * PRESENT ONLY when `accepted` is true. Absent — never zeros — on every
8059
+ * refused preview (`accepted: false` with a `reject_reason`): validation, an
8060
+ * unknown market or account, insufficient margin, a maker-risk constraint, a
8061
+ * MARKET order with nothing fillable inside the band, and the post-match
8062
+ * maker-risk revalidation, whose match the engine discards. Such previews
8063
+ * may still carry `estimated_fee`, which is priced independently of risk
8064
+ * state. Treat absence as unknown, not as "fills at zero".
8065
+ */
8066
+ expectedMatchResult?: components["schemas"]["MatchResult"] | null;
8067
+ /**
8068
+ * @description The touch on the taking side when a MARKET preview ran (best ask for a BUY, best bid for a SELL) — what expectedMatchResult's walk and its actualSlippageBps are measured from. Present only when accepted is true and the preview is a MARKET order; a LIMIT or IOC preview is measured against its own limit price and publishes nothing here.
8069
+ * @example 100.25
8070
+ */
8071
+ referencePrice?: string | null;
7742
8072
  };
7743
8073
  SimulateParentMarginOrderRiskRequest: {
7744
8074
  /** Format: uuid */
@@ -7752,6 +8082,11 @@ export interface components {
7752
8082
  /** @description Required for normal orders; optional and ignored for reduce-only. */
7753
8083
  leverage?: string | null;
7754
8084
  reduceOnly?: boolean | null;
8085
+ /**
8086
+ * Format: int32
8087
+ * @description MARKET only: client slippage tolerance in basis points, 0..1000, the same rule placement enforces — a LIMIT or IOC preview carrying it is rejected. Tightens the previewed walk to the band the real order will run under and never widens it; omit for the placement default.
8088
+ */
8089
+ slippageToleranceBps?: number | null;
7755
8090
  };
7756
8091
  SimulateRiskBucketOrderRiskRequest: {
7757
8092
  /** Format: uuid */
@@ -7773,6 +8108,11 @@ export interface components {
7773
8108
  * @description Deprecated: accepted and ignored. Cross scope is derived from trading (a pair joins the cross bucket when a cross order on it succeeds; after its positions close it stays listed until a later successful cross order on another pair reconciles the bucket), so a cross preview has nothing to declare: it runs against the account's active cross bucket — or the deterministic bucket a first cross order would create — and the previewed pair is in scope by construction. Rejected for ISOLATED, as before. The response's selectedTradingPairIds reports the derived scope (recorded pairs, pairs with open positions in the bucket, and the previewed pair), never this list.
7774
8109
  */
7775
8110
  selectedTradingPairIds?: string[] | null;
8111
+ /**
8112
+ * Format: int32
8113
+ * @description MARKET only: client slippage tolerance in basis points, 0..1000, the same rule placement enforces — a LIMIT or IOC preview carrying it is rejected. Tightens the previewed walk to the band the real order will run under and never widens it; omit for the placement default.
8114
+ */
8115
+ slippageToleranceBps?: number | null;
7776
8116
  };
7777
8117
  SubAccount: {
7778
8118
  /**
@@ -8725,6 +9065,16 @@ export interface components {
8725
9065
  */
8726
9066
  expiresAt?: number | null;
8727
9067
  user?: components["schemas"]["UserInfo"];
9068
+ /**
9069
+ * @description True when this verify created the user row — the wallet's first sign-in to THIS application. Identity is per `(wallet, application)`, so a wallet already registered on another application is still `is_new_user` on its first sign-in to a new one. Use it to gate first-time UX (e.g. showing the optional "have a referral code?" input only to new users) and to confirm a fresh sign-up. False for every returning verify on this application.
9070
+ * @example true
9071
+ */
9072
+ isNewUser?: boolean | null;
9073
+ /**
9074
+ * @description True when a PitPass referral relationship was recorded on this verify: a valid, non-self TraderCode presented on the wallet's first sign-in to THIS application resolved to a known referrer. Scoped like `is_new_user` (per `(wallet, application)`), so a wallet already registered on another application can still see this on its first sign-in to a new one. False for a returning user of this application, an absent or unknown code, or a self-referral. Confirms the referral landed for the signup success screen.
9075
+ * @example true
9076
+ */
9077
+ referralApplied?: boolean | null;
8728
9078
  };
8729
9079
  Withdrawal: {
8730
9080
  /**
@@ -13472,6 +13822,88 @@ export interface operations {
13472
13822
  };
13473
13823
  };
13474
13824
  };
13825
+ get_my_referral_position: {
13826
+ parameters: {
13827
+ query?: never;
13828
+ header?: never;
13829
+ path?: never;
13830
+ cookie?: never;
13831
+ };
13832
+ requestBody?: never;
13833
+ responses: {
13834
+ /** @description OK */
13835
+ 200: {
13836
+ headers: {
13837
+ [name: string]: unknown;
13838
+ };
13839
+ content: {
13840
+ "application/json": components["schemas"]["GetMyReferralPositionResponse"];
13841
+ };
13842
+ };
13843
+ /** @description Authentication required */
13844
+ 401: {
13845
+ headers: {
13846
+ [name: string]: unknown;
13847
+ };
13848
+ content?: never;
13849
+ };
13850
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
13851
+ 429: {
13852
+ headers: {
13853
+ [name: string]: unknown;
13854
+ };
13855
+ content?: never;
13856
+ };
13857
+ /** @description Internal server error */
13858
+ 500: {
13859
+ headers: {
13860
+ [name: string]: unknown;
13861
+ };
13862
+ content?: never;
13863
+ };
13864
+ };
13865
+ };
13866
+ get_my_referral_downline: {
13867
+ parameters: {
13868
+ query?: never;
13869
+ header?: never;
13870
+ path?: never;
13871
+ cookie?: never;
13872
+ };
13873
+ requestBody?: never;
13874
+ responses: {
13875
+ /** @description OK */
13876
+ 200: {
13877
+ headers: {
13878
+ [name: string]: unknown;
13879
+ };
13880
+ content: {
13881
+ "application/json": components["schemas"]["GetMyReferralDownlineResponse"];
13882
+ };
13883
+ };
13884
+ /** @description Authentication required */
13885
+ 401: {
13886
+ headers: {
13887
+ [name: string]: unknown;
13888
+ };
13889
+ content?: never;
13890
+ };
13891
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
13892
+ 429: {
13893
+ headers: {
13894
+ [name: string]: unknown;
13895
+ };
13896
+ content?: never;
13897
+ };
13898
+ /** @description Internal server error */
13899
+ 500: {
13900
+ headers: {
13901
+ [name: string]: unknown;
13902
+ };
13903
+ content?: never;
13904
+ };
13905
+ };
13906
+ };
13475
13907
  get_rewards_balance: {
13476
13908
  parameters: {
13477
13909
  query?: never;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xmonaco/types",
3
- "version": "1.0.60",
3
+ "version": "1.0.62",
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.0.60",
19
+ "@0xmonaco/contracts": "1.0.62",
20
20
  "zod": "^4.1.12"
21
21
  },
22
22
  "peerDependencies": {