@0xmonaco/types 1.0.56 → 1.0.58-develop.f12e78b
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.
- package/dist/auth/index.d.ts +17 -3
- package/dist/buildercodes/index.d.ts +71 -0
- package/dist/buildercodes/index.js +7 -0
- package/dist/buildercodes/responses.d.ts +94 -0
- package/dist/buildercodes/responses.js +92 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/positions/index.d.ts +28 -0
- package/dist/profile/index.d.ts +35 -1
- package/dist/sdk/index.d.ts +3 -0
- package/dist/trading/index.d.ts +22 -2
- package/dist/trading/orders.d.ts +59 -3
- package/dist/trading/responses.d.ts +17 -1
- package/dist/validation/profile.d.ts +13 -0
- package/dist/validation/profile.js +9 -1
- package/dist/validation/trading.d.ts +53 -2
- package/dist/validation/trading.js +13 -0
- package/dist/websocket/events/orders-events.d.ts +38 -1
- package/dist/websocket/events/position-events.d.ts +43 -0
- package/dist/websocket/snapshots.d.ts +11 -3
- package/dist/wire/operations.d.ts +1 -1
- package/dist/wire/operations.js +7 -0
- package/dist/wire/schema.d.ts +1201 -59
- package/package.json +2 -2
package/dist/wire/schema.d.ts
CHANGED
|
@@ -267,6 +267,46 @@ export interface paths {
|
|
|
267
267
|
patch?: never;
|
|
268
268
|
trace?: never;
|
|
269
269
|
};
|
|
270
|
+
"/api/v1/accounts/self-trade-prevention": {
|
|
271
|
+
parameters: {
|
|
272
|
+
query?: never;
|
|
273
|
+
header?: never;
|
|
274
|
+
path?: never;
|
|
275
|
+
cookie?: never;
|
|
276
|
+
};
|
|
277
|
+
/**
|
|
278
|
+
* Get your self-trade-prevention default
|
|
279
|
+
* @description Get your self-trade-prevention default.
|
|
280
|
+
*
|
|
281
|
+
* Return the authenticated wallet's self-trade-prevention default — the mode
|
|
282
|
+
* applied when an order from this wallet family (every account sharing the
|
|
283
|
+
* wallet address, across applications) would match against the family's own
|
|
284
|
+
* resting order and the order itself names no override. `is_custom` is true
|
|
285
|
+
* when the wallet has explicitly set a default; false means the platform
|
|
286
|
+
* default (`CANCEL_MAKER`) is in effect.
|
|
287
|
+
*/
|
|
288
|
+
get: operations["get_self_trade_prevention_default"];
|
|
289
|
+
/**
|
|
290
|
+
* Set your self-trade-prevention default
|
|
291
|
+
* @description Set your self-trade-prevention default.
|
|
292
|
+
*
|
|
293
|
+
* Set the authenticated wallet's self-trade-prevention default to one of
|
|
294
|
+
* `CANCEL_MAKER`, `CANCEL_TAKER`, `CANCEL_BOTH`, or `SKIP` (input is
|
|
295
|
+
* case-insensitive; responses always carry these spellings). The default is
|
|
296
|
+
* wallet-scoped — it covers every application and account sharing the wallet
|
|
297
|
+
* address — and a per-order mode always overrides it. The write is sequenced
|
|
298
|
+
* through the matching engine; on success the next order from the wallet
|
|
299
|
+
* family already resolves the new mode. Delegated-agent sessions cannot
|
|
300
|
+
* change it.
|
|
301
|
+
*/
|
|
302
|
+
put: operations["set_self_trade_prevention_default"];
|
|
303
|
+
post?: never;
|
|
304
|
+
delete?: never;
|
|
305
|
+
options?: never;
|
|
306
|
+
head?: never;
|
|
307
|
+
patch?: never;
|
|
308
|
+
trace?: never;
|
|
309
|
+
};
|
|
270
310
|
"/api/v1/accounts/sub-accounts": {
|
|
271
311
|
parameters: {
|
|
272
312
|
query?: never;
|
|
@@ -545,8 +585,21 @@ export interface paths {
|
|
|
545
585
|
* @description Create authentication challenge.
|
|
546
586
|
*
|
|
547
587
|
* Generate a cryptographic challenge (nonce) for wallet-based authentication.
|
|
548
|
-
* The
|
|
549
|
-
*
|
|
588
|
+
* The wallet must authorize the returned message to prove control of the
|
|
589
|
+
* address. An EOA does that by signing it with its private key. A
|
|
590
|
+
* smart-contract wallet has no private key and instead produces a signature
|
|
591
|
+
* its own contract will accept, which Monaco checks under EIP-1271 — see
|
|
592
|
+
* Verify.
|
|
593
|
+
*
|
|
594
|
+
* The challenge is single-use and binds the session public key supplied here,
|
|
595
|
+
* so it authorizes exactly one keypair, once. The lifetime is 5 minutes, or
|
|
596
|
+
* 30 minutes for EVERY address while contract-signature login is enabled on
|
|
597
|
+
* the deployment — a multisig must collect owner approvals before it can
|
|
598
|
+
* answer, and the window is uniform rather than eligibility-specific so this
|
|
599
|
+
* unauthenticated endpoint cannot be used to probe which addresses hold a
|
|
600
|
+
* BuilderCodes payout bucket. Widening it is cheap: a longer window is a
|
|
601
|
+
* longer-lived offer to authorize one predetermined keypair once, never a
|
|
602
|
+
* longer-lived credential.
|
|
550
603
|
*/
|
|
551
604
|
post: operations["create_challenge"];
|
|
552
605
|
delete?: never;
|
|
@@ -619,6 +672,30 @@ export interface paths {
|
|
|
619
672
|
* Verify the signed challenge message and create an authenticated session.
|
|
620
673
|
* Binds the caller-provided ed25519 session public key to the new session;
|
|
621
674
|
* subsequent requests are signed with the matching private key.
|
|
675
|
+
*
|
|
676
|
+
* How the signature is checked depends on the address. Almost every address
|
|
677
|
+
* is verified by recovering the signing key, exactly as before. EIP-1271
|
|
678
|
+
* verification applies only to an address that is BOTH eligible for
|
|
679
|
+
* contract-signature login AND has contract code deployed on chain: an
|
|
680
|
+
* eligible payout wallet that is an ordinary EOA is still verified by
|
|
681
|
+
* recovery. The two are mutually exclusive, and the request is identical
|
|
682
|
+
* either way — `signature` carries whatever the wallet produced, and no
|
|
683
|
+
* field changes. The one bound is length: a contract signature over 8192
|
|
684
|
+
* decoded bytes is refused as invalid rather than forwarded to the chain,
|
|
685
|
+
* which is far above any realistic owner set.
|
|
686
|
+
*
|
|
687
|
+
* Because deciding that requires reading the chain, this adds one
|
|
688
|
+
* client-visible outcome the recovery path does not have: UNAVAILABLE (REST
|
|
689
|
+
* 503). It is retryable and is NOT a verdict on the signature. It covers
|
|
690
|
+
* three cases, and an eligible address can see any of them even when it turns
|
|
691
|
+
* out to be an EOA, because the code lookup happens first: the chain did not
|
|
692
|
+
* answer, it did not answer within the deadline, or the server declined to
|
|
693
|
+
* ask because its own concurrent-verification capacity was full. That last
|
|
694
|
+
* one is local saturation rather than a chain fault, so an operator
|
|
695
|
+
* diagnosing it should check this service before the RPC endpoint.
|
|
696
|
+
*
|
|
697
|
+
* A rejected signature is 401, and so is a contract that rejects by
|
|
698
|
+
* REVERTING: that is the wallet answering "no", not a failure to ask.
|
|
622
699
|
*/
|
|
623
700
|
post: operations["verify_signature"];
|
|
624
701
|
delete?: never;
|
|
@@ -627,6 +704,180 @@ export interface paths {
|
|
|
627
704
|
patch?: never;
|
|
628
705
|
trace?: never;
|
|
629
706
|
};
|
|
707
|
+
"/api/v1/buildercodes/config": {
|
|
708
|
+
parameters: {
|
|
709
|
+
query?: never;
|
|
710
|
+
header?: never;
|
|
711
|
+
path?: never;
|
|
712
|
+
cookie?: never;
|
|
713
|
+
};
|
|
714
|
+
/**
|
|
715
|
+
* Get your BuilderCodes program configuration
|
|
716
|
+
* @description Read this application's BuilderCodes program state.
|
|
717
|
+
*
|
|
718
|
+
* The application is taken from the authenticated session; there is no
|
|
719
|
+
* application id in the request. The caller must be the application's
|
|
720
|
+
* configured payout wallet. This method is gated by `buildercodes_enabled`
|
|
721
|
+
* like the rest of the service.
|
|
722
|
+
*/
|
|
723
|
+
get: operations["get_buildercodes_config"];
|
|
724
|
+
put?: never;
|
|
725
|
+
post?: never;
|
|
726
|
+
delete?: never;
|
|
727
|
+
options?: never;
|
|
728
|
+
head?: never;
|
|
729
|
+
patch?: never;
|
|
730
|
+
trace?: never;
|
|
731
|
+
};
|
|
732
|
+
"/api/v1/buildercodes/payouts": {
|
|
733
|
+
parameters: {
|
|
734
|
+
query?: never;
|
|
735
|
+
header?: never;
|
|
736
|
+
path?: never;
|
|
737
|
+
cookie?: never;
|
|
738
|
+
};
|
|
739
|
+
/**
|
|
740
|
+
* List your per-trade BuilderCodes earnings
|
|
741
|
+
* @description List this application's per-trade BuilderCodes earnings.
|
|
742
|
+
*
|
|
743
|
+
* Newest credits are returned first. The application is taken from the
|
|
744
|
+
* authenticated session and cannot be selected by the caller.
|
|
745
|
+
*/
|
|
746
|
+
get: operations["list_buildercode_payouts"];
|
|
747
|
+
put?: never;
|
|
748
|
+
post?: never;
|
|
749
|
+
delete?: never;
|
|
750
|
+
options?: never;
|
|
751
|
+
head?: never;
|
|
752
|
+
patch?: never;
|
|
753
|
+
trace?: never;
|
|
754
|
+
};
|
|
755
|
+
"/api/v1/buildercodes/payouts/summary": {
|
|
756
|
+
parameters: {
|
|
757
|
+
query?: never;
|
|
758
|
+
header?: never;
|
|
759
|
+
path?: never;
|
|
760
|
+
cookie?: never;
|
|
761
|
+
};
|
|
762
|
+
/**
|
|
763
|
+
* Summarize your BuilderCodes earnings
|
|
764
|
+
* @description Summarize this application's BuilderCodes earnings by token.
|
|
765
|
+
*
|
|
766
|
+
* Amounts stay separated by token because they are RAW atomic units. The
|
|
767
|
+
* application is taken from the authenticated session.
|
|
768
|
+
*/
|
|
769
|
+
get: operations["get_buildercode_payout_summary"];
|
|
770
|
+
put?: never;
|
|
771
|
+
post?: never;
|
|
772
|
+
delete?: never;
|
|
773
|
+
options?: never;
|
|
774
|
+
head?: never;
|
|
775
|
+
patch?: never;
|
|
776
|
+
trace?: never;
|
|
777
|
+
};
|
|
778
|
+
"/api/v1/buildercodes/rewards/balance": {
|
|
779
|
+
parameters: {
|
|
780
|
+
query?: never;
|
|
781
|
+
header?: never;
|
|
782
|
+
path?: never;
|
|
783
|
+
cookie?: never;
|
|
784
|
+
};
|
|
785
|
+
/**
|
|
786
|
+
* Get your accrued BuilderCodes balance
|
|
787
|
+
* @description Read the caller's accrued BuilderCodes reward-bucket balances.
|
|
788
|
+
*
|
|
789
|
+
* The bucket is derived from the authenticated wallet under the reserved
|
|
790
|
+
* BuilderCodes application. Current enrollment is not required, so a former
|
|
791
|
+
* payout wallet can still inspect and claim what it accrued. Returns an empty
|
|
792
|
+
* list when no payout bucket or non-zero balance exists.
|
|
793
|
+
*/
|
|
794
|
+
get: operations["get_buildercode_rewards_balance"];
|
|
795
|
+
put?: never;
|
|
796
|
+
post?: never;
|
|
797
|
+
delete?: never;
|
|
798
|
+
options?: never;
|
|
799
|
+
head?: never;
|
|
800
|
+
patch?: never;
|
|
801
|
+
trace?: never;
|
|
802
|
+
};
|
|
803
|
+
"/api/v1/buildercodes/rewards/claim": {
|
|
804
|
+
parameters: {
|
|
805
|
+
query?: never;
|
|
806
|
+
header?: never;
|
|
807
|
+
path?: never;
|
|
808
|
+
cookie?: never;
|
|
809
|
+
};
|
|
810
|
+
get?: never;
|
|
811
|
+
put?: never;
|
|
812
|
+
/**
|
|
813
|
+
* Claim accrued BuilderCodes payout balance
|
|
814
|
+
* @description Claim accrued BuilderCodes payout balance.
|
|
815
|
+
*
|
|
816
|
+
* Move accrued BuilderCodes payout balance from your reserved payout bucket
|
|
817
|
+
* into a trading balance under the authenticated application, making it
|
|
818
|
+
* withdrawable through the ordinary withdrawal flow. Ledger-only (one shared
|
|
819
|
+
* vault + one backend ledger) — no on-chain transaction and no gas.
|
|
820
|
+
*
|
|
821
|
+
* The bucket is resolved from the AUTHENTICATED caller's own wallet address,
|
|
822
|
+
* never from the request body, so a caller can only ever claim their own
|
|
823
|
+
* accrued balance. A wallet that has never been an enrolled frontend's payout
|
|
824
|
+
* address simply has an empty bucket. A wallet that USED to be a payout
|
|
825
|
+
* address keeps whatever it accrued back then and can still claim it —
|
|
826
|
+
* payout-address changes are not retroactive, so current enrollment is
|
|
827
|
+
* deliberately not required.
|
|
828
|
+
*
|
|
829
|
+
* The payout wallet may be an EOA or a smart-contract wallet. An EOA answers
|
|
830
|
+
* Monaco's signature challenge directly. A contract wallet — a multisig such
|
|
831
|
+
* as a Safe — holds no private key and cannot, so it authenticates by EIP-1271
|
|
832
|
+
* contract signature instead: Monaco asks the wallet contract whether it
|
|
833
|
+
* accepts the challenge. That path is deliberately narrow. It is offered only
|
|
834
|
+
* to a wallet that holds a BuilderCodes payout bucket, only while the
|
|
835
|
+
* `contract_wallet_auth_enabled` flag is on, and only where the deployment has
|
|
836
|
+
* a chain RPC endpoint configured. While any of those is not met, login is
|
|
837
|
+
* EOA-only and a contract payout wallet can neither call this endpoint nor
|
|
838
|
+
* withdraw afterwards, so its accrued share stays unclaimable.
|
|
839
|
+
*
|
|
840
|
+
* Delegated-agent sessions are refused: a delegated grant conveys only
|
|
841
|
+
* order-management authority, and this claim converts reserved balance into a
|
|
842
|
+
* tradeable one. The refusal happens before the feature check, so a delegated
|
|
843
|
+
* caller is refused whether or not BuilderCodes is enabled.
|
|
844
|
+
*
|
|
845
|
+
* Transport contracts differ, and this comment is emitted into the generated
|
|
846
|
+
* gRPC SDK where HTTP statuses do not exist. An insufficient payout balance
|
|
847
|
+
* is **HTTP 409** on REST and **FAILED_PRECONDITION** on gRPC; a refused
|
|
848
|
+
* caller (delegated session, or BuilderCodes disabled) is **HTTP 403** on
|
|
849
|
+
* REST and **PERMISSION_DENIED** on gRPC.
|
|
850
|
+
*
|
|
851
|
+
* A claim can also fail as **HTTP 503** / **UNAVAILABLE** when the matching
|
|
852
|
+
* engine is unreachable, restarting, or slow to answer. Treat that as an
|
|
853
|
+
* UNKNOWN outcome, NOT a rejection. The request is admitted to the sequencer
|
|
854
|
+
* before its reply is sent, so a claim that timed out in transit may still
|
|
855
|
+
* commit, and there is no idempotency key — a blind retry can claim a SECOND
|
|
856
|
+
* time. Do NOT retry automatically, and do not settle it with a balance
|
|
857
|
+
* read: an admitted claim can still be sitting in the sequencer queue when
|
|
858
|
+
* the balance is read, so an unchanged balance does not prove the claim will
|
|
859
|
+
* not commit. Treat the claim as PENDING rather than failed, re-check once
|
|
860
|
+
* the engine is healthy again, and reconcile before issuing another claim.
|
|
861
|
+
*
|
|
862
|
+
* Not every 503 is ambiguous, and the safe ones are tagged. TWO outcomes are
|
|
863
|
+
* refused BEFORE the claim can be admitted to the sequencer, so they left no
|
|
864
|
+
* durable-log or state footprint and definitely committed nothing. One is a
|
|
865
|
+
* deliberate maintenance block, where REST carries
|
|
866
|
+
* `"error": "OPERATIONS_BLOCKED"` and gRPC tags the status with
|
|
867
|
+
* `x-maintenance-blocked: true`. The other is a sequencer admission rejection
|
|
868
|
+
* when the engine is saturated, where REST carries `"code": "OVERLOADED"` and
|
|
869
|
+
* gRPC carries the same code in the status' error details. Both are safe to
|
|
870
|
+
* retry with backoff, and an overload positively wants one. Only an UNTAGGED
|
|
871
|
+
* availability failure — matching-engine transport, timeout and fail-closed
|
|
872
|
+
* paths — carries the unknown outcome.
|
|
873
|
+
*/
|
|
874
|
+
post: operations["claim_buildercode_rewards"];
|
|
875
|
+
delete?: never;
|
|
876
|
+
options?: never;
|
|
877
|
+
head?: never;
|
|
878
|
+
patch?: never;
|
|
879
|
+
trace?: never;
|
|
880
|
+
};
|
|
630
881
|
"/api/v1/delegated-agents": {
|
|
631
882
|
parameters: {
|
|
632
883
|
query?: never;
|
|
@@ -2869,6 +3120,12 @@ export interface components {
|
|
|
2869
3120
|
clientOrderId?: string | null;
|
|
2870
3121
|
/** @description Optional submission identity, distinct from clientOrderId. Use 1-64 characters from [A-Za-z0-9._:-], without whitespace. Scoped to your authenticated user/subaccount and application, shared by create and batch-create items. Retrying the same key and normalized order payload within 24 hours of the original acceptance returns the original committed submission result, even after a fill or cancellation, without executing again. A full response cache does not prevent new keyed submissions: durable responses may be evicted while exact key history remains retained. If response capacity is protected by pending durability or persistence, a new key is refused with ORDER_SUBMISSION_CAPACITY_EXCEEDED. A retry whose original response cannot currently be retrieved returns ORDER_SUBMISSION_UNAVAILABLE and never executes again. Both are HTTP 503 / gRPC UNAVAILABLE, or per-item errors in batches. Retry the same key and payload; for previously accepted keys, stay within 24 hours of the original acceptance. A capacity refusal does not accept or reserve a new key. Different payload returns IDEMPOTENCY_KEY_CONFLICT (HTTP 409 / gRPC ALREADY_EXISTS; per-item error in batches). Validation failures before acceptance do not reserve the key. The window does not extend on retries; after it expires the key may execute a new order, so never retry an unresolved submission after 24 hours. Generate a fresh key for each intended new order and retain it across transport retries. Without a key, a timeout or 5xx leaves the outcome unknown and must not be blindly retried. */
|
|
2871
3122
|
idempotencyKey?: string | null;
|
|
3123
|
+
/**
|
|
3124
|
+
* @description Per-order self-trade-prevention override: how the engine resolves this order matching against one of your own resting orders (your whole wallet family, subaccounts included; the incoming order's mode governs the step and resting orders' modes are never consulted). CANCEL_MAKER cancels each of your resting orders encountered and keeps matching. CANCEL_TAKER fills third-party liquidity up to the first self-touch, then cancels the incoming order's remainder — a zero-fill CANCELLED outcome is possible. CANCEL_BOTH additionally cancels the encountered resting orders. SKIP trades around your resting orders; a remainder that would rest crossing one of your surviving orders is cancelled instead of resting. Omitted, your wallet's configured default applies, else the platform default CANCEL_MAKER. STP cancellations carry terminalReason SELF_TRADE_PREVENTION and stpCounterpartyOrderId on reads and WebSocket events. With time_in_force FOK: CANCEL_MAKER cancels your makers first and then fills or kills; CANCEL_TAKER and SKIP cancel the whole order when self is in the fill path; CANCEL_BOTH fails only this item with a per-item SELF_TRADE_NOT_ALLOWED error — the batch itself still returns 2xx / OK. An unknown value likewise fails only this item, with error.code INVALID_SELF_TRADE_PREVENTION_MODE. The requested value is echoed back as selfTradePreventionMode on order reads, absent when omitted here.
|
|
3125
|
+
* @example CANCEL_TAKER
|
|
3126
|
+
* @enum {string|null}
|
|
3127
|
+
*/
|
|
3128
|
+
selfTradePreventionMode?: "CANCEL_MAKER" | "CANCEL_TAKER" | "CANCEL_BOTH" | "SKIP" | null;
|
|
2872
3129
|
};
|
|
2873
3130
|
BatchCreateOrdersRequest: {
|
|
2874
3131
|
orders: components["schemas"]["BatchCreateOrderItem"][];
|
|
@@ -2944,10 +3201,16 @@ export interface components {
|
|
|
2944
3201
|
*/
|
|
2945
3202
|
postOnly?: boolean | null;
|
|
2946
3203
|
/**
|
|
2947
|
-
* @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 its fan-out is non-persistent Core NATS: the service can re-establish an ended upstream subscription without closing your socket, so events 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: a malformed value
|
|
3204
|
+
* @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 its fan-out is non-persistent Core NATS: the service can re-establish an ended upstream subscription without closing your socket, so events 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.
|
|
2948
3205
|
* @example quote-btc-1130-a
|
|
2949
3206
|
*/
|
|
2950
3207
|
clientOrderId?: string | null;
|
|
3208
|
+
/**
|
|
3209
|
+
* @description Per-order self-trade-prevention override for the replacement: CANCEL_MAKER, CANCEL_TAKER, CANCEL_BOTH, or SKIP (see the create-order field for the full semantics). 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 override. Omitted, your wallet's configured default applies, else the platform default CANCEL_MAKER. An unknown value fails only this item, with error.code INVALID_SELF_TRADE_PREVENTION_MODE. The requested value is echoed back as selfTradePreventionMode on order reads, absent when omitted here.
|
|
3210
|
+
* @example CANCEL_TAKER
|
|
3211
|
+
* @enum {string|null}
|
|
3212
|
+
*/
|
|
3213
|
+
selfTradePreventionMode?: "CANCEL_MAKER" | "CANCEL_TAKER" | "CANCEL_BOTH" | "SKIP" | null;
|
|
2951
3214
|
};
|
|
2952
3215
|
BatchReplaceOrdersRequest: {
|
|
2953
3216
|
orders: components["schemas"]["BatchReplaceOrderItem"][];
|
|
@@ -2990,6 +3253,73 @@ export interface components {
|
|
|
2990
3253
|
matchResult?: components["schemas"]["MatchResult"];
|
|
2991
3254
|
error?: components["schemas"]["BatchReplaceError"];
|
|
2992
3255
|
};
|
|
3256
|
+
BuildercodePayout: {
|
|
3257
|
+
/**
|
|
3258
|
+
* Format: uuid
|
|
3259
|
+
* @description Trade that generated this credit.
|
|
3260
|
+
*/
|
|
3261
|
+
tradeId?: string | null;
|
|
3262
|
+
/**
|
|
3263
|
+
* @description Application payout address at credit time.
|
|
3264
|
+
* @example 0x0000000000000000000000000000000000000001
|
|
3265
|
+
*/
|
|
3266
|
+
payoutAddress?: string | null;
|
|
3267
|
+
/**
|
|
3268
|
+
* @description Credit token contract address.
|
|
3269
|
+
* @example 0x0000000000000000000000000000000000000002
|
|
3270
|
+
*/
|
|
3271
|
+
token?: string | null;
|
|
3272
|
+
/**
|
|
3273
|
+
* @description Credited amount in RAW atomic units of the token.
|
|
3274
|
+
* @example 1000000
|
|
3275
|
+
*/
|
|
3276
|
+
amount?: string | null;
|
|
3277
|
+
/**
|
|
3278
|
+
* Format: int32
|
|
3279
|
+
* @description Realized whole-basis-point rate for this credit after the Monaco-floor clamp, computed from the credited amount divided by the gross protocol take and truncated down. This can be lower than the configured BuilderCodes budget.
|
|
3280
|
+
* @example 1000
|
|
3281
|
+
*/
|
|
3282
|
+
appliedBps?: number | null;
|
|
3283
|
+
/**
|
|
3284
|
+
* Format: date-time
|
|
3285
|
+
* @description RFC 3339 credit timestamp.
|
|
3286
|
+
*/
|
|
3287
|
+
createdAt?: string | null;
|
|
3288
|
+
};
|
|
3289
|
+
BuildercodePayoutTokenTotal: {
|
|
3290
|
+
/**
|
|
3291
|
+
* @description Credit token contract address.
|
|
3292
|
+
* @example 0x0000000000000000000000000000000000000002
|
|
3293
|
+
*/
|
|
3294
|
+
token?: string | null;
|
|
3295
|
+
/**
|
|
3296
|
+
* @description Summed credits in RAW atomic units of this token.
|
|
3297
|
+
* @example 5000000
|
|
3298
|
+
*/
|
|
3299
|
+
totalAmount?: string | null;
|
|
3300
|
+
/**
|
|
3301
|
+
* Format: int64
|
|
3302
|
+
* @description Number of credits included in this token total.
|
|
3303
|
+
*/
|
|
3304
|
+
payoutCount?: number | null;
|
|
3305
|
+
/**
|
|
3306
|
+
* Format: date-time
|
|
3307
|
+
* @description RFC 3339 timestamp of this token's newest credit.
|
|
3308
|
+
*/
|
|
3309
|
+
lastCreditedAt?: string | null;
|
|
3310
|
+
};
|
|
3311
|
+
BuildercodeRewardsBalance: {
|
|
3312
|
+
/**
|
|
3313
|
+
* @description Reward token contract address.
|
|
3314
|
+
* @example 0x0000000000000000000000000000000000000002
|
|
3315
|
+
*/
|
|
3316
|
+
token?: string | null;
|
|
3317
|
+
/**
|
|
3318
|
+
* @description Available BuilderCodes reward balance in RAW atomic units.
|
|
3319
|
+
* @example 1200000
|
|
3320
|
+
*/
|
|
3321
|
+
available?: string | null;
|
|
3322
|
+
};
|
|
2993
3323
|
CancelConditionalOrderResponse: {
|
|
2994
3324
|
/**
|
|
2995
3325
|
* Format: uuid
|
|
@@ -3165,6 +3495,30 @@ export interface components {
|
|
|
3165
3495
|
*/
|
|
3166
3496
|
reason?: string | null;
|
|
3167
3497
|
};
|
|
3498
|
+
ClaimBuildercodeRewardsRequest: {
|
|
3499
|
+
/**
|
|
3500
|
+
* @description Payout token contract address (0x-prefixed) to claim. BuilderCodes shares accrue in the quote token of the traded pair.
|
|
3501
|
+
* @example 0x0000000000000000000000000000000000000002
|
|
3502
|
+
*/
|
|
3503
|
+
token: string;
|
|
3504
|
+
/**
|
|
3505
|
+
* @description Amount to claim, in RAW atomic units of the token. Must be positive and no greater than the accrued payout balance.
|
|
3506
|
+
* @example 1000000
|
|
3507
|
+
*/
|
|
3508
|
+
amount: string;
|
|
3509
|
+
};
|
|
3510
|
+
ClaimBuildercodeRewardsResponse: {
|
|
3511
|
+
/**
|
|
3512
|
+
* @description Your BuilderCodes payout-bucket balance after the claim, RAW atomic units.
|
|
3513
|
+
* @example 0
|
|
3514
|
+
*/
|
|
3515
|
+
payoutBalance?: string | null;
|
|
3516
|
+
/**
|
|
3517
|
+
* @description Your trading balance for the token after the claim, RAW atomic units.
|
|
3518
|
+
* @example 1000000
|
|
3519
|
+
*/
|
|
3520
|
+
tradingBalance?: string | null;
|
|
3521
|
+
};
|
|
3168
3522
|
ClosePositionRequest: {
|
|
3169
3523
|
quantity?: string | null;
|
|
3170
3524
|
closeType?: string | null;
|
|
@@ -3383,6 +3737,12 @@ export interface components {
|
|
|
3383
3737
|
clientOrderId?: string | null;
|
|
3384
3738
|
/** @description Optional submission identity, distinct from clientOrderId. Use 1-64 characters from [A-Za-z0-9._:-], without whitespace. Scoped to your authenticated user/subaccount and application, shared by create and batch-create items. Retrying the same key and normalized order payload within 24 hours of the original acceptance returns the original committed submission result, even after a fill or cancellation, without executing again. A full response cache does not prevent new keyed submissions: durable responses may be evicted while exact key history remains retained. If response capacity is protected by pending durability or persistence, a new key is refused with ORDER_SUBMISSION_CAPACITY_EXCEEDED. A retry whose original response cannot currently be retrieved returns ORDER_SUBMISSION_UNAVAILABLE and never executes again. Both are HTTP 503 / gRPC UNAVAILABLE, or per-item errors in batches. Retry the same key and payload; for previously accepted keys, stay within 24 hours of the original acceptance. A capacity refusal does not accept or reserve a new key. Different payload returns IDEMPOTENCY_KEY_CONFLICT (HTTP 409 / gRPC ALREADY_EXISTS; per-item error in batches). Validation failures before acceptance do not reserve the key. The window does not extend on retries; after it expires the key may execute a new order, so never retry an unresolved submission after 24 hours. Generate a fresh key for each intended new order and retain it across transport retries. Without a key, a timeout or 5xx leaves the outcome unknown and must not be blindly retried. */
|
|
3385
3739
|
idempotencyKey?: string | null;
|
|
3740
|
+
/**
|
|
3741
|
+
* @description Per-order self-trade-prevention override: how the engine resolves this order matching against one of your own resting orders (your whole wallet family, subaccounts included; the incoming order's mode governs the step and resting orders' modes are never consulted). CANCEL_MAKER cancels each of your resting orders encountered and keeps matching. CANCEL_TAKER fills third-party liquidity up to the first self-touch, then cancels the incoming order's remainder — a zero-fill CANCELLED outcome is possible. CANCEL_BOTH additionally cancels the encountered resting orders. SKIP trades around your resting orders; a remainder that would rest crossing one of your surviving orders is cancelled instead of resting. Omitted, your wallet's configured default applies, else the platform default CANCEL_MAKER. STP cancellations carry terminalReason SELF_TRADE_PREVENTION and stpCounterpartyOrderId on reads and WebSocket events. With time_in_force FOK: CANCEL_MAKER cancels your makers first and then fills or kills; CANCEL_TAKER and SKIP cancel the whole order when self is in the fill path; CANCEL_BOTH rejects the placement with SELF_TRADE_NOT_ALLOWED. The requested value is echoed back as selfTradePreventionMode on order reads, absent when omitted here.
|
|
3742
|
+
* @example CANCEL_TAKER
|
|
3743
|
+
* @enum {string|null}
|
|
3744
|
+
*/
|
|
3745
|
+
selfTradePreventionMode?: "CANCEL_MAKER" | "CANCEL_TAKER" | "CANCEL_BOTH" | "SKIP" | null;
|
|
3386
3746
|
};
|
|
3387
3747
|
CreateOrderResponse: {
|
|
3388
3748
|
/**
|
|
@@ -4003,6 +4363,46 @@ export interface components {
|
|
|
4003
4363
|
*/
|
|
4004
4364
|
totalPages?: number | null;
|
|
4005
4365
|
};
|
|
4366
|
+
GetBuildercodePayoutSummaryResponse: {
|
|
4367
|
+
/**
|
|
4368
|
+
* Format: int64
|
|
4369
|
+
* @description Total credit count across every token.
|
|
4370
|
+
*/
|
|
4371
|
+
totalPayouts?: number | null;
|
|
4372
|
+
/**
|
|
4373
|
+
* Format: date-time
|
|
4374
|
+
* @description RFC 3339 timestamp of the newest credit, or null when none exists.
|
|
4375
|
+
*/
|
|
4376
|
+
lastCreditedAt?: string | null;
|
|
4377
|
+
/** @description Per-token earnings totals. Empty when this application has no payouts. */
|
|
4378
|
+
byToken?: components["schemas"]["BuildercodePayoutTokenTotal"][] | null;
|
|
4379
|
+
};
|
|
4380
|
+
GetBuildercodeRewardsBalanceResponse: {
|
|
4381
|
+
/** @description One entry per reward token with a non-zero available balance. */
|
|
4382
|
+
balances?: components["schemas"]["BuildercodeRewardsBalance"][] | null;
|
|
4383
|
+
};
|
|
4384
|
+
GetBuildercodesConfigResponse: {
|
|
4385
|
+
/**
|
|
4386
|
+
* Format: uuid
|
|
4387
|
+
* @description Application id derived from the authenticated session.
|
|
4388
|
+
*/
|
|
4389
|
+
applicationId?: string | null;
|
|
4390
|
+
/** @description Whether this application is currently enrolled in BuilderCodes. */
|
|
4391
|
+
enrolled?: boolean | null;
|
|
4392
|
+
/**
|
|
4393
|
+
* @description Current lowercase-normalized payout address, or null when none is configured.
|
|
4394
|
+
* @example 0x0000000000000000000000000000000000000001
|
|
4395
|
+
*/
|
|
4396
|
+
payoutAddress?: string | null;
|
|
4397
|
+
/** @description Current BuilderCodes feature-flag state. Successful responses are true because this endpoint is gated by the flag. */
|
|
4398
|
+
buildercodesEnabled?: boolean | null;
|
|
4399
|
+
/**
|
|
4400
|
+
* Format: uint32
|
|
4401
|
+
* @description Target BuilderCodes share in basis points, computed from the fill's gross non-negative Monaco protocol take and capped by the remainder after Monaco's floor.
|
|
4402
|
+
* @example 1000
|
|
4403
|
+
*/
|
|
4404
|
+
buildercodesBudgetBps?: number | null;
|
|
4405
|
+
};
|
|
4006
4406
|
/** @description OHLCV candlestick data. */
|
|
4007
4407
|
GetCandlesResponse: {
|
|
4008
4408
|
candles?: components["schemas"]["Candle"][] | null;
|
|
@@ -4386,7 +4786,7 @@ export interface components {
|
|
|
4386
4786
|
*/
|
|
4387
4787
|
tradingPairId?: string | null;
|
|
4388
4788
|
/**
|
|
4389
|
-
* @description
|
|
4789
|
+
* @description What kind of order this row is: LIMIT or MARKET for a book order, TWAP for a TWAP parent, CONDITIONAL for a price-triggered order. TWAP and CONDITIONAL appear only in responses — they name a row's kind and cannot be placed through the create-order request, which still takes LIMIT, MARKET or IOC. A row of either kind carries its kind-specific fields in `twap` or `conditional`; the fields shared by every kind (id, side, quantity, status, timestamps) are populated in place as usual.
|
|
4390
4790
|
* @example LIMIT
|
|
4391
4791
|
*/
|
|
4392
4792
|
orderType?: string | null;
|
|
@@ -4396,7 +4796,7 @@ export interface components {
|
|
|
4396
4796
|
*/
|
|
4397
4797
|
side?: string | null;
|
|
4398
4798
|
/**
|
|
4399
|
-
* @description Limit price (null for market orders)
|
|
4799
|
+
* @description Limit price (null for market orders). For a TWAP parent this is its optional parent-level limit price, and for a conditional order the limit price its triggered order will carry (null when it triggers as a market order).
|
|
4400
4800
|
* @example 35000.00
|
|
4401
4801
|
*/
|
|
4402
4802
|
price?: string | null;
|
|
@@ -4588,12 +4988,22 @@ export interface components {
|
|
|
4588
4988
|
* @example false
|
|
4589
4989
|
*/
|
|
4590
4990
|
postOnly?: boolean | null;
|
|
4991
|
+
/** @description Present only when orderType is TWAP: the full TWAP parent, identical to what GET /api/v1/orders/twap/{twapOrderId} returns — schedule, slice counters, progress, and terminal reason. The row's shared fields mirror it: quantity is the parent's total quantity, filledQuantity its executed quantity, and status maps its state onto the order statuses. */
|
|
4992
|
+
twap?: components["schemas"]["TwapOrder"] | null;
|
|
4993
|
+
/** @description Present only when orderType is CONDITIONAL: the full conditional order, identical to what the conditional-order endpoints return — trigger price and direction, condition type, linked group, and the order it triggers into. The row's shared fields mirror it, with status mapping its state onto the order statuses. */
|
|
4994
|
+
conditional?: components["schemas"]["ConditionalOrder"] | null;
|
|
4591
4995
|
/**
|
|
4592
4996
|
* Format: int64
|
|
4593
4997
|
* @description Opaque, compare-only revision counter for this order's state: the sequencer step that wrote it. A strictly higher value is strictly newer state for that order. The SAME counter is carried on every order WebSocket event and on the `orders` snapshot frame, so a reconnecting client reconciles on `(id, version)` — take the REST row when `snapshot.version >= local.version`, else keep local state. Note `>=`, not `>`: on the stream, equal versions mean the SAME STEP rather than identical state, because one step emits several events for one order (an `OrderPlaced` and then its fills) and a batch shares one step across every item. A REST row is that step's FINAL state, so it wins a tie. Between two REST reads the comparison is simpler — equal there does mean identical state. Do not read anything else into the number: it is not a count of updates, consecutive values are not expected (it is drawn from a global sequence shared by every order, so per-order values are sparse and gaps are normal), and it is not comparable across different orders. Absent means unknown: an order last written before this field existed. Fall back to a full field comparison for those rather than treating absent as version zero — and note that a comparison against an absent value is false in both directions, so an order held locally without one is never refreshed by the merge above; take the REST row unconditionally for those. Reconciling on this counter does NOT on its own close a reconnect gap: an order that filled or was cancelled while the socket was down appears in neither the resting snapshot nor the stream, so recover fills from `listUserTrades` (ordered by execution time) and resolve anything your local state believes is resting that the snapshot no longer lists with a targeted `getOrder`. Unlike `updatedAt`, this value is identical on every REST endpoint that serves the same order state, and never advances without a state change.
|
|
4594
4998
|
* @example 918342
|
|
4595
4999
|
*/
|
|
4596
5000
|
version?: number | null;
|
|
5001
|
+
/**
|
|
5002
|
+
* @description The per-order self-trade-prevention override REQUESTED when this order was placed or replaced: CANCEL_MAKER, CANCEL_TAKER, CANCEL_BOTH, or SKIP. Absent when the order carried no override — including every order placed before the field was accepted on write — even though a wallet or platform default still governed its matching. This echoes the request, not the resolved default.
|
|
5003
|
+
* @example CANCEL_TAKER
|
|
5004
|
+
* @enum {string|null}
|
|
5005
|
+
*/
|
|
5006
|
+
selfTradePreventionMode?: "CANCEL_MAKER" | "CANCEL_TAKER" | "CANCEL_BOTH" | "SKIP" | null;
|
|
4597
5007
|
};
|
|
4598
5008
|
/** @description Orderbook snapshot with token metadata and sequence number. */
|
|
4599
5009
|
GetOrderbookResponse: {
|
|
@@ -4962,6 +5372,12 @@ export interface components {
|
|
|
4962
5372
|
* partial.
|
|
4963
5373
|
*/
|
|
4964
5374
|
cumFees?: string | null;
|
|
5375
|
+
/**
|
|
5376
|
+
* Format: int64
|
|
5377
|
+
* @description Opaque, non-negative producer-owned version for this position row. Compare only within the same position; higher is newer. 0 is the unranked legacy sentinel and never participates in ordering: treat it exactly as an absent version and fall back to a full field comparison rather than ranking it as oldest. It advances on sequenced position mutations (open, add, reduce, close, funding, margin transfer, liquidation, ADL) and is shared by the persisted read, the WebSocket positions snapshot and a RANKED live position_update frame. A live frame is ranked only when it is a faithful projection of the row persisted at that sequence: in practice the fills that leave a position open. Frames that re-read live risk state after sequencing (funding, margin_added/margin_reduced) and terminal frames (which report size 0 and LIQUIDATED, while the stored row keeps its size and records CLOSED) omit the version even though the mutation did advance the persisted one, so an absent version never implies that nothing was persisted. mark_price, unrealized_pnl, liquidation_price and leverage are UNVERSIONED valuation fields re-derived from the oracle mark on every frame: the version does not advance for them (a valuation-only oracle tick persists nothing; a state-transitioning one, a breach or recovery, does restamp the account's open positions), so the merge rule is per field group — on an equal version skip the versioned fields but still take those four from the newer payload, because discarding a whole payload on an equal version freezes displayed PnL. isolated_margin is the one exception among the versioned fields: the WebSocket positions snapshot overlays it from an independent live matching-engine read rather than the versioned row, so take it from the newest payload on an equal version too or a consumer can retain stale backing. A response served from live matching-engine state reports 0 (unranked): the engine holds the state but not the version.
|
|
5378
|
+
* @example 918342
|
|
5379
|
+
*/
|
|
5380
|
+
version?: number | null;
|
|
4965
5381
|
};
|
|
4966
5382
|
GetPositionRiskResponse: {
|
|
4967
5383
|
positionId?: string | null;
|
|
@@ -5555,6 +5971,30 @@ export interface components {
|
|
|
5555
5971
|
*/
|
|
5556
5972
|
totalPages?: number | null;
|
|
5557
5973
|
};
|
|
5974
|
+
ListBuildercodePayoutsResponse: {
|
|
5975
|
+
/** @description Per-trade credits, newest first. */
|
|
5976
|
+
payouts?: components["schemas"]["BuildercodePayout"][] | null;
|
|
5977
|
+
/**
|
|
5978
|
+
* Format: uint32
|
|
5979
|
+
* @description Total payout rows for this application.
|
|
5980
|
+
*/
|
|
5981
|
+
total?: number | null;
|
|
5982
|
+
/**
|
|
5983
|
+
* Format: uint32
|
|
5984
|
+
* @description Current page number.
|
|
5985
|
+
*/
|
|
5986
|
+
page?: number | null;
|
|
5987
|
+
/**
|
|
5988
|
+
* Format: uint32
|
|
5989
|
+
* @description Items per page.
|
|
5990
|
+
*/
|
|
5991
|
+
pageSize?: number | null;
|
|
5992
|
+
/**
|
|
5993
|
+
* Format: uint32
|
|
5994
|
+
* @description Total number of pages.
|
|
5995
|
+
*/
|
|
5996
|
+
totalPages?: number | null;
|
|
5997
|
+
};
|
|
5558
5998
|
ListConditionalOrdersResponse: {
|
|
5559
5999
|
orders?: components["schemas"]["ConditionalOrder"][] | null;
|
|
5560
6000
|
/** Format: uint32 */
|
|
@@ -6440,6 +6880,12 @@ export interface components {
|
|
|
6440
6880
|
* partial.
|
|
6441
6881
|
*/
|
|
6442
6882
|
cumFees?: string | null;
|
|
6883
|
+
/**
|
|
6884
|
+
* Format: int64
|
|
6885
|
+
* @description Opaque, non-negative producer-owned version for this position row. Compare only within the same position; higher is newer. 0 is the unranked legacy sentinel and never participates in ordering: it means the row predates this field or came from a producer that does not stamp it, so treat it exactly as an absent version and fall back to a full field comparison rather than ranking it as oldest. It advances on sequenced position mutations (open, add, reduce, close, funding, margin transfer, liquidation, ADL) and is shared by the persisted read, the WebSocket positions snapshot and a RANKED live position_update frame. A live frame is ranked only when it is a faithful projection of the row persisted at that sequence: in practice the fills that leave a position open. Frames that re-read live risk state after sequencing (funding, margin_added/margin_reduced) and terminal frames (which report size 0 and LIQUIDATED, while the stored row keeps its size and records CLOSED) omit the version even though the mutation did advance the persisted one, so an absent version never implies that nothing was persisted. mark_price, unrealized_pnl, liquidation_price and leverage are UNVERSIONED valuation fields re-derived from the oracle mark on every frame: the version does not advance for them (a valuation-only oracle tick persists nothing; a state-transitioning one, a breach or recovery, does restamp the account's open positions), so the merge rule is per field group — on an equal version skip the versioned fields but still take those four from the newer payload, because discarding a whole payload on an equal version freezes displayed PnL. isolated_margin is the one exception among the versioned fields: the WebSocket positions snapshot overlays it from an independent live matching-engine read rather than the versioned row, so take it from the newest payload on an equal version too or a consumer can retain stale backing. A response served from live matching-engine state reports 0 (unranked): the engine holds the state but not the version.
|
|
6886
|
+
* @example 918342
|
|
6887
|
+
*/
|
|
6888
|
+
version?: number | null;
|
|
6443
6889
|
};
|
|
6444
6890
|
PositionHistoryEvent: {
|
|
6445
6891
|
id?: string | null;
|
|
@@ -6682,10 +7128,11 @@ export interface components {
|
|
|
6682
7128
|
};
|
|
6683
7129
|
ReplaceOrderRequest: {
|
|
6684
7130
|
/**
|
|
6685
|
-
* @description
|
|
6686
|
-
* @example
|
|
7131
|
+
* @description Per-order self-trade-prevention override for the replacement: CANCEL_MAKER, CANCEL_TAKER, CANCEL_BOTH, or SKIP (see the create-order field for the full semantics). 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 override. Omitted, your wallet's configured default applies, else the platform default CANCEL_MAKER. The requested value is echoed back as selfTradePreventionMode on order reads, absent when omitted here.
|
|
7132
|
+
* @example CANCEL_TAKER
|
|
7133
|
+
* @enum {string|null}
|
|
6687
7134
|
*/
|
|
6688
|
-
|
|
7135
|
+
selfTradePreventionMode?: "CANCEL_MAKER" | "CANCEL_TAKER" | "CANCEL_BOTH" | "SKIP" | null;
|
|
6689
7136
|
/**
|
|
6690
7137
|
* @description New limit price (if changing)
|
|
6691
7138
|
* @example 35500.00
|
|
@@ -6706,6 +7153,11 @@ export interface components {
|
|
|
6706
7153
|
* @example false
|
|
6707
7154
|
*/
|
|
6708
7155
|
postOnly?: boolean | null;
|
|
7156
|
+
/**
|
|
7157
|
+
* @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: a create or replace reusing a value another of your resting orders still holds is rejected with HTTP 409 / gRPC ALREADY_EXISTS and the code CLIENT_ORDER_ID_CONFLICT. 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 its fan-out is non-persistent Core NATS: the service can re-establish an ended upstream subscription without closing your socket, so events 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 replacement carries no order type or time-in-force and its original must still be RESTING, so the post-acceptance rejection shapes are unreachable here: the reachable failures are all pre-acceptance — malformed, post-only would cross, handle conflict, or the original no longer resting (ORDER_NOT_FOUND) — and each fails the request, emits no event and is never written to order history (an order rejected AFTER acceptance is persisted with status REJECTED, so only the pre-acceptance class is absent). 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.
|
|
7158
|
+
* @example quote-btc-1130-a
|
|
7159
|
+
*/
|
|
7160
|
+
clientOrderId?: string | null;
|
|
6709
7161
|
};
|
|
6710
7162
|
ReplaceOrderResponse: {
|
|
6711
7163
|
/**
|
|
@@ -6891,6 +7343,25 @@ export interface components {
|
|
|
6891
7343
|
*/
|
|
6892
7344
|
priceChangePercent?: string | null;
|
|
6893
7345
|
};
|
|
7346
|
+
SelfTradePreventionDefaultResponse: {
|
|
7347
|
+
/**
|
|
7348
|
+
* @description The wallet's effective self-trade-prevention default: `CANCEL_MAKER`, `CANCEL_TAKER`, `CANCEL_BOTH`, or `SKIP`.
|
|
7349
|
+
* @example CANCEL_MAKER
|
|
7350
|
+
*/
|
|
7351
|
+
mode?: string | null;
|
|
7352
|
+
/**
|
|
7353
|
+
* @description True when this wallet has explicitly set a default; false when the platform default (`CANCEL_MAKER`) is in effect.
|
|
7354
|
+
* @example false
|
|
7355
|
+
*/
|
|
7356
|
+
isCustom?: boolean | null;
|
|
7357
|
+
};
|
|
7358
|
+
SetSelfTradePreventionDefaultRequest: {
|
|
7359
|
+
/**
|
|
7360
|
+
* @description The self-trade-prevention mode applied when an order from this wallet would match the wallet family's own resting order and the order names no override: `CANCEL_MAKER` (cancel the resting order — the platform default), `CANCEL_TAKER` (cancel the incoming order), `CANCEL_BOTH`, or `SKIP` (trade around own orders). Input is case-insensitive.
|
|
7361
|
+
* @example SKIP
|
|
7362
|
+
*/
|
|
7363
|
+
mode: string;
|
|
7364
|
+
};
|
|
6894
7365
|
SetTraderCodeRequest: {
|
|
6895
7366
|
/**
|
|
6896
7367
|
* @description The custom handle to claim or edit to: `[A-Za-z0-9_]`, must start with a letter, 5–20 characters. Case is preserved on store; uniqueness is case-insensitive.
|
|
@@ -7959,7 +8430,7 @@ export interface components {
|
|
|
7959
8430
|
*/
|
|
7960
8431
|
address: string;
|
|
7961
8432
|
/**
|
|
7962
|
-
* @description Wallet
|
|
8433
|
+
* @description Wallet authorization of the challenge message, hex with an optional 0x prefix. An EOA sends a 65-byte EIP-191 signature; a contract wallet verified under EIP-1271 sends whatever its own contract accepts, which is usually longer and need not be 65 bytes. Capped at 8192 decoded bytes (16386 characters with the prefix) — enough for well over a hundred owner slots — and a longer value is rejected as an invalid signature rather than forwarded to the chain.
|
|
7963
8434
|
* @example 0x1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0
|
|
7964
8435
|
*/
|
|
7965
8436
|
signature: string;
|
|
@@ -8058,14 +8529,21 @@ export interface operations {
|
|
|
8058
8529
|
};
|
|
8059
8530
|
content?: never;
|
|
8060
8531
|
};
|
|
8061
|
-
/** @description
|
|
8062
|
-
|
|
8532
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
8533
|
+
429: {
|
|
8063
8534
|
headers: {
|
|
8064
8535
|
[name: string]: unknown;
|
|
8065
8536
|
};
|
|
8066
8537
|
content?: never;
|
|
8067
8538
|
};
|
|
8068
|
-
|
|
8539
|
+
/** @description Internal server error */
|
|
8540
|
+
500: {
|
|
8541
|
+
headers: {
|
|
8542
|
+
[name: string]: unknown;
|
|
8543
|
+
};
|
|
8544
|
+
content?: never;
|
|
8545
|
+
};
|
|
8546
|
+
};
|
|
8069
8547
|
};
|
|
8070
8548
|
get_user_balance_by_asset: {
|
|
8071
8549
|
parameters: {
|
|
@@ -8109,6 +8587,13 @@ export interface operations {
|
|
|
8109
8587
|
};
|
|
8110
8588
|
content?: never;
|
|
8111
8589
|
};
|
|
8590
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
8591
|
+
429: {
|
|
8592
|
+
headers: {
|
|
8593
|
+
[name: string]: unknown;
|
|
8594
|
+
};
|
|
8595
|
+
content?: never;
|
|
8596
|
+
};
|
|
8112
8597
|
/** @description Internal server error */
|
|
8113
8598
|
500: {
|
|
8114
8599
|
headers: {
|
|
@@ -8159,6 +8644,13 @@ export interface operations {
|
|
|
8159
8644
|
};
|
|
8160
8645
|
content?: never;
|
|
8161
8646
|
};
|
|
8647
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
8648
|
+
429: {
|
|
8649
|
+
headers: {
|
|
8650
|
+
[name: string]: unknown;
|
|
8651
|
+
};
|
|
8652
|
+
content?: never;
|
|
8653
|
+
};
|
|
8162
8654
|
/** @description Internal server error */
|
|
8163
8655
|
500: {
|
|
8164
8656
|
headers: {
|
|
@@ -8207,6 +8699,13 @@ export interface operations {
|
|
|
8207
8699
|
};
|
|
8208
8700
|
content?: never;
|
|
8209
8701
|
};
|
|
8702
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
8703
|
+
429: {
|
|
8704
|
+
headers: {
|
|
8705
|
+
[name: string]: unknown;
|
|
8706
|
+
};
|
|
8707
|
+
content?: never;
|
|
8708
|
+
};
|
|
8210
8709
|
/** @description Internal server error */
|
|
8211
8710
|
500: {
|
|
8212
8711
|
headers: {
|
|
@@ -8250,6 +8749,13 @@ export interface operations {
|
|
|
8250
8749
|
};
|
|
8251
8750
|
content?: never;
|
|
8252
8751
|
};
|
|
8752
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
8753
|
+
429: {
|
|
8754
|
+
headers: {
|
|
8755
|
+
[name: string]: unknown;
|
|
8756
|
+
};
|
|
8757
|
+
content?: never;
|
|
8758
|
+
};
|
|
8253
8759
|
/** @description Internal server error */
|
|
8254
8760
|
500: {
|
|
8255
8761
|
headers: {
|
|
@@ -8300,6 +8806,13 @@ export interface operations {
|
|
|
8300
8806
|
};
|
|
8301
8807
|
content?: never;
|
|
8302
8808
|
};
|
|
8809
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
8810
|
+
429: {
|
|
8811
|
+
headers: {
|
|
8812
|
+
[name: string]: unknown;
|
|
8813
|
+
};
|
|
8814
|
+
content?: never;
|
|
8815
|
+
};
|
|
8303
8816
|
/** @description Internal server error */
|
|
8304
8817
|
500: {
|
|
8305
8818
|
headers: {
|
|
@@ -8351,6 +8864,13 @@ export interface operations {
|
|
|
8351
8864
|
};
|
|
8352
8865
|
content?: never;
|
|
8353
8866
|
};
|
|
8867
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
8868
|
+
429: {
|
|
8869
|
+
headers: {
|
|
8870
|
+
[name: string]: unknown;
|
|
8871
|
+
};
|
|
8872
|
+
content?: never;
|
|
8873
|
+
};
|
|
8354
8874
|
/** @description Internal server error */
|
|
8355
8875
|
500: {
|
|
8356
8876
|
headers: {
|
|
@@ -8392,6 +8912,13 @@ export interface operations {
|
|
|
8392
8912
|
};
|
|
8393
8913
|
content?: never;
|
|
8394
8914
|
};
|
|
8915
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
8916
|
+
429: {
|
|
8917
|
+
headers: {
|
|
8918
|
+
[name: string]: unknown;
|
|
8919
|
+
};
|
|
8920
|
+
content?: never;
|
|
8921
|
+
};
|
|
8395
8922
|
/** @description Internal server error */
|
|
8396
8923
|
500: {
|
|
8397
8924
|
headers: {
|
|
@@ -8442,6 +8969,13 @@ export interface operations {
|
|
|
8442
8969
|
};
|
|
8443
8970
|
content?: never;
|
|
8444
8971
|
};
|
|
8972
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
8973
|
+
429: {
|
|
8974
|
+
headers: {
|
|
8975
|
+
[name: string]: unknown;
|
|
8976
|
+
};
|
|
8977
|
+
content?: never;
|
|
8978
|
+
};
|
|
8445
8979
|
/** @description Internal server error */
|
|
8446
8980
|
500: {
|
|
8447
8981
|
headers: {
|
|
@@ -8492,6 +9026,13 @@ export interface operations {
|
|
|
8492
9026
|
};
|
|
8493
9027
|
content?: never;
|
|
8494
9028
|
};
|
|
9029
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
9030
|
+
429: {
|
|
9031
|
+
headers: {
|
|
9032
|
+
[name: string]: unknown;
|
|
9033
|
+
};
|
|
9034
|
+
content?: never;
|
|
9035
|
+
};
|
|
8495
9036
|
/** @description Internal server error */
|
|
8496
9037
|
500: {
|
|
8497
9038
|
headers: {
|
|
@@ -8542,6 +9083,13 @@ export interface operations {
|
|
|
8542
9083
|
};
|
|
8543
9084
|
content?: never;
|
|
8544
9085
|
};
|
|
9086
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
9087
|
+
429: {
|
|
9088
|
+
headers: {
|
|
9089
|
+
[name: string]: unknown;
|
|
9090
|
+
};
|
|
9091
|
+
content?: never;
|
|
9092
|
+
};
|
|
8545
9093
|
/** @description Internal server error */
|
|
8546
9094
|
500: {
|
|
8547
9095
|
headers: {
|
|
@@ -8610,6 +9158,99 @@ export interface operations {
|
|
|
8610
9158
|
};
|
|
8611
9159
|
content?: never;
|
|
8612
9160
|
};
|
|
9161
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
9162
|
+
429: {
|
|
9163
|
+
headers: {
|
|
9164
|
+
[name: string]: unknown;
|
|
9165
|
+
};
|
|
9166
|
+
content?: never;
|
|
9167
|
+
};
|
|
9168
|
+
/** @description Internal server error */
|
|
9169
|
+
500: {
|
|
9170
|
+
headers: {
|
|
9171
|
+
[name: string]: unknown;
|
|
9172
|
+
};
|
|
9173
|
+
content?: never;
|
|
9174
|
+
};
|
|
9175
|
+
};
|
|
9176
|
+
};
|
|
9177
|
+
get_self_trade_prevention_default: {
|
|
9178
|
+
parameters: {
|
|
9179
|
+
query?: never;
|
|
9180
|
+
header?: never;
|
|
9181
|
+
path?: never;
|
|
9182
|
+
cookie?: never;
|
|
9183
|
+
};
|
|
9184
|
+
requestBody?: never;
|
|
9185
|
+
responses: {
|
|
9186
|
+
/** @description OK */
|
|
9187
|
+
200: {
|
|
9188
|
+
headers: {
|
|
9189
|
+
[name: string]: unknown;
|
|
9190
|
+
};
|
|
9191
|
+
content: {
|
|
9192
|
+
"application/json": components["schemas"]["SelfTradePreventionDefaultResponse"];
|
|
9193
|
+
};
|
|
9194
|
+
};
|
|
9195
|
+
/** @description Authentication required */
|
|
9196
|
+
401: {
|
|
9197
|
+
headers: {
|
|
9198
|
+
[name: string]: unknown;
|
|
9199
|
+
};
|
|
9200
|
+
content?: never;
|
|
9201
|
+
};
|
|
9202
|
+
/** @description Internal server error */
|
|
9203
|
+
500: {
|
|
9204
|
+
headers: {
|
|
9205
|
+
[name: string]: unknown;
|
|
9206
|
+
};
|
|
9207
|
+
content?: never;
|
|
9208
|
+
};
|
|
9209
|
+
};
|
|
9210
|
+
};
|
|
9211
|
+
set_self_trade_prevention_default: {
|
|
9212
|
+
parameters: {
|
|
9213
|
+
query?: never;
|
|
9214
|
+
header?: never;
|
|
9215
|
+
path?: never;
|
|
9216
|
+
cookie?: never;
|
|
9217
|
+
};
|
|
9218
|
+
requestBody: {
|
|
9219
|
+
content: {
|
|
9220
|
+
"application/json": components["schemas"]["SetSelfTradePreventionDefaultRequest"];
|
|
9221
|
+
};
|
|
9222
|
+
};
|
|
9223
|
+
responses: {
|
|
9224
|
+
/** @description OK */
|
|
9225
|
+
200: {
|
|
9226
|
+
headers: {
|
|
9227
|
+
[name: string]: unknown;
|
|
9228
|
+
};
|
|
9229
|
+
content: {
|
|
9230
|
+
"application/json": components["schemas"]["SelfTradePreventionDefaultResponse"];
|
|
9231
|
+
};
|
|
9232
|
+
};
|
|
9233
|
+
/** @description Unknown mode */
|
|
9234
|
+
400: {
|
|
9235
|
+
headers: {
|
|
9236
|
+
[name: string]: unknown;
|
|
9237
|
+
};
|
|
9238
|
+
content?: never;
|
|
9239
|
+
};
|
|
9240
|
+
/** @description Authentication required */
|
|
9241
|
+
401: {
|
|
9242
|
+
headers: {
|
|
9243
|
+
[name: string]: unknown;
|
|
9244
|
+
};
|
|
9245
|
+
content?: never;
|
|
9246
|
+
};
|
|
9247
|
+
/** @description Delegated-agent sessions cannot change account settings */
|
|
9248
|
+
403: {
|
|
9249
|
+
headers: {
|
|
9250
|
+
[name: string]: unknown;
|
|
9251
|
+
};
|
|
9252
|
+
content?: never;
|
|
9253
|
+
};
|
|
8613
9254
|
/** @description Internal server error */
|
|
8614
9255
|
500: {
|
|
8615
9256
|
headers: {
|
|
@@ -8658,6 +9299,13 @@ export interface operations {
|
|
|
8658
9299
|
};
|
|
8659
9300
|
content?: never;
|
|
8660
9301
|
};
|
|
9302
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
9303
|
+
429: {
|
|
9304
|
+
headers: {
|
|
9305
|
+
[name: string]: unknown;
|
|
9306
|
+
};
|
|
9307
|
+
content?: never;
|
|
9308
|
+
};
|
|
8661
9309
|
/** @description Internal server error */
|
|
8662
9310
|
500: {
|
|
8663
9311
|
headers: {
|
|
@@ -8777,6 +9425,13 @@ export interface operations {
|
|
|
8777
9425
|
};
|
|
8778
9426
|
content?: never;
|
|
8779
9427
|
};
|
|
9428
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
9429
|
+
429: {
|
|
9430
|
+
headers: {
|
|
9431
|
+
[name: string]: unknown;
|
|
9432
|
+
};
|
|
9433
|
+
content?: never;
|
|
9434
|
+
};
|
|
8780
9435
|
/** @description Internal server error */
|
|
8781
9436
|
500: {
|
|
8782
9437
|
headers: {
|
|
@@ -8973,6 +9628,13 @@ export interface operations {
|
|
|
8973
9628
|
};
|
|
8974
9629
|
content?: never;
|
|
8975
9630
|
};
|
|
9631
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
9632
|
+
429: {
|
|
9633
|
+
headers: {
|
|
9634
|
+
[name: string]: unknown;
|
|
9635
|
+
};
|
|
9636
|
+
content?: never;
|
|
9637
|
+
};
|
|
8976
9638
|
/** @description Internal server error */
|
|
8977
9639
|
500: {
|
|
8978
9640
|
headers: {
|
|
@@ -9071,6 +9733,13 @@ export interface operations {
|
|
|
9071
9733
|
};
|
|
9072
9734
|
content?: never;
|
|
9073
9735
|
};
|
|
9736
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
9737
|
+
429: {
|
|
9738
|
+
headers: {
|
|
9739
|
+
[name: string]: unknown;
|
|
9740
|
+
};
|
|
9741
|
+
content?: never;
|
|
9742
|
+
};
|
|
9074
9743
|
/** @description Internal server error */
|
|
9075
9744
|
500: {
|
|
9076
9745
|
headers: {
|
|
@@ -9268,8 +9937,271 @@ export interface operations {
|
|
|
9268
9937
|
};
|
|
9269
9938
|
content?: never;
|
|
9270
9939
|
};
|
|
9271
|
-
/** @description Unauthorized - Invalid or missing x-server-key */
|
|
9272
|
-
401: {
|
|
9940
|
+
/** @description Unauthorized - Invalid or missing x-server-key */
|
|
9941
|
+
401: {
|
|
9942
|
+
headers: {
|
|
9943
|
+
[name: string]: unknown;
|
|
9944
|
+
};
|
|
9945
|
+
content?: never;
|
|
9946
|
+
};
|
|
9947
|
+
/** @description Internal server error */
|
|
9948
|
+
500: {
|
|
9949
|
+
headers: {
|
|
9950
|
+
[name: string]: unknown;
|
|
9951
|
+
};
|
|
9952
|
+
content?: never;
|
|
9953
|
+
};
|
|
9954
|
+
};
|
|
9955
|
+
};
|
|
9956
|
+
create_challenge: {
|
|
9957
|
+
parameters: {
|
|
9958
|
+
query?: never;
|
|
9959
|
+
header?: never;
|
|
9960
|
+
path?: never;
|
|
9961
|
+
cookie?: never;
|
|
9962
|
+
};
|
|
9963
|
+
requestBody: {
|
|
9964
|
+
content: {
|
|
9965
|
+
"application/json": components["schemas"]["ChallengeRequest"];
|
|
9966
|
+
};
|
|
9967
|
+
};
|
|
9968
|
+
responses: {
|
|
9969
|
+
/** @description OK */
|
|
9970
|
+
200: {
|
|
9971
|
+
headers: {
|
|
9972
|
+
[name: string]: unknown;
|
|
9973
|
+
};
|
|
9974
|
+
content: {
|
|
9975
|
+
"application/json": components["schemas"]["ChallengeResponse"];
|
|
9976
|
+
};
|
|
9977
|
+
};
|
|
9978
|
+
/** @description Invalid request parameters */
|
|
9979
|
+
400: {
|
|
9980
|
+
headers: {
|
|
9981
|
+
[name: string]: unknown;
|
|
9982
|
+
};
|
|
9983
|
+
content?: never;
|
|
9984
|
+
};
|
|
9985
|
+
/** @description Origin not allowed for this application */
|
|
9986
|
+
403: {
|
|
9987
|
+
headers: {
|
|
9988
|
+
[name: string]: unknown;
|
|
9989
|
+
};
|
|
9990
|
+
content?: never;
|
|
9991
|
+
};
|
|
9992
|
+
/** @description Invalid clientId */
|
|
9993
|
+
404: {
|
|
9994
|
+
headers: {
|
|
9995
|
+
[name: string]: unknown;
|
|
9996
|
+
};
|
|
9997
|
+
content?: never;
|
|
9998
|
+
};
|
|
9999
|
+
/** @description Internal server error */
|
|
10000
|
+
500: {
|
|
10001
|
+
headers: {
|
|
10002
|
+
[name: string]: unknown;
|
|
10003
|
+
};
|
|
10004
|
+
content?: never;
|
|
10005
|
+
};
|
|
10006
|
+
};
|
|
10007
|
+
};
|
|
10008
|
+
refresh_session: {
|
|
10009
|
+
parameters: {
|
|
10010
|
+
query?: never;
|
|
10011
|
+
header?: never;
|
|
10012
|
+
path?: never;
|
|
10013
|
+
cookie?: never;
|
|
10014
|
+
};
|
|
10015
|
+
requestBody: {
|
|
10016
|
+
content: {
|
|
10017
|
+
"application/json": components["schemas"]["RefreshRequest"];
|
|
10018
|
+
};
|
|
10019
|
+
};
|
|
10020
|
+
responses: {
|
|
10021
|
+
/** @description OK */
|
|
10022
|
+
200: {
|
|
10023
|
+
headers: {
|
|
10024
|
+
[name: string]: unknown;
|
|
10025
|
+
};
|
|
10026
|
+
content: {
|
|
10027
|
+
"application/json": components["schemas"]["RefreshResponse"];
|
|
10028
|
+
};
|
|
10029
|
+
};
|
|
10030
|
+
/** @description Missing, invalid, or expired session signature */
|
|
10031
|
+
401: {
|
|
10032
|
+
headers: {
|
|
10033
|
+
[name: string]: unknown;
|
|
10034
|
+
};
|
|
10035
|
+
content?: never;
|
|
10036
|
+
};
|
|
10037
|
+
/** @description Session not found */
|
|
10038
|
+
404: {
|
|
10039
|
+
headers: {
|
|
10040
|
+
[name: string]: unknown;
|
|
10041
|
+
};
|
|
10042
|
+
content?: never;
|
|
10043
|
+
};
|
|
10044
|
+
/** @description Internal server error */
|
|
10045
|
+
500: {
|
|
10046
|
+
headers: {
|
|
10047
|
+
[name: string]: unknown;
|
|
10048
|
+
};
|
|
10049
|
+
content?: never;
|
|
10050
|
+
};
|
|
10051
|
+
};
|
|
10052
|
+
};
|
|
10053
|
+
revoke_session: {
|
|
10054
|
+
parameters: {
|
|
10055
|
+
query?: never;
|
|
10056
|
+
header?: never;
|
|
10057
|
+
path?: never;
|
|
10058
|
+
cookie?: never;
|
|
10059
|
+
};
|
|
10060
|
+
requestBody: {
|
|
10061
|
+
content: {
|
|
10062
|
+
"application/json": components["schemas"]["RevokeRequest"];
|
|
10063
|
+
};
|
|
10064
|
+
};
|
|
10065
|
+
responses: {
|
|
10066
|
+
/** @description OK */
|
|
10067
|
+
200: {
|
|
10068
|
+
headers: {
|
|
10069
|
+
[name: string]: unknown;
|
|
10070
|
+
};
|
|
10071
|
+
content: {
|
|
10072
|
+
"application/json": components["schemas"]["RevokeResponse"];
|
|
10073
|
+
};
|
|
10074
|
+
};
|
|
10075
|
+
/** @description Request body must be empty */
|
|
10076
|
+
400: {
|
|
10077
|
+
headers: {
|
|
10078
|
+
[name: string]: unknown;
|
|
10079
|
+
};
|
|
10080
|
+
content?: never;
|
|
10081
|
+
};
|
|
10082
|
+
/** @description Missing or invalid session signature */
|
|
10083
|
+
401: {
|
|
10084
|
+
headers: {
|
|
10085
|
+
[name: string]: unknown;
|
|
10086
|
+
};
|
|
10087
|
+
content?: never;
|
|
10088
|
+
};
|
|
10089
|
+
/** @description Session not found */
|
|
10090
|
+
404: {
|
|
10091
|
+
headers: {
|
|
10092
|
+
[name: string]: unknown;
|
|
10093
|
+
};
|
|
10094
|
+
content?: never;
|
|
10095
|
+
};
|
|
10096
|
+
/** @description Internal server error */
|
|
10097
|
+
500: {
|
|
10098
|
+
headers: {
|
|
10099
|
+
[name: string]: unknown;
|
|
10100
|
+
};
|
|
10101
|
+
content?: never;
|
|
10102
|
+
};
|
|
10103
|
+
};
|
|
10104
|
+
};
|
|
10105
|
+
verify_signature: {
|
|
10106
|
+
parameters: {
|
|
10107
|
+
query?: never;
|
|
10108
|
+
header?: never;
|
|
10109
|
+
path?: never;
|
|
10110
|
+
cookie?: never;
|
|
10111
|
+
};
|
|
10112
|
+
requestBody: {
|
|
10113
|
+
content: {
|
|
10114
|
+
"application/json": components["schemas"]["VerifyRequest"];
|
|
10115
|
+
};
|
|
10116
|
+
};
|
|
10117
|
+
responses: {
|
|
10118
|
+
/** @description OK */
|
|
10119
|
+
200: {
|
|
10120
|
+
headers: {
|
|
10121
|
+
[name: string]: unknown;
|
|
10122
|
+
};
|
|
10123
|
+
content: {
|
|
10124
|
+
"application/json": components["schemas"]["VerifyResponse"];
|
|
10125
|
+
};
|
|
10126
|
+
};
|
|
10127
|
+
/** @description Invalid request parameters, nonce expired, or already used */
|
|
10128
|
+
400: {
|
|
10129
|
+
headers: {
|
|
10130
|
+
[name: string]: unknown;
|
|
10131
|
+
};
|
|
10132
|
+
content?: never;
|
|
10133
|
+
};
|
|
10134
|
+
/** @description Invalid signature */
|
|
10135
|
+
401: {
|
|
10136
|
+
headers: {
|
|
10137
|
+
[name: string]: unknown;
|
|
10138
|
+
};
|
|
10139
|
+
content?: never;
|
|
10140
|
+
};
|
|
10141
|
+
/** @description Origin not allowed for this application */
|
|
10142
|
+
403: {
|
|
10143
|
+
headers: {
|
|
10144
|
+
[name: string]: unknown;
|
|
10145
|
+
};
|
|
10146
|
+
content?: never;
|
|
10147
|
+
};
|
|
10148
|
+
/** @description Invalid nonce or clientId */
|
|
10149
|
+
404: {
|
|
10150
|
+
headers: {
|
|
10151
|
+
[name: string]: unknown;
|
|
10152
|
+
};
|
|
10153
|
+
content?: never;
|
|
10154
|
+
};
|
|
10155
|
+
/** @description Internal server error */
|
|
10156
|
+
500: {
|
|
10157
|
+
headers: {
|
|
10158
|
+
[name: string]: unknown;
|
|
10159
|
+
};
|
|
10160
|
+
content?: never;
|
|
10161
|
+
};
|
|
10162
|
+
/** @description Contract-wallet (EIP-1271) verification could not be completed for an eligible address: the chain did not answer, did not answer within the deadline, or the server was at its concurrent-verification capacity and declined to ask. Retryable, and not a verdict on the signature. */
|
|
10163
|
+
503: {
|
|
10164
|
+
headers: {
|
|
10165
|
+
[name: string]: unknown;
|
|
10166
|
+
};
|
|
10167
|
+
content?: never;
|
|
10168
|
+
};
|
|
10169
|
+
};
|
|
10170
|
+
};
|
|
10171
|
+
get_buildercodes_config: {
|
|
10172
|
+
parameters: {
|
|
10173
|
+
query?: never;
|
|
10174
|
+
header?: never;
|
|
10175
|
+
path?: never;
|
|
10176
|
+
cookie?: never;
|
|
10177
|
+
};
|
|
10178
|
+
requestBody?: never;
|
|
10179
|
+
responses: {
|
|
10180
|
+
/** @description OK */
|
|
10181
|
+
200: {
|
|
10182
|
+
headers: {
|
|
10183
|
+
[name: string]: unknown;
|
|
10184
|
+
};
|
|
10185
|
+
content: {
|
|
10186
|
+
"application/json": components["schemas"]["GetBuildercodesConfigResponse"];
|
|
10187
|
+
};
|
|
10188
|
+
};
|
|
10189
|
+
/** @description Authentication required */
|
|
10190
|
+
401: {
|
|
10191
|
+
headers: {
|
|
10192
|
+
[name: string]: unknown;
|
|
10193
|
+
};
|
|
10194
|
+
content?: never;
|
|
10195
|
+
};
|
|
10196
|
+
/** @description Refused: BuilderCodes is disabled, the caller is delegated, or the caller is not this application's payout wallet (gRPC: PERMISSION_DENIED) */
|
|
10197
|
+
403: {
|
|
10198
|
+
headers: {
|
|
10199
|
+
[name: string]: unknown;
|
|
10200
|
+
};
|
|
10201
|
+
content?: never;
|
|
10202
|
+
};
|
|
10203
|
+
/** @description Authenticated application not found (gRPC: NOT_FOUND) */
|
|
10204
|
+
404: {
|
|
9273
10205
|
headers: {
|
|
9274
10206
|
[name: string]: unknown;
|
|
9275
10207
|
};
|
|
@@ -9284,18 +10216,19 @@ export interface operations {
|
|
|
9284
10216
|
};
|
|
9285
10217
|
};
|
|
9286
10218
|
};
|
|
9287
|
-
|
|
10219
|
+
list_buildercode_payouts: {
|
|
9288
10220
|
parameters: {
|
|
9289
|
-
query?:
|
|
10221
|
+
query?: {
|
|
10222
|
+
/** @description Page number (1-indexed) */
|
|
10223
|
+
page?: number;
|
|
10224
|
+
/** @description Items per page (max 100) */
|
|
10225
|
+
pageSize?: number;
|
|
10226
|
+
};
|
|
9290
10227
|
header?: never;
|
|
9291
10228
|
path?: never;
|
|
9292
10229
|
cookie?: never;
|
|
9293
10230
|
};
|
|
9294
|
-
requestBody
|
|
9295
|
-
content: {
|
|
9296
|
-
"application/json": components["schemas"]["ChallengeRequest"];
|
|
9297
|
-
};
|
|
9298
|
-
};
|
|
10231
|
+
requestBody?: never;
|
|
9299
10232
|
responses: {
|
|
9300
10233
|
/** @description OK */
|
|
9301
10234
|
200: {
|
|
@@ -9303,24 +10236,31 @@ export interface operations {
|
|
|
9303
10236
|
[name: string]: unknown;
|
|
9304
10237
|
};
|
|
9305
10238
|
content: {
|
|
9306
|
-
"application/json": components["schemas"]["
|
|
10239
|
+
"application/json": components["schemas"]["ListBuildercodePayoutsResponse"];
|
|
9307
10240
|
};
|
|
9308
10241
|
};
|
|
9309
|
-
/** @description Invalid
|
|
10242
|
+
/** @description Invalid pagination */
|
|
9310
10243
|
400: {
|
|
9311
10244
|
headers: {
|
|
9312
10245
|
[name: string]: unknown;
|
|
9313
10246
|
};
|
|
9314
10247
|
content?: never;
|
|
9315
10248
|
};
|
|
9316
|
-
/** @description
|
|
10249
|
+
/** @description Authentication required */
|
|
10250
|
+
401: {
|
|
10251
|
+
headers: {
|
|
10252
|
+
[name: string]: unknown;
|
|
10253
|
+
};
|
|
10254
|
+
content?: never;
|
|
10255
|
+
};
|
|
10256
|
+
/** @description Refused: BuilderCodes is disabled, the caller is delegated, or the caller is not this application's payout wallet (gRPC: PERMISSION_DENIED) */
|
|
9317
10257
|
403: {
|
|
9318
10258
|
headers: {
|
|
9319
10259
|
[name: string]: unknown;
|
|
9320
10260
|
};
|
|
9321
10261
|
content?: never;
|
|
9322
10262
|
};
|
|
9323
|
-
/** @description
|
|
10263
|
+
/** @description Authenticated application not found (gRPC: NOT_FOUND) */
|
|
9324
10264
|
404: {
|
|
9325
10265
|
headers: {
|
|
9326
10266
|
[name: string]: unknown;
|
|
@@ -9336,18 +10276,14 @@ export interface operations {
|
|
|
9336
10276
|
};
|
|
9337
10277
|
};
|
|
9338
10278
|
};
|
|
9339
|
-
|
|
10279
|
+
get_buildercode_payout_summary: {
|
|
9340
10280
|
parameters: {
|
|
9341
10281
|
query?: never;
|
|
9342
10282
|
header?: never;
|
|
9343
10283
|
path?: never;
|
|
9344
10284
|
cookie?: never;
|
|
9345
10285
|
};
|
|
9346
|
-
requestBody
|
|
9347
|
-
content: {
|
|
9348
|
-
"application/json": components["schemas"]["RefreshRequest"];
|
|
9349
|
-
};
|
|
9350
|
-
};
|
|
10286
|
+
requestBody?: never;
|
|
9351
10287
|
responses: {
|
|
9352
10288
|
/** @description OK */
|
|
9353
10289
|
200: {
|
|
@@ -9355,17 +10291,24 @@ export interface operations {
|
|
|
9355
10291
|
[name: string]: unknown;
|
|
9356
10292
|
};
|
|
9357
10293
|
content: {
|
|
9358
|
-
"application/json": components["schemas"]["
|
|
10294
|
+
"application/json": components["schemas"]["GetBuildercodePayoutSummaryResponse"];
|
|
9359
10295
|
};
|
|
9360
10296
|
};
|
|
9361
|
-
/** @description
|
|
10297
|
+
/** @description Authentication required */
|
|
9362
10298
|
401: {
|
|
9363
10299
|
headers: {
|
|
9364
10300
|
[name: string]: unknown;
|
|
9365
10301
|
};
|
|
9366
10302
|
content?: never;
|
|
9367
10303
|
};
|
|
9368
|
-
/** @description
|
|
10304
|
+
/** @description Refused: BuilderCodes is disabled, the caller is delegated, or the caller is not this application's payout wallet (gRPC: PERMISSION_DENIED) */
|
|
10305
|
+
403: {
|
|
10306
|
+
headers: {
|
|
10307
|
+
[name: string]: unknown;
|
|
10308
|
+
};
|
|
10309
|
+
content?: never;
|
|
10310
|
+
};
|
|
10311
|
+
/** @description Authenticated application not found (gRPC: NOT_FOUND) */
|
|
9369
10312
|
404: {
|
|
9370
10313
|
headers: {
|
|
9371
10314
|
[name: string]: unknown;
|
|
@@ -9381,18 +10324,14 @@ export interface operations {
|
|
|
9381
10324
|
};
|
|
9382
10325
|
};
|
|
9383
10326
|
};
|
|
9384
|
-
|
|
10327
|
+
get_buildercode_rewards_balance: {
|
|
9385
10328
|
parameters: {
|
|
9386
10329
|
query?: never;
|
|
9387
10330
|
header?: never;
|
|
9388
10331
|
path?: never;
|
|
9389
10332
|
cookie?: never;
|
|
9390
10333
|
};
|
|
9391
|
-
requestBody
|
|
9392
|
-
content: {
|
|
9393
|
-
"application/json": components["schemas"]["RevokeRequest"];
|
|
9394
|
-
};
|
|
9395
|
-
};
|
|
10334
|
+
requestBody?: never;
|
|
9396
10335
|
responses: {
|
|
9397
10336
|
/** @description OK */
|
|
9398
10337
|
200: {
|
|
@@ -9400,25 +10339,18 @@ export interface operations {
|
|
|
9400
10339
|
[name: string]: unknown;
|
|
9401
10340
|
};
|
|
9402
10341
|
content: {
|
|
9403
|
-
"application/json": components["schemas"]["
|
|
9404
|
-
};
|
|
9405
|
-
};
|
|
9406
|
-
/** @description Request body must be empty */
|
|
9407
|
-
400: {
|
|
9408
|
-
headers: {
|
|
9409
|
-
[name: string]: unknown;
|
|
10342
|
+
"application/json": components["schemas"]["GetBuildercodeRewardsBalanceResponse"];
|
|
9410
10343
|
};
|
|
9411
|
-
content?: never;
|
|
9412
10344
|
};
|
|
9413
|
-
/** @description
|
|
10345
|
+
/** @description Authentication required */
|
|
9414
10346
|
401: {
|
|
9415
10347
|
headers: {
|
|
9416
10348
|
[name: string]: unknown;
|
|
9417
10349
|
};
|
|
9418
10350
|
content?: never;
|
|
9419
10351
|
};
|
|
9420
|
-
/** @description
|
|
9421
|
-
|
|
10352
|
+
/** @description Refused: BuilderCodes is disabled or the caller is delegated (gRPC: PERMISSION_DENIED) */
|
|
10353
|
+
403: {
|
|
9422
10354
|
headers: {
|
|
9423
10355
|
[name: string]: unknown;
|
|
9424
10356
|
};
|
|
@@ -9433,7 +10365,7 @@ export interface operations {
|
|
|
9433
10365
|
};
|
|
9434
10366
|
};
|
|
9435
10367
|
};
|
|
9436
|
-
|
|
10368
|
+
claim_buildercode_rewards: {
|
|
9437
10369
|
parameters: {
|
|
9438
10370
|
query?: never;
|
|
9439
10371
|
header?: never;
|
|
@@ -9442,7 +10374,7 @@ export interface operations {
|
|
|
9442
10374
|
};
|
|
9443
10375
|
requestBody: {
|
|
9444
10376
|
content: {
|
|
9445
|
-
"application/json": components["schemas"]["
|
|
10377
|
+
"application/json": components["schemas"]["ClaimBuildercodeRewardsRequest"];
|
|
9446
10378
|
};
|
|
9447
10379
|
};
|
|
9448
10380
|
responses: {
|
|
@@ -9452,32 +10384,32 @@ export interface operations {
|
|
|
9452
10384
|
[name: string]: unknown;
|
|
9453
10385
|
};
|
|
9454
10386
|
content: {
|
|
9455
|
-
"application/json": components["schemas"]["
|
|
10387
|
+
"application/json": components["schemas"]["ClaimBuildercodeRewardsResponse"];
|
|
9456
10388
|
};
|
|
9457
10389
|
};
|
|
9458
|
-
/** @description Invalid
|
|
10390
|
+
/** @description Invalid token or amount */
|
|
9459
10391
|
400: {
|
|
9460
10392
|
headers: {
|
|
9461
10393
|
[name: string]: unknown;
|
|
9462
10394
|
};
|
|
9463
10395
|
content?: never;
|
|
9464
10396
|
};
|
|
9465
|
-
/** @description
|
|
10397
|
+
/** @description Authentication required */
|
|
9466
10398
|
401: {
|
|
9467
10399
|
headers: {
|
|
9468
10400
|
[name: string]: unknown;
|
|
9469
10401
|
};
|
|
9470
10402
|
content?: never;
|
|
9471
10403
|
};
|
|
9472
|
-
/** @description
|
|
10404
|
+
/** @description Refused: BuilderCodes is not enabled, or the caller is a delegated-agent session (gRPC: PERMISSION_DENIED) */
|
|
9473
10405
|
403: {
|
|
9474
10406
|
headers: {
|
|
9475
10407
|
[name: string]: unknown;
|
|
9476
10408
|
};
|
|
9477
10409
|
content?: never;
|
|
9478
10410
|
};
|
|
9479
|
-
/** @description
|
|
9480
|
-
|
|
10411
|
+
/** @description Insufficient BuilderCodes payout balance, including a wallet that never accrued one (gRPC: FAILED_PRECONDITION) */
|
|
10412
|
+
409: {
|
|
9481
10413
|
headers: {
|
|
9482
10414
|
[name: string]: unknown;
|
|
9483
10415
|
};
|
|
@@ -9490,6 +10422,13 @@ export interface operations {
|
|
|
9490
10422
|
};
|
|
9491
10423
|
content?: never;
|
|
9492
10424
|
};
|
|
10425
|
+
/** @description Matching engine unavailable or slow to answer. Outcome UNKNOWN, not a rejection — the claim may still commit and there is no idempotency key, so treat it as pending and do not retry automatically; a balance read does not settle it, because an admitted claim may still be queued. Two tagged cases are the exception, both refused before the claim can be admitted and so provably non-committing, and both safe to retry: a maintenance block (`error: OPERATIONS_BLOCKED`; gRPC metadata `x-maintenance-blocked: true`) and a sequencer overload (`code: OVERLOADED`) (gRPC: UNAVAILABLE) */
|
|
10426
|
+
503: {
|
|
10427
|
+
headers: {
|
|
10428
|
+
[name: string]: unknown;
|
|
10429
|
+
};
|
|
10430
|
+
content?: never;
|
|
10431
|
+
};
|
|
9493
10432
|
};
|
|
9494
10433
|
};
|
|
9495
10434
|
list_delegated_agents: {
|
|
@@ -9524,6 +10463,13 @@ export interface operations {
|
|
|
9524
10463
|
};
|
|
9525
10464
|
content?: never;
|
|
9526
10465
|
};
|
|
10466
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
10467
|
+
429: {
|
|
10468
|
+
headers: {
|
|
10469
|
+
[name: string]: unknown;
|
|
10470
|
+
};
|
|
10471
|
+
content?: never;
|
|
10472
|
+
};
|
|
9527
10473
|
/** @description Internal server error */
|
|
9528
10474
|
500: {
|
|
9529
10475
|
headers: {
|
|
@@ -9610,6 +10556,13 @@ export interface operations {
|
|
|
9610
10556
|
};
|
|
9611
10557
|
content?: never;
|
|
9612
10558
|
};
|
|
10559
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
10560
|
+
429: {
|
|
10561
|
+
headers: {
|
|
10562
|
+
[name: string]: unknown;
|
|
10563
|
+
};
|
|
10564
|
+
content?: never;
|
|
10565
|
+
};
|
|
9613
10566
|
/** @description Internal server error */
|
|
9614
10567
|
500: {
|
|
9615
10568
|
headers: {
|
|
@@ -9754,6 +10707,13 @@ export interface operations {
|
|
|
9754
10707
|
};
|
|
9755
10708
|
content?: never;
|
|
9756
10709
|
};
|
|
10710
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
10711
|
+
429: {
|
|
10712
|
+
headers: {
|
|
10713
|
+
[name: string]: unknown;
|
|
10714
|
+
};
|
|
10715
|
+
content?: never;
|
|
10716
|
+
};
|
|
9757
10717
|
/** @description Internal server error */
|
|
9758
10718
|
500: {
|
|
9759
10719
|
headers: {
|
|
@@ -9887,6 +10847,13 @@ export interface operations {
|
|
|
9887
10847
|
};
|
|
9888
10848
|
content?: never;
|
|
9889
10849
|
};
|
|
10850
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
10851
|
+
429: {
|
|
10852
|
+
headers: {
|
|
10853
|
+
[name: string]: unknown;
|
|
10854
|
+
};
|
|
10855
|
+
content?: never;
|
|
10856
|
+
};
|
|
9890
10857
|
/** @description Internal server error */
|
|
9891
10858
|
500: {
|
|
9892
10859
|
headers: {
|
|
@@ -9938,6 +10905,13 @@ export interface operations {
|
|
|
9938
10905
|
};
|
|
9939
10906
|
content?: never;
|
|
9940
10907
|
};
|
|
10908
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
10909
|
+
429: {
|
|
10910
|
+
headers: {
|
|
10911
|
+
[name: string]: unknown;
|
|
10912
|
+
};
|
|
10913
|
+
content?: never;
|
|
10914
|
+
};
|
|
9941
10915
|
/** @description Internal server error */
|
|
9942
10916
|
500: {
|
|
9943
10917
|
headers: {
|
|
@@ -9973,6 +10947,13 @@ export interface operations {
|
|
|
9973
10947
|
"application/json": components["schemas"]["ListMarginAccountsResponse"];
|
|
9974
10948
|
};
|
|
9975
10949
|
};
|
|
10950
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
10951
|
+
429: {
|
|
10952
|
+
headers: {
|
|
10953
|
+
[name: string]: unknown;
|
|
10954
|
+
};
|
|
10955
|
+
content?: never;
|
|
10956
|
+
};
|
|
9976
10957
|
};
|
|
9977
10958
|
};
|
|
9978
10959
|
get_margin_account_summary: {
|
|
@@ -10002,6 +10983,13 @@ export interface operations {
|
|
|
10002
10983
|
"application/json": components["schemas"]["GetMarginAccountSummaryResponse"];
|
|
10003
10984
|
};
|
|
10004
10985
|
};
|
|
10986
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
10987
|
+
429: {
|
|
10988
|
+
headers: {
|
|
10989
|
+
[name: string]: unknown;
|
|
10990
|
+
};
|
|
10991
|
+
content?: never;
|
|
10992
|
+
};
|
|
10005
10993
|
};
|
|
10006
10994
|
};
|
|
10007
10995
|
transfer_collateral_to_margin_account: {
|
|
@@ -10108,6 +11096,13 @@ export interface operations {
|
|
|
10108
11096
|
"application/json": components["schemas"]["GetMarginAccountMovementsResponse"];
|
|
10109
11097
|
};
|
|
10110
11098
|
};
|
|
11099
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
11100
|
+
429: {
|
|
11101
|
+
headers: {
|
|
11102
|
+
[name: string]: unknown;
|
|
11103
|
+
};
|
|
11104
|
+
content?: never;
|
|
11105
|
+
};
|
|
10111
11106
|
};
|
|
10112
11107
|
};
|
|
10113
11108
|
simulate_order_risk: {
|
|
@@ -10138,6 +11133,13 @@ export interface operations {
|
|
|
10138
11133
|
"application/json": components["schemas"]["SimulateOrderRiskResponse"];
|
|
10139
11134
|
};
|
|
10140
11135
|
};
|
|
11136
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
11137
|
+
429: {
|
|
11138
|
+
headers: {
|
|
11139
|
+
[name: string]: unknown;
|
|
11140
|
+
};
|
|
11141
|
+
content?: never;
|
|
11142
|
+
};
|
|
10141
11143
|
};
|
|
10142
11144
|
};
|
|
10143
11145
|
get_available_collateral: {
|
|
@@ -10160,6 +11162,13 @@ export interface operations {
|
|
|
10160
11162
|
"application/json": components["schemas"]["GetAvailableCollateralResponse"];
|
|
10161
11163
|
};
|
|
10162
11164
|
};
|
|
11165
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
11166
|
+
429: {
|
|
11167
|
+
headers: {
|
|
11168
|
+
[name: string]: unknown;
|
|
11169
|
+
};
|
|
11170
|
+
content?: never;
|
|
11171
|
+
};
|
|
10163
11172
|
};
|
|
10164
11173
|
};
|
|
10165
11174
|
get_parent_margin_account_summary: {
|
|
@@ -10183,6 +11192,13 @@ export interface operations {
|
|
|
10183
11192
|
"application/json": components["schemas"]["GetMarginAccountSummaryResponse"];
|
|
10184
11193
|
};
|
|
10185
11194
|
};
|
|
11195
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
11196
|
+
429: {
|
|
11197
|
+
headers: {
|
|
11198
|
+
[name: string]: unknown;
|
|
11199
|
+
};
|
|
11200
|
+
content?: never;
|
|
11201
|
+
};
|
|
10186
11202
|
};
|
|
10187
11203
|
};
|
|
10188
11204
|
transfer_collateral_to_parent_margin_account: {
|
|
@@ -10271,6 +11287,13 @@ export interface operations {
|
|
|
10271
11287
|
"application/json": components["schemas"]["GetMarginAccountMovementsResponse"];
|
|
10272
11288
|
};
|
|
10273
11289
|
};
|
|
11290
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
11291
|
+
429: {
|
|
11292
|
+
headers: {
|
|
11293
|
+
[name: string]: unknown;
|
|
11294
|
+
};
|
|
11295
|
+
content?: never;
|
|
11296
|
+
};
|
|
10274
11297
|
};
|
|
10275
11298
|
};
|
|
10276
11299
|
simulate_parent_margin_order_risk: {
|
|
@@ -10295,6 +11318,13 @@ export interface operations {
|
|
|
10295
11318
|
"application/json": components["schemas"]["SimulateOrderRiskResponse"];
|
|
10296
11319
|
};
|
|
10297
11320
|
};
|
|
11321
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
11322
|
+
429: {
|
|
11323
|
+
headers: {
|
|
11324
|
+
[name: string]: unknown;
|
|
11325
|
+
};
|
|
11326
|
+
content?: never;
|
|
11327
|
+
};
|
|
10298
11328
|
};
|
|
10299
11329
|
};
|
|
10300
11330
|
transfer_collateral_to_risk_bucket: {
|
|
@@ -10350,6 +11380,13 @@ export interface operations {
|
|
|
10350
11380
|
"application/json": components["schemas"]["SimulateOrderRiskResponse"];
|
|
10351
11381
|
};
|
|
10352
11382
|
};
|
|
11383
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
11384
|
+
429: {
|
|
11385
|
+
headers: {
|
|
11386
|
+
[name: string]: unknown;
|
|
11387
|
+
};
|
|
11388
|
+
content?: never;
|
|
11389
|
+
};
|
|
10353
11390
|
};
|
|
10354
11391
|
};
|
|
10355
11392
|
list_all_funding_history: {
|
|
@@ -10947,6 +11984,13 @@ export interface operations {
|
|
|
10947
11984
|
};
|
|
10948
11985
|
content?: never;
|
|
10949
11986
|
};
|
|
11987
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
11988
|
+
429: {
|
|
11989
|
+
headers: {
|
|
11990
|
+
[name: string]: unknown;
|
|
11991
|
+
};
|
|
11992
|
+
content?: never;
|
|
11993
|
+
};
|
|
10950
11994
|
/** @description Internal server error */
|
|
10951
11995
|
500: {
|
|
10952
11996
|
headers: {
|
|
@@ -11349,6 +12393,13 @@ export interface operations {
|
|
|
11349
12393
|
"application/json": components["schemas"]["ListConditionalOrdersResponse"];
|
|
11350
12394
|
};
|
|
11351
12395
|
};
|
|
12396
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
12397
|
+
429: {
|
|
12398
|
+
headers: {
|
|
12399
|
+
[name: string]: unknown;
|
|
12400
|
+
};
|
|
12401
|
+
content?: never;
|
|
12402
|
+
};
|
|
11352
12403
|
};
|
|
11353
12404
|
};
|
|
11354
12405
|
get_conditional_order: {
|
|
@@ -11372,6 +12423,13 @@ export interface operations {
|
|
|
11372
12423
|
"application/json": components["schemas"]["ConditionalOrder"];
|
|
11373
12424
|
};
|
|
11374
12425
|
};
|
|
12426
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
12427
|
+
429: {
|
|
12428
|
+
headers: {
|
|
12429
|
+
[name: string]: unknown;
|
|
12430
|
+
};
|
|
12431
|
+
content?: never;
|
|
12432
|
+
};
|
|
11375
12433
|
};
|
|
11376
12434
|
};
|
|
11377
12435
|
cancel_conditional_order: {
|
|
@@ -11444,6 +12502,13 @@ export interface operations {
|
|
|
11444
12502
|
};
|
|
11445
12503
|
content?: never;
|
|
11446
12504
|
};
|
|
12505
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
12506
|
+
429: {
|
|
12507
|
+
headers: {
|
|
12508
|
+
[name: string]: unknown;
|
|
12509
|
+
};
|
|
12510
|
+
content?: never;
|
|
12511
|
+
};
|
|
11447
12512
|
/** @description Internal server error */
|
|
11448
12513
|
500: {
|
|
11449
12514
|
headers: {
|
|
@@ -11553,6 +12618,13 @@ export interface operations {
|
|
|
11553
12618
|
};
|
|
11554
12619
|
content?: never;
|
|
11555
12620
|
};
|
|
12621
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
12622
|
+
429: {
|
|
12623
|
+
headers: {
|
|
12624
|
+
[name: string]: unknown;
|
|
12625
|
+
};
|
|
12626
|
+
content?: never;
|
|
12627
|
+
};
|
|
11556
12628
|
/** @description Internal server error */
|
|
11557
12629
|
500: {
|
|
11558
12630
|
headers: {
|
|
@@ -11660,6 +12732,13 @@ export interface operations {
|
|
|
11660
12732
|
};
|
|
11661
12733
|
content?: never;
|
|
11662
12734
|
};
|
|
12735
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
12736
|
+
429: {
|
|
12737
|
+
headers: {
|
|
12738
|
+
[name: string]: unknown;
|
|
12739
|
+
};
|
|
12740
|
+
content?: never;
|
|
12741
|
+
};
|
|
11663
12742
|
/** @description Internal server error */
|
|
11664
12743
|
500: {
|
|
11665
12744
|
headers: {
|
|
@@ -11718,6 +12797,13 @@ export interface operations {
|
|
|
11718
12797
|
};
|
|
11719
12798
|
content?: never;
|
|
11720
12799
|
};
|
|
12800
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
12801
|
+
429: {
|
|
12802
|
+
headers: {
|
|
12803
|
+
[name: string]: unknown;
|
|
12804
|
+
};
|
|
12805
|
+
content?: never;
|
|
12806
|
+
};
|
|
11721
12807
|
/** @description Internal server error */
|
|
11722
12808
|
500: {
|
|
11723
12809
|
headers: {
|
|
@@ -11850,6 +12936,13 @@ export interface operations {
|
|
|
11850
12936
|
};
|
|
11851
12937
|
content?: never;
|
|
11852
12938
|
};
|
|
12939
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
12940
|
+
429: {
|
|
12941
|
+
headers: {
|
|
12942
|
+
[name: string]: unknown;
|
|
12943
|
+
};
|
|
12944
|
+
content?: never;
|
|
12945
|
+
};
|
|
11853
12946
|
/** @description Internal server error */
|
|
11854
12947
|
500: {
|
|
11855
12948
|
headers: {
|
|
@@ -12035,6 +13128,13 @@ export interface operations {
|
|
|
12035
13128
|
};
|
|
12036
13129
|
content?: never;
|
|
12037
13130
|
};
|
|
13131
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
13132
|
+
429: {
|
|
13133
|
+
headers: {
|
|
13134
|
+
[name: string]: unknown;
|
|
13135
|
+
};
|
|
13136
|
+
content?: never;
|
|
13137
|
+
};
|
|
12038
13138
|
/** @description Internal server error */
|
|
12039
13139
|
500: {
|
|
12040
13140
|
headers: {
|
|
@@ -12125,6 +13225,13 @@ export interface operations {
|
|
|
12125
13225
|
"application/json": components["schemas"]["ListPositionsResponse"];
|
|
12126
13226
|
};
|
|
12127
13227
|
};
|
|
13228
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
13229
|
+
429: {
|
|
13230
|
+
headers: {
|
|
13231
|
+
[name: string]: unknown;
|
|
13232
|
+
};
|
|
13233
|
+
content?: never;
|
|
13234
|
+
};
|
|
12128
13235
|
};
|
|
12129
13236
|
};
|
|
12130
13237
|
batch_close_all_positions: {
|
|
@@ -12180,6 +13287,13 @@ export interface operations {
|
|
|
12180
13287
|
"application/json": components["schemas"]["ListPositionHistoryResponse"];
|
|
12181
13288
|
};
|
|
12182
13289
|
};
|
|
13290
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
13291
|
+
429: {
|
|
13292
|
+
headers: {
|
|
13293
|
+
[name: string]: unknown;
|
|
13294
|
+
};
|
|
13295
|
+
content?: never;
|
|
13296
|
+
};
|
|
12183
13297
|
};
|
|
12184
13298
|
};
|
|
12185
13299
|
get_position: {
|
|
@@ -12203,6 +13317,13 @@ export interface operations {
|
|
|
12203
13317
|
"application/json": components["schemas"]["GetPositionResponse"];
|
|
12204
13318
|
};
|
|
12205
13319
|
};
|
|
13320
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
13321
|
+
429: {
|
|
13322
|
+
headers: {
|
|
13323
|
+
[name: string]: unknown;
|
|
13324
|
+
};
|
|
13325
|
+
content?: never;
|
|
13326
|
+
};
|
|
12206
13327
|
};
|
|
12207
13328
|
};
|
|
12208
13329
|
close_position: {
|
|
@@ -12281,6 +13402,13 @@ export interface operations {
|
|
|
12281
13402
|
};
|
|
12282
13403
|
content?: never;
|
|
12283
13404
|
};
|
|
13405
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
13406
|
+
429: {
|
|
13407
|
+
headers: {
|
|
13408
|
+
[name: string]: unknown;
|
|
13409
|
+
};
|
|
13410
|
+
content?: never;
|
|
13411
|
+
};
|
|
12284
13412
|
/** @description Internal server error */
|
|
12285
13413
|
500: {
|
|
12286
13414
|
headers: {
|
|
@@ -12311,6 +13439,13 @@ export interface operations {
|
|
|
12311
13439
|
"application/json": components["schemas"]["GetPositionRiskResponse"];
|
|
12312
13440
|
};
|
|
12313
13441
|
};
|
|
13442
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
13443
|
+
429: {
|
|
13444
|
+
headers: {
|
|
13445
|
+
[name: string]: unknown;
|
|
13446
|
+
};
|
|
13447
|
+
content?: never;
|
|
13448
|
+
};
|
|
12314
13449
|
};
|
|
12315
13450
|
};
|
|
12316
13451
|
attach_position_tp_sl: {
|
|
@@ -12642,6 +13777,13 @@ export interface operations {
|
|
|
12642
13777
|
};
|
|
12643
13778
|
content?: never;
|
|
12644
13779
|
};
|
|
13780
|
+
/** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
|
|
13781
|
+
429: {
|
|
13782
|
+
headers: {
|
|
13783
|
+
[name: string]: unknown;
|
|
13784
|
+
};
|
|
13785
|
+
content?: never;
|
|
13786
|
+
};
|
|
12645
13787
|
/** @description Internal server error */
|
|
12646
13788
|
500: {
|
|
12647
13789
|
headers: {
|