@0xmonaco/types 1.0.81 → 1.0.82

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.
@@ -2197,7 +2197,7 @@ export interface paths {
2197
2197
  };
2198
2198
  /**
2199
2199
  * Open Interest
2200
- * @description Open interest for a perp market.
2200
+ * @description Gross open interest (longs plus shorts) for a perp market.
2201
2201
  */
2202
2202
  get: operations["get_open_interest"];
2203
2203
  put?: never;
@@ -2616,6 +2616,32 @@ export interface paths {
2616
2616
  patch?: never;
2617
2617
  trace?: never;
2618
2618
  };
2619
+ "/api/v1/orders/twap/{twapOrderId}/slices": {
2620
+ parameters: {
2621
+ query?: never;
2622
+ header?: never;
2623
+ path?: never;
2624
+ cookie?: never;
2625
+ };
2626
+ /**
2627
+ * List TWAP order slices
2628
+ * @description List TWAP order slices.
2629
+ *
2630
+ * List the child orders a TWAP parent placed (its slices), each in the
2631
+ * same shape as GetOrder, in placement order. A passive TWAP's reprices and
2632
+ * deadline sweeps are slices too, so a parent can have more slices than
2633
+ * `slicesPlaced`. Resting and finished slices are both listed. Users can
2634
+ * only access their own TWAP orders.
2635
+ */
2636
+ get: operations["list_twap_order_slices"];
2637
+ put?: never;
2638
+ post?: never;
2639
+ delete?: never;
2640
+ options?: never;
2641
+ head?: never;
2642
+ patch?: never;
2643
+ trace?: never;
2644
+ };
2619
2645
  "/api/v1/orders/twap/{twapOrderId}/tca": {
2620
2646
  parameters: {
2621
2647
  query?: never;
@@ -2685,7 +2711,8 @@ export interface paths {
2685
2711
  cookie?: never;
2686
2712
  };
2687
2713
  /**
2688
- * Check custom TraderCode availability
2714
+ * Check custom TraderCode availability (deprecated PitPass path)
2715
+ * @deprecated
2689
2716
  * @description Check custom-handle availability (public, advisory).
2690
2717
  *
2691
2718
  * Unauthenticated as-you-type check for a custom handle: returns `available`
@@ -2693,7 +2720,7 @@ export interface paths {
2693
2720
  * authoritative gate is the atomic claim in SetTraderCode — so a positive
2694
2721
  * result never reserves the handle.
2695
2722
  */
2696
- get: operations["check_trader_code_availability"];
2723
+ get: operations["pitpass_check_trader_code_availability"];
2697
2724
  put?: never;
2698
2725
  post?: never;
2699
2726
  delete?: never;
@@ -2710,7 +2737,8 @@ export interface paths {
2710
2737
  cookie?: never;
2711
2738
  };
2712
2739
  /**
2713
- * Get your TraderCode
2740
+ * Get your TraderCode (deprecated PitPass path)
2741
+ * @deprecated
2714
2742
  * @description Claim your TraderCode.
2715
2743
  *
2716
2744
  * Get your TraderCode.
@@ -2720,7 +2748,7 @@ export interface paths {
2720
2748
  * code always exists for a signed-in wallet — and ensures the backing row so
2721
2749
  * referrals attributed to this wallet have a code to link.
2722
2750
  */
2723
- get: operations["get_my_trader_code"];
2751
+ get: operations["pitpass_get_my_trader_code"];
2724
2752
  put?: never;
2725
2753
  post?: never;
2726
2754
  delete?: never;
@@ -2738,7 +2766,8 @@ export interface paths {
2738
2766
  };
2739
2767
  get?: never;
2740
2768
  /**
2741
- * Claim or edit your custom TraderCode
2769
+ * Claim or edit your custom TraderCode (deprecated PitPass path)
2770
+ * @deprecated
2742
2771
  * @description Claim or edit your custom TraderCode handle.
2743
2772
  *
2744
2773
  * Single claim-or-edit entry point: set the authenticated caller's custom
@@ -2749,10 +2778,11 @@ export interface paths {
2749
2778
  * uniqueness is case-insensitive. Gated by the `custom_trader_codes_enabled`
2750
2779
  * feature flag. Returns the caller's updated TraderCode identity.
2751
2780
  */
2752
- put: operations["set_trader_code"];
2781
+ put: operations["pitpass_set_trader_code"];
2753
2782
  post?: never;
2754
2783
  /**
2755
- * Clear your custom TraderCode
2784
+ * Clear your custom TraderCode (deprecated PitPass path)
2785
+ * @deprecated
2756
2786
  * @description Clear your custom TraderCode handle.
2757
2787
  *
2758
2788
  * Revert the authenticated caller to their wallet-derived default, releasing
@@ -2761,7 +2791,7 @@ export interface paths {
2761
2791
  * rolling-hour rate-limit. Gated by the `custom_trader_codes_enabled` feature
2762
2792
  * flag.
2763
2793
  */
2764
- delete: operations["clear_trader_code"];
2794
+ delete: operations["pitpass_clear_trader_code"];
2765
2795
  options?: never;
2766
2796
  head?: never;
2767
2797
  patch?: never;
@@ -2775,14 +2805,15 @@ export interface paths {
2775
2805
  cookie?: never;
2776
2806
  };
2777
2807
  /**
2778
- * Look up a TraderCode
2808
+ * Look up a TraderCode (deprecated PitPass path)
2809
+ * @deprecated
2779
2810
  * @description Look up a TraderCode (public).
2780
2811
  *
2781
2812
  * Public, unauthenticated lookup used to validate a referral code at signup.
2782
2813
  * The code is a wallet address; returns the normalized code when it resolves
2783
2814
  * to a known wallet. Returns 404 when the code does not resolve to a user.
2784
2815
  */
2785
- get: operations["get_trader_code_info"];
2816
+ get: operations["pitpass_get_trader_code_info"];
2786
2817
  put?: never;
2787
2818
  post?: never;
2788
2819
  delete?: never;
@@ -2799,7 +2830,8 @@ export interface paths {
2799
2830
  cookie?: never;
2800
2831
  };
2801
2832
  /**
2802
- * Get your referral position
2833
+ * Get your referral position (deprecated PitPass path)
2834
+ * @deprecated
2803
2835
  * @description Read your own referral position (self-scoped).
2804
2836
  *
2805
2837
  * Return the authenticated caller's referral position: their referral chain
@@ -2811,7 +2843,7 @@ export interface paths {
2811
2843
  * identified by their public wallet address, never an internal id. An empty
2812
2844
  * `referrer` means the caller was not referred.
2813
2845
  */
2814
- get: operations["get_my_referral_position"];
2846
+ get: operations["pitpass_get_my_referral_position"];
2815
2847
  put?: never;
2816
2848
  post?: never;
2817
2849
  delete?: never;
@@ -2828,7 +2860,8 @@ export interface paths {
2828
2860
  cookie?: never;
2829
2861
  };
2830
2862
  /**
2831
- * Get your referral downline and earnings
2863
+ * Get your referral downline and earnings (deprecated PitPass path)
2864
+ * @deprecated
2832
2865
  * @description Read your own downline earnings (self-scoped).
2833
2866
  *
2834
2867
  * Return who the authenticated caller earns from and how much: one page of
@@ -2841,7 +2874,7 @@ export interface paths {
2841
2874
  * source and referee is identified by their public wallet address, never an
2842
2875
  * internal id.
2843
2876
  */
2844
- get: operations["get_my_referral_downline"];
2877
+ get: operations["pitpass_get_my_referral_downline"];
2845
2878
  put?: never;
2846
2879
  post?: never;
2847
2880
  delete?: never;
@@ -2858,7 +2891,8 @@ export interface paths {
2858
2891
  cookie?: never;
2859
2892
  };
2860
2893
  /**
2861
- * Get one level of your referral tree
2894
+ * Get one level of your referral tree (deprecated PitPass path)
2895
+ * @deprecated
2862
2896
  * @description Read one level of your own referral tree (self-scoped).
2863
2897
  *
2864
2898
  * Return the wallets directly referred by `parent` — the authenticated caller
@@ -2877,7 +2911,7 @@ export interface paths {
2877
2911
  * anyone else's tree. Every node is identified by its public wallet address,
2878
2912
  * never an internal id.
2879
2913
  */
2880
- get: operations["get_my_referral_tree"];
2914
+ get: operations["pitpass_get_my_referral_tree"];
2881
2915
  put?: never;
2882
2916
  post?: never;
2883
2917
  delete?: never;
@@ -2894,7 +2928,8 @@ export interface paths {
2894
2928
  cookie?: never;
2895
2929
  };
2896
2930
  /**
2897
- * Get your rewards balance
2931
+ * Get your rewards balance (deprecated PitPass path)
2932
+ * @deprecated
2898
2933
  * @description Read accrued TraderCodes rewards balance.
2899
2934
  *
2900
2935
  * Return the caller's current rewards-bucket balances across all reward tokens.
@@ -2902,7 +2937,7 @@ export interface paths {
2902
2937
  * them into a tradeable balance. Returns an empty list when no rewards have
2903
2938
  * been earned yet.
2904
2939
  */
2905
- get: operations["get_rewards_balance"];
2940
+ get: operations["pitpass_get_rewards_balance"];
2906
2941
  put?: never;
2907
2942
  post?: never;
2908
2943
  delete?: never;
@@ -2921,17 +2956,18 @@ export interface paths {
2921
2956
  get?: never;
2922
2957
  put?: never;
2923
2958
  /**
2924
- * Transfer rewards into a trading balance
2959
+ * Transfer rewards into a trading balance (deprecated PitPass path)
2960
+ * @deprecated
2925
2961
  * @description Transfer earned rewards into a trading balance.
2926
2962
  *
2927
2963
  * Move spendable TraderCodes reward balance from your rewards bucket into a
2928
2964
  * trading balance under the authenticated application, making it tradeable
2929
2965
  * immediately. Ledger-only (one shared vault + one backend ledger) — no
2930
- * on-chain transaction and no gas. Fails with 402 when the rewards balance is
2966
+ * on-chain transaction and no gas. Fails with 409 when the rewards balance is
2931
2967
  * insufficient. It spends the per-user movement budget withdrawals and
2932
2968
  * collateral transfers share.
2933
2969
  */
2934
- post: operations["transfer_rewards"];
2970
+ post: operations["pitpass_transfer_rewards"];
2935
2971
  delete?: never;
2936
2972
  options?: never;
2937
2973
  head?: never;
@@ -2967,10 +3003,11 @@ export interface paths {
2967
3003
  * @description Close all open positions in a single batch ("panic close").
2968
3004
  *
2969
3005
  * Submits a MARKET reduce-only close for every open position owned by the
2970
- * caller, optionally filtered to a single trading pair. Best-effort and
2971
- * partial: each position closes independently and per-position failures are
2972
- * reported in `results` rather than aborting the batch. Each close draws
2973
- * one item from the risk-reduction rate limit (an empty call draws one).
3006
+ * caller, optionally filtered to one trading pair or a set of them, and to
3007
+ * one side (LONG or SHORT). Best-effort and partial: each position closes
3008
+ * independently and per-position failures are reported in `results` rather
3009
+ * than aborting the batch. Each close draws one item from the
3010
+ * risk-reduction rate limit (an empty call draws one).
2974
3011
  * The first 100 are charged before anything is sent: over budget, the
2975
3012
  * whole call is refused with 429 and nothing is closed. Past 100 open
2976
3013
  * positions the rest are charged 100 at a time as the call reaches them,
@@ -3194,7 +3231,7 @@ export interface paths {
3194
3231
  patch?: never;
3195
3232
  trace?: never;
3196
3233
  };
3197
- "/api/v1/trades/by-id/{tradeId}": {
3234
+ "/api/v1/tradercodes/codes/available": {
3198
3235
  parameters: {
3199
3236
  query?: never;
3200
3237
  header?: never;
@@ -3202,12 +3239,15 @@ export interface paths {
3202
3239
  cookie?: never;
3203
3240
  };
3204
3241
  /**
3205
- * Get Trade by ID
3206
- * @description Get Trade by ID
3242
+ * Check custom TraderCode availability
3243
+ * @description Check custom-handle availability (public, advisory).
3207
3244
  *
3208
- * Retrieve a single trade by its unique identifier.
3245
+ * Unauthenticated as-you-type check for a custom handle: returns `available`
3246
+ * plus, when unavailable, a snake_case `reason` code. Advisory only — the
3247
+ * authoritative gate is the atomic claim in SetTraderCode — so a positive
3248
+ * result never reserves the handle.
3209
3249
  */
3210
- get: operations["get_trade_by_id"];
3250
+ get: operations["check_trader_code_availability"];
3211
3251
  put?: never;
3212
3252
  post?: never;
3213
3253
  delete?: never;
@@ -3216,7 +3256,7 @@ export interface paths {
3216
3256
  patch?: never;
3217
3257
  trace?: never;
3218
3258
  };
3219
- "/api/v1/trades/{tradingPairId}": {
3259
+ "/api/v1/tradercodes/codes/me": {
3220
3260
  parameters: {
3221
3261
  query?: never;
3222
3262
  header?: never;
@@ -3224,12 +3264,17 @@ export interface paths {
3224
3264
  cookie?: never;
3225
3265
  };
3226
3266
  /**
3227
- * Recent Trades
3228
- * @description Recent Trades
3267
+ * Get your TraderCode
3268
+ * @description Claim your TraderCode.
3229
3269
  *
3230
- * Get recent trades for a trading pair sorted by execution time.
3270
+ * Get your TraderCode.
3271
+ *
3272
+ * Return the authenticated caller's TraderCode, which is derived from their
3273
+ * wallet address (rendered `Monaco - <address>` by clients). Never 404s — the
3274
+ * code always exists for a signed-in wallet — and ensures the backing row so
3275
+ * referrals attributed to this wallet have a code to link.
3231
3276
  */
3232
- get: operations["get_trades"];
3277
+ get: operations["get_my_trader_code"];
3233
3278
  put?: never;
3234
3279
  post?: never;
3235
3280
  delete?: never;
@@ -3238,7 +3283,7 @@ export interface paths {
3238
3283
  patch?: never;
3239
3284
  trace?: never;
3240
3285
  };
3241
- "/api/v1/whitelist": {
3286
+ "/api/v1/tradercodes/codes/me/custom": {
3242
3287
  parameters: {
3243
3288
  query?: never;
3244
3289
  header?: never;
@@ -3246,24 +3291,61 @@ export interface paths {
3246
3291
  cookie?: never;
3247
3292
  };
3248
3293
  get?: never;
3249
- put?: never;
3250
3294
  /**
3251
- * Whitelist applications closed
3252
- * @deprecated
3253
- * @description Public whitelist applications are closed.
3295
+ * Claim or edit your custom TraderCode
3296
+ * @description Claim or edit your custom TraderCode handle.
3254
3297
  *
3255
- * Retained for client compatibility. Every decoded submission is rejected with
3256
- * HTTP 403 Forbidden / gRPC PERMISSION_DENIED and no applicant data is changed.
3257
- * Existing applications and administrative approvals remain available.
3298
+ * Single claim-or-edit entry point: set the authenticated caller's custom
3299
+ * vanity handle (a `[A-Za-z0-9_]`, letter-first, 5–20-char name), keeping the
3300
+ * permanent wallet-derived code as the reward identity. The first claim is
3301
+ * free; subsequent changes are rate-limited and release the freed handle into
3302
+ * a cooldown before anyone else can reclaim it. Case is preserved on store;
3303
+ * uniqueness is case-insensitive. Gated by the `custom_trader_codes_enabled`
3304
+ * feature flag. Returns the caller's updated TraderCode identity.
3258
3305
  */
3259
- post: operations["submit_whitelist"];
3306
+ put: operations["set_trader_code"];
3307
+ post?: never;
3308
+ /**
3309
+ * Clear your custom TraderCode
3310
+ * @description Clear your custom TraderCode handle.
3311
+ *
3312
+ * Revert the authenticated caller to their wallet-derived default, releasing
3313
+ * the freed handle into cooldown. A no-op (returns the current default) when
3314
+ * no custom handle is set. Like an edit, a clear counts against the
3315
+ * rolling-hour rate-limit. Gated by the `custom_trader_codes_enabled` feature
3316
+ * flag.
3317
+ */
3318
+ delete: operations["clear_trader_code"];
3319
+ options?: never;
3320
+ head?: never;
3321
+ patch?: never;
3322
+ trace?: never;
3323
+ };
3324
+ "/api/v1/tradercodes/codes/{code}": {
3325
+ parameters: {
3326
+ query?: never;
3327
+ header?: never;
3328
+ path?: never;
3329
+ cookie?: never;
3330
+ };
3331
+ /**
3332
+ * Look up a TraderCode
3333
+ * @description Look up a TraderCode (public).
3334
+ *
3335
+ * Public, unauthenticated lookup used to validate a referral code at signup.
3336
+ * The code is a wallet address; returns the normalized code when it resolves
3337
+ * to a known wallet. Returns 404 when the code does not resolve to a user.
3338
+ */
3339
+ get: operations["get_trader_code_info"];
3340
+ put?: never;
3341
+ post?: never;
3260
3342
  delete?: never;
3261
3343
  options?: never;
3262
3344
  head?: never;
3263
3345
  patch?: never;
3264
3346
  trace?: never;
3265
3347
  };
3266
- "/api/v1/withdrawals": {
3348
+ "/api/v1/tradercodes/referrals/me": {
3267
3349
  parameters: {
3268
3350
  query?: never;
3269
3351
  header?: never;
@@ -3271,36 +3353,58 @@ export interface paths {
3271
3353
  cookie?: never;
3272
3354
  };
3273
3355
  /**
3274
- * List pending withdrawals
3275
- * @description List the caller's pending withdrawals.
3356
+ * Get your referral position
3357
+ * @description Read your own referral position (self-scoped).
3276
3358
  *
3277
- * Authenticated. Returns the caller's withdrawals that are still awaiting
3278
- * on-chain root confirmation (status `pending`) — i.e. those for which the
3279
- * merkle proof, and therefore the executable calldata from GetWithdrawal, is
3280
- * not available yet. Scoped to the authenticated account: only withdrawals
3281
- * owned by the caller's user + application are returned. Newest first, paged.
3359
+ * Return the authenticated caller's referral position: their referral chain
3360
+ * upward (L1, L2 and onward — who referred them, who referred that wallet, and
3361
+ * so on, as many levels as their trades on this client application pay), the
3362
+ * total rewards they have earned, and their most recent reward rows.
3363
+ * Self-scoped — identity comes only from the session, never a path id,
3364
+ * so a caller can only ever read their own chain. Every other user is
3365
+ * identified by their public wallet address, never an internal id. An empty
3366
+ * `referrer` means the caller was not referred.
3282
3367
  */
3283
- get: operations["list_pending_withdrawals"];
3368
+ get: operations["get_my_referral_position"];
3284
3369
  put?: never;
3370
+ post?: never;
3371
+ delete?: never;
3372
+ options?: never;
3373
+ head?: never;
3374
+ patch?: never;
3375
+ trace?: never;
3376
+ };
3377
+ "/api/v1/tradercodes/referrals/me/downline": {
3378
+ parameters: {
3379
+ query?: never;
3380
+ header?: never;
3381
+ path?: never;
3382
+ cookie?: never;
3383
+ };
3285
3384
  /**
3286
- * Initiate withdrawal
3287
- * @description Initiate a withdrawal.
3385
+ * Get your referral downline and earnings
3386
+ * @description Read your own downline earnings (self-scoped).
3288
3387
  *
3289
- * Master accounts with the withdraw permission only. Routes through the
3290
- * matching engine to debit the balance and allocate a `withdrawal_index`,
3291
- * then returns it plus the target vault address. The `calldata` field is
3292
- * empty: `executeWithdrawal` requires the merkle proof, which only exists
3293
- * after the withdrawal's root is confirmed on-chain. Poll GetWithdrawal to
3294
- * obtain the calldata once it is ready.
3388
+ * Return who the authenticated caller earns from and how much: one page of
3389
+ * the earnings-by-source breakdown across every reward level, their L1
3390
+ * direct-referee roster (including referees who have not traded yet), and a
3391
+ * per-level earnings summary that always covers every level and source,
3392
+ * whatever page is requested. `earnings_by_source` is paged (`page_size`,
3393
+ * `page_token`); a request without them gets the first page, not every row.
3394
+ * Self-scoped — identity comes only from the session, never a path id. Every
3395
+ * source and referee is identified by their public wallet address, never an
3396
+ * internal id.
3295
3397
  */
3296
- post: operations["initiate_withdrawal"];
3398
+ get: operations["get_my_referral_downline"];
3399
+ put?: never;
3400
+ post?: never;
3297
3401
  delete?: never;
3298
3402
  options?: never;
3299
3403
  head?: never;
3300
3404
  patch?: never;
3301
3405
  trace?: never;
3302
3406
  };
3303
- "/api/v1/withdrawals/{withdrawalIndex}": {
3407
+ "/api/v1/tradercodes/referrals/me/tree": {
3304
3408
  parameters: {
3305
3409
  query?: never;
3306
3410
  header?: never;
@@ -3308,18 +3412,26 @@ export interface paths {
3308
3412
  cookie?: never;
3309
3413
  };
3310
3414
  /**
3311
- * Get withdrawal
3312
- * @description Fetch a withdrawal's executable calldata by index.
3415
+ * Get one level of your referral tree
3416
+ * @description Read one level of your own referral tree (self-scoped).
3313
3417
  *
3314
- * Public lookup — no auth. Returns the vault address and ABI-encoded
3315
- * `executeWithdrawal(...)` calldata for a previously-initiated
3316
- * `withdrawal_index`. The calldata is bound to the fixed
3317
- * (index, metadata, owner, destination, token, amount) tuple persisted for
3318
- * the withdrawal, so re-fetching it cannot redirect funds. Returns 409 while
3319
- * the withdrawal's root has not been confirmed on-chain yet (proof not
3320
- * available) — clients poll this endpoint until it succeeds.
3418
+ * Return the wallets directly referred by `parent` — the authenticated caller
3419
+ * when `parent` is omitted, otherwise one of the caller's own referees above
3420
+ * the deepest rewarded level — one page at a time, newest first. Each node carries its level
3421
+ * relative to the caller, its parent, how many wallets it has referred (so the
3422
+ * client knows whether it can be expanded), and what the caller has earned
3423
+ * from that wallet's own trades. Expanding a node is another call with
3424
+ * `parent` set to that node's wallet; the tree always lists the caller's
3425
+ * direct referees (L1) and goes as deep as any client application rewards,
3426
+ * at most 10 levels.
3427
+ *
3428
+ * Self-scoped — identity comes only from the session. A `parent` that is not
3429
+ * the caller or a referee the caller can expand returns 404, the same
3430
+ * as a wallet that does not exist, so the endpoint cannot be used to read
3431
+ * anyone else's tree. Every node is identified by its public wallet address,
3432
+ * never an internal id.
3321
3433
  */
3322
- get: operations["get_withdrawal"];
3434
+ get: operations["get_my_referral_tree"];
3323
3435
  put?: never;
3324
3436
  post?: never;
3325
3437
  delete?: never;
@@ -3328,7 +3440,7 @@ export interface paths {
3328
3440
  patch?: never;
3329
3441
  trace?: never;
3330
3442
  };
3331
- "/health": {
3443
+ "/api/v1/tradercodes/rewards/balance": {
3332
3444
  parameters: {
3333
3445
  query?: never;
3334
3446
  header?: never;
@@ -3336,13 +3448,15 @@ export interface paths {
3336
3448
  cookie?: never;
3337
3449
  };
3338
3450
  /**
3339
- * Health check
3340
- * @description Health check.
3451
+ * Get your rewards balance
3452
+ * @description Read accrued TraderCodes rewards balance.
3341
3453
  *
3342
- * Returns the current health status of the API gateway and its connected
3343
- * services. Can be used for monitoring and load balancer health checks.
3454
+ * Return the caller's current rewards-bucket balances across all reward tokens.
3455
+ * Rewards accumulate here as referred users trade; call TransferRewards to move
3456
+ * them into a tradeable balance. Returns an empty list when no rewards have
3457
+ * been earned yet.
3344
3458
  */
3345
- get: operations["health_check"];
3459
+ get: operations["get_rewards_balance"];
3346
3460
  put?: never;
3347
3461
  post?: never;
3348
3462
  delete?: never;
@@ -3351,38 +3465,222 @@ export interface paths {
3351
3465
  patch?: never;
3352
3466
  trace?: never;
3353
3467
  };
3354
- }
3355
- export type webhooks = Record<string, never>;
3356
- export interface components {
3357
- schemas: {
3358
- AccountBalance: {
3359
- /**
3360
- * @description Token contract address
3361
- * @example 0x6a86da986797d59a839d136db490292cd560c131
3362
- */
3363
- token?: string | null;
3364
- /**
3365
- * @description Token symbol
3366
- * @example USDC
3367
- */
3368
- symbol?: string | null;
3369
- /**
3370
- * Format: int32
3371
- * @description Token decimal places
3372
- * @example 6
3373
- */
3374
- decimals?: number | null;
3375
- /**
3376
- * @description Available (unlocked) balance in token units
3377
- * @example 1000.50
3378
- */
3379
- availableBalance?: string | null;
3380
- /**
3381
- * @description Balance locked in open orders
3382
- * @example 50.25
3383
- */
3384
- lockedBalance?: string | null;
3385
- /**
3468
+ "/api/v1/tradercodes/rewards/transfer": {
3469
+ parameters: {
3470
+ query?: never;
3471
+ header?: never;
3472
+ path?: never;
3473
+ cookie?: never;
3474
+ };
3475
+ get?: never;
3476
+ put?: never;
3477
+ /**
3478
+ * Transfer rewards into a trading balance
3479
+ * @description Transfer earned rewards into a trading balance.
3480
+ *
3481
+ * Move spendable TraderCodes reward balance from your rewards bucket into a
3482
+ * trading balance under the authenticated application, making it tradeable
3483
+ * immediately. Ledger-only (one shared vault + one backend ledger) — no
3484
+ * on-chain transaction and no gas. Fails with 409 when the rewards balance is
3485
+ * insufficient. It spends the per-user movement budget withdrawals and
3486
+ * collateral transfers share.
3487
+ */
3488
+ post: operations["transfer_rewards"];
3489
+ delete?: never;
3490
+ options?: never;
3491
+ head?: never;
3492
+ patch?: never;
3493
+ trace?: never;
3494
+ };
3495
+ "/api/v1/trades/by-id/{tradeId}": {
3496
+ parameters: {
3497
+ query?: never;
3498
+ header?: never;
3499
+ path?: never;
3500
+ cookie?: never;
3501
+ };
3502
+ /**
3503
+ * Get Trade by ID
3504
+ * @description Get Trade by ID
3505
+ *
3506
+ * Retrieve a single trade by its unique identifier.
3507
+ */
3508
+ get: operations["get_trade_by_id"];
3509
+ put?: never;
3510
+ post?: never;
3511
+ delete?: never;
3512
+ options?: never;
3513
+ head?: never;
3514
+ patch?: never;
3515
+ trace?: never;
3516
+ };
3517
+ "/api/v1/trades/{tradingPairId}": {
3518
+ parameters: {
3519
+ query?: never;
3520
+ header?: never;
3521
+ path?: never;
3522
+ cookie?: never;
3523
+ };
3524
+ /**
3525
+ * Recent Trades
3526
+ * @description Recent Trades
3527
+ *
3528
+ * Get recent trades for a trading pair sorted by execution time.
3529
+ */
3530
+ get: operations["get_trades"];
3531
+ put?: never;
3532
+ post?: never;
3533
+ delete?: never;
3534
+ options?: never;
3535
+ head?: never;
3536
+ patch?: never;
3537
+ trace?: never;
3538
+ };
3539
+ "/api/v1/whitelist": {
3540
+ parameters: {
3541
+ query?: never;
3542
+ header?: never;
3543
+ path?: never;
3544
+ cookie?: never;
3545
+ };
3546
+ get?: never;
3547
+ put?: never;
3548
+ /**
3549
+ * Whitelist applications closed
3550
+ * @deprecated
3551
+ * @description Public whitelist applications are closed.
3552
+ *
3553
+ * Retained for client compatibility. Every decoded submission is rejected with
3554
+ * HTTP 403 Forbidden / gRPC PERMISSION_DENIED and no applicant data is changed.
3555
+ * Existing applications and administrative approvals remain available.
3556
+ */
3557
+ post: operations["submit_whitelist"];
3558
+ delete?: never;
3559
+ options?: never;
3560
+ head?: never;
3561
+ patch?: never;
3562
+ trace?: never;
3563
+ };
3564
+ "/api/v1/withdrawals": {
3565
+ parameters: {
3566
+ query?: never;
3567
+ header?: never;
3568
+ path?: never;
3569
+ cookie?: never;
3570
+ };
3571
+ /**
3572
+ * List pending withdrawals
3573
+ * @description List the caller's pending withdrawals.
3574
+ *
3575
+ * Authenticated. Returns the caller's withdrawals that are still awaiting
3576
+ * on-chain root confirmation (status `pending`) — i.e. those for which the
3577
+ * merkle proof, and therefore the executable calldata from GetWithdrawal, is
3578
+ * not available yet. Scoped to the authenticated account: only withdrawals
3579
+ * owned by the caller's user + application are returned. Newest first, paged.
3580
+ */
3581
+ get: operations["list_pending_withdrawals"];
3582
+ put?: never;
3583
+ /**
3584
+ * Initiate withdrawal
3585
+ * @description Initiate a withdrawal.
3586
+ *
3587
+ * Master accounts with the withdraw permission only. Routes through the
3588
+ * matching engine to debit the balance and allocate a `withdrawal_index`,
3589
+ * then returns it plus the target vault address. The `calldata` field is
3590
+ * empty: `executeWithdrawal` requires the merkle proof, which only exists
3591
+ * after the withdrawal's root is confirmed on-chain. Poll GetWithdrawal to
3592
+ * obtain the calldata once it is ready.
3593
+ */
3594
+ post: operations["initiate_withdrawal"];
3595
+ delete?: never;
3596
+ options?: never;
3597
+ head?: never;
3598
+ patch?: never;
3599
+ trace?: never;
3600
+ };
3601
+ "/api/v1/withdrawals/{withdrawalIndex}": {
3602
+ parameters: {
3603
+ query?: never;
3604
+ header?: never;
3605
+ path?: never;
3606
+ cookie?: never;
3607
+ };
3608
+ /**
3609
+ * Get withdrawal
3610
+ * @description Fetch a withdrawal's executable calldata by index.
3611
+ *
3612
+ * Public lookup — no auth. Returns the vault address and ABI-encoded
3613
+ * `executeWithdrawal(...)` calldata for a previously-initiated
3614
+ * `withdrawal_index`. The calldata is bound to the fixed
3615
+ * (index, metadata, owner, destination, token, amount) tuple persisted for
3616
+ * the withdrawal, so re-fetching it cannot redirect funds. Returns 409 while
3617
+ * the withdrawal's root has not been confirmed on-chain yet (proof not
3618
+ * available) — clients poll this endpoint until it succeeds.
3619
+ */
3620
+ get: operations["get_withdrawal"];
3621
+ put?: never;
3622
+ post?: never;
3623
+ delete?: never;
3624
+ options?: never;
3625
+ head?: never;
3626
+ patch?: never;
3627
+ trace?: never;
3628
+ };
3629
+ "/health": {
3630
+ parameters: {
3631
+ query?: never;
3632
+ header?: never;
3633
+ path?: never;
3634
+ cookie?: never;
3635
+ };
3636
+ /**
3637
+ * Health check
3638
+ * @description Health check.
3639
+ *
3640
+ * Returns the current health status of the API gateway and its connected
3641
+ * services. Can be used for monitoring and load balancer health checks.
3642
+ */
3643
+ get: operations["health_check"];
3644
+ put?: never;
3645
+ post?: never;
3646
+ delete?: never;
3647
+ options?: never;
3648
+ head?: never;
3649
+ patch?: never;
3650
+ trace?: never;
3651
+ };
3652
+ }
3653
+ export type webhooks = Record<string, never>;
3654
+ export interface components {
3655
+ schemas: {
3656
+ AccountBalance: {
3657
+ /**
3658
+ * @description Token contract address
3659
+ * @example 0x6a86da986797d59a839d136db490292cd560c131
3660
+ */
3661
+ token?: string | null;
3662
+ /**
3663
+ * @description Token symbol
3664
+ * @example USDC
3665
+ */
3666
+ symbol?: string | null;
3667
+ /**
3668
+ * Format: int32
3669
+ * @description Token decimal places
3670
+ * @example 6
3671
+ */
3672
+ decimals?: number | null;
3673
+ /**
3674
+ * @description Available (unlocked) balance in token units
3675
+ * @example 1000.50
3676
+ */
3677
+ availableBalance?: string | null;
3678
+ /**
3679
+ * @description Balance locked in open orders
3680
+ * @example 50.25
3681
+ */
3682
+ lockedBalance?: string | null;
3683
+ /**
3386
3684
  * @description Total balance (available + locked)
3387
3685
  * @example 1050.75
3388
3686
  */
@@ -3780,7 +4078,8 @@ export interface components {
3780
4078
  /**
3781
4079
  * Format: uuid
3782
4080
  * @description Optional trading-pair filter. When set, only open positions on this
3783
- * trading pair are closed; otherwise every open position is closed.
4081
+ * trading pair are closed; otherwise every open position is closed. Cannot
4082
+ * be combined with `trading_pair_ids`.
3784
4083
  */
3785
4084
  tradingPairId?: string | null;
3786
4085
  /**
@@ -3788,6 +4087,22 @@ export interface components {
3788
4087
  * @description Optional slippage tolerance (basis points) applied to each MARKET close.
3789
4088
  */
3790
4089
  slippageToleranceBps?: number | null;
4090
+ /**
4091
+ * @description Optional set of trading-pair UUIDs, at most 256. When non-empty, only
4092
+ * open positions on one of these pairs are closed. An empty or omitted
4093
+ * list applies no pair filter, so every open position is closed. Duplicate
4094
+ * ids are ignored, and an id that matches no open position closes nothing.
4095
+ * Cannot be combined with `trading_pair_id`. Delegated sessions must pass
4096
+ * `trading_pair_id` or a non-empty `trading_pair_ids`.
4097
+ */
4098
+ tradingPairIds?: string[] | null;
4099
+ /**
4100
+ * @description Optional side filter: LONG or SHORT (case-insensitive). When set, only
4101
+ * open positions on that side are closed. It applies on top of the pair
4102
+ * filter, and on its own does not meet the delegated-session pair
4103
+ * requirement.
4104
+ */
4105
+ side?: string | null;
3791
4106
  };
3792
4107
  BatchCloseAllResponse: {
3793
4108
  /**
@@ -5627,12 +5942,12 @@ export interface components {
5627
5942
  */
5628
5943
  currentFundingRate?: string | null;
5629
5944
  /**
5630
- * @description Implied rate for the in-progress window. An estimate refreshed on each accepted premium sample (roughly every sample interval plus persistence lag), not a real-time stream; absent when the window has no samples
5945
+ * @description Implied rate for the in-progress window. An estimate refreshed on each accepted premium sample (roughly every sample interval plus persistence lag), not a real-time stream; absent when the window has no samples. A window that ends with too few accepted samples settles at the previous settled rate instead (0 for a market that has never settled one), so the settled rate can differ from this estimate
5631
5946
  * @example 0.00012
5632
5947
  */
5633
5948
  estimatedNextFundingRate?: string | null;
5634
5949
  /**
5635
- * @description Scheduled end of the current funding window (ms epoch string). An estimate, not a guarantee: settlement lands at or shortly after this boundary when the market is alive, and boundaries that pass while the engine is down are skipped, never settled retroactively
5950
+ * @description Scheduled end of the current funding window (ms epoch string), always after the response time: once a window's end passes, this is the following boundary, even before the new window's first sample is recorded. An estimate, not a guarantee: settlement lands at or shortly after this boundary when the market is alive, and boundaries that pass while the engine is down are skipped, never settled retroactively
5636
5951
  * @example 1754006400000
5637
5952
  */
5638
5953
  nextFundingTime?: string | null;
@@ -6013,7 +6328,7 @@ export interface components {
6013
6328
  /** @description Cursor for the next page; empty when there are no more. */
6014
6329
  nextPageToken?: string | null;
6015
6330
  };
6016
- /** @description Latest public open interest for a trading pair. */
6331
+ /** @description Latest public gross open interest (longs plus shorts) for a trading pair. */
6017
6332
  GetOpenInterestResponse: {
6018
6333
  /**
6019
6334
  * Format: uuid
@@ -6022,7 +6337,7 @@ export interface components {
6022
6337
  */
6023
6338
  tradingPairId?: string | null;
6024
6339
  /**
6025
- * @description Current open interest in base-asset units
6340
+ * @description Current gross open interest (longs plus shorts) in base-asset units
6026
6341
  * @example 12345.67
6027
6342
  */
6028
6343
  openInterest?: string | null;
@@ -6032,12 +6347,12 @@ export interface components {
6032
6347
  */
6033
6348
  updatedAt?: string | null;
6034
6349
  /**
6035
- * @description Current open interest in base-asset units
6350
+ * @description Current gross open interest (longs plus shorts) in base-asset units
6036
6351
  * @example 12345.67
6037
6352
  */
6038
6353
  openInterestBase?: string | null;
6039
6354
  /**
6040
- * @description Current open interest notional in quote units
6355
+ * @description Current gross open-interest notional (longs plus shorts) in quote units (openInterestBase x mark price, falling back to the last trade price when no mark is available)
6041
6356
  * @example 1172836500.00
6042
6357
  */
6043
6358
  openInterestNotional?: string | null;
@@ -6116,33 +6431,33 @@ export interface components {
6116
6431
  */
6117
6432
  expirationDate?: string | null;
6118
6433
  /**
6119
- * @description Application taker fee in bps
6120
- * @example 5
6434
+ * @description Application (builder) taker fee this order paid, in quote token units, summed over the fills where it was the taker: each fill's fee as charged, rounded down to the quote token's smallest unit. A replacement order also includes the fills of the order it replaced. 0 on a liquidation order. An amount, not a rate.
6435
+ * @example 0.88
6121
6436
  */
6122
6437
  applicationTakerFee?: string | null;
6123
6438
  /**
6124
- * @description Monaco protocol taker fee in bps
6125
- * @example 10
6439
+ * @description Monaco protocol taker fee this order paid, in quote token units, summed over the fills where it was the taker: each fill's fee as charged, rounded down to the quote token's smallest unit. A replacement order also includes the fills of the order it replaced. A liquidation order carries the liquidation fee it was charged instead. An amount, not a rate.
6440
+ * @example 1.75
6126
6441
  */
6127
6442
  monacoTakerFee?: string | null;
6128
6443
  /**
6129
- * @description Monaco maker rebate in bps (negative)
6130
- * @example -2
6444
+ * @description Monaco maker fee on this order, in quote token units, summed over the fills where it was the maker; negative is a rebate credited to the maker. A replacement order also includes the fills of the order it replaced. An amount, not a rate.
6445
+ * @example -0.35
6131
6446
  */
6132
6447
  monacoMakerRebate?: string | null;
6133
6448
  /**
6134
- * @description Total taker fees charged in quote token
6449
+ * @description Total taker fees charged in quote token (monaco_taker_fee + application_taker_fee)
6135
6450
  * @example 2.63
6136
6451
  */
6137
6452
  totalTakerFees?: string | null;
6138
6453
  /**
6139
- * @description Total amount paid by taker (price * qty + fees)
6454
+ * @description Total amount paid by taker, in quote token units: the filled notional as the ledger booked it (each fill's price * qty, rounded down to the quote token's smallest unit) plus total_taker_fees. A replacement order also includes the fills of the order it replaced.
6140
6455
  * @example 17502.63
6141
6456
  */
6142
6457
  takerTotalPayment?: string | null;
6143
6458
  /**
6144
- * @description Total amount received by maker (price * qty - rebate)
6145
- * @example 17496.50
6459
+ * @description Total amount received by maker, in quote token units: the notional of its maker fills as the ledger booked it (each fill's price * qty, rounded down to the quote token's smallest unit) minus monaco_maker_rebate, so a rebate adds. A replacement order also includes the fills of the order it replaced.
6460
+ * @example 17500.35
6146
6461
  */
6147
6462
  makerTotalReceipt?: string | null;
6148
6463
  /**
@@ -6275,6 +6590,11 @@ export interface components {
6275
6590
  * @example 019aefab-f665-854c-99dc-ced6db9014aa
6276
6591
  */
6277
6592
  conditionalOrderId?: string | null;
6593
+ /**
6594
+ * @description What placed the order: USER (the account itself, including its TP/SL triggers and TWAP slices), LIQUIDATION (the liquidation engine closing the account's position), ADL (an auto-deleveraging close), COPY (the copy trading engine mirroring a leader for one of the account's follows), or SYSTEM. Use it to label a row in order history: a liquidation is a reduce-only IOC limit order, so orderType, timeInForce and reduceOnly alone read the same as an order the user placed. The same labels as the origin key on the order WebSocket events. Present on every book order. Absent on a TWAP parent row and a conditional order row, which are the account's own instructions, not orders an engine placed. A plain string, not a closed set: a value added later must read as an origin this client does not know yet, not fail the response.
6595
+ * @example LIQUIDATION
6596
+ */
6597
+ origin?: string | null;
6278
6598
  };
6279
6599
  /** @description Orderbook snapshot with token metadata and sequence number. */
6280
6600
  GetOrderbookResponse: {
@@ -6378,7 +6698,7 @@ export interface components {
6378
6698
  priceChange24h?: string | null;
6379
6699
  priceChangePercent24h?: string | null;
6380
6700
  /**
6381
- * @description Open interest in base-asset units (legacy alias of openInterestBase)
6701
+ * @description Gross open interest (longs plus shorts) in base-asset units (legacy alias of openInterestBase)
6382
6702
  * @example 12345.67
6383
6703
  */
6384
6704
  openInterest?: string | null;
@@ -6389,12 +6709,12 @@ export interface components {
6389
6709
  marketRegime?: string | null;
6390
6710
  updatedAt?: string | null;
6391
6711
  /**
6392
- * @description Open interest in base-asset units (e.g. BTC)
6712
+ * @description Gross open interest (longs plus shorts) in base-asset units (e.g. BTC)
6393
6713
  * @example 12345.67
6394
6714
  */
6395
6715
  openInterestBase?: string | null;
6396
6716
  /**
6397
- * @description Open interest notional in quote units (openInterestBase x mark price, falling back to the last trade price when no mark is available)
6717
+ * @description Gross open-interest notional (longs plus shorts) in quote units (openInterestBase x mark price, falling back to the last trade price when no mark is available)
6398
6718
  * @example 1172836500.00
6399
6719
  */
6400
6720
  openInterestNotional?: string | null;
@@ -7054,6 +7374,23 @@ export interface components {
7054
7374
  * token.
7055
7375
  */
7056
7376
  nextPageToken?: string | null;
7377
+ /**
7378
+ * Format: uint32
7379
+ * @description Number of trades a full walk returns, hot and archived, with a self-trade counted once; bounded by the server ceiling (10,000), a lower bound when totalCapped is true. Can briefly differ from a walk while the read replica catches up. Absent when tradingPairId filters the request or the count ran out of time: treat absent as unknown.
7380
+ * @example 150
7381
+ */
7382
+ total?: number | null;
7383
+ /**
7384
+ * Format: uint32
7385
+ * @description Number of pages at this pageSize, from the same bounded count as total; a lower bound when totalCapped is true. Absent exactly when total is.
7386
+ * @example 8
7387
+ */
7388
+ totalPages?: number | null;
7389
+ /**
7390
+ * @description True when more than the server ceiling of trades matched, so the count stopped at the ceiling and total/totalPages are a lower bound. False when total is exact, including exactly the ceiling, and when total is absent.
7391
+ * @example false
7392
+ */
7393
+ totalCapped?: boolean | null;
7057
7394
  };
7058
7395
  IndexComponent: {
7059
7396
  provider?: string | null;
@@ -7788,6 +8125,26 @@ export interface components {
7788
8125
  */
7789
8126
  totalPages?: number | null;
7790
8127
  };
8128
+ ListTwapOrderSlicesResponse: {
8129
+ /**
8130
+ * @description The parent's child orders, each as GetOrder returns it; every one carries
8131
+ * the parent's id in `parentOrderId`.
8132
+ */
8133
+ slices?: components["schemas"]["GetOrderResponse"][] | null;
8134
+ /**
8135
+ * Format: uint32
8136
+ * @description Items per page
8137
+ * @example 20
8138
+ */
8139
+ pageSize?: number | null;
8140
+ /**
8141
+ * @description Cursor for the next page, minted only when a further page exists — the
8142
+ * read over-fetches one row to decide. Empty on the final page; that empty
8143
+ * token is the definitive end of the walk. Do not feed the empty token back
8144
+ * as `page_token` — an empty input `page_token` restarts the walk.
8145
+ */
8146
+ nextPageToken?: string | null;
8147
+ };
7791
8148
  ListTwapOrdersResponse: {
7792
8149
  orders?: components["schemas"]["TwapOrder"][] | null;
7793
8150
  /**
@@ -9467,12 +9824,12 @@ export interface components {
9467
9824
  */
9468
9825
  lastFundingTime?: string | null;
9469
9826
  /**
9470
- * @description Open interest in base-asset units (e.g. BTC); null for spot pairs, "0" for a margin pair with no open positions
9827
+ * @description Gross open interest (longs plus shorts) in base-asset units (e.g. BTC); null for spot pairs, "0" for a margin pair with no open positions
9471
9828
  * @example 12345.67
9472
9829
  */
9473
9830
  openInterestBase?: string | null;
9474
9831
  /**
9475
- * @description Open interest notional in quote units (openInterestBase x latest trade price); null for spot pairs. Valued at the pair's latest trade price (a snapshot); the mark-accurate notional lives on getPerpMarketSummary / getOpenInterest
9832
+ * @description Gross open-interest notional (longs plus shorts) in quote units (openInterestBase x latest trade price); null for spot pairs. Valued at the pair's latest trade price (a snapshot); the mark-accurate notional lives on getPerpMarketSummary / getOpenInterest
9476
9833
  * @example 1172836500.00
9477
9834
  */
9478
9835
  openInterestNotional?: string | null;
@@ -9491,9 +9848,14 @@ export interface components {
9491
9848
  * @example 1172836500.00
9492
9849
  */
9493
9850
  openInterestNotionalAvg7d?: string | null;
9494
- };
9495
- /** @description One UTC-day bucket in a pair's 7-day snapshot. */
9496
- ScreenerSnapshotPoint: {
9851
+ /**
9852
+ * @description Estimated rate for the in-progress funding window, the same value as getFundingState / getPerpMarketSummary estimatedNextFundingRate (a decimal fraction per funding window). An estimate refreshed on each accepted premium sample, not a real-time stream. A window that ends with too few accepted samples settles at the previous settled rate instead (0 for a market that has never settled one), so the settled rate can differ from this estimate. Null for spot pairs and margin pairs whose current window has no samples yet
9853
+ * @example 0.00012
9854
+ */
9855
+ estimatedNextFundingRate?: string | null;
9856
+ };
9857
+ /** @description One UTC-day bucket in a pair's 7-day snapshot. */
9858
+ ScreenerSnapshotPoint: {
9497
9859
  /**
9498
9860
  * @description UTC day boundary (ms since epoch)
9499
9861
  * @example 1744704000000
@@ -9510,7 +9872,7 @@ export interface components {
9510
9872
  */
9511
9873
  priceChangePercent?: string | null;
9512
9874
  /**
9513
- * @description Arithmetic mean of the valued open-interest notional observations (one per completed UTC minute) in this completed UTC day; published once at least 95% of its 1440 minutes (1368) carry a valued sample, null for spot pairs or below that coverage. Samples use gross open position size x latest trade price in quote units; a minute without a trade price is unvalued, never zero; known zero remains "0". No historical backfill.
9875
+ * @description Arithmetic mean of the valued gross open-interest notional observations (one per completed UTC minute) in this completed UTC day; published once at least 95% of its 1440 minutes (1368) carry a valued sample, null for spot pairs or below that coverage. Samples use gross open position size x latest trade price in quote units; a minute without a trade price is unvalued, never zero; known zero remains "0". No historical backfill.
9514
9876
  * @example 1172836500.00
9515
9877
  */
9516
9878
  openInterestNotionalAvg?: string | null;
@@ -11003,7 +11365,7 @@ export interface components {
11003
11365
  */
11004
11366
  sessionPublicKey: string;
11005
11367
  /**
11006
- * @description Optional PitPass TraderCode captured at signup (e.g. from a `?ref=CODE` link). When a user verifies for the very first time with a valid code, a referral relationship is recorded atomically. Ignored for users who already exist, and silently ignored if the code is unknown — a bad code never blocks sign-in.
11368
+ * @description Optional TraderCode captured at signup (e.g. from a `?ref=CODE` link). When a user verifies for the very first time with a valid code, a referral relationship is recorded atomically. Ignored for users who already exist, and silently ignored if the code is unknown — a bad code never blocks sign-in.
11007
11369
  * @example 0x1234567890abcdef1234567890abcdef12345678
11008
11370
  */
11009
11371
  referralCode?: string | null;
@@ -12204,9 +12566,10 @@ export interface operations {
12204
12566
  * - Non-empty: an opaque cursor from a previous response's
12205
12567
  * `nextPageToken`; results resume immediately after that position.
12206
12568
  *
12207
- * Every walk covers full trade history — hot and archived rows merged. The
12208
- * response carries no item count: this listing's table is too large to count
12209
- * behind a filter. Filters must match the request that produced the token.
12569
+ * Every walk covers full trade history — hot and archived rows merged. An
12570
+ * unfiltered response carries a bounded item count (`total`); a response
12571
+ * filtered by `trading_pair_id` carries none. Filters must match the request
12572
+ * that produced the token.
12210
12573
  */
12211
12574
  pageToken?: string;
12212
12575
  };
@@ -17023,6 +17386,80 @@ export interface operations {
17023
17386
  };
17024
17387
  };
17025
17388
  };
17389
+ list_twap_order_slices: {
17390
+ parameters: {
17391
+ query?: {
17392
+ /** @description Items per page (max 1000) */
17393
+ pageSize?: number;
17394
+ /** @description Sort direction for createdAt: ASC (oldest slice first) or DESC */
17395
+ orderBy?: "ASC" | "DESC";
17396
+ /**
17397
+ * @description Pagination cursor with two states:
17398
+ * - Omitted or empty string (""): start a cursor walk from the first
17399
+ * slice in `order_by` order.
17400
+ * - Non-empty: an opaque cursor from a previous response's
17401
+ * `next_page_token`; results resume immediately after that position.
17402
+ *
17403
+ * Pages are keyset seeks on `(createdAt, id)`. The TWAP order id and
17404
+ * `order_by` must match the request that produced the token; a token
17405
+ * replayed against a different parent or direction is rejected.
17406
+ */
17407
+ pageToken?: string;
17408
+ };
17409
+ header?: never;
17410
+ path: {
17411
+ twapOrderId: string;
17412
+ };
17413
+ cookie?: never;
17414
+ };
17415
+ requestBody?: never;
17416
+ responses: {
17417
+ /** @description OK */
17418
+ 200: {
17419
+ headers: {
17420
+ [name: string]: unknown;
17421
+ };
17422
+ content: {
17423
+ "application/json": components["schemas"]["ListTwapOrderSlicesResponse"];
17424
+ };
17425
+ };
17426
+ /** @description Invalid TWAP order ID format or query parameters */
17427
+ 400: {
17428
+ headers: {
17429
+ [name: string]: unknown;
17430
+ };
17431
+ content?: never;
17432
+ };
17433
+ /** @description Authentication required */
17434
+ 401: {
17435
+ headers: {
17436
+ [name: string]: unknown;
17437
+ };
17438
+ content?: never;
17439
+ };
17440
+ /** @description TWAP order not found */
17441
+ 404: {
17442
+ headers: {
17443
+ [name: string]: unknown;
17444
+ };
17445
+ content?: never;
17446
+ };
17447
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
17448
+ 429: {
17449
+ headers: {
17450
+ [name: string]: unknown;
17451
+ };
17452
+ content?: never;
17453
+ };
17454
+ /** @description Internal server error */
17455
+ 500: {
17456
+ headers: {
17457
+ [name: string]: unknown;
17458
+ };
17459
+ content?: never;
17460
+ };
17461
+ };
17462
+ };
17026
17463
  get_twap_order_tca: {
17027
17464
  parameters: {
17028
17465
  query?: never;
@@ -17207,7 +17644,7 @@ export interface operations {
17207
17644
  };
17208
17645
  };
17209
17646
  };
17210
- check_trader_code_availability: {
17647
+ pitpass_check_trader_code_availability: {
17211
17648
  parameters: {
17212
17649
  query?: {
17213
17650
  code?: string;
@@ -17243,7 +17680,7 @@ export interface operations {
17243
17680
  };
17244
17681
  };
17245
17682
  };
17246
- get_my_trader_code: {
17683
+ pitpass_get_my_trader_code: {
17247
17684
  parameters: {
17248
17685
  query?: never;
17249
17686
  header?: never;
@@ -17284,7 +17721,7 @@ export interface operations {
17284
17721
  };
17285
17722
  };
17286
17723
  };
17287
- set_trader_code: {
17724
+ pitpass_set_trader_code: {
17288
17725
  parameters: {
17289
17726
  query?: never;
17290
17727
  header?: never;
@@ -17350,7 +17787,7 @@ export interface operations {
17350
17787
  };
17351
17788
  };
17352
17789
  };
17353
- clear_trader_code: {
17790
+ pitpass_clear_trader_code: {
17354
17791
  parameters: {
17355
17792
  query?: never;
17356
17793
  header?: never;
@@ -17398,7 +17835,7 @@ export interface operations {
17398
17835
  };
17399
17836
  };
17400
17837
  };
17401
- get_trader_code_info: {
17838
+ pitpass_get_trader_code_info: {
17402
17839
  parameters: {
17403
17840
  query?: never;
17404
17841
  header?: never;
@@ -17435,7 +17872,7 @@ export interface operations {
17435
17872
  };
17436
17873
  };
17437
17874
  };
17438
- get_my_referral_position: {
17875
+ pitpass_get_my_referral_position: {
17439
17876
  parameters: {
17440
17877
  query?: never;
17441
17878
  header?: never;
@@ -17476,7 +17913,7 @@ export interface operations {
17476
17913
  };
17477
17914
  };
17478
17915
  };
17479
- get_my_referral_downline: {
17916
+ pitpass_get_my_referral_downline: {
17480
17917
  parameters: {
17481
17918
  query?: {
17482
17919
  /** @description `earningsBySource` rows per page (max 500) */
@@ -17525,7 +17962,7 @@ export interface operations {
17525
17962
  };
17526
17963
  };
17527
17964
  };
17528
- get_my_referral_tree: {
17965
+ pitpass_get_my_referral_tree: {
17529
17966
  parameters: {
17530
17967
  query?: {
17531
17968
  parent?: string;
@@ -17589,7 +18026,7 @@ export interface operations {
17589
18026
  };
17590
18027
  };
17591
18028
  };
17592
- get_rewards_balance: {
18029
+ pitpass_get_rewards_balance: {
17593
18030
  parameters: {
17594
18031
  query?: never;
17595
18032
  header?: never;
@@ -17630,7 +18067,7 @@ export interface operations {
17630
18067
  };
17631
18068
  };
17632
18069
  };
17633
- transfer_rewards: {
18070
+ pitpass_transfer_rewards: {
17634
18071
  parameters: {
17635
18072
  query?: never;
17636
18073
  header?: never;
@@ -18185,6 +18622,488 @@ export interface operations {
18185
18622
  };
18186
18623
  };
18187
18624
  };
18625
+ check_trader_code_availability: {
18626
+ parameters: {
18627
+ query?: {
18628
+ code?: string;
18629
+ };
18630
+ header?: never;
18631
+ path?: never;
18632
+ cookie?: never;
18633
+ };
18634
+ requestBody?: never;
18635
+ responses: {
18636
+ /** @description OK */
18637
+ 200: {
18638
+ headers: {
18639
+ [name: string]: unknown;
18640
+ };
18641
+ content: {
18642
+ "application/json": components["schemas"]["CheckTraderCodeAvailabilityResponse"];
18643
+ };
18644
+ };
18645
+ /** @description Availability check rate-limit exceeded */
18646
+ 429: {
18647
+ headers: {
18648
+ [name: string]: unknown;
18649
+ };
18650
+ content?: never;
18651
+ };
18652
+ /** @description Internal server error */
18653
+ 500: {
18654
+ headers: {
18655
+ [name: string]: unknown;
18656
+ };
18657
+ content?: never;
18658
+ };
18659
+ };
18660
+ };
18661
+ get_my_trader_code: {
18662
+ parameters: {
18663
+ query?: never;
18664
+ header?: never;
18665
+ path?: never;
18666
+ cookie?: never;
18667
+ };
18668
+ requestBody?: never;
18669
+ responses: {
18670
+ /** @description OK */
18671
+ 200: {
18672
+ headers: {
18673
+ [name: string]: unknown;
18674
+ };
18675
+ content: {
18676
+ "application/json": components["schemas"]["TraderCodeResponse"];
18677
+ };
18678
+ };
18679
+ /** @description Authentication required */
18680
+ 401: {
18681
+ headers: {
18682
+ [name: string]: unknown;
18683
+ };
18684
+ content?: never;
18685
+ };
18686
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
18687
+ 429: {
18688
+ headers: {
18689
+ [name: string]: unknown;
18690
+ };
18691
+ content?: never;
18692
+ };
18693
+ /** @description Internal server error */
18694
+ 500: {
18695
+ headers: {
18696
+ [name: string]: unknown;
18697
+ };
18698
+ content?: never;
18699
+ };
18700
+ };
18701
+ };
18702
+ set_trader_code: {
18703
+ parameters: {
18704
+ query?: never;
18705
+ header?: never;
18706
+ path?: never;
18707
+ cookie?: never;
18708
+ };
18709
+ requestBody: {
18710
+ content: {
18711
+ "application/json": components["schemas"]["SetTraderCodeRequest"];
18712
+ };
18713
+ };
18714
+ responses: {
18715
+ /** @description OK */
18716
+ 200: {
18717
+ headers: {
18718
+ [name: string]: unknown;
18719
+ };
18720
+ content: {
18721
+ "application/json": components["schemas"]["TraderCodeResponse"];
18722
+ };
18723
+ };
18724
+ /** @description Authentication required */
18725
+ 401: {
18726
+ headers: {
18727
+ [name: string]: unknown;
18728
+ };
18729
+ content?: never;
18730
+ };
18731
+ /** @description Custom trader codes are not enabled */
18732
+ 403: {
18733
+ headers: {
18734
+ [name: string]: unknown;
18735
+ };
18736
+ content?: never;
18737
+ };
18738
+ /** @description Handle is taken (case-insensitive) or cooling down */
18739
+ 409: {
18740
+ headers: {
18741
+ [name: string]: unknown;
18742
+ };
18743
+ content?: never;
18744
+ };
18745
+ /** @description Validation failed; body carries a reason code */
18746
+ 422: {
18747
+ headers: {
18748
+ [name: string]: unknown;
18749
+ };
18750
+ content?: never;
18751
+ };
18752
+ /** @description Edit rate-limit exceeded */
18753
+ 429: {
18754
+ headers: {
18755
+ [name: string]: unknown;
18756
+ };
18757
+ content?: never;
18758
+ };
18759
+ /** @description Internal server error */
18760
+ 500: {
18761
+ headers: {
18762
+ [name: string]: unknown;
18763
+ };
18764
+ content?: never;
18765
+ };
18766
+ };
18767
+ };
18768
+ clear_trader_code: {
18769
+ parameters: {
18770
+ query?: never;
18771
+ header?: never;
18772
+ path?: never;
18773
+ cookie?: never;
18774
+ };
18775
+ requestBody?: never;
18776
+ responses: {
18777
+ /** @description OK */
18778
+ 200: {
18779
+ headers: {
18780
+ [name: string]: unknown;
18781
+ };
18782
+ content: {
18783
+ "application/json": components["schemas"]["TraderCodeResponse"];
18784
+ };
18785
+ };
18786
+ /** @description Authentication required */
18787
+ 401: {
18788
+ headers: {
18789
+ [name: string]: unknown;
18790
+ };
18791
+ content?: never;
18792
+ };
18793
+ /** @description Custom trader codes are not enabled */
18794
+ 403: {
18795
+ headers: {
18796
+ [name: string]: unknown;
18797
+ };
18798
+ content?: never;
18799
+ };
18800
+ /** @description Edit rate-limit exceeded */
18801
+ 429: {
18802
+ headers: {
18803
+ [name: string]: unknown;
18804
+ };
18805
+ content?: never;
18806
+ };
18807
+ /** @description Internal server error */
18808
+ 500: {
18809
+ headers: {
18810
+ [name: string]: unknown;
18811
+ };
18812
+ content?: never;
18813
+ };
18814
+ };
18815
+ };
18816
+ get_trader_code_info: {
18817
+ parameters: {
18818
+ query?: never;
18819
+ header?: never;
18820
+ path: {
18821
+ /** @example 0x742d35cc6634c0532925a3b8d4060f31e2c3d8b5 */
18822
+ code: string;
18823
+ };
18824
+ cookie?: never;
18825
+ };
18826
+ requestBody?: never;
18827
+ responses: {
18828
+ /** @description OK */
18829
+ 200: {
18830
+ headers: {
18831
+ [name: string]: unknown;
18832
+ };
18833
+ content: {
18834
+ "application/json": components["schemas"]["GetTraderCodeInfoResponse"];
18835
+ };
18836
+ };
18837
+ /** @description Code not found */
18838
+ 404: {
18839
+ headers: {
18840
+ [name: string]: unknown;
18841
+ };
18842
+ content?: never;
18843
+ };
18844
+ /** @description Internal server error */
18845
+ 500: {
18846
+ headers: {
18847
+ [name: string]: unknown;
18848
+ };
18849
+ content?: never;
18850
+ };
18851
+ };
18852
+ };
18853
+ get_my_referral_position: {
18854
+ parameters: {
18855
+ query?: never;
18856
+ header?: never;
18857
+ path?: never;
18858
+ cookie?: never;
18859
+ };
18860
+ requestBody?: never;
18861
+ responses: {
18862
+ /** @description OK */
18863
+ 200: {
18864
+ headers: {
18865
+ [name: string]: unknown;
18866
+ };
18867
+ content: {
18868
+ "application/json": components["schemas"]["GetMyReferralPositionResponse"];
18869
+ };
18870
+ };
18871
+ /** @description Authentication required */
18872
+ 401: {
18873
+ headers: {
18874
+ [name: string]: unknown;
18875
+ };
18876
+ content?: never;
18877
+ };
18878
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
18879
+ 429: {
18880
+ headers: {
18881
+ [name: string]: unknown;
18882
+ };
18883
+ content?: never;
18884
+ };
18885
+ /** @description Internal server error */
18886
+ 500: {
18887
+ headers: {
18888
+ [name: string]: unknown;
18889
+ };
18890
+ content?: never;
18891
+ };
18892
+ };
18893
+ };
18894
+ get_my_referral_downline: {
18895
+ parameters: {
18896
+ query?: {
18897
+ /** @description `earningsBySource` rows per page (max 500) */
18898
+ pageSize?: number;
18899
+ /**
18900
+ * @description Opaque cursor from a previous response's `nextPageToken`; omit or send an
18901
+ * empty string for the first page.
18902
+ */
18903
+ pageToken?: string;
18904
+ };
18905
+ header?: never;
18906
+ path?: never;
18907
+ cookie?: never;
18908
+ };
18909
+ requestBody?: never;
18910
+ responses: {
18911
+ /** @description OK */
18912
+ 200: {
18913
+ headers: {
18914
+ [name: string]: unknown;
18915
+ };
18916
+ content: {
18917
+ "application/json": components["schemas"]["GetMyReferralDownlineResponse"];
18918
+ };
18919
+ };
18920
+ /** @description Authentication required */
18921
+ 401: {
18922
+ headers: {
18923
+ [name: string]: unknown;
18924
+ };
18925
+ content?: never;
18926
+ };
18927
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
18928
+ 429: {
18929
+ headers: {
18930
+ [name: string]: unknown;
18931
+ };
18932
+ content?: never;
18933
+ };
18934
+ /** @description Internal server error */
18935
+ 500: {
18936
+ headers: {
18937
+ [name: string]: unknown;
18938
+ };
18939
+ content?: never;
18940
+ };
18941
+ };
18942
+ };
18943
+ get_my_referral_tree: {
18944
+ parameters: {
18945
+ query?: {
18946
+ parent?: string;
18947
+ /** @description Nodes per page (max 200) */
18948
+ pageSize?: number;
18949
+ /**
18950
+ * @description Opaque cursor from a previous response's `nextPageToken`; omit or send an
18951
+ * empty string for the first page. Only valid with the same `parent`.
18952
+ */
18953
+ pageToken?: string;
18954
+ };
18955
+ header?: never;
18956
+ path?: never;
18957
+ cookie?: never;
18958
+ };
18959
+ requestBody?: never;
18960
+ responses: {
18961
+ /** @description OK */
18962
+ 200: {
18963
+ headers: {
18964
+ [name: string]: unknown;
18965
+ };
18966
+ content: {
18967
+ "application/json": components["schemas"]["GetMyReferralTreeResponse"];
18968
+ };
18969
+ };
18970
+ /** @description Invalid `parent` wallet address, `pageSize`, or `pageToken` */
18971
+ 400: {
18972
+ headers: {
18973
+ [name: string]: unknown;
18974
+ };
18975
+ content?: never;
18976
+ };
18977
+ /** @description Authentication required */
18978
+ 401: {
18979
+ headers: {
18980
+ [name: string]: unknown;
18981
+ };
18982
+ content?: never;
18983
+ };
18984
+ /** @description `parent` is not the caller or one of the caller's own expandable referees */
18985
+ 404: {
18986
+ headers: {
18987
+ [name: string]: unknown;
18988
+ };
18989
+ content?: never;
18990
+ };
18991
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
18992
+ 429: {
18993
+ headers: {
18994
+ [name: string]: unknown;
18995
+ };
18996
+ content?: never;
18997
+ };
18998
+ /** @description Internal server error */
18999
+ 500: {
19000
+ headers: {
19001
+ [name: string]: unknown;
19002
+ };
19003
+ content?: never;
19004
+ };
19005
+ };
19006
+ };
19007
+ get_rewards_balance: {
19008
+ parameters: {
19009
+ query?: never;
19010
+ header?: never;
19011
+ path?: never;
19012
+ cookie?: never;
19013
+ };
19014
+ requestBody?: never;
19015
+ responses: {
19016
+ /** @description OK */
19017
+ 200: {
19018
+ headers: {
19019
+ [name: string]: unknown;
19020
+ };
19021
+ content: {
19022
+ "application/json": components["schemas"]["GetRewardsBalanceResponse"];
19023
+ };
19024
+ };
19025
+ /** @description Authentication required */
19026
+ 401: {
19027
+ headers: {
19028
+ [name: string]: unknown;
19029
+ };
19030
+ content?: never;
19031
+ };
19032
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
19033
+ 429: {
19034
+ headers: {
19035
+ [name: string]: unknown;
19036
+ };
19037
+ content?: never;
19038
+ };
19039
+ /** @description Internal server error */
19040
+ 500: {
19041
+ headers: {
19042
+ [name: string]: unknown;
19043
+ };
19044
+ content?: never;
19045
+ };
19046
+ };
19047
+ };
19048
+ transfer_rewards: {
19049
+ parameters: {
19050
+ query?: never;
19051
+ header?: never;
19052
+ path?: never;
19053
+ cookie?: never;
19054
+ };
19055
+ requestBody: {
19056
+ content: {
19057
+ "application/json": components["schemas"]["TransferRewardsRequest"];
19058
+ };
19059
+ };
19060
+ responses: {
19061
+ /** @description OK */
19062
+ 200: {
19063
+ headers: {
19064
+ [name: string]: unknown;
19065
+ };
19066
+ content: {
19067
+ "application/json": components["schemas"]["TransferRewardsResponse"];
19068
+ };
19069
+ };
19070
+ /** @description Invalid token or amount */
19071
+ 400: {
19072
+ headers: {
19073
+ [name: string]: unknown;
19074
+ };
19075
+ content?: never;
19076
+ };
19077
+ /** @description Authentication required */
19078
+ 401: {
19079
+ headers: {
19080
+ [name: string]: unknown;
19081
+ };
19082
+ content?: never;
19083
+ };
19084
+ /** @description Insufficient rewards balance */
19085
+ 409: {
19086
+ headers: {
19087
+ [name: string]: unknown;
19088
+ };
19089
+ content?: never;
19090
+ };
19091
+ /** @description Movement rate limit exceeded — withdrawals, collateral transfers and reward transfers share a per-user budget; retry after the interval in details.retryAfter */
19092
+ 429: {
19093
+ headers: {
19094
+ [name: string]: unknown;
19095
+ };
19096
+ content?: never;
19097
+ };
19098
+ /** @description Internal server error */
19099
+ 500: {
19100
+ headers: {
19101
+ [name: string]: unknown;
19102
+ };
19103
+ content?: never;
19104
+ };
19105
+ };
19106
+ };
18188
19107
  get_trade_by_id: {
18189
19108
  parameters: {
18190
19109
  query?: never;