@0xmonaco/types 1.1.8 → 1.1.10

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.
@@ -768,7 +768,10 @@ export interface paths {
768
768
  * List application balances
769
769
  * @description List application balances.
770
770
  *
771
- * Returns a paginated list of the balances of the application's users.
771
+ * Returns a paginated list of the wallet balances of the application's users.
772
+ * Funds held in a margin account are not included, so a user funded through
773
+ * margin can show zero here. Read those users from
774
+ * `GET /api/v1/applications/margin-accounts`.
772
775
  * Public: the application is selected by `client_id`.
773
776
  */
774
777
  get: operations["list_application_balances"];
@@ -803,6 +806,38 @@ export interface paths {
803
806
  patch?: never;
804
807
  trace?: never;
805
808
  };
809
+ "/api/v1/applications/margin-accounts": {
810
+ parameters: {
811
+ query?: never;
812
+ header?: never;
813
+ path?: never;
814
+ cookie?: never;
815
+ };
816
+ /**
817
+ * List application margin accounts
818
+ * @description List application margin accounts.
819
+ *
820
+ * Returns a paginated list of the application's margin accounts, one row per
821
+ * margin account with sub-accounts listed beside their parent. An
822
+ * application that funds its users through margin reads their collateral
823
+ * here: margin collateral is not a wallet balance, so `ListAppBalances` does
824
+ * not show it.
825
+ *
826
+ * Figures are a persisted baseline repriced at the latest risk marks. They
827
+ * can briefly lag the matching engine, which this read never calls.
828
+ * Copy-trading accounts are not listed, so the rows need not add up to all
829
+ * of a wallet's margin collateral.
830
+ * Public: the application is selected by `client_id`.
831
+ */
832
+ get: operations["list_application_margin_accounts"];
833
+ put?: never;
834
+ post?: never;
835
+ delete?: never;
836
+ options?: never;
837
+ head?: never;
838
+ patch?: never;
839
+ trace?: never;
840
+ };
806
841
  "/api/v1/applications/movements": {
807
842
  parameters: {
808
843
  query?: never;
@@ -2229,12 +2264,18 @@ export interface paths {
2229
2264
  get?: never;
2230
2265
  put?: never;
2231
2266
  /**
2232
- * @description Move collateral between the spot wallet, the caller's margin accounts and
2233
- * their risk buckets. `from` and `to` each name the wallet or a margin
2234
- * account (optionally one of its risk buckets). Supported moves: wallet to
2235
- * the default margin account and back, margin account to margin account,
2236
- * and margin account to one of its own risk buckets. The older transfer
2237
- * routes keep working unchanged.
2267
+ * @description Move collateral between any two of the caller's places: the spot wallet, a
2268
+ * margin account, a risk bucket. `from` and `to` each name the wallet or a
2269
+ * margin account (optionally one of its risk buckets). A route that crosses
2270
+ * accounts or the wallet runs up to three moves in one step: out of the risk
2271
+ * bucket, across to the other account, into the destination. The wallet is
2272
+ * reached through the default margin account. A refused request moves nothing.
2273
+ * A route to or from the wallet or a risk bucket refuses a copy-trading
2274
+ * sub-account. If the service fails partway, the request answers
2275
+ * COLLATERAL_TRANSFER_STOPPED_PARTWAY (HTTP 409 / gRPC ALREADY_EXISTS) naming
2276
+ * the margin account that holds the amount: move it from there rather than
2277
+ * retrying, and re-read the wallet balance. The older transfer routes keep
2278
+ * working unchanged.
2238
2279
  */
2239
2280
  post: operations["transfer_collateral"];
2240
2281
  delete?: never;
@@ -3060,6 +3101,14 @@ export interface paths {
3060
3101
  * consume, nor an original that fails to cancel, and the same original
3061
3102
  * listed twice is judged per occurrence — so confirm against open orders
3062
3103
  * rather than relying on the code alone.
3104
+ *
3105
+ * A replacement the pair's size rules refuse (below the minimum, above the
3106
+ * maximum, off the quantity step, or a total that does not exceed what
3107
+ * already filled) is also refused before the cancel, so its original keeps
3108
+ * its price and queue spot. It is not a guarantee either: the kept order's
3109
+ * funds are not freed for the other items, one of which may then fail after
3110
+ * its own cancel, and another item's replacement may cross and sweep it
3111
+ * under self-trade prevention.
3063
3112
  */
3064
3113
  post: operations["batch_replace_orders"];
3065
3114
  delete?: never;
@@ -3533,7 +3582,15 @@ export interface paths {
3533
3582
  path?: never;
3534
3583
  cookie?: never;
3535
3584
  };
3536
- get?: never;
3585
+ /**
3586
+ * List your RFQs
3587
+ * @description List your RFQs.
3588
+ *
3589
+ * The caller's own RFQs as the taker, newest first, in every state, those
3590
+ * that filled nothing included. Each carries what GetRfq gives the taker
3591
+ * except the live view: read GetRfq for that.
3592
+ */
3593
+ get: operations["list_rfqs"];
3537
3594
  put?: never;
3538
3595
  /**
3539
3596
  * Request quotes
@@ -4343,7 +4400,7 @@ export interface components {
4343
4400
  * @description Distinct taker seller user IDs in executed trade records in this window, including system IDs on liquidation and ADL fills; all counts are null when this window is suppressed
4344
4401
  */
4345
4402
  takerSellerCount?: number | null;
4346
- /** @description True when any user count in this window is below five; all counts in the window are then null */
4403
+ /** @description True when any user count in this window is below five, or while the activity history does not yet reach back to the window's start (briefly, after the activity aggregate is first built); all counts in the window are then null */
4347
4404
  suppressed?: boolean | null;
4348
4405
  };
4349
4406
  AddFollowPositionMarginRequest: {
@@ -4474,13 +4531,22 @@ export interface components {
4474
4531
  * @description Balance UUID
4475
4532
  */
4476
4533
  id?: string | null;
4477
- /** @description Last sync timestamp (ISO 8601) */
4534
+ /**
4535
+ * @deprecated
4536
+ * @description Deprecated: this timestamp is not kept up to date and must not be used. It is not a sync or health signal.
4537
+ */
4478
4538
  lastSyncAt?: string | null;
4479
- /** @description Last sync block number */
4539
+ /**
4540
+ * @deprecated
4541
+ * @description Deprecated: this block number is not kept up to date and must not be used. It is not a sync or health signal.
4542
+ */
4480
4543
  lastSyncBlock?: string | null;
4481
4544
  /** @description Locked balance */
4482
4545
  lockedBalance?: string | null;
4483
- /** @description On-chain balance */
4546
+ /**
4547
+ * @deprecated
4548
+ * @description Deprecated: this value is not kept up to date and must not be used. It is not a sync or health signal.
4549
+ */
4484
4550
  onChainBalance?: string | null;
4485
4551
  /** @description Token symbol */
4486
4552
  symbol?: string | null;
@@ -4496,6 +4562,66 @@ export interface components {
4496
4562
  */
4497
4563
  userId?: string | null;
4498
4564
  };
4565
+ /**
4566
+ * @description One margin account of an application.
4567
+ *
4568
+ * A public row, so it is deliberately smaller than `MarginAccountSummary`: it
4569
+ * carries no free-text label, no risk bucket or position data, and no margin
4570
+ * requirement. Risk buckets are not rows: their allocated collateral and held
4571
+ * realized PnL are already inside the account's figures.
4572
+ *
4573
+ * Every figure is a persisted baseline repriced at the latest risk marks, so
4574
+ * it can briefly lag the matching engine.
4575
+ */
4576
+ ApplicationMarginAccount: {
4577
+ /**
4578
+ * Format: uuid
4579
+ * @description Margin account UUID
4580
+ */
4581
+ marginAccountId?: string | null;
4582
+ /**
4583
+ * Format: uuid
4584
+ * @description UUID of the user who owns this margin account
4585
+ */
4586
+ userId?: string | null;
4587
+ /** @description Wallet address of the owning user */
4588
+ address?: string | null;
4589
+ /**
4590
+ * @description Sub-account key; default is the parent margin account
4591
+ * @example default
4592
+ */
4593
+ subaccountKey?: string | null;
4594
+ /**
4595
+ * @description Margin account state: ACTIVE or CLOSED (a closed sub-account)
4596
+ * @example ACTIVE
4597
+ */
4598
+ marginAccountState?: string | null;
4599
+ /**
4600
+ * @description Deposited collateral in USD, before any PnL. A persisted baseline: it can briefly lag the matching engine.
4601
+ * @example 1000
4602
+ */
4603
+ collateral?: string | null;
4604
+ /**
4605
+ * @description Account equity in USD: settled collateral, unrealized PnL at the latest risk marks, and realized PnL held by open risk buckets. A persisted baseline repriced at the latest risk marks: it can briefly lag the matching engine.
4606
+ * @example 1012.5
4607
+ */
4608
+ equity?: string | null;
4609
+ /**
4610
+ * @description Collateral available for new margin, in USD. Not the withdrawal bound. A persisted baseline: it can briefly lag the matching engine.
4611
+ * @example 800
4612
+ */
4613
+ freeCollateral?: string | null;
4614
+ /**
4615
+ * @description Collateral a transfer out of this margin account can take, in USD. A persisted baseline: the matching engine enforces the transfer and can accept less.
4616
+ * @example 750
4617
+ */
4618
+ withdrawableCollateral?: string | null;
4619
+ /**
4620
+ * Format: date-time
4621
+ * @description When this margin account was last persisted (RFC 3339). Repricing at newer marks does not move it.
4622
+ */
4623
+ updatedAt?: string | null;
4624
+ };
4499
4625
  ApplicationMovement: {
4500
4626
  /** @description Transaction amount */
4501
4627
  amount?: string | null;
@@ -4998,7 +5124,7 @@ export interface components {
4998
5124
  */
4999
5125
  postOnly?: boolean | null;
5000
5126
  /**
5001
- * @description Client-assigned correlation handle, echoed back on order reads (detail and list) and on order WebSocket events. At most 64 characters from [A-Za-z0-9._:-]; surrounding whitespace is trimmed before storage, and a blank or whitespace-only value is treated as absent. Uniqueness is enforced only among your orders that are RESTING on the book: an item reusing a value another of your resting orders still holds fails that item alone — the batch itself returns 2xx / OK and the offending item's result slot carries error.code CLIENT_ORDER_ID_CONFLICT; no transport-level 409 / ALREADY_EXISTS is raised. An order that never rests — MARKET, IOC/FOK, or a LIMIT that fills completely on arrival — does not take the handle, and the value is released the moment any order reaches a terminal state. It is therefore NOT an idempotency key, though on this replace path a retry cannot double-execute: the request names the original order id, and the sequencer revalidates that original in memory and on the book at sequence time, so once the first replacement succeeds the original is gone and a retry is rejected with ORDER_NOT_FOUND rather than placing a second order. That code is itself ambiguous — the original may instead have filled or been cancelled — so the risk here is acting on a stale view, not duplicate execution. Reconcile a lost response against the order WebSocket stream, which carries this value on the submit acknowledgement and on fills, including for orders that never rest; order history is replica-backed and can omit an order that did land. The stream is not replayable and has no sequence number to backfill from, and events are not persisted for redelivery, so one can be missed while your connection still looks healthy. A matching event is therefore positive proof the order was accepted, but silence is NEVER evidence it was not, and no client-observable condition makes it so. Absent positive evidence the outcome is unresolved: hold and escalate rather than resubmitting. A replace item carries no order type or time-in-force and its original must still be RESTING, so the IOC/FOK and MARKET post-acceptance rejection shapes are unreachable here. Failures split by WHEN they occur, and the difference decides whether your original survives. Before sequencing: every validation failure — a malformed value included — fails ITS ITEM alone with a structured error.code (INVALID_CLIENT_ORDER_ID for a malformed handle, the same code batch-create uses) and no mutation and no event, batch-create parity; the whole request 400s only for an empty or oversize batch. (Earlier releases rejected the whole batch for a malformed value here.) A pre-cancel gate then drops two more classes before anything is cancelled — a handle conflict, and a post-only replacement that would cross the book as it will stand once this batch's originals are cancelled — so in the ordinary POST_ONLY_WOULD_CROSS case the item fails with its original still RESTING and untouched. After that the endpoint is CANCEL-FIRST: the original is cancelled in pass 1, so a residual placement failure then — a self-trade rejection, or a crossing that only became apparent in pass 2 — leaves the original CANCELLED and emits its cancellation events (terminal reason 'replaced') while the item reports the placement error and no replacement is placed. Never assume a failed item left your original resting; read results[] and the stream. Single ReplaceOrder differs: it is atomic, and a rejected replacement leaves the original untouched. Where no surface is conclusive, do not resubmit. A replacement is a new order with a new id, so it carries its own value and inherits nothing from the original — restate it to keep the handle.
5127
+ * @description Client-assigned correlation handle, echoed back on order reads (detail and list) and on order WebSocket events. At most 64 characters from [A-Za-z0-9._:-]; surrounding whitespace is trimmed before storage, and a blank or whitespace-only value is treated as absent. Uniqueness is enforced only among your orders that are RESTING on the book: an item reusing a value another of your resting orders still holds fails that item alone — the batch itself returns 2xx / OK and the offending item's result slot carries error.code CLIENT_ORDER_ID_CONFLICT; no transport-level 409 / ALREADY_EXISTS is raised. An order that never rests — MARKET, IOC/FOK, or a LIMIT that fills completely on arrival — does not take the handle, and the value is released the moment any order reaches a terminal state. It is therefore NOT an idempotency key, though on this replace path a retry cannot double-execute: the request names the original order id, and the sequencer revalidates that original in memory and on the book at sequence time, so once the first replacement succeeds the original is gone and a retry is rejected with ORDER_NOT_FOUND rather than placing a second order. That code is itself ambiguous — the original may instead have filled or been cancelled — so the risk here is acting on a stale view, not duplicate execution. Reconcile a lost response against the order WebSocket stream, which carries this value on the submit acknowledgement and on fills, including for orders that never rest; order history is replica-backed and can omit an order that did land. The stream is not replayable and has no sequence number to backfill from, and events are not persisted for redelivery, so one can be missed while your connection still looks healthy. A matching event is therefore positive proof the order was accepted, but silence is NEVER evidence it was not, and no client-observable condition makes it so. Absent positive evidence the outcome is unresolved: hold and escalate rather than resubmitting. A replace item carries no order type or time-in-force and its original must still be RESTING, so the IOC/FOK and MARKET post-acceptance rejection shapes are unreachable here. Failures split by WHEN they occur, and the difference decides whether your original survives. Before sequencing: every validation failure — a malformed value included — fails ITS ITEM alone with a structured error.code (INVALID_CLIENT_ORDER_ID for a malformed handle, the same code batch-create uses) and no mutation and no event, batch-create parity; the whole request 400s only for an empty or oversize batch. (Earlier releases rejected the whole batch for a malformed value here.) A pre-cancel gate then drops three more classes before anything is cancelled — a replacement the pair's size rules refuse, a handle conflict, and a post-only replacement that would cross the book as it will stand once this batch's originals are cancelled — so in the ordinary POST_ONLY_WOULD_CROSS case the item fails with its original still RESTING and untouched. After that the endpoint is CANCEL-FIRST: the original is cancelled in pass 1, so a residual placement failure then — a self-trade rejection, or a crossing that only became apparent in pass 2 — leaves the original CANCELLED and emits its cancellation events (terminal reason 'replaced') while the item reports the placement error and no replacement is placed. Never assume a failed item left your original resting; read results[] and the stream. Single ReplaceOrder differs: it is atomic, and a rejected replacement leaves the original untouched. Where no surface is conclusive, do not resubmit. A replacement is a new order with a new id, so it carries its own value and inherits nothing from the original — restate it to keep the handle.
5002
5128
  * @example quote-btc-1130-a
5003
5129
  */
5004
5130
  clientOrderId?: string | null;
@@ -6653,8 +6779,8 @@ export interface components {
6653
6779
  settledAt?: string | null;
6654
6780
  /**
6655
6781
  * @description True when the window held fewer than the minimum accepted samples and
6656
- * settled at the carried last settled rate (zero if no rate was ever
6657
- * settled) instead of a freshly computed average.
6782
+ * settled at zero instead of a freshly computed average. (Windows settled
6783
+ * before this rule carried the last settled rate instead.)
6658
6784
  */
6659
6785
  carried?: boolean | null;
6660
6786
  };
@@ -7065,7 +7191,7 @@ export interface components {
7065
7191
  */
7066
7192
  currentFundingRate?: string | null;
7067
7193
  /**
7068
- * @description Implied rate for the in-progress window. An estimate refreshed on each accepted premium sample (roughly every sample interval plus persistence lag), not a real-time stream; absent when the window has no samples. A window that ends with too few accepted samples settles at the previous settled rate instead (0 for a market that has never settled one), so the settled rate can differ from this estimate
7194
+ * @description Implied rate for the in-progress window. An estimate refreshed on each accepted premium sample (roughly every sample interval plus persistence lag), not a real-time stream; absent when the window has no samples. A window that ends with too few accepted samples settles at zero instead, so the settled rate can differ from this estimate
7069
7195
  * @example 0.00012
7070
7196
  */
7071
7197
  estimatedNextFundingRate?: string | null;
@@ -7357,6 +7483,7 @@ export interface components {
7357
7483
  * @example 117845632.18
7358
7484
  */
7359
7485
  quoteVolume24h?: string | null;
7486
+ totalVolumeLtdBySource?: components["schemas"]["LtdVolumeBySource"];
7360
7487
  volume24hBySource?: components["schemas"]["Volume24hBySource"];
7361
7488
  };
7362
7489
  /** @description Exchange-wide life-to-date cumulative market statistics across all trading pairs. */
@@ -7372,6 +7499,7 @@ export interface components {
7372
7499
  * @example 19284736
7373
7500
  */
7374
7501
  totalTradeCountLtd?: number | null;
7502
+ totalVolumeLtdBySource?: components["schemas"]["LtdVolumeBySource"];
7375
7503
  };
7376
7504
  GetMovementsResponse: {
7377
7505
  movements?: components["schemas"]["LedgerMovement"][] | null;
@@ -7982,6 +8110,8 @@ export interface components {
7982
8110
  returnPct?: string | null;
7983
8111
  maxDrawdown?: components["schemas"]["PortfolioPerformanceDrawdown"];
7984
8112
  points?: components["schemas"]["PortfolioPerformancePoint"][] | null;
8113
+ /** @description Modified Dietz return over the window: pnl divided by the starting equity plus each deposit minus each withdrawal, each weighted by the share of the window it was in the account (a flow is taken at the middle of its sample interval). Never below -100%, since an account cannot lose more than it received. Unlike return_pct it stays defined after equity touches zero. Null when the window has no positive-equity sample, or when withdrawals leave that time-weighted capital below 5% of what it would have been without them (the starting equity plus the time-weighted deposits), so the gain on a sliver of capital is not reported. Not bounded above: a capital just over that limit can still give a gain of up to about 20 times the return on the full base. max_drawdown and calculation_method describe the time-weighted return_pct series only and can cover less of the window than this figure. */
8114
+ modifiedDietzReturnPct?: string | null;
7985
8115
  };
7986
8116
  GetPortfolioRealizedPnlResponse: {
7987
8117
  window?: components["schemas"]["PortfolioSeriesWindow"];
@@ -8595,7 +8725,7 @@ export interface components {
8595
8725
  */
8596
8726
  code?: string | null;
8597
8727
  };
8598
- /** @description Current public long/short account positioning and active trader aggregates. Accounts are classified by net position across OPEN risk buckets. Account identifiers are never returned; position metrics are null when either side has fewer than five accounts. Responses may be reused from a per-pair cache for up to 30 seconds. */
8728
+ /** @description Current public long/short account positioning and active trader aggregates. Accounts are classified by net position across OPEN risk buckets. Account identifiers are never returned; position metrics are null when either side has fewer than five accounts, and an active-trader window's counts are null while it is suppressed. Responses may be reused from a per-pair cache for up to 30 seconds. */
8599
8729
  GetTraderMetricsResponse: {
8600
8730
  /**
8601
8731
  * Format: uuid
@@ -9321,6 +9451,38 @@ export interface components {
9321
9451
  */
9322
9452
  totalCapped?: boolean | null;
9323
9453
  };
9454
+ ListAppMarginAccountsResponse: {
9455
+ marginAccounts?: components["schemas"]["ApplicationMarginAccount"][] | null;
9456
+ /**
9457
+ * Format: uint32
9458
+ * @description Number of margin accounts matching the filter, bounded by the server ceiling — a lower bound when totalCapped is true.
9459
+ * @example 50
9460
+ */
9461
+ total?: number | null;
9462
+ /**
9463
+ * Format: uint32
9464
+ * @description Items per page
9465
+ * @example 20
9466
+ */
9467
+ pageSize?: number | null;
9468
+ /**
9469
+ * Format: uint32
9470
+ * @description Number of pages at this pageSize, bounded by the server ceiling — a lower bound when totalCapped is true.
9471
+ * @example 3
9472
+ */
9473
+ totalPages?: number | null;
9474
+ /**
9475
+ * @description Cursor for the next page, minted from the last row of an over-fetched
9476
+ * page: this listing is one ordered read, so a page shorter than
9477
+ * `pageSize` proves the walk is exhausted and this is empty.
9478
+ */
9479
+ nextPageToken?: string | null;
9480
+ /**
9481
+ * @description True when more than the server ceiling of margin accounts matched, so the count stopped at the ceiling and total/totalPages are a lower bound.
9482
+ * @example false
9483
+ */
9484
+ totalCapped?: boolean | null;
9485
+ };
9324
9486
  ListAppMovementsResponse: {
9325
9487
  movements?: components["schemas"]["ApplicationMovement"][] | null;
9326
9488
  /**
@@ -9738,6 +9900,12 @@ export interface components {
9738
9900
  */
9739
9901
  totalCapped?: boolean | null;
9740
9902
  };
9903
+ ListRfqsResponse: {
9904
+ /** @description Newest first. Each is the taker's status as GetRfq gives it, without the live view */
9905
+ rfqs?: components["schemas"]["RfqStatus"][] | null;
9906
+ /** @description Pass as pageToken for the next page; empty once there are no more */
9907
+ nextPageToken?: string | null;
9908
+ };
9741
9909
  ListSubAccountsResponse: {
9742
9910
  subAccounts?: components["schemas"]["SubAccount"][] | null;
9743
9911
  /**
@@ -9889,6 +10057,45 @@ export interface components {
9889
10057
  /** @description Opaque cursor for the next page; empty when the page is the end of the ordered result */
9890
10058
  nextPageToken?: string | null;
9891
10059
  };
10060
+ /**
10061
+ * @description Life-to-date totals split by how they executed (RFQ-17): the order-book part
10062
+ * and the RFQ part, which add up exactly to the totals beside them. Base volume
10063
+ * is present only where the totals carry it (a single market).
10064
+ */
10065
+ LtdVolumeBySource: {
10066
+ /**
10067
+ * @description Life-to-date base-token volume filled on the order book
10068
+ * @example 123000.00000000
10069
+ */
10070
+ orderBookBaseVolume?: string | null;
10071
+ /**
10072
+ * @description Life-to-date base-token volume filled by RFQ block trades
10073
+ * @example 456.78900000
10074
+ */
10075
+ rfqBaseVolume?: string | null;
10076
+ /**
10077
+ * @description Life-to-date quote-token volume filled on the order book
10078
+ * @example 9100000000.00
10079
+ */
10080
+ orderBookQuoteVolume?: string | null;
10081
+ /**
10082
+ * @description Life-to-date quote-token volume filled by RFQ block trades
10083
+ * @example 23456789.50
10084
+ */
10085
+ rfqQuoteVolume?: string | null;
10086
+ /**
10087
+ * Format: int64
10088
+ * @description Life-to-date number of order-book trades
10089
+ * @example 482900
10090
+ */
10091
+ orderBookTradeCount?: number | null;
10092
+ /**
10093
+ * Format: int64
10094
+ * @description Life-to-date number of RFQ fills (one per maker child)
10095
+ * @example 31
10096
+ */
10097
+ rfqTradeCount?: number | null;
10098
+ };
9892
10099
  ManagedMarketAssignment: {
9893
10100
  launchId?: string | null;
9894
10101
  /** Format: uuid */
@@ -10397,6 +10604,8 @@ export interface components {
10397
10604
  returnPct?: string | null;
10398
10605
  /** @enum {string|null} */
10399
10606
  calculationMethod?: "sampled_twr" | null;
10607
+ /** @description Modified Dietz return over the window, defined after spot equity touches zero; see GetPortfolioPerformanceResponse.modified_dietz_return_pct */
10608
+ modifiedDietzReturnPct?: string | null;
10400
10609
  };
10401
10610
  PortfolioBestDay: {
10402
10611
  /**
@@ -12026,10 +12235,29 @@ export interface components {
12026
12235
  */
12027
12236
  openInterestNotionalAvg7d?: string | null;
12028
12237
  /**
12029
- * @description Estimated rate for the in-progress funding window, the same value as getFundingState / getPerpMarketSummary estimatedNextFundingRate (a decimal fraction per funding window). An estimate refreshed on each accepted premium sample, not a real-time stream. A window that ends with too few accepted samples settles at the previous settled rate instead (0 for a market that has never settled one), so the settled rate can differ from this estimate. Null for spot pairs and margin pairs whose current window has no samples yet
12238
+ * @description Estimated rate for the in-progress funding window, the same value as getFundingState / getPerpMarketSummary estimatedNextFundingRate (a decimal fraction per funding window). An estimate refreshed on each accepted premium sample, not a real-time stream. A window that ends with too few accepted samples settles at zero instead, so the settled rate can differ from this estimate. Null for spot pairs and margin pairs whose current window has no samples yet
12030
12239
  * @example 0.00012
12031
12240
  */
12032
12241
  estimatedNextFundingRate?: string | null;
12242
+ quoteVolume24hBySource?: components["schemas"]["ScreenerQuoteVolumeBySource"];
12243
+ totalVolumeLtdBySource?: components["schemas"]["LtdVolumeBySource"];
12244
+ };
12245
+ /**
12246
+ * @description A screener row's 24h quote volume split by execution source (RFQ-17). The
12247
+ * order-book part is the displayed total minus the displayed RFQ part, so the
12248
+ * two always add up to quoteVolume24h.
12249
+ */
12250
+ ScreenerQuoteVolumeBySource: {
12251
+ /**
12252
+ * @description Quote-token volume filled on the order book in the last 24 hours
12253
+ * @example 115265632.18
12254
+ */
12255
+ orderBookQuoteVolume?: string | null;
12256
+ /**
12257
+ * @description Quote-token volume filled by RFQ block trades in the last 24 hours
12258
+ * @example 2580000.00
12259
+ */
12260
+ rfqQuoteVolume?: string | null;
12033
12261
  };
12034
12262
  /** @description One UTC-day bucket in a pair's 7-day snapshot. */
12035
12263
  ScreenerSnapshotPoint: {
@@ -13113,6 +13341,13 @@ export interface components {
13113
13341
  toMarginAccountId?: string | null;
13114
13342
  /** @description The destination risk bucket, when the destination is one. */
13115
13343
  toRiskBucketId?: string | null;
13344
+ /** @description The source risk bucket, when the source is one. */
13345
+ fromRiskBucketId?: string | null;
13346
+ /**
13347
+ * @description Whether funding the destination risk bucket credited its sole open
13348
+ * position's margin. Absent when the destination is not a risk bucket.
13349
+ */
13350
+ positionMarginCredited?: boolean | null;
13116
13351
  };
13117
13352
  TransferCollateralToMarginAccountRequest: {
13118
13353
  /** @description Parent margin account UUID that receives collateral. */
@@ -16272,6 +16507,74 @@ export interface operations {
16272
16507
  };
16273
16508
  };
16274
16509
  };
16510
+ list_application_margin_accounts: {
16511
+ parameters: {
16512
+ query: {
16513
+ /** @description Application client ID */
16514
+ clientId: string;
16515
+ /** @description Filter by wallet address. A wallet with no margin account in the application returns an empty page. */
16516
+ address?: string;
16517
+ /** @description Items per page (max 1000) */
16518
+ pageSize?: number;
16519
+ /**
16520
+ * @description Pagination cursor with two states:
16521
+ * - Omitted or empty string (""): start a cursor walk with no prior
16522
+ * position.
16523
+ * - Non-empty: an opaque cursor from a previous response's
16524
+ * `nextPageToken`; results resume immediately after that position.
16525
+ *
16526
+ * Ordered by margin account id ascending.
16527
+ *
16528
+ * Filters must match the request that produced the token, or the request
16529
+ * is rejected 400.
16530
+ */
16531
+ pageToken?: string;
16532
+ };
16533
+ header?: never;
16534
+ path?: never;
16535
+ cookie?: never;
16536
+ };
16537
+ requestBody?: never;
16538
+ responses: {
16539
+ /** @description OK */
16540
+ 200: {
16541
+ headers: {
16542
+ [name: string]: unknown;
16543
+ };
16544
+ content: {
16545
+ "application/json": components["schemas"]["ListAppMarginAccountsResponse"];
16546
+ };
16547
+ };
16548
+ /** @description Bad request (missing client_id, invalid address, page size or page token) */
16549
+ 400: {
16550
+ headers: {
16551
+ [name: string]: unknown;
16552
+ };
16553
+ content?: never;
16554
+ };
16555
+ /** @description No active, displayed application has this client_id (unknown, inactive and hidden builders read alike) */
16556
+ 404: {
16557
+ headers: {
16558
+ [name: string]: unknown;
16559
+ };
16560
+ content?: never;
16561
+ };
16562
+ /** @description Public read rate limit exceeded for this client IP; retry after the interval in details.retryAfter */
16563
+ 429: {
16564
+ headers: {
16565
+ [name: string]: unknown;
16566
+ };
16567
+ content?: never;
16568
+ };
16569
+ /** @description Internal server error */
16570
+ 500: {
16571
+ headers: {
16572
+ [name: string]: unknown;
16573
+ };
16574
+ content?: never;
16575
+ };
16576
+ };
16577
+ };
16275
16578
  list_application_movements: {
16276
16579
  parameters: {
16277
16580
  query: {
@@ -16424,6 +16727,13 @@ export interface operations {
16424
16727
  };
16425
16728
  content?: never;
16426
16729
  };
16730
+ /** @description The read did not finish within its 3 s budget; narrow the filters or retry later */
16731
+ 503: {
16732
+ headers: {
16733
+ [name: string]: unknown;
16734
+ };
16735
+ content?: never;
16736
+ };
16427
16737
  };
16428
16738
  };
16429
16739
  get_application_stats: {
@@ -16476,6 +16786,13 @@ export interface operations {
16476
16786
  };
16477
16787
  content?: never;
16478
16788
  };
16789
+ /** @description The read did not finish within its 3 s budget; narrow the filters or retry later */
16790
+ 503: {
16791
+ headers: {
16792
+ [name: string]: unknown;
16793
+ };
16794
+ content?: never;
16795
+ };
16479
16796
  };
16480
16797
  };
16481
16798
  list_application_users: {
@@ -22150,6 +22467,58 @@ export interface operations {
22150
22467
  };
22151
22468
  };
22152
22469
  };
22470
+ list_rfqs: {
22471
+ parameters: {
22472
+ query?: {
22473
+ /** @description RFQs per page, 1 to 100 (default 50) */
22474
+ pageSize?: number;
22475
+ pageToken?: string;
22476
+ };
22477
+ header?: never;
22478
+ path?: never;
22479
+ cookie?: never;
22480
+ };
22481
+ requestBody?: never;
22482
+ responses: {
22483
+ /** @description OK */
22484
+ 200: {
22485
+ headers: {
22486
+ [name: string]: unknown;
22487
+ };
22488
+ content: {
22489
+ "application/json": components["schemas"]["ListRfqsResponse"];
22490
+ };
22491
+ };
22492
+ /** @description Invalid page size or malformed page token */
22493
+ 400: {
22494
+ headers: {
22495
+ [name: string]: unknown;
22496
+ };
22497
+ content?: never;
22498
+ };
22499
+ /** @description Authentication required */
22500
+ 401: {
22501
+ headers: {
22502
+ [name: string]: unknown;
22503
+ };
22504
+ content?: never;
22505
+ };
22506
+ /** @description RFQ is not enabled for this account (RFQ_DISABLED) */
22507
+ 403: {
22508
+ headers: {
22509
+ [name: string]: unknown;
22510
+ };
22511
+ content?: never;
22512
+ };
22513
+ /** @description RFQ service unavailable; retry */
22514
+ 503: {
22515
+ headers: {
22516
+ [name: string]: unknown;
22517
+ };
22518
+ content?: never;
22519
+ };
22520
+ };
22521
+ };
22153
22522
  create_rfq: {
22154
22523
  parameters: {
22155
22524
  query?: never;
@@ -23437,6 +23806,8 @@ export interface operations {
23437
23806
  * pair is rejected rather than seeking into another pair's history.
23438
23807
  */
23439
23808
  pageToken?: string;
23809
+ /** @description The execution source to keep: RFQ (RFQ block fills) or CLOB (order-book fills), the values of each trade's executionSource. Omit for every fill. RFQ covers recent fills (the hot trade store); older RFQ fills stay on the unfiltered pages */
23810
+ executionSource?: "RFQ" | "CLOB";
23440
23811
  };
23441
23812
  header?: never;
23442
23813
  path: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xmonaco/types",
3
- "version": "1.1.8",
3
+ "version": "1.1.10",
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.8",
19
+ "@0xmonaco/contracts": "1.1.10",
20
20
  "zod": "^4.6.7"
21
21
  },
22
22
  "peerDependencies": {