@0xmonaco/types 1.0.70 → 1.0.73
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 +4 -2
- package/dist/auth/responses.d.ts +3 -1
- package/dist/buildercodes/index.d.ts +7 -3
- package/dist/buildercodes/index.js +1 -1
- package/dist/buildercodes/responses.d.ts +59 -2
- package/dist/buildercodes/responses.js +38 -2
- package/dist/copy-trading/index.d.ts +52 -4
- package/dist/copy-trading/index.js +1 -1
- package/dist/copy-trading/responses.d.ts +43 -0
- package/dist/copy-trading/responses.js +49 -0
- package/dist/delegated-agents/index.d.ts +2 -0
- package/dist/fees/index.d.ts +3 -0
- package/dist/fees/responses.js +4 -4
- package/dist/trading/responses.d.ts +18 -6
- package/dist/validation/copy-trading.d.ts +11 -0
- package/dist/validation/copy-trading.js +15 -0
- package/dist/websocket/events/position-events.d.ts +14 -10
- package/dist/websocket/events/twap-order-events.d.ts +7 -0
- package/dist/wire/operations.d.ts +1 -1
- package/dist/wire/operations.js +5 -0
- package/dist/wire/schema.d.ts +755 -35
- package/package.json +2 -2
package/dist/wire/schema.d.ts
CHANGED
|
@@ -621,9 +621,11 @@ export interface paths {
|
|
|
621
621
|
* Refresh session expiry
|
|
622
622
|
* @description Refresh session expiry.
|
|
623
623
|
*
|
|
624
|
-
*
|
|
624
|
+
* Refreshes the expiration of the current session. The request must be signed
|
|
625
625
|
* by the session private key (RFC 9421 or legacy X-Monaco-* headers); no body is
|
|
626
|
-
* required.
|
|
626
|
+
* required. Delegated sessions require an active, unexpired delegation;
|
|
627
|
+
* their resulting expiry is capped by the delegation expiry and may move
|
|
628
|
+
* earlier if the owner shortened that delegation.
|
|
627
629
|
*/
|
|
628
630
|
post: operations["refresh_session"];
|
|
629
631
|
delete?: never;
|
|
@@ -704,6 +706,74 @@ export interface paths {
|
|
|
704
706
|
patch?: never;
|
|
705
707
|
trace?: never;
|
|
706
708
|
};
|
|
709
|
+
"/api/v1/buildercodes/builder-fee": {
|
|
710
|
+
parameters: {
|
|
711
|
+
query?: never;
|
|
712
|
+
header?: never;
|
|
713
|
+
path?: never;
|
|
714
|
+
cookie?: never;
|
|
715
|
+
};
|
|
716
|
+
get?: never;
|
|
717
|
+
/**
|
|
718
|
+
* Set your builder fee
|
|
719
|
+
* @description Set this application's builder fee.
|
|
720
|
+
*
|
|
721
|
+
* The builder fee is an additional taker fee, in basis points, that this
|
|
722
|
+
* frontend charges its own users on top of Monaco's fee. The application is
|
|
723
|
+
* taken from the authenticated session; the caller must be the application's
|
|
724
|
+
* BuilderCodes payout wallet, and delegated-agent sessions are refused.
|
|
725
|
+
*
|
|
726
|
+
* `bps` must be between 0 and the current builder-fee cap
|
|
727
|
+
* (`builderFeeCapBps` on `GetBuildercodesConfig`) inclusive. The application
|
|
728
|
+
* must be enrolled in BuilderCodes with a payout address. At most two changes
|
|
729
|
+
* are allowed in any rolling 24 hours; changes Monaco makes on the
|
|
730
|
+
* application's behalf do not count. Setting the fee it already has is a
|
|
731
|
+
* no-op that succeeds and does not use up a change.
|
|
732
|
+
*
|
|
733
|
+
* The fee can be set while builder fees are switched off
|
|
734
|
+
* (`builderFeeEnabled` false): it is stored and nothing is charged until they
|
|
735
|
+
* are switched on. Once charged, a new fee applies to orders placed after the
|
|
736
|
+
* change within a few seconds; resting orders keep the fee they were placed
|
|
737
|
+
* with.
|
|
738
|
+
*
|
|
739
|
+
* A refused change is **HTTP 409** / **FAILED_PRECONDITION** when the
|
|
740
|
+
* application is not enrolled with a payout address or has no changes left
|
|
741
|
+
* (REST adds `details.nextChangeAllowedAt`), and **HTTP 400** /
|
|
742
|
+
* **INVALID_ARGUMENT** when `bps` is above the cap.
|
|
743
|
+
*/
|
|
744
|
+
put: operations["set_builder_fee"];
|
|
745
|
+
post?: never;
|
|
746
|
+
delete?: never;
|
|
747
|
+
options?: never;
|
|
748
|
+
head?: never;
|
|
749
|
+
patch?: never;
|
|
750
|
+
trace?: never;
|
|
751
|
+
};
|
|
752
|
+
"/api/v1/buildercodes/builder-fee/changes": {
|
|
753
|
+
parameters: {
|
|
754
|
+
query?: never;
|
|
755
|
+
header?: never;
|
|
756
|
+
path?: never;
|
|
757
|
+
cookie?: never;
|
|
758
|
+
};
|
|
759
|
+
/**
|
|
760
|
+
* List your builder-fee changes
|
|
761
|
+
* @description List this application's builder-fee changes.
|
|
762
|
+
*
|
|
763
|
+
* Newest first, cursor-paginated. Includes every change to this
|
|
764
|
+
* application's builder fee: those its payout wallet made (`BUILDER`) and
|
|
765
|
+
* those Monaco made on its behalf (`ADMIN`). The application is taken from
|
|
766
|
+
* the authenticated session.
|
|
767
|
+
*/
|
|
768
|
+
get: operations["list_builder_fee_changes"];
|
|
769
|
+
put?: never;
|
|
770
|
+
post?: never;
|
|
771
|
+
delete?: never;
|
|
772
|
+
options?: never;
|
|
773
|
+
head?: never;
|
|
774
|
+
patch?: never;
|
|
775
|
+
trace?: never;
|
|
776
|
+
};
|
|
707
777
|
"/api/v1/buildercodes/config": {
|
|
708
778
|
parameters: {
|
|
709
779
|
query?: never;
|
|
@@ -914,6 +984,36 @@ export interface paths {
|
|
|
914
984
|
patch?: never;
|
|
915
985
|
trace?: never;
|
|
916
986
|
};
|
|
987
|
+
"/api/v1/copy-trading/follows/close-positions": {
|
|
988
|
+
parameters: {
|
|
989
|
+
query?: never;
|
|
990
|
+
header?: never;
|
|
991
|
+
path?: never;
|
|
992
|
+
cookie?: never;
|
|
993
|
+
};
|
|
994
|
+
get?: never;
|
|
995
|
+
put?: never;
|
|
996
|
+
/**
|
|
997
|
+
* Close all your copy positions
|
|
998
|
+
* @description Close all your copy positions.
|
|
999
|
+
*
|
|
1000
|
+
* Closes the copy positions of every live follow of yours, as
|
|
1001
|
+
* CloseFollowPositions does for one: one batch per follow, the follows
|
|
1002
|
+
* kept, and the same limits (not a flatten guarantee; the follows keep
|
|
1003
|
+
* mirroring). A follow whose stop is in progress is listed in
|
|
1004
|
+
* `stoppingFollowIds` and left to its stop. A follow whose close could not
|
|
1005
|
+
* run is listed in `failedFollows` and the others still close. Never gated
|
|
1006
|
+
* by copy trading being switched off or by an operations block; only a
|
|
1007
|
+
* delegated agent session is refused. Shares CloseFollowPositions' rate
|
|
1008
|
+
* limit.
|
|
1009
|
+
*/
|
|
1010
|
+
post: operations["close_all_copy_positions"];
|
|
1011
|
+
delete?: never;
|
|
1012
|
+
options?: never;
|
|
1013
|
+
head?: never;
|
|
1014
|
+
patch?: never;
|
|
1015
|
+
trace?: never;
|
|
1016
|
+
};
|
|
917
1017
|
"/api/v1/copy-trading/follows/preview": {
|
|
918
1018
|
parameters: {
|
|
919
1019
|
query?: never;
|
|
@@ -965,6 +1065,41 @@ export interface paths {
|
|
|
965
1065
|
patch?: never;
|
|
966
1066
|
trace?: never;
|
|
967
1067
|
};
|
|
1068
|
+
"/api/v1/copy-trading/follows/{followId}/close-positions": {
|
|
1069
|
+
parameters: {
|
|
1070
|
+
query?: never;
|
|
1071
|
+
header?: never;
|
|
1072
|
+
path?: never;
|
|
1073
|
+
cookie?: never;
|
|
1074
|
+
};
|
|
1075
|
+
get?: never;
|
|
1076
|
+
put?: never;
|
|
1077
|
+
/**
|
|
1078
|
+
* Close a follow's copy positions
|
|
1079
|
+
* @description Close a follow's copy positions.
|
|
1080
|
+
*
|
|
1081
|
+
* Closes every position in the follow's copy account at market (reduce-only,
|
|
1082
|
+
* immediate-or-cancel) and cancels the resting orders and conditional
|
|
1083
|
+
* orders (TP/SL) on its copy risk buckets (a TWAP cannot run on a copy risk
|
|
1084
|
+
* bucket), but keeps the follow: it stays ACTIVE (or CLOSE_ONLY) and the
|
|
1085
|
+
* leader's next trades keep mirroring. StopFollow is the close-and-stop
|
|
1086
|
+
* path. The proceeds stay in the copy account. Not a flatten guarantee:
|
|
1087
|
+
* on a thin or halted market part of a position can stay open
|
|
1088
|
+
* (`positionsNotClosed`), and a leader trade after the close opens copy
|
|
1089
|
+
* positions again; stop the follow to end the copying. A close is never
|
|
1090
|
+
* gated by copy trading being switched off or by an operations block, and
|
|
1091
|
+
* only a delegated agent session is refused. Both close routes share a
|
|
1092
|
+
* small per-account rate limit (about one close per second, burst 5). The
|
|
1093
|
+
* response is sent once the batch is durably logged; each close's fills
|
|
1094
|
+
* arrive on the order, position and copy channels.
|
|
1095
|
+
*/
|
|
1096
|
+
post: operations["close_follow_positions"];
|
|
1097
|
+
delete?: never;
|
|
1098
|
+
options?: never;
|
|
1099
|
+
head?: never;
|
|
1100
|
+
patch?: never;
|
|
1101
|
+
trace?: never;
|
|
1102
|
+
};
|
|
968
1103
|
"/api/v1/copy-trading/follows/{followId}/leader-positions": {
|
|
969
1104
|
parameters: {
|
|
970
1105
|
query?: never;
|
|
@@ -989,6 +1124,41 @@ export interface paths {
|
|
|
989
1124
|
patch?: never;
|
|
990
1125
|
trace?: never;
|
|
991
1126
|
};
|
|
1127
|
+
"/api/v1/copy-trading/follows/{followId}/position-margin": {
|
|
1128
|
+
parameters: {
|
|
1129
|
+
query?: never;
|
|
1130
|
+
header?: never;
|
|
1131
|
+
path?: never;
|
|
1132
|
+
cookie?: never;
|
|
1133
|
+
};
|
|
1134
|
+
get?: never;
|
|
1135
|
+
put?: never;
|
|
1136
|
+
/**
|
|
1137
|
+
* Add margin to a copy position
|
|
1138
|
+
* @description Add margin to a copy position (0XM-2971).
|
|
1139
|
+
*
|
|
1140
|
+
* Moves collateral from the follow's copy account into the margin of its
|
|
1141
|
+
* isolated copy position on one trading pair: the position's margin rises
|
|
1142
|
+
* by exactly `amount`, the copy account's remaining collateral falls by the
|
|
1143
|
+
* same, and your margin account is never touched. It lowers the position's
|
|
1144
|
+
* leverage and moves its liquidation price away; it opens no exposure, so
|
|
1145
|
+
* it works while copy trading is switched off and on a CLOSE_ONLY follow.
|
|
1146
|
+
* There is no margin reduction: a follow exits by being stopped. Follow
|
|
1147
|
+
* writes need a master account session (not a delegated agent or a
|
|
1148
|
+
* sub-account). 404 unless the follow is yours; 409 while it is stopping
|
|
1149
|
+
* or once it is stopped, and when copy trading is not available on the
|
|
1150
|
+
* platform at all (the platform then runs copy trading exits only). It
|
|
1151
|
+
* spends the per-user movement budget withdrawals and collateral transfers
|
|
1152
|
+
* share. It is not idempotent: a retry after a timeout whose first attempt
|
|
1153
|
+
* landed adds the amount twice, so read the follow before retrying.
|
|
1154
|
+
*/
|
|
1155
|
+
post: operations["add_follow_position_margin"];
|
|
1156
|
+
delete?: never;
|
|
1157
|
+
options?: never;
|
|
1158
|
+
head?: never;
|
|
1159
|
+
patch?: never;
|
|
1160
|
+
trace?: never;
|
|
1161
|
+
};
|
|
992
1162
|
"/api/v1/copy-trading/follows/{followId}/stop": {
|
|
993
1163
|
parameters: {
|
|
994
1164
|
query?: never;
|
|
@@ -1242,7 +1412,9 @@ export interface paths {
|
|
|
1242
1412
|
* `ListDelegatedAgentOwners`) and a freshly generated session public key.
|
|
1243
1413
|
* The new session acts as the owner but records the agent's address for
|
|
1244
1414
|
* policy enforcement. Requires an active delegation for the (owner, agent)
|
|
1245
|
-
* pair.
|
|
1415
|
+
* pair. Session expiry is bounded by the delegation expiry, if set. Every
|
|
1416
|
+
* authenticated request and periodic WebSocket session revalidation requires
|
|
1417
|
+
* the backing delegation to remain active and unexpired.
|
|
1246
1418
|
*/
|
|
1247
1419
|
post: operations["create_delegated_session"];
|
|
1248
1420
|
delete?: never;
|
|
@@ -1266,8 +1438,9 @@ export interface paths {
|
|
|
1266
1438
|
* @description Revoke a delegated agent.
|
|
1267
1439
|
*
|
|
1268
1440
|
* Master accounts only. Revokes the delegation identified by
|
|
1269
|
-
* `delegated_agent_id
|
|
1270
|
-
*
|
|
1441
|
+
* `delegated_agent_id` and its existing delegated sessions. Subsequent signed
|
|
1442
|
+
* requests and session refresh fail; connected WebSockets lose access at
|
|
1443
|
+
* their next periodic session revalidation. Existing orders are not canceled.
|
|
1271
1444
|
*/
|
|
1272
1445
|
delete: operations["revoke_delegated_agent"];
|
|
1273
1446
|
options?: never;
|
|
@@ -1360,6 +1533,8 @@ export interface paths {
|
|
|
1360
1533
|
/**
|
|
1361
1534
|
* Get my fee tier and pair schedule
|
|
1362
1535
|
* @description Return the caller's current fee tier, rolling 14-day volumes, and a pair's schedule.
|
|
1536
|
+
*
|
|
1537
|
+
* Volumes and the tier are wallet-wide: the caller's wallet total across every application.
|
|
1363
1538
|
*/
|
|
1364
1539
|
get: operations["get_my_fee_tier"];
|
|
1365
1540
|
put?: never;
|
|
@@ -3039,6 +3214,55 @@ export interface components {
|
|
|
3039
3214
|
*/
|
|
3040
3215
|
version?: number | null;
|
|
3041
3216
|
};
|
|
3217
|
+
AddFollowPositionMarginRequest: {
|
|
3218
|
+
/**
|
|
3219
|
+
* Format: uuid
|
|
3220
|
+
* @description The follow's id
|
|
3221
|
+
*/
|
|
3222
|
+
followId?: string | null;
|
|
3223
|
+
/**
|
|
3224
|
+
* Format: uuid
|
|
3225
|
+
* @description Trading pair UUID of the copy position to add margin to
|
|
3226
|
+
*/
|
|
3227
|
+
tradingPairId?: string | null;
|
|
3228
|
+
/**
|
|
3229
|
+
* @description Margin to add, in quote units: a positive decimal, taken from the follow's copy account
|
|
3230
|
+
* @example 25
|
|
3231
|
+
*/
|
|
3232
|
+
amount?: string | null;
|
|
3233
|
+
};
|
|
3234
|
+
AddFollowPositionMarginResponse: {
|
|
3235
|
+
/**
|
|
3236
|
+
* Format: uuid
|
|
3237
|
+
* @description The follow's id
|
|
3238
|
+
*/
|
|
3239
|
+
followId?: string | null;
|
|
3240
|
+
/**
|
|
3241
|
+
* Format: uuid
|
|
3242
|
+
* @description Trading pair UUID of the copy position
|
|
3243
|
+
*/
|
|
3244
|
+
tradingPairId?: string | null;
|
|
3245
|
+
/**
|
|
3246
|
+
* Format: uuid
|
|
3247
|
+
* @description The copy position's isolated risk bucket
|
|
3248
|
+
*/
|
|
3249
|
+
riskBucketId?: string | null;
|
|
3250
|
+
/**
|
|
3251
|
+
* Format: uuid
|
|
3252
|
+
* @description The copy position's id
|
|
3253
|
+
*/
|
|
3254
|
+
positionId?: string | null;
|
|
3255
|
+
/**
|
|
3256
|
+
* @description The copy position's margin after the add, in quote units
|
|
3257
|
+
* @example 125
|
|
3258
|
+
*/
|
|
3259
|
+
positionMargin?: string | null;
|
|
3260
|
+
/**
|
|
3261
|
+
* @description What the copy account can still put into this position, in quote units, after the add
|
|
3262
|
+
* @example 875
|
|
3263
|
+
*/
|
|
3264
|
+
copyAccountAvailable?: string | null;
|
|
3265
|
+
};
|
|
3042
3266
|
AppUser: {
|
|
3043
3267
|
/**
|
|
3044
3268
|
* Format: uuid
|
|
@@ -3667,6 +3891,36 @@ export interface components {
|
|
|
3667
3891
|
matchResult?: components["schemas"]["MatchResult"];
|
|
3668
3892
|
error?: components["schemas"]["BatchReplaceError"];
|
|
3669
3893
|
};
|
|
3894
|
+
BuilderFeeChange: {
|
|
3895
|
+
/**
|
|
3896
|
+
* @description Who made the change: `BUILDER` (this application's payout wallet) or `ADMIN` (Monaco, on the application's behalf).
|
|
3897
|
+
* @example BUILDER
|
|
3898
|
+
* @enum {string|null}
|
|
3899
|
+
*/
|
|
3900
|
+
actorType?: "BUILDER" | "ADMIN" | null;
|
|
3901
|
+
/**
|
|
3902
|
+
* @description The lowercase payout wallet address for a `BUILDER` change, or the Monaco operator's email for an `ADMIN` change.
|
|
3903
|
+
* @example 0x0000000000000000000000000000000000000001
|
|
3904
|
+
*/
|
|
3905
|
+
actor?: string | null;
|
|
3906
|
+
/**
|
|
3907
|
+
* Format: uint32
|
|
3908
|
+
* @description Builder fee before the change, in basis points.
|
|
3909
|
+
* @example 0
|
|
3910
|
+
*/
|
|
3911
|
+
oldBps?: number | null;
|
|
3912
|
+
/**
|
|
3913
|
+
* Format: uint32
|
|
3914
|
+
* @description Builder fee after the change, in basis points.
|
|
3915
|
+
* @example 10
|
|
3916
|
+
*/
|
|
3917
|
+
newBps?: number | null;
|
|
3918
|
+
/**
|
|
3919
|
+
* Format: date-time
|
|
3920
|
+
* @description RFC 3339 time of the change.
|
|
3921
|
+
*/
|
|
3922
|
+
createdAt?: string | null;
|
|
3923
|
+
};
|
|
3670
3924
|
BuildercodePayout: {
|
|
3671
3925
|
/**
|
|
3672
3926
|
* Format: uuid
|
|
@@ -3700,7 +3954,7 @@ export interface components {
|
|
|
3700
3954
|
*/
|
|
3701
3955
|
createdAt?: string | null;
|
|
3702
3956
|
/**
|
|
3703
|
-
* @description Payout
|
|
3957
|
+
* @description Payout category for this credit. `REVENUE_SHARE` is active; `BUILDER_FEE` is reserved and is not currently emitted.
|
|
3704
3958
|
* @example REVENUE_SHARE
|
|
3705
3959
|
* @enum {string|null}
|
|
3706
3960
|
*/
|
|
@@ -3973,6 +4227,37 @@ export interface components {
|
|
|
3973
4227
|
/** @description Required when renewing an unexpired lease. Decimal string in JSON. */
|
|
3974
4228
|
expectedGeneration?: string | null;
|
|
3975
4229
|
};
|
|
4230
|
+
CloseAllCopyPositionsResponse: {
|
|
4231
|
+
/**
|
|
4232
|
+
* @description Every live follow whose stop is not in progress and whose close ran,
|
|
4233
|
+
* including one with nothing to close (0 orders placed, 0 positions not
|
|
4234
|
+
* closed).
|
|
4235
|
+
*/
|
|
4236
|
+
follows?: components["schemas"]["CloseFollowPositionsResponse"][] | null;
|
|
4237
|
+
/** @description Follows whose stop is in progress: their stop closes their positions. */
|
|
4238
|
+
stoppingFollowIds?: string[] | null;
|
|
4239
|
+
/** @description Follows whose close could not run; the other follows still closed. */
|
|
4240
|
+
failedFollows?: components["schemas"]["FollowCloseFailure"][] | null;
|
|
4241
|
+
};
|
|
4242
|
+
CloseFollowPositionsResponse: {
|
|
4243
|
+
/**
|
|
4244
|
+
* Format: uuid
|
|
4245
|
+
* @description The follow's id
|
|
4246
|
+
*/
|
|
4247
|
+
followId?: string | null;
|
|
4248
|
+
/**
|
|
4249
|
+
* Format: uint32
|
|
4250
|
+
* @description Reduce-only, immediate-or-cancel close orders placed; each may fill in part
|
|
4251
|
+
* @example 2
|
|
4252
|
+
*/
|
|
4253
|
+
closeOrdersPlaced?: number | null;
|
|
4254
|
+
/**
|
|
4255
|
+
* Format: uint32
|
|
4256
|
+
* @description Copy positions still open after the batch (for example a thin or halted market); 0 when the copy account is flat
|
|
4257
|
+
* @example 0
|
|
4258
|
+
*/
|
|
4259
|
+
positionsNotClosed?: number | null;
|
|
4260
|
+
};
|
|
3976
4261
|
ClosePositionRequest: {
|
|
3977
4262
|
quantity?: string | null;
|
|
3978
4263
|
closeType?: string | null;
|
|
@@ -4097,7 +4382,7 @@ export interface components {
|
|
|
4097
4382
|
};
|
|
4098
4383
|
CreateDelegatedSessionResponse: {
|
|
4099
4384
|
/**
|
|
4100
|
-
* @description Session expiry as a Unix timestamp (seconds)
|
|
4385
|
+
* @description Session expiry as a Unix timestamp (seconds), bounded by the delegation expiry when set. Earlier revocation or policy expiry also ends access.
|
|
4101
4386
|
* @example 1735689599
|
|
4102
4387
|
*/
|
|
4103
4388
|
expiresAt?: string | null;
|
|
@@ -4684,6 +4969,19 @@ export interface components {
|
|
|
4684
4969
|
/** @description FOLLOWER, STOP_LOSS, SKIP_LIMIT, ADMIN or LEADER_SUSPENDED */
|
|
4685
4970
|
stopReason?: string | null;
|
|
4686
4971
|
};
|
|
4972
|
+
/** @description A follow whose close could not run. */
|
|
4973
|
+
FollowCloseFailure: {
|
|
4974
|
+
/**
|
|
4975
|
+
* Format: uuid
|
|
4976
|
+
* @description The follow's id
|
|
4977
|
+
*/
|
|
4978
|
+
followId?: string | null;
|
|
4979
|
+
/**
|
|
4980
|
+
* @description Why the close could not run, as a fixed sentence; retry the close
|
|
4981
|
+
* @example The copy positions could not be closed right now; retry shortly
|
|
4982
|
+
*/
|
|
4983
|
+
reason?: string | null;
|
|
4984
|
+
};
|
|
4687
4985
|
Follower: {
|
|
4688
4986
|
/** @description The follower's wallet address (lowercase hex) */
|
|
4689
4987
|
walletAddress?: string | null;
|
|
@@ -4993,6 +5291,31 @@ export interface components {
|
|
|
4993
5291
|
* @example 1000
|
|
4994
5292
|
*/
|
|
4995
5293
|
buildercodesBudgetBps?: number | null;
|
|
5294
|
+
/** @description Whether builder fees are currently charged. While false, `builderFeeBps` is stored but no builder fee is charged. */
|
|
5295
|
+
builderFeeEnabled?: boolean | null;
|
|
5296
|
+
/**
|
|
5297
|
+
* Format: uint32
|
|
5298
|
+
* @description This application's stored builder fee in basis points: the additional taker fee it charges its users. The fee charged is this value capped at `builderFeeCapBps`, and 0 while `builderFeeEnabled` is false or the application is not enrolled with a payout address.
|
|
5299
|
+
* @example 10
|
|
5300
|
+
*/
|
|
5301
|
+
builderFeeBps?: number | null;
|
|
5302
|
+
/**
|
|
5303
|
+
* Format: uint32
|
|
5304
|
+
* @description The highest builder fee, in basis points, that can currently be set or charged.
|
|
5305
|
+
* @example 100
|
|
5306
|
+
*/
|
|
5307
|
+
builderFeeCapBps?: number | null;
|
|
5308
|
+
/**
|
|
5309
|
+
* Format: uint32
|
|
5310
|
+
* @description Builder-fee changes this application can still make in the current rolling 24 hours (at most 2).
|
|
5311
|
+
* @example 2
|
|
5312
|
+
*/
|
|
5313
|
+
changesRemaining?: number | null;
|
|
5314
|
+
/**
|
|
5315
|
+
* Format: date-time
|
|
5316
|
+
* @description RFC 3339 time at which the next builder-fee change becomes allowed, or null while `changesRemaining` is above 0.
|
|
5317
|
+
*/
|
|
5318
|
+
nextChangeAllowedAt?: string | null;
|
|
4996
5319
|
};
|
|
4997
5320
|
/** @description OHLCV candlestick data. */
|
|
4998
5321
|
GetCandlesResponse: {
|
|
@@ -5337,22 +5660,22 @@ export interface components {
|
|
|
5337
5660
|
GetMyFeeTierResponse: {
|
|
5338
5661
|
/**
|
|
5339
5662
|
* Format: int32
|
|
5340
|
-
* @description Caller's resolved tier (1–6) from stored weighted 14-day volume
|
|
5663
|
+
* @description Caller's resolved tier (1–6) from their wallet's stored weighted 14-day volume
|
|
5341
5664
|
* @example 2
|
|
5342
5665
|
*/
|
|
5343
5666
|
currentTierLevel?: number | null;
|
|
5344
5667
|
/**
|
|
5345
|
-
* @description Caller's weighted 14-day volume (perp + 2.5× spot)
|
|
5668
|
+
* @description Caller's weighted 14-day volume (perp + 2.5× spot), summed across every application the wallet trades through
|
|
5346
5669
|
* @example 7500000
|
|
5347
5670
|
*/
|
|
5348
5671
|
weightedVolume14d?: string | null;
|
|
5349
5672
|
/**
|
|
5350
|
-
* @description Caller's rolling 14-day spot volume
|
|
5673
|
+
* @description Caller's rolling 14-day spot volume, summed across every application the wallet trades through
|
|
5351
5674
|
* @example 1000000
|
|
5352
5675
|
*/
|
|
5353
5676
|
spotVolume14d?: string | null;
|
|
5354
5677
|
/**
|
|
5355
|
-
* @description Caller's rolling 14-day perp volume
|
|
5678
|
+
* @description Caller's rolling 14-day perp volume, summed across every application the wallet trades through
|
|
5356
5679
|
* @example 5000000
|
|
5357
5680
|
*/
|
|
5358
5681
|
perpVolume14d?: string | null;
|
|
@@ -6071,7 +6394,7 @@ export interface components {
|
|
|
6071
6394
|
cumFees?: string | null;
|
|
6072
6395
|
/**
|
|
6073
6396
|
* Format: int64
|
|
6074
|
-
* @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.
|
|
6397
|
+
* @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. Ranked live frames include fills that leave a position open, direct isolated-position margin adds/reductions, and copy-position margin adds; the copy add refreshes its isolated child and copy-cross siblings at the same version. Cross-risk-bucket ALLOCATE/RELEASE and copy follow/stop refreshes use margin_added/margin_reduced but omit the version because those commands write no position rows. Funding omits it because it re-reads live state after sequencing; terminal frames omit it because they report size 0 and sometimes LIQUIDATED while the stored row keeps its size and records CLOSED. Wallet IN/OUT and plain isolated allocation send no position frame. Transfer frames use captured post-command state and are released only after durable acknowledgement. mark_price, unrealized_pnl, liquidation_price, leverage, maintenance_margin_required and initial_margin_required are UNVERSIONED valuation fields, re-derived per payload rather than served from the versioned row: the version does not advance for them (five move with the oracle mark; leverage does not, being opening notional over posted margin, but the live surfaces derive it while the persisted row serves its stored column, so it can still disagree at an unchanged version) (a valuation-only oracle tick persists nothing; a state-transitioning one, a breach or recovery, persists the account's snapshot and restamps the positions it changed), so the merge rule is per field group — on an equal version skip the versioned fields but still take all six from the newer payload, because discarding a whole payload on an equal version freezes displayed PnL and can leave a stale margin requirement on screen. 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. The version advances exactly when the row's versioned content changed at that sequence, a change undone within one persistence batch included; a position a command left unchanged keeps its version, so a RANKED live frame for an untouched sibling of a filled position can carry a higher version than the persisted row while describing identical content — rank it as newer, and nothing changes. A response served from live matching-engine state reports 0 (unranked): the engine holds the state but not the version.
|
|
6075
6398
|
* @example 918342
|
|
6076
6399
|
*/
|
|
6077
6400
|
version?: number | null;
|
|
@@ -6797,6 +7120,12 @@ export interface components {
|
|
|
6797
7120
|
*/
|
|
6798
7121
|
totalPages?: number | null;
|
|
6799
7122
|
};
|
|
7123
|
+
ListBuilderFeeChangesResponse: {
|
|
7124
|
+
/** @description Builder-fee changes, newest first. */
|
|
7125
|
+
changes?: components["schemas"]["BuilderFeeChange"][] | null;
|
|
7126
|
+
/** @description Cursor for the next page; empty when there are no more. */
|
|
7127
|
+
nextPageToken?: string | null;
|
|
7128
|
+
};
|
|
6800
7129
|
ListBuildercodePayoutsResponse: {
|
|
6801
7130
|
/** @description Per-trade credits, newest first. */
|
|
6802
7131
|
payouts?: components["schemas"]["BuildercodePayout"][] | null;
|
|
@@ -7882,7 +8211,7 @@ export interface components {
|
|
|
7882
8211
|
cumFees?: string | null;
|
|
7883
8212
|
/**
|
|
7884
8213
|
* Format: int64
|
|
7885
|
-
* @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.
|
|
8214
|
+
* @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. Ranked live frames include fills that leave a position open, direct isolated-position margin adds/reductions, and copy-position margin adds; the copy add refreshes its isolated child and copy-cross siblings at the same version. Cross-risk-bucket ALLOCATE/RELEASE and copy follow/stop refreshes use margin_added/margin_reduced but omit the version because those commands write no position rows. Funding omits it because it re-reads live state after sequencing; terminal frames omit it because they report size 0 and sometimes LIQUIDATED while the stored row keeps its size and records CLOSED. Wallet IN/OUT and plain isolated allocation send no position frame. Transfer frames use captured post-command state and are released only after durable acknowledgement. mark_price, unrealized_pnl, liquidation_price, leverage, maintenance_margin_required and initial_margin_required are UNVERSIONED valuation fields, re-derived per payload rather than served from the versioned row: the version does not advance for them (five move with the oracle mark; leverage does not, being opening notional over posted margin, but the live surfaces derive it while the persisted row serves its stored column, so it can still disagree at an unchanged version) (a valuation-only oracle tick persists nothing; a state-transitioning one, a breach or recovery, persists the account's snapshot and restamps the positions it changed), so the merge rule is per field group — on an equal version skip the versioned fields but still take all six from the newer payload, because discarding a whole payload on an equal version freezes displayed PnL and can leave a stale margin requirement on screen. 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. The version advances exactly when the row's versioned content changed at that sequence, a change undone within one persistence batch included; a position a command left unchanged keeps its version, so a RANKED live frame for an untouched sibling of a filled position can carry a higher version than the persisted row while describing identical content — rank it as newer, and nothing changes. A response served from live matching-engine state reports 0 (unranked): the engine holds the state but not the version.
|
|
7886
8215
|
* @example 918342
|
|
7887
8216
|
*/
|
|
7888
8217
|
version?: number | null;
|
|
@@ -8300,7 +8629,7 @@ export interface components {
|
|
|
8300
8629
|
RefreshResponse: {
|
|
8301
8630
|
/**
|
|
8302
8631
|
* Format: int32
|
|
8303
|
-
* @description Unix timestamp when the session expires after refresh
|
|
8632
|
+
* @description Unix timestamp when the session expires after refresh. For delegated sessions, bounded by the active delegation expiry when set.
|
|
8304
8633
|
* @example 1699876543
|
|
8305
8634
|
*/
|
|
8306
8635
|
expiresAt?: number | null;
|
|
@@ -8620,6 +8949,39 @@ export interface components {
|
|
|
8620
8949
|
*/
|
|
8621
8950
|
isCustom?: boolean | null;
|
|
8622
8951
|
};
|
|
8952
|
+
SetBuilderFeeRequest: {
|
|
8953
|
+
/**
|
|
8954
|
+
* Format: uint32
|
|
8955
|
+
* @description New builder fee in basis points, from 0 up to the current `builderFeeCapBps` inclusive. 0 stops charging a builder fee.
|
|
8956
|
+
* @example 10
|
|
8957
|
+
*/
|
|
8958
|
+
bps: number;
|
|
8959
|
+
};
|
|
8960
|
+
SetBuilderFeeResponse: {
|
|
8961
|
+
/**
|
|
8962
|
+
* Format: uint32
|
|
8963
|
+
* @description The builder fee now stored, in basis points.
|
|
8964
|
+
* @example 10
|
|
8965
|
+
*/
|
|
8966
|
+
builderFeeBps?: number | null;
|
|
8967
|
+
/**
|
|
8968
|
+
* Format: uint32
|
|
8969
|
+
* @description The builder fee this change replaced, in basis points. Equal to `builderFeeBps` when the request set the fee it already had, which changes nothing.
|
|
8970
|
+
* @example 0
|
|
8971
|
+
*/
|
|
8972
|
+
previousBuilderFeeBps?: number | null;
|
|
8973
|
+
/**
|
|
8974
|
+
* Format: uint32
|
|
8975
|
+
* @description Builder-fee changes this application can still make in the current rolling 24 hours (at most 2).
|
|
8976
|
+
* @example 1
|
|
8977
|
+
*/
|
|
8978
|
+
changesRemaining?: number | null;
|
|
8979
|
+
/**
|
|
8980
|
+
* Format: date-time
|
|
8981
|
+
* @description RFC 3339 time at which the next builder-fee change becomes allowed, or null while `changesRemaining` is above 0.
|
|
8982
|
+
*/
|
|
8983
|
+
nextChangeAllowedAt?: string | null;
|
|
8984
|
+
};
|
|
8623
8985
|
SetSelfTradePreventionDefaultRequest: {
|
|
8624
8986
|
/**
|
|
8625
8987
|
* @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.
|
|
@@ -9763,12 +10125,12 @@ export interface components {
|
|
|
9763
10125
|
};
|
|
9764
10126
|
UpdatedFields: {
|
|
9765
10127
|
/**
|
|
9766
|
-
* @description
|
|
10128
|
+
* @description The replacement's limit price: the requested price, or the original order's price when price was omitted.
|
|
9767
10129
|
* @example 35500.00
|
|
9768
10130
|
*/
|
|
9769
10131
|
price?: string | null;
|
|
9770
10132
|
/**
|
|
9771
|
-
* @description
|
|
10133
|
+
* @description The replacement's total quantity: the requested quantity, or the original order's total when quantity was omitted. It is not the resting size: the replacement rests this total minus the already-filled amount, so a 100-lot with 60 filled reports 100 here and rests 40. Read the order's remainingQuantity for the resting size. Margin reduce-only replacements are the exception: this is the close size placed, which is the requested quantity or, when omitted, the original's remaining quantity.
|
|
9772
10134
|
* @example 0.7
|
|
9773
10135
|
*/
|
|
9774
10136
|
quantity?: string | null;
|
|
@@ -9785,7 +10147,7 @@ export interface components {
|
|
|
9785
10147
|
*/
|
|
9786
10148
|
name?: string | null;
|
|
9787
10149
|
/**
|
|
9788
|
-
* @description Optional delegation expiry timestamp (ISO 8601). Omit for no expiry.
|
|
10150
|
+
* @description Optional delegation expiry timestamp (ISO 8601). Ends delegated reads, trading, and session refresh. Omit for no delegation expiry; session expiry still applies.
|
|
9789
10151
|
* @example 2026-12-31T23:59:59Z
|
|
9790
10152
|
*/
|
|
9791
10153
|
expiresAt?: string | null;
|
|
@@ -11728,14 +12090,18 @@ export interface operations {
|
|
|
11728
12090
|
};
|
|
11729
12091
|
};
|
|
11730
12092
|
};
|
|
11731
|
-
|
|
12093
|
+
set_builder_fee: {
|
|
11732
12094
|
parameters: {
|
|
11733
12095
|
query?: never;
|
|
11734
12096
|
header?: never;
|
|
11735
12097
|
path?: never;
|
|
11736
12098
|
cookie?: never;
|
|
11737
12099
|
};
|
|
11738
|
-
requestBody
|
|
12100
|
+
requestBody: {
|
|
12101
|
+
content: {
|
|
12102
|
+
"application/json": components["schemas"]["SetBuilderFeeRequest"];
|
|
12103
|
+
};
|
|
12104
|
+
};
|
|
11739
12105
|
responses: {
|
|
11740
12106
|
/** @description OK */
|
|
11741
12107
|
200: {
|
|
@@ -11743,9 +12109,16 @@ export interface operations {
|
|
|
11743
12109
|
[name: string]: unknown;
|
|
11744
12110
|
};
|
|
11745
12111
|
content: {
|
|
11746
|
-
"application/json": components["schemas"]["
|
|
12112
|
+
"application/json": components["schemas"]["SetBuilderFeeResponse"];
|
|
11747
12113
|
};
|
|
11748
12114
|
};
|
|
12115
|
+
/** @description bps is above the current builder-fee cap (gRPC: INVALID_ARGUMENT) */
|
|
12116
|
+
400: {
|
|
12117
|
+
headers: {
|
|
12118
|
+
[name: string]: unknown;
|
|
12119
|
+
};
|
|
12120
|
+
content?: never;
|
|
12121
|
+
};
|
|
11749
12122
|
/** @description Authentication required */
|
|
11750
12123
|
401: {
|
|
11751
12124
|
headers: {
|
|
@@ -11767,6 +12140,13 @@ export interface operations {
|
|
|
11767
12140
|
};
|
|
11768
12141
|
content?: never;
|
|
11769
12142
|
};
|
|
12143
|
+
/** @description The application is not enrolled in BuilderCodes with a payout address, or it has already made two changes in the last 24 hours; the latter carries `details.nextChangeAllowedAt` (gRPC: FAILED_PRECONDITION) */
|
|
12144
|
+
409: {
|
|
12145
|
+
headers: {
|
|
12146
|
+
[name: string]: unknown;
|
|
12147
|
+
};
|
|
12148
|
+
content?: never;
|
|
12149
|
+
};
|
|
11770
12150
|
/** @description Internal server error */
|
|
11771
12151
|
500: {
|
|
11772
12152
|
headers: {
|
|
@@ -11776,15 +12156,16 @@ export interface operations {
|
|
|
11776
12156
|
};
|
|
11777
12157
|
};
|
|
11778
12158
|
};
|
|
11779
|
-
|
|
12159
|
+
list_builder_fee_changes: {
|
|
11780
12160
|
parameters: {
|
|
11781
12161
|
query?: {
|
|
11782
|
-
/** @description Page number (1-indexed) */
|
|
11783
|
-
page?: number;
|
|
11784
12162
|
/** @description Items per page (max 100) */
|
|
11785
12163
|
pageSize?: number;
|
|
11786
|
-
/**
|
|
11787
|
-
|
|
12164
|
+
/**
|
|
12165
|
+
* @description Opaque cursor from a previous response's `nextPageToken`; omit or send an
|
|
12166
|
+
* empty string for the first page.
|
|
12167
|
+
*/
|
|
12168
|
+
pageToken?: string;
|
|
11788
12169
|
};
|
|
11789
12170
|
header?: never;
|
|
11790
12171
|
path?: never;
|
|
@@ -11798,10 +12179,10 @@ export interface operations {
|
|
|
11798
12179
|
[name: string]: unknown;
|
|
11799
12180
|
};
|
|
11800
12181
|
content: {
|
|
11801
|
-
"application/json": components["schemas"]["
|
|
12182
|
+
"application/json": components["schemas"]["ListBuilderFeeChangesResponse"];
|
|
11802
12183
|
};
|
|
11803
12184
|
};
|
|
11804
|
-
/** @description Invalid
|
|
12185
|
+
/** @description Invalid page size or page token */
|
|
11805
12186
|
400: {
|
|
11806
12187
|
headers: {
|
|
11807
12188
|
[name: string]: unknown;
|
|
@@ -11838,7 +12219,7 @@ export interface operations {
|
|
|
11838
12219
|
};
|
|
11839
12220
|
};
|
|
11840
12221
|
};
|
|
11841
|
-
|
|
12222
|
+
get_buildercodes_config: {
|
|
11842
12223
|
parameters: {
|
|
11843
12224
|
query?: never;
|
|
11844
12225
|
header?: never;
|
|
@@ -11853,7 +12234,7 @@ export interface operations {
|
|
|
11853
12234
|
[name: string]: unknown;
|
|
11854
12235
|
};
|
|
11855
12236
|
content: {
|
|
11856
|
-
"application/json": components["schemas"]["
|
|
12237
|
+
"application/json": components["schemas"]["GetBuildercodesConfigResponse"];
|
|
11857
12238
|
};
|
|
11858
12239
|
};
|
|
11859
12240
|
/** @description Authentication required */
|
|
@@ -11886,9 +12267,16 @@ export interface operations {
|
|
|
11886
12267
|
};
|
|
11887
12268
|
};
|
|
11888
12269
|
};
|
|
11889
|
-
|
|
12270
|
+
list_buildercode_payouts: {
|
|
11890
12271
|
parameters: {
|
|
11891
|
-
query?:
|
|
12272
|
+
query?: {
|
|
12273
|
+
/** @description Page number (1-indexed) */
|
|
12274
|
+
page?: number;
|
|
12275
|
+
/** @description Items per page (max 100) */
|
|
12276
|
+
pageSize?: number;
|
|
12277
|
+
/** @description Only return BuilderCodes payouts of this payout kind: REVENUE_SHARE (the frontend's share of Monaco's fee) or BUILDER_FEE (reserved and not currently emitted). Omit for every kind. */
|
|
12278
|
+
kind?: "REVENUE_SHARE" | "BUILDER_FEE";
|
|
12279
|
+
};
|
|
11892
12280
|
header?: never;
|
|
11893
12281
|
path?: never;
|
|
11894
12282
|
cookie?: never;
|
|
@@ -11901,12 +12289,115 @@ export interface operations {
|
|
|
11901
12289
|
[name: string]: unknown;
|
|
11902
12290
|
};
|
|
11903
12291
|
content: {
|
|
11904
|
-
"application/json": components["schemas"]["
|
|
12292
|
+
"application/json": components["schemas"]["ListBuildercodePayoutsResponse"];
|
|
11905
12293
|
};
|
|
11906
12294
|
};
|
|
11907
|
-
/** @description
|
|
11908
|
-
|
|
11909
|
-
headers: {
|
|
12295
|
+
/** @description Invalid pagination */
|
|
12296
|
+
400: {
|
|
12297
|
+
headers: {
|
|
12298
|
+
[name: string]: unknown;
|
|
12299
|
+
};
|
|
12300
|
+
content?: never;
|
|
12301
|
+
};
|
|
12302
|
+
/** @description Authentication required */
|
|
12303
|
+
401: {
|
|
12304
|
+
headers: {
|
|
12305
|
+
[name: string]: unknown;
|
|
12306
|
+
};
|
|
12307
|
+
content?: never;
|
|
12308
|
+
};
|
|
12309
|
+
/** @description Refused: BuilderCodes is disabled, the caller is delegated, or the caller is not this application's payout wallet (gRPC: PERMISSION_DENIED) */
|
|
12310
|
+
403: {
|
|
12311
|
+
headers: {
|
|
12312
|
+
[name: string]: unknown;
|
|
12313
|
+
};
|
|
12314
|
+
content?: never;
|
|
12315
|
+
};
|
|
12316
|
+
/** @description Authenticated application not found (gRPC: NOT_FOUND) */
|
|
12317
|
+
404: {
|
|
12318
|
+
headers: {
|
|
12319
|
+
[name: string]: unknown;
|
|
12320
|
+
};
|
|
12321
|
+
content?: never;
|
|
12322
|
+
};
|
|
12323
|
+
/** @description Internal server error */
|
|
12324
|
+
500: {
|
|
12325
|
+
headers: {
|
|
12326
|
+
[name: string]: unknown;
|
|
12327
|
+
};
|
|
12328
|
+
content?: never;
|
|
12329
|
+
};
|
|
12330
|
+
};
|
|
12331
|
+
};
|
|
12332
|
+
get_buildercode_payout_summary: {
|
|
12333
|
+
parameters: {
|
|
12334
|
+
query?: never;
|
|
12335
|
+
header?: never;
|
|
12336
|
+
path?: never;
|
|
12337
|
+
cookie?: never;
|
|
12338
|
+
};
|
|
12339
|
+
requestBody?: never;
|
|
12340
|
+
responses: {
|
|
12341
|
+
/** @description OK */
|
|
12342
|
+
200: {
|
|
12343
|
+
headers: {
|
|
12344
|
+
[name: string]: unknown;
|
|
12345
|
+
};
|
|
12346
|
+
content: {
|
|
12347
|
+
"application/json": components["schemas"]["GetBuildercodePayoutSummaryResponse"];
|
|
12348
|
+
};
|
|
12349
|
+
};
|
|
12350
|
+
/** @description Authentication required */
|
|
12351
|
+
401: {
|
|
12352
|
+
headers: {
|
|
12353
|
+
[name: string]: unknown;
|
|
12354
|
+
};
|
|
12355
|
+
content?: never;
|
|
12356
|
+
};
|
|
12357
|
+
/** @description Refused: BuilderCodes is disabled, the caller is delegated, or the caller is not this application's payout wallet (gRPC: PERMISSION_DENIED) */
|
|
12358
|
+
403: {
|
|
12359
|
+
headers: {
|
|
12360
|
+
[name: string]: unknown;
|
|
12361
|
+
};
|
|
12362
|
+
content?: never;
|
|
12363
|
+
};
|
|
12364
|
+
/** @description Authenticated application not found (gRPC: NOT_FOUND) */
|
|
12365
|
+
404: {
|
|
12366
|
+
headers: {
|
|
12367
|
+
[name: string]: unknown;
|
|
12368
|
+
};
|
|
12369
|
+
content?: never;
|
|
12370
|
+
};
|
|
12371
|
+
/** @description Internal server error */
|
|
12372
|
+
500: {
|
|
12373
|
+
headers: {
|
|
12374
|
+
[name: string]: unknown;
|
|
12375
|
+
};
|
|
12376
|
+
content?: never;
|
|
12377
|
+
};
|
|
12378
|
+
};
|
|
12379
|
+
};
|
|
12380
|
+
get_buildercode_rewards_balance: {
|
|
12381
|
+
parameters: {
|
|
12382
|
+
query?: never;
|
|
12383
|
+
header?: never;
|
|
12384
|
+
path?: never;
|
|
12385
|
+
cookie?: never;
|
|
12386
|
+
};
|
|
12387
|
+
requestBody?: never;
|
|
12388
|
+
responses: {
|
|
12389
|
+
/** @description OK */
|
|
12390
|
+
200: {
|
|
12391
|
+
headers: {
|
|
12392
|
+
[name: string]: unknown;
|
|
12393
|
+
};
|
|
12394
|
+
content: {
|
|
12395
|
+
"application/json": components["schemas"]["GetBuildercodeRewardsBalanceResponse"];
|
|
12396
|
+
};
|
|
12397
|
+
};
|
|
12398
|
+
/** @description Authentication required */
|
|
12399
|
+
401: {
|
|
12400
|
+
headers: {
|
|
11910
12401
|
[name: string]: unknown;
|
|
11911
12402
|
};
|
|
11912
12403
|
content?: never;
|
|
@@ -12122,6 +12613,75 @@ export interface operations {
|
|
|
12122
12613
|
};
|
|
12123
12614
|
};
|
|
12124
12615
|
};
|
|
12616
|
+
close_all_copy_positions: {
|
|
12617
|
+
parameters: {
|
|
12618
|
+
query?: never;
|
|
12619
|
+
header?: never;
|
|
12620
|
+
path?: never;
|
|
12621
|
+
cookie?: never;
|
|
12622
|
+
};
|
|
12623
|
+
requestBody?: never;
|
|
12624
|
+
responses: {
|
|
12625
|
+
/** @description OK */
|
|
12626
|
+
200: {
|
|
12627
|
+
headers: {
|
|
12628
|
+
[name: string]: unknown;
|
|
12629
|
+
};
|
|
12630
|
+
content: {
|
|
12631
|
+
"application/json": components["schemas"]["CloseAllCopyPositionsResponse"];
|
|
12632
|
+
};
|
|
12633
|
+
};
|
|
12634
|
+
/** @description The close was refused */
|
|
12635
|
+
400: {
|
|
12636
|
+
headers: {
|
|
12637
|
+
[name: string]: unknown;
|
|
12638
|
+
};
|
|
12639
|
+
content?: never;
|
|
12640
|
+
};
|
|
12641
|
+
/** @description Authentication required */
|
|
12642
|
+
401: {
|
|
12643
|
+
headers: {
|
|
12644
|
+
[name: string]: unknown;
|
|
12645
|
+
};
|
|
12646
|
+
content?: never;
|
|
12647
|
+
};
|
|
12648
|
+
/** @description Delegated agent sessions cannot close copy positions */
|
|
12649
|
+
403: {
|
|
12650
|
+
headers: {
|
|
12651
|
+
[name: string]: unknown;
|
|
12652
|
+
};
|
|
12653
|
+
content?: never;
|
|
12654
|
+
};
|
|
12655
|
+
/** @description Copy trading is not available */
|
|
12656
|
+
409: {
|
|
12657
|
+
headers: {
|
|
12658
|
+
[name: string]: unknown;
|
|
12659
|
+
};
|
|
12660
|
+
content?: never;
|
|
12661
|
+
};
|
|
12662
|
+
/** @description Copy position close rate limit exceeded; retry after the interval in details.retryAfter */
|
|
12663
|
+
429: {
|
|
12664
|
+
headers: {
|
|
12665
|
+
[name: string]: unknown;
|
|
12666
|
+
};
|
|
12667
|
+
content?: never;
|
|
12668
|
+
};
|
|
12669
|
+
/** @description Internal server error */
|
|
12670
|
+
500: {
|
|
12671
|
+
headers: {
|
|
12672
|
+
[name: string]: unknown;
|
|
12673
|
+
};
|
|
12674
|
+
content?: never;
|
|
12675
|
+
};
|
|
12676
|
+
/** @description The matching engine is unavailable; retry */
|
|
12677
|
+
503: {
|
|
12678
|
+
headers: {
|
|
12679
|
+
[name: string]: unknown;
|
|
12680
|
+
};
|
|
12681
|
+
content?: never;
|
|
12682
|
+
};
|
|
12683
|
+
};
|
|
12684
|
+
};
|
|
12125
12685
|
preview_follow: {
|
|
12126
12686
|
parameters: {
|
|
12127
12687
|
query?: never;
|
|
@@ -12259,6 +12819,84 @@ export interface operations {
|
|
|
12259
12819
|
};
|
|
12260
12820
|
};
|
|
12261
12821
|
};
|
|
12822
|
+
close_follow_positions: {
|
|
12823
|
+
parameters: {
|
|
12824
|
+
query?: never;
|
|
12825
|
+
header?: never;
|
|
12826
|
+
path: {
|
|
12827
|
+
followId: string;
|
|
12828
|
+
};
|
|
12829
|
+
cookie?: never;
|
|
12830
|
+
};
|
|
12831
|
+
requestBody?: never;
|
|
12832
|
+
responses: {
|
|
12833
|
+
/** @description OK */
|
|
12834
|
+
200: {
|
|
12835
|
+
headers: {
|
|
12836
|
+
[name: string]: unknown;
|
|
12837
|
+
};
|
|
12838
|
+
content: {
|
|
12839
|
+
"application/json": components["schemas"]["CloseFollowPositionsResponse"];
|
|
12840
|
+
};
|
|
12841
|
+
};
|
|
12842
|
+
/** @description Invalid follow id, or the close was refused */
|
|
12843
|
+
400: {
|
|
12844
|
+
headers: {
|
|
12845
|
+
[name: string]: unknown;
|
|
12846
|
+
};
|
|
12847
|
+
content?: never;
|
|
12848
|
+
};
|
|
12849
|
+
/** @description Authentication required */
|
|
12850
|
+
401: {
|
|
12851
|
+
headers: {
|
|
12852
|
+
[name: string]: unknown;
|
|
12853
|
+
};
|
|
12854
|
+
content?: never;
|
|
12855
|
+
};
|
|
12856
|
+
/** @description Delegated agent sessions cannot close copy positions */
|
|
12857
|
+
403: {
|
|
12858
|
+
headers: {
|
|
12859
|
+
[name: string]: unknown;
|
|
12860
|
+
};
|
|
12861
|
+
content?: never;
|
|
12862
|
+
};
|
|
12863
|
+
/** @description Follow not found */
|
|
12864
|
+
404: {
|
|
12865
|
+
headers: {
|
|
12866
|
+
[name: string]: unknown;
|
|
12867
|
+
};
|
|
12868
|
+
content?: never;
|
|
12869
|
+
};
|
|
12870
|
+
/** @description The follow is stopped, or its stop is in progress (which closes its positions itself), or copy trading is not available */
|
|
12871
|
+
409: {
|
|
12872
|
+
headers: {
|
|
12873
|
+
[name: string]: unknown;
|
|
12874
|
+
};
|
|
12875
|
+
content?: never;
|
|
12876
|
+
};
|
|
12877
|
+
/** @description Copy position close rate limit exceeded; retry after the interval in details.retryAfter */
|
|
12878
|
+
429: {
|
|
12879
|
+
headers: {
|
|
12880
|
+
[name: string]: unknown;
|
|
12881
|
+
};
|
|
12882
|
+
content?: never;
|
|
12883
|
+
};
|
|
12884
|
+
/** @description Internal server error */
|
|
12885
|
+
500: {
|
|
12886
|
+
headers: {
|
|
12887
|
+
[name: string]: unknown;
|
|
12888
|
+
};
|
|
12889
|
+
content?: never;
|
|
12890
|
+
};
|
|
12891
|
+
/** @description The close cannot run right now, or the matching engine is unavailable; retry */
|
|
12892
|
+
503: {
|
|
12893
|
+
headers: {
|
|
12894
|
+
[name: string]: unknown;
|
|
12895
|
+
};
|
|
12896
|
+
content?: never;
|
|
12897
|
+
};
|
|
12898
|
+
};
|
|
12899
|
+
};
|
|
12262
12900
|
list_follow_leader_positions: {
|
|
12263
12901
|
parameters: {
|
|
12264
12902
|
query?: never;
|
|
@@ -12330,6 +12968,88 @@ export interface operations {
|
|
|
12330
12968
|
};
|
|
12331
12969
|
};
|
|
12332
12970
|
};
|
|
12971
|
+
add_follow_position_margin: {
|
|
12972
|
+
parameters: {
|
|
12973
|
+
query?: never;
|
|
12974
|
+
header?: never;
|
|
12975
|
+
path: {
|
|
12976
|
+
followId: string;
|
|
12977
|
+
};
|
|
12978
|
+
cookie?: never;
|
|
12979
|
+
};
|
|
12980
|
+
requestBody: {
|
|
12981
|
+
content: {
|
|
12982
|
+
"application/json": components["schemas"]["AddFollowPositionMarginRequest"];
|
|
12983
|
+
};
|
|
12984
|
+
};
|
|
12985
|
+
responses: {
|
|
12986
|
+
/** @description OK */
|
|
12987
|
+
200: {
|
|
12988
|
+
headers: {
|
|
12989
|
+
[name: string]: unknown;
|
|
12990
|
+
};
|
|
12991
|
+
content: {
|
|
12992
|
+
"application/json": components["schemas"]["AddFollowPositionMarginResponse"];
|
|
12993
|
+
};
|
|
12994
|
+
};
|
|
12995
|
+
/** @description Invalid follow id, trading pair or amount, or refused by the engine with code COPY_TRADING_REJECTED (no copy position on the pair, the position or the margin account is being liquidated, the position has lost more than its margin, more than the copy account holds; the message names the rule) */
|
|
12996
|
+
400: {
|
|
12997
|
+
headers: {
|
|
12998
|
+
[name: string]: unknown;
|
|
12999
|
+
};
|
|
13000
|
+
content?: never;
|
|
13001
|
+
};
|
|
13002
|
+
/** @description Authentication required */
|
|
13003
|
+
401: {
|
|
13004
|
+
headers: {
|
|
13005
|
+
[name: string]: unknown;
|
|
13006
|
+
};
|
|
13007
|
+
content?: never;
|
|
13008
|
+
};
|
|
13009
|
+
/** @description Only a master account session can add margin (not a delegated agent or a sub-account) */
|
|
13010
|
+
403: {
|
|
13011
|
+
headers: {
|
|
13012
|
+
[name: string]: unknown;
|
|
13013
|
+
};
|
|
13014
|
+
content?: never;
|
|
13015
|
+
};
|
|
13016
|
+
/** @description Follow not found */
|
|
13017
|
+
404: {
|
|
13018
|
+
headers: {
|
|
13019
|
+
[name: string]: unknown;
|
|
13020
|
+
};
|
|
13021
|
+
content?: never;
|
|
13022
|
+
};
|
|
13023
|
+
/** @description The follow is stopping or stopped, or code COPY_TRADING_UNAVAILABLE: copy trading is not available on the platform */
|
|
13024
|
+
409: {
|
|
13025
|
+
headers: {
|
|
13026
|
+
[name: string]: unknown;
|
|
13027
|
+
};
|
|
13028
|
+
content?: never;
|
|
13029
|
+
};
|
|
13030
|
+
/** @description Movement rate limit exceeded — withdrawals and collateral transfers share a per-user budget; retry after the interval in details.retryAfter */
|
|
13031
|
+
429: {
|
|
13032
|
+
headers: {
|
|
13033
|
+
[name: string]: unknown;
|
|
13034
|
+
};
|
|
13035
|
+
content?: never;
|
|
13036
|
+
};
|
|
13037
|
+
/** @description Internal server error */
|
|
13038
|
+
500: {
|
|
13039
|
+
headers: {
|
|
13040
|
+
[name: string]: unknown;
|
|
13041
|
+
};
|
|
13042
|
+
content?: never;
|
|
13043
|
+
};
|
|
13044
|
+
/** @description Matching engine unavailable; retry */
|
|
13045
|
+
503: {
|
|
13046
|
+
headers: {
|
|
13047
|
+
[name: string]: unknown;
|
|
13048
|
+
};
|
|
13049
|
+
content?: never;
|
|
13050
|
+
};
|
|
13051
|
+
};
|
|
13052
|
+
};
|
|
12333
13053
|
stop_follow: {
|
|
12334
13054
|
parameters: {
|
|
12335
13055
|
query?: never;
|