@0xmonaco/types 0.8.10 → 0.8.14

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.
@@ -816,7 +816,87 @@ export interface paths {
816
816
  patch?: never;
817
817
  trace?: never;
818
818
  };
819
- "/api/v1/margin/collateral/transfer-in": {
819
+ "/api/v1/margin/parent-margin-account": {
820
+ parameters: {
821
+ query?: never;
822
+ header?: never;
823
+ path?: never;
824
+ cookie?: never;
825
+ };
826
+ get: operations["get_parent_margin_account_summary"];
827
+ put?: never;
828
+ post?: never;
829
+ delete?: never;
830
+ options?: never;
831
+ head?: never;
832
+ patch?: never;
833
+ trace?: never;
834
+ };
835
+ "/api/v1/margin/parent-margin-account/collateral/transfer-in": {
836
+ parameters: {
837
+ query?: never;
838
+ header?: never;
839
+ path?: never;
840
+ cookie?: never;
841
+ };
842
+ get?: never;
843
+ put?: never;
844
+ post: operations["transfer_collateral_to_parent_margin_account"];
845
+ delete?: never;
846
+ options?: never;
847
+ head?: never;
848
+ patch?: never;
849
+ trace?: never;
850
+ };
851
+ "/api/v1/margin/parent-margin-account/collateral/transfer-out": {
852
+ parameters: {
853
+ query?: never;
854
+ header?: never;
855
+ path?: never;
856
+ cookie?: never;
857
+ };
858
+ get?: never;
859
+ put?: never;
860
+ post: operations["transfer_collateral_from_parent_margin_account"];
861
+ delete?: never;
862
+ options?: never;
863
+ head?: never;
864
+ patch?: never;
865
+ trace?: never;
866
+ };
867
+ "/api/v1/margin/parent-margin-account/movements": {
868
+ parameters: {
869
+ query?: never;
870
+ header?: never;
871
+ path?: never;
872
+ cookie?: never;
873
+ };
874
+ get: operations["get_parent_margin_account_movements"];
875
+ put?: never;
876
+ post?: never;
877
+ delete?: never;
878
+ options?: never;
879
+ head?: never;
880
+ patch?: never;
881
+ trace?: never;
882
+ };
883
+ "/api/v1/margin/parent-margin-account/simulate-order-risk": {
884
+ parameters: {
885
+ query?: never;
886
+ header?: never;
887
+ path?: never;
888
+ cookie?: never;
889
+ };
890
+ get?: never;
891
+ put?: never;
892
+ post: operations["simulate_parent_margin_order_risk"];
893
+ delete?: never;
894
+ options?: never;
895
+ head?: never;
896
+ patch?: never;
897
+ trace?: never;
898
+ };
899
+ "/api/v1/margin/risk-buckets/collateral/transfer-in": {
820
900
  parameters: {
821
901
  query?: never;
822
902
  header?: never;
@@ -825,14 +905,14 @@ export interface paths {
825
905
  };
826
906
  get?: never;
827
907
  put?: never;
828
- post: operations["transfer_collateral_to_auto_margin_account"];
908
+ post: operations["transfer_collateral_to_risk_bucket"];
829
909
  delete?: never;
830
910
  options?: never;
831
911
  head?: never;
832
912
  patch?: never;
833
913
  trace?: never;
834
914
  };
835
- "/api/v1/margin/simulate-order-risk": {
915
+ "/api/v1/margin/risk-buckets/simulate-order-risk": {
836
916
  parameters: {
837
917
  query?: never;
838
918
  header?: never;
@@ -841,7 +921,7 @@ export interface paths {
841
921
  };
842
922
  get?: never;
843
923
  put?: never;
844
- post: operations["simulate_auto_margin_order_risk"];
924
+ post: operations["simulate_risk_bucket_order_risk"];
845
925
  delete?: never;
846
926
  options?: never;
847
927
  head?: never;
@@ -1089,6 +1169,30 @@ export interface paths {
1089
1169
  patch?: never;
1090
1170
  trace?: never;
1091
1171
  };
1172
+ "/api/v1/market/stats": {
1173
+ parameters: {
1174
+ query?: never;
1175
+ header?: never;
1176
+ path?: never;
1177
+ cookie?: never;
1178
+ };
1179
+ /**
1180
+ * Market Stats
1181
+ * @description Market Stats
1182
+ *
1183
+ * Exchange-wide life-to-date (since-inception) cumulative totals across all
1184
+ * trading pairs: total quote-token volume and total number of trades. No
1185
+ * auth required.
1186
+ */
1187
+ get: operations["get_market_stats"];
1188
+ put?: never;
1189
+ post?: never;
1190
+ delete?: never;
1191
+ options?: never;
1192
+ head?: never;
1193
+ patch?: never;
1194
+ trace?: never;
1195
+ };
1092
1196
  "/api/v1/orderbook/{trading_pair_id}": {
1093
1197
  parameters: {
1094
1198
  query?: never;
@@ -1361,6 +1465,30 @@ export interface paths {
1361
1465
  patch?: never;
1362
1466
  trace?: never;
1363
1467
  };
1468
+ "/api/v1/positions/batch-close-all": {
1469
+ parameters: {
1470
+ query?: never;
1471
+ header?: never;
1472
+ path?: never;
1473
+ cookie?: never;
1474
+ };
1475
+ get?: never;
1476
+ put?: never;
1477
+ /**
1478
+ * @description Close all open positions in a single batch ("panic close").
1479
+ *
1480
+ * Submits a MARKET reduce-only close for every open position owned by the
1481
+ * caller, optionally filtered to a single trading pair. Best-effort and
1482
+ * partial: each position closes independently and per-position failures are
1483
+ * reported in `results` rather than aborting the batch.
1484
+ */
1485
+ post: operations["batch_close_all_positions"];
1486
+ delete?: never;
1487
+ options?: never;
1488
+ head?: never;
1489
+ patch?: never;
1490
+ trace?: never;
1491
+ };
1364
1492
  "/api/v1/positions/history": {
1365
1493
  parameters: {
1366
1494
  query?: never;
@@ -1555,9 +1683,10 @@ export interface paths {
1555
1683
  *
1556
1684
  * Master accounts with the withdraw permission only. Routes through the
1557
1685
  * matching engine to debit the balance and allocate a `withdrawal_index`,
1558
- * then returns the target vault address and the signed
1559
- * `executeSignedWithdrawal` calldata the caller submits on-chain. No further
1560
- * server-side signing is required.
1686
+ * then returns it plus the target vault address. The `calldata` field is
1687
+ * empty: `executeWithdrawal` requires the merkle proof, which only exists
1688
+ * after the withdrawal's root is confirmed on-chain. Poll GetWithdrawal to
1689
+ * obtain the calldata once it is ready.
1561
1690
  */
1562
1691
  post: operations["initiate_withdrawal"];
1563
1692
  delete?: never;
@@ -1575,13 +1704,15 @@ export interface paths {
1575
1704
  };
1576
1705
  /**
1577
1706
  * Get withdrawal
1578
- * @description Re-fetch a withdrawal's signed calldata.
1707
+ * @description Fetch a withdrawal's executable calldata by index.
1579
1708
  *
1580
- * Public lookup — no auth. Returns the same response shape as
1581
- * InitiateWithdrawal for a previously-initiated `withdrawal_index`. The
1582
- * calldata is signed against a fixed (index, metadata, destination, token,
1583
- * amount) tuple, so re-fetching it cannot redirect funds: resubmitting it
1584
- * on-chain always pays the original destination.
1709
+ * Public lookup — no auth. Returns the vault address and ABI-encoded
1710
+ * `executeWithdrawal(...)` calldata for a previously-initiated
1711
+ * `withdrawal_index`. The calldata is bound to the fixed
1712
+ * (index, metadata, owner, destination, token, amount) tuple persisted for
1713
+ * the withdrawal, so re-fetching it cannot redirect funds. Returns 409 while
1714
+ * the withdrawal's root has not been confirmed on-chain yet (proof not
1715
+ * available) — clients poll this endpoint until it succeeds.
1585
1716
  */
1586
1717
  get: operations["get_withdrawal"];
1587
1718
  put?: never;
@@ -1664,6 +1795,11 @@ export interface components {
1664
1795
  * @example 123e4567-e89b-12d3-a456-426614174000
1665
1796
  */
1666
1797
  asset_id?: string | null;
1798
+ /**
1799
+ * @description Raw total balance (available + locked) in smallest token unit
1800
+ * @example 1050750000
1801
+ */
1802
+ total_balance_raw?: string | null;
1667
1803
  };
1668
1804
  AddPositionMarginRequest: {
1669
1805
  /** @description Collateral asset to move into the isolated bucket. USDC is the current v1 path. */
@@ -2007,6 +2143,60 @@ export interface components {
2007
2143
  cancelled_at?: string | null;
2008
2144
  error?: components["schemas"]["BatchCancelError"];
2009
2145
  };
2146
+ BatchCloseAllRequest: {
2147
+ /**
2148
+ * Format: uuid
2149
+ * @description Optional trading-pair filter. When set, only open positions on this
2150
+ * trading pair are closed; otherwise every open position is closed.
2151
+ */
2152
+ trading_pair_id?: string | null;
2153
+ /**
2154
+ * Format: int32
2155
+ * @description Optional slippage tolerance (basis points) applied to each MARKET close.
2156
+ */
2157
+ slippage_tolerance_bps?: number | null;
2158
+ };
2159
+ BatchCloseAllResponse: {
2160
+ /**
2161
+ * Format: int32
2162
+ * @description Number of open positions the batch attempted to close.
2163
+ */
2164
+ total_requested?: number | null;
2165
+ /**
2166
+ * Format: int32
2167
+ * @description Number of positions whose close order was accepted by the matching engine
2168
+ * (SUCCESS, PARTIAL, or PENDING).
2169
+ */
2170
+ total_closed?: number | null;
2171
+ /**
2172
+ * Format: int32
2173
+ * @description Number of positions whose close failed (validation, lookup, or a rejected
2174
+ * close order).
2175
+ */
2176
+ total_failed?: number | null;
2177
+ results?: components["schemas"]["BatchCloseResult"][] | null;
2178
+ };
2179
+ BatchCloseError: {
2180
+ /**
2181
+ * @description Machine-readable error code (e.g. POSITION_NOT_FOUND, INVALID_REQUEST,
2182
+ * MATCHING_ENGINE_ERROR).
2183
+ */
2184
+ code?: string | null;
2185
+ /** @description Human-readable error message. */
2186
+ message?: string | null;
2187
+ };
2188
+ BatchCloseResult: {
2189
+ /** @description Position UUID this result is for. */
2190
+ position_id?: string | null;
2191
+ /** @description Close order UUID. Present when the close order was accepted. */
2192
+ close_order_id?: string | null;
2193
+ /** @description Close outcome: SUCCESS, PARTIAL, or PENDING. Present when accepted. */
2194
+ status?: string | null;
2195
+ /** @description Quantity submitted on the close order. Present when accepted. */
2196
+ submitted_quantity?: string | null;
2197
+ /** @description Failure detail. Present when this position could not be closed. */
2198
+ error?: components["schemas"]["BatchCloseError"] | null;
2199
+ };
2010
2200
  BatchCreateError: {
2011
2201
  /**
2012
2202
  * @description Machine-readable error code
@@ -2080,15 +2270,15 @@ export interface components {
2080
2270
  margin_account_id?: string | null;
2081
2271
  /**
2082
2272
  * Format: uuid
2083
- * @description Existing isolated margin bucket UUID for bucket-scoped margin orders
2273
+ * @description Existing isolated risk bucket UUID for risk-bucket-scoped margin orders
2084
2274
  * @example 123e4567-e89b-12d3-a456-426614174001
2085
2275
  */
2086
- margin_bucket_id?: string | null;
2276
+ risk_bucket_id?: string | null;
2087
2277
  /**
2088
- * @description Decimal collateral to allocate into a new isolated margin bucket. When provided, the API creates the bucket ID and matching-engine persists the bucket through the durable log.
2278
+ * @description Decimal collateral to allocate into a new isolated risk bucket. When provided, the API creates the bucket ID and matching-engine persists the bucket through the durable log.
2089
2279
  * @example 1000
2090
2280
  */
2091
- margin_bucket_collateral?: string | null;
2281
+ risk_bucket_collateral?: string | null;
2092
2282
  /**
2093
2283
  * @description Position side for margin orders: LONG, SHORT, or NONE
2094
2284
  * @example LONG
@@ -2106,7 +2296,7 @@ export interface components {
2106
2296
  */
2107
2297
  reduce_only?: boolean | null;
2108
2298
  /**
2109
- * @description Strategy key used to group auto-margin buckets for delegated/margin orders
2299
+ * @description Strategy key used to group risk buckets for delegated/margin orders
2110
2300
  * @example my-strategy
2111
2301
  */
2112
2302
  strategy_key?: string | null;
@@ -2507,15 +2697,15 @@ export interface components {
2507
2697
  margin_account_id?: string | null;
2508
2698
  /**
2509
2699
  * Format: uuid
2510
- * @description Existing isolated margin bucket UUID for bucket-scoped margin orders
2700
+ * @description Existing isolated risk bucket UUID for risk-bucket-scoped margin orders
2511
2701
  * @example 123e4567-e89b-12d3-a456-426614174001
2512
2702
  */
2513
- margin_bucket_id?: string | null;
2703
+ risk_bucket_id?: string | null;
2514
2704
  /**
2515
- * @description Decimal collateral to allocate into a new isolated margin bucket. When provided, the API creates the bucket ID and matching-engine persists the bucket through the durable log.
2705
+ * @description Decimal collateral to allocate into a new isolated risk bucket. When provided, the API creates the bucket ID and matching-engine persists the bucket through the durable log.
2516
2706
  * @example 1000
2517
2707
  */
2518
- margin_bucket_collateral?: string | null;
2708
+ risk_bucket_collateral?: string | null;
2519
2709
  /**
2520
2710
  * @description Position side for margin orders: LONG, SHORT, or NONE
2521
2711
  * @example LONG
@@ -2535,7 +2725,7 @@ export interface components {
2535
2725
  take_profit?: components["schemas"]["ParentTpSlLeg"];
2536
2726
  stop_loss?: components["schemas"]["ParentTpSlLeg"];
2537
2727
  /**
2538
- * @description Strategy key used to group auto-margin buckets for delegated/margin orders
2728
+ * @description Strategy key used to group risk buckets for delegated/margin orders
2539
2729
  * @example my-strategy
2540
2730
  */
2541
2731
  strategy_key?: string | null;
@@ -2575,9 +2765,9 @@ export interface components {
2575
2765
  margin_account_id?: string | null;
2576
2766
  /**
2577
2767
  * Format: uuid
2578
- * @description Resolved isolated margin bucket UUID for bucket-scoped margin orders
2768
+ * @description Resolved isolated risk bucket UUID for risk-bucket-scoped margin orders
2579
2769
  */
2580
- margin_bucket_id?: string | null;
2770
+ risk_bucket_id?: string | null;
2581
2771
  /** @description Client strategy key carried for compatibility */
2582
2772
  strategy_key?: string | null;
2583
2773
  /**
@@ -2788,6 +2978,13 @@ export interface components {
2788
2978
  wallet_available?: string | null;
2789
2979
  wallet_locked?: string | null;
2790
2980
  margin_transferable?: string | null;
2981
+ /**
2982
+ * @description Free collateral currently held in the user's parent margin account for this
2983
+ * asset (equity minus initial margin required), i.e. collateral already inside
2984
+ * margin and available to open new positions or transfer back out. Absent when
2985
+ * the user has no margin account yet.
2986
+ */
2987
+ margin_available_collateral?: string | null;
2791
2988
  };
2792
2989
  GetBalanceByAssetResponse: {
2793
2990
  /** @description Token contract address */
@@ -2834,6 +3031,11 @@ export interface components {
2834
3031
  * @example 123e4567-e89b-12d3-a456-426614174000
2835
3032
  */
2836
3033
  asset_id?: string | null;
3034
+ /**
3035
+ * @description Raw total balance (available + locked) in smallest token unit
3036
+ * @example 1050750000
3037
+ */
3038
+ total_balance_raw?: string | null;
2837
3039
  };
2838
3040
  GetBalancesResponse: {
2839
3041
  balances?: components["schemas"]["AccountBalance"][] | null;
@@ -2935,7 +3137,7 @@ export interface components {
2935
3137
  /** Format: uuid */
2936
3138
  trading_pair_id?: string | null;
2937
3139
  strategy_key?: string | null;
2938
- margin_bucket_id?: string | null;
3140
+ risk_bucket_id?: string | null;
2939
3141
  margin_mode?: string | null;
2940
3142
  };
2941
3143
  GetMarkPriceResponse: {
@@ -3024,6 +3226,34 @@ export interface components {
3024
3226
  * @example 95400.00
3025
3227
  */
3026
3228
  index_price?: string | null;
3229
+ /**
3230
+ * @description Life-to-date cumulative base-token volume (since market inception); "0" for a pair with no trades yet
3231
+ * @example 123456.78900000
3232
+ */
3233
+ total_base_volume_ltd?: string | null;
3234
+ /**
3235
+ * @description Life-to-date cumulative quote-token volume (since market inception); "0" for a pair with no trades yet
3236
+ * @example 9123456789.50
3237
+ */
3238
+ total_quote_volume_ltd?: string | null;
3239
+ /**
3240
+ * @description Life-to-date cumulative number of trades (since market inception); 0 for a pair with no trades yet
3241
+ * @example 482931
3242
+ */
3243
+ total_trade_count_ltd?: string | null;
3244
+ };
3245
+ /** @description Exchange-wide life-to-date cumulative market statistics across all trading pairs. */
3246
+ GetMarketStatsResponse: {
3247
+ /**
3248
+ * @description Life-to-date cumulative quote-token (notional) volume summed across all trading pairs
3249
+ * @example 48217365920.75
3250
+ */
3251
+ total_quote_volume_ltd?: string | null;
3252
+ /**
3253
+ * @description Life-to-date cumulative number of trades summed across all trading pairs
3254
+ * @example 19284736
3255
+ */
3256
+ total_trade_count_ltd?: string | null;
3027
3257
  };
3028
3258
  GetMovementsResponse: {
3029
3259
  movements?: components["schemas"]["LedgerMovement"][] | null;
@@ -3462,7 +3692,7 @@ export interface components {
3462
3692
  liquidation_price?: string | null;
3463
3693
  status?: string | null;
3464
3694
  updated_at?: string | null;
3465
- margin_bucket_id?: string | null;
3695
+ risk_bucket_id?: string | null;
3466
3696
  };
3467
3697
  GetPositionRiskResponse: {
3468
3698
  position_id?: string | null;
@@ -3628,6 +3858,11 @@ export interface components {
3628
3858
  amount?: string | null;
3629
3859
  /** @description On-chain address that will receive the withdrawal (EVM, 42 chars including 0x) */
3630
3860
  destination?: string | null;
3861
+ /**
3862
+ * @description Source ledger to withdraw from: "spot" (default) debits spot balance; "margin" directly debits withdrawable collateral from the parent margin account
3863
+ * @example spot
3864
+ */
3865
+ source?: string | null;
3631
3866
  };
3632
3867
  LedgerMovement: {
3633
3868
  /**
@@ -4030,7 +4265,7 @@ export interface components {
4030
4265
  trading_pair_id?: string | null;
4031
4266
  strategy_key?: string | null;
4032
4267
  /** @description Present only for risk-bucket summary rows. */
4033
- margin_bucket_id?: string | null;
4268
+ risk_bucket_id?: string | null;
4034
4269
  /** @description Present only for risk-bucket summary rows. Values: ISOLATED, CROSS. */
4035
4270
  margin_mode?: string | null;
4036
4271
  };
@@ -4184,7 +4419,7 @@ export interface components {
4184
4419
  liquidation_price?: string | null;
4185
4420
  status?: string | null;
4186
4421
  updated_at?: string | null;
4187
- margin_bucket_id?: string | null;
4422
+ risk_bucket_id?: string | null;
4188
4423
  };
4189
4424
  PositionHistoryEvent: {
4190
4425
  id?: string | null;
@@ -4428,6 +4663,21 @@ export interface components {
4428
4663
  price_change_percent_7d?: string | null;
4429
4664
  /** @description Up to 7 UTC-day buckets (oldest first); empty when <1 day of history */
4430
4665
  snapshot_7d?: components["schemas"]["ScreenerSnapshotPoint"][] | null;
4666
+ /**
4667
+ * @description Asset-class category: crypto, equities, commodities, or fx
4668
+ * @example crypto
4669
+ */
4670
+ category?: string | null;
4671
+ /**
4672
+ * @description Life-to-date cumulative quote-token volume (since market inception); "0" for a pair with no trades yet
4673
+ * @example 9123456789.50
4674
+ */
4675
+ total_quote_volume_ltd?: string | null;
4676
+ /**
4677
+ * @description Life-to-date cumulative number of trades (since market inception); 0 for a pair with no trades yet
4678
+ * @example 482931
4679
+ */
4680
+ total_trade_count_ltd?: string | null;
4431
4681
  };
4432
4682
  /** @description One UTC-day bucket in a pair's 7-day snapshot. */
4433
4683
  ScreenerSnapshotPoint: {
@@ -4447,18 +4697,6 @@ export interface components {
4447
4697
  */
4448
4698
  price_change_percent?: string | null;
4449
4699
  };
4450
- SimulateAutoMarginOrderRiskRequest: {
4451
- /** Format: uuid */
4452
- trading_pair_id?: string | null;
4453
- strategy_key?: string | null;
4454
- side?: string | null;
4455
- position_side?: string | null;
4456
- order_type?: string | null;
4457
- price?: string | null;
4458
- quantity?: string | null;
4459
- leverage?: string | null;
4460
- reduce_only?: boolean | null;
4461
- };
4462
4700
  SimulateFeesResponse: {
4463
4701
  /**
4464
4702
  * @description Notional value (price x quantity)
@@ -4570,6 +4808,29 @@ export interface components {
4570
4808
  /** @description Populated when the simulated account is an auto-resolved bucket. */
4571
4809
  strategy_key?: string | null;
4572
4810
  };
4811
+ SimulateParentMarginOrderRiskRequest: {
4812
+ /** Format: uuid */
4813
+ trading_pair_id?: string | null;
4814
+ side?: string | null;
4815
+ position_side?: string | null;
4816
+ order_type?: string | null;
4817
+ price?: string | null;
4818
+ quantity?: string | null;
4819
+ leverage?: string | null;
4820
+ reduce_only?: boolean | null;
4821
+ };
4822
+ SimulateRiskBucketOrderRiskRequest: {
4823
+ /** Format: uuid */
4824
+ trading_pair_id?: string | null;
4825
+ strategy_key?: string | null;
4826
+ side?: string | null;
4827
+ position_side?: string | null;
4828
+ order_type?: string | null;
4829
+ price?: string | null;
4830
+ quantity?: string | null;
4831
+ leverage?: string | null;
4832
+ reduce_only?: boolean | null;
4833
+ };
4573
4834
  SubAccount: {
4574
4835
  /**
4575
4836
  * Format: uuid
@@ -4838,20 +5099,25 @@ export interface components {
4838
5099
  * @example 20
4839
5100
  */
4840
5101
  max_leverage?: string | null;
5102
+ /**
5103
+ * @description Asset-class category: crypto, equities, commodities, or fx
5104
+ * @example crypto
5105
+ */
5106
+ category?: string | null;
4841
5107
  };
4842
5108
  TransferCollateralFromMarginAccountRequest: {
4843
- /** @description Margin account UUID whose current isolated bucket releases collateral. */
5109
+ /** @description Parent margin account UUID that releases collateral. */
4844
5110
  margin_account_id?: string | null;
4845
5111
  asset?: string | null;
4846
5112
  amount?: string | null;
4847
5113
  /**
4848
5114
  * Format: uuid
4849
- * @description Optional trading pair UUID used to scope the transfer to an isolated bucket
4850
- * under the parent margin account. If omitted, the transfer applies to the
4851
- * parent account or active cross-margin bucket.
5115
+ * @description Optional trading pair UUID used to release collateral from an isolated risk
5116
+ * bucket under the parent margin account. If omitted, the transfer applies to
5117
+ * the parent margin account only.
4852
5118
  */
4853
5119
  trading_pair_id?: string | null;
4854
- /** @description Optional strategy key echoed in responses when callers scope an auto bucket. */
5120
+ /** @description Optional strategy key echoed in responses when callers scope a risk bucket. */
4855
5121
  strategy_key?: string | null;
4856
5122
  };
4857
5123
  TransferCollateralFromMarginAccountResponse: {
@@ -4865,26 +5131,23 @@ export interface components {
4865
5131
  new_withdrawable_collateral?: string | null;
4866
5132
  strategy_key?: string | null;
4867
5133
  };
4868
- TransferCollateralToAutoMarginAccountRequest: {
5134
+ TransferCollateralFromParentMarginAccountRequest: {
4869
5135
  asset?: string | null;
4870
5136
  amount?: string | null;
4871
- /** Format: uuid */
4872
- trading_pair_id?: string | null;
4873
- strategy_key?: string | null;
4874
5137
  };
4875
5138
  TransferCollateralToMarginAccountRequest: {
4876
- /** @description Margin account UUID whose current isolated bucket receives collateral. */
5139
+ /** @description Parent margin account UUID that receives collateral. */
4877
5140
  margin_account_id?: string | null;
4878
5141
  asset?: string | null;
4879
5142
  amount?: string | null;
4880
5143
  /**
4881
5144
  * Format: uuid
4882
- * @description Optional trading pair UUID used to scope the transfer to an isolated bucket
4883
- * under the parent margin account. If omitted, the transfer applies to the
4884
- * parent account or active cross-margin bucket.
5145
+ * @description Optional trading pair UUID used to allocate collateral to an isolated risk
5146
+ * bucket under the parent margin account. If omitted, the transfer applies to
5147
+ * the parent margin account only.
4885
5148
  */
4886
5149
  trading_pair_id?: string | null;
4887
- /** @description Optional strategy key echoed in responses when callers scope an auto bucket. */
5150
+ /** @description Optional strategy key echoed in responses when callers scope a risk bucket. */
4888
5151
  strategy_key?: string | null;
4889
5152
  };
4890
5153
  TransferCollateralToMarginAccountResponse: {
@@ -4898,6 +5161,20 @@ export interface components {
4898
5161
  new_withdrawable_collateral?: string | null;
4899
5162
  strategy_key?: string | null;
4900
5163
  };
5164
+ TransferCollateralToParentMarginAccountRequest: {
5165
+ asset?: string | null;
5166
+ amount?: string | null;
5167
+ };
5168
+ TransferCollateralToRiskBucketRequest: {
5169
+ asset?: string | null;
5170
+ amount?: string | null;
5171
+ /**
5172
+ * Format: uuid
5173
+ * @description Trading pair UUID whose risk bucket receives collateral.
5174
+ */
5175
+ trading_pair_id?: string | null;
5176
+ strategy_key?: string | null;
5177
+ };
4901
5178
  UpdateLimitRequest: {
4902
5179
  /**
4903
5180
  * Format: uuid
@@ -5061,11 +5338,11 @@ export interface components {
5061
5338
  user?: components["schemas"]["UserInfo"];
5062
5339
  };
5063
5340
  Withdrawal: {
5064
- /** @description Allocated withdrawal index — matches executeSignedWithdrawal.index on-chain */
5341
+ /** @description Allocated withdrawal index — matches executeWithdrawal.index on-chain */
5065
5342
  withdrawal_index?: string | null;
5066
5343
  /** @description 0x-prefixed lowercase address of the vault contract the calldata is submitted to */
5067
5344
  vault_address?: string | null;
5068
- /** @description 0x-prefixed ABI-encoded, signed executeSignedWithdrawal(...) calldata; submit as tx.data to the vault */
5345
+ /** @description 0x-prefixed ABI-encoded executeWithdrawal(...) calldata; submit as tx.data to the vault. Empty on InitiateWithdrawal (the merkle proof is not available until the withdrawal root is confirmed on-chain) — fetch it from GetWithdrawal once ready */
5069
5346
  calldata?: string | null;
5070
5347
  };
5071
5348
  };
@@ -6721,7 +6998,7 @@ export interface operations {
6721
6998
  query?: never;
6722
6999
  header?: never;
6723
7000
  path: {
6724
- /** @description Margin account UUID whose current isolated bucket receives collateral. */
7001
+ /** @description Parent margin account UUID that receives collateral. */
6725
7002
  margin_account_id: string;
6726
7003
  };
6727
7004
  cookie?: never;
@@ -6748,7 +7025,7 @@ export interface operations {
6748
7025
  query?: never;
6749
7026
  header?: never;
6750
7027
  path: {
6751
- /** @description Margin account UUID whose current isolated bucket releases collateral. */
7028
+ /** @description Parent margin account UUID that releases collateral. */
6752
7029
  margin_account_id: string;
6753
7030
  };
6754
7031
  cookie?: never;
@@ -6848,7 +7125,104 @@ export interface operations {
6848
7125
  };
6849
7126
  };
6850
7127
  };
6851
- transfer_collateral_to_auto_margin_account: {
7128
+ get_parent_margin_account_summary: {
7129
+ parameters: {
7130
+ query?: {
7131
+ /** @description Trading pair identifier (UUID) */
7132
+ trading_pair_id?: string;
7133
+ };
7134
+ header?: never;
7135
+ path?: never;
7136
+ cookie?: never;
7137
+ };
7138
+ requestBody?: never;
7139
+ responses: {
7140
+ /** @description OK */
7141
+ 200: {
7142
+ headers: {
7143
+ [name: string]: unknown;
7144
+ };
7145
+ content: {
7146
+ "application/json": components["schemas"]["GetMarginAccountSummaryResponse"];
7147
+ };
7148
+ };
7149
+ };
7150
+ };
7151
+ transfer_collateral_to_parent_margin_account: {
7152
+ parameters: {
7153
+ query?: never;
7154
+ header?: never;
7155
+ path?: never;
7156
+ cookie?: never;
7157
+ };
7158
+ requestBody: {
7159
+ content: {
7160
+ "application/json": components["schemas"]["TransferCollateralToParentMarginAccountRequest"];
7161
+ };
7162
+ };
7163
+ responses: {
7164
+ /** @description OK */
7165
+ 200: {
7166
+ headers: {
7167
+ [name: string]: unknown;
7168
+ };
7169
+ content: {
7170
+ "application/json": components["schemas"]["TransferCollateralToMarginAccountResponse"];
7171
+ };
7172
+ };
7173
+ };
7174
+ };
7175
+ transfer_collateral_from_parent_margin_account: {
7176
+ parameters: {
7177
+ query?: never;
7178
+ header?: never;
7179
+ path?: never;
7180
+ cookie?: never;
7181
+ };
7182
+ requestBody: {
7183
+ content: {
7184
+ "application/json": components["schemas"]["TransferCollateralFromParentMarginAccountRequest"];
7185
+ };
7186
+ };
7187
+ responses: {
7188
+ /** @description OK */
7189
+ 200: {
7190
+ headers: {
7191
+ [name: string]: unknown;
7192
+ };
7193
+ content: {
7194
+ "application/json": components["schemas"]["TransferCollateralFromMarginAccountResponse"];
7195
+ };
7196
+ };
7197
+ };
7198
+ };
7199
+ get_parent_margin_account_movements: {
7200
+ parameters: {
7201
+ query?: {
7202
+ movement_type?: string;
7203
+ /** @description Page number (1-indexed) */
7204
+ page?: number;
7205
+ /** @description Items per page (max 100) */
7206
+ page_size?: number;
7207
+ };
7208
+ header?: never;
7209
+ path?: never;
7210
+ cookie?: never;
7211
+ };
7212
+ requestBody?: never;
7213
+ responses: {
7214
+ /** @description OK */
7215
+ 200: {
7216
+ headers: {
7217
+ [name: string]: unknown;
7218
+ };
7219
+ content: {
7220
+ "application/json": components["schemas"]["GetMarginAccountMovementsResponse"];
7221
+ };
7222
+ };
7223
+ };
7224
+ };
7225
+ simulate_parent_margin_order_risk: {
6852
7226
  parameters: {
6853
7227
  query?: never;
6854
7228
  header?: never;
@@ -6857,7 +7231,31 @@ export interface operations {
6857
7231
  };
6858
7232
  requestBody: {
6859
7233
  content: {
6860
- "application/json": components["schemas"]["TransferCollateralToAutoMarginAccountRequest"];
7234
+ "application/json": components["schemas"]["SimulateParentMarginOrderRiskRequest"];
7235
+ };
7236
+ };
7237
+ responses: {
7238
+ /** @description OK */
7239
+ 200: {
7240
+ headers: {
7241
+ [name: string]: unknown;
7242
+ };
7243
+ content: {
7244
+ "application/json": components["schemas"]["SimulateOrderRiskResponse"];
7245
+ };
7246
+ };
7247
+ };
7248
+ };
7249
+ transfer_collateral_to_risk_bucket: {
7250
+ parameters: {
7251
+ query?: never;
7252
+ header?: never;
7253
+ path?: never;
7254
+ cookie?: never;
7255
+ };
7256
+ requestBody: {
7257
+ content: {
7258
+ "application/json": components["schemas"]["TransferCollateralToRiskBucketRequest"];
6861
7259
  };
6862
7260
  };
6863
7261
  responses: {
@@ -6872,7 +7270,7 @@ export interface operations {
6872
7270
  };
6873
7271
  };
6874
7272
  };
6875
- simulate_auto_margin_order_risk: {
7273
+ simulate_risk_bucket_order_risk: {
6876
7274
  parameters: {
6877
7275
  query?: never;
6878
7276
  header?: never;
@@ -6881,7 +7279,7 @@ export interface operations {
6881
7279
  };
6882
7280
  requestBody: {
6883
7281
  content: {
6884
- "application/json": components["schemas"]["SimulateAutoMarginOrderRiskRequest"];
7282
+ "application/json": components["schemas"]["SimulateRiskBucketOrderRiskRequest"];
6885
7283
  };
6886
7284
  };
6887
7285
  responses: {
@@ -6908,6 +7306,7 @@ export interface operations {
6908
7306
  base_token?: string;
6909
7307
  quote_token?: string;
6910
7308
  is_active?: boolean;
7309
+ category?: string;
6911
7310
  };
6912
7311
  header?: never;
6913
7312
  path?: never;
@@ -7250,6 +7649,7 @@ export interface operations {
7250
7649
  /** @description Filter by market type */
7251
7650
  market_type?: "SPOT" | "MARGIN";
7252
7651
  is_active?: boolean;
7652
+ category?: string;
7253
7653
  };
7254
7654
  header?: never;
7255
7655
  path?: never;
@@ -7282,6 +7682,33 @@ export interface operations {
7282
7682
  };
7283
7683
  };
7284
7684
  };
7685
+ get_market_stats: {
7686
+ parameters: {
7687
+ query?: never;
7688
+ header?: never;
7689
+ path?: never;
7690
+ cookie?: never;
7691
+ };
7692
+ requestBody?: never;
7693
+ responses: {
7694
+ /** @description OK */
7695
+ 200: {
7696
+ headers: {
7697
+ [name: string]: unknown;
7698
+ };
7699
+ content: {
7700
+ "application/json": components["schemas"]["GetMarketStatsResponse"];
7701
+ };
7702
+ };
7703
+ /** @description Internal server error */
7704
+ 500: {
7705
+ headers: {
7706
+ [name: string]: unknown;
7707
+ };
7708
+ content?: never;
7709
+ };
7710
+ };
7711
+ };
7285
7712
  get_orderbook_snapshot: {
7286
7713
  parameters: {
7287
7714
  query?: {
@@ -7905,6 +8332,30 @@ export interface operations {
7905
8332
  };
7906
8333
  };
7907
8334
  };
8335
+ batch_close_all_positions: {
8336
+ parameters: {
8337
+ query?: never;
8338
+ header?: never;
8339
+ path?: never;
8340
+ cookie?: never;
8341
+ };
8342
+ requestBody: {
8343
+ content: {
8344
+ "application/json": components["schemas"]["BatchCloseAllRequest"];
8345
+ };
8346
+ };
8347
+ responses: {
8348
+ /** @description OK */
8349
+ 200: {
8350
+ headers: {
8351
+ [name: string]: unknown;
8352
+ };
8353
+ content: {
8354
+ "application/json": components["schemas"]["BatchCloseAllResponse"];
8355
+ };
8356
+ };
8357
+ };
8358
+ };
7908
8359
  list_position_history: {
7909
8360
  parameters: {
7910
8361
  query?: {
@@ -8306,13 +8757,20 @@ export interface operations {
8306
8757
  "application/json": components["schemas"]["Withdrawal"];
8307
8758
  };
8308
8759
  };
8309
- /** @description Withdrawal not found */
8760
+ /** @description Withdrawal not found (may not be persisted yet) */
8310
8761
  404: {
8311
8762
  headers: {
8312
8763
  [name: string]: unknown;
8313
8764
  };
8314
8765
  content?: never;
8315
8766
  };
8767
+ /** @description Withdrawal not confirmed on-chain yet; retry shortly */
8768
+ 409: {
8769
+ headers: {
8770
+ [name: string]: unknown;
8771
+ };
8772
+ content?: never;
8773
+ };
8316
8774
  /** @description Internal server error */
8317
8775
  500: {
8318
8776
  headers: {