@0xmonaco/types 0.8.22 → 1.0.3

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.
@@ -22,9 +22,12 @@ export interface AuthAPI extends BaseAPI {
22
22
  * 4. Verifies the signature, registering the session public key
23
23
  *
24
24
  * @param clientId - Client ID of the application
25
+ * @param referralCode - Optional PitPass TraderCode (wallet address) of the referrer.
26
+ * Passed through to the verify call so a first-time sign-up records the referral
27
+ * relationship. Has no effect when the user already exists.
25
28
  * @returns Promise resolving to the authentication state (including the session keypair)
26
29
  */
27
- authenticate(clientId: string): Promise<AuthState>;
30
+ authenticate(clientId: string, referralCode?: string): Promise<AuthState>;
28
31
  /**
29
32
  * Signs a challenge message using the wallet client.
30
33
  *
@@ -54,9 +57,11 @@ export interface AuthAPI extends BaseAPI {
54
57
  * @param nonce - Nonce from the challenge response
55
58
  * @param clientId - Client ID of the application
56
59
  * @param session - The locally-generated session keypair (hex-encoded)
60
+ * @param referralCode - Optional PitPass TraderCode (wallet address) of the referrer;
61
+ * recorded at first sign-up only.
57
62
  * @returns Promise resolving to the authentication state
58
63
  */
59
- verifySignature(address: string, signature: string, nonce: string, clientId: string, session: SessionCredentials): Promise<AuthState>;
64
+ verifySignature(address: string, signature: string, nonce: string, clientId: string, session: SessionCredentials, referralCode?: string): Promise<AuthState>;
60
65
  /**
61
66
  * Extends the current session's expiry. The request is signed with the
62
67
  * active session key (set via {@link setSessionKeypair}).
package/dist/index.d.ts CHANGED
@@ -13,6 +13,7 @@ export * from "./faucet";
13
13
  export * from "./fees";
14
14
  export * from "./margin-accounts";
15
15
  export * from "./market";
16
+ export * from "./pitpass";
16
17
  export * from "./positions";
17
18
  export * from "./profile";
18
19
  export * from "./sdk";
package/dist/index.js CHANGED
@@ -14,6 +14,7 @@ export * from "./faucet";
14
14
  export * from "./fees";
15
15
  export * from "./margin-accounts";
16
16
  export * from "./market";
17
+ export * from "./pitpass";
17
18
  export * from "./positions";
18
19
  export * from "./profile";
19
20
  export * from "./sdk";
@@ -145,6 +145,14 @@ export interface SimulateOrderRiskResponse {
145
145
  maintenanceMarginRequiredAfter: string;
146
146
  freeCollateralAfter: string;
147
147
  estimatedFee?: string;
148
+ /**
149
+ * Estimated liquidation mark-price. In ISOLATED mode, this is the
150
+ * position/risk-bucket threshold. In CROSS mode, it is conditional: it varies
151
+ * only the target position's mark while all other marks in the cross risk
152
+ * bucket remain unchanged. Other position marks, funding, realized PnL,
153
+ * fees/reserves, and collateral can change it. Treat an absent or blank value
154
+ * as unavailable, never as zero.
155
+ */
148
156
  estimatedLiquidationPrice?: string;
149
157
  }
150
158
  export interface MarginAccountsAPI extends BaseAPI {
@@ -0,0 +1,60 @@
1
+ /**
2
+ * PitPass Types
3
+ *
4
+ * Types for PitPass TraderCode API: code lookup, rewards balance, and transfer.
5
+ */
6
+ import type { BaseAPI } from "../api";
7
+ import type { GetRewardsBalanceResponse, TraderCodeInfoResponse, TraderCodeResponse, TransferRewardsParams, TransferRewardsResponse } from "./responses";
8
+ /**
9
+ * PitPass TraderCode API interface.
10
+ *
11
+ * Provides methods for reading your wallet-derived TraderCode, looking up a
12
+ * referral code at sign-up, reading your accrued rewards balance, and
13
+ * transferring rewards into a tradeable balance.
14
+ */
15
+ export interface PitpassAPI extends BaseAPI {
16
+ /**
17
+ * Return the authenticated caller's TraderCode (their normalized wallet address).
18
+ *
19
+ * Never 404s — every signed-in wallet has a derivable code. Ensures the
20
+ * backing row so referrals attributed to this wallet have a code to link.
21
+ *
22
+ * @returns Promise resolving to the caller's TraderCode and its creation timestamp
23
+ */
24
+ getMyTraderCode(): Promise<TraderCodeResponse>;
25
+ /**
26
+ * Public, unauthenticated lookup of a TraderCode.
27
+ *
28
+ * Used to validate a referral code at sign-up. The code is a wallet address
29
+ * (the `Monaco - <address>` display form is also accepted). Returns the
30
+ * normalized code when it resolves to a known wallet, or throws a 404 when
31
+ * the code does not resolve to any user.
32
+ *
33
+ * @param code - The TraderCode (wallet address or `Monaco - <address>` form) to look up
34
+ * @returns Promise resolving to the normalized TraderCode
35
+ */
36
+ getTraderCodeInfo(code: string): Promise<TraderCodeInfoResponse>;
37
+ /**
38
+ * Return the caller's current PitPass rewards-bucket balances.
39
+ *
40
+ * Rewards accumulate here as referred users trade. Call
41
+ * {@link transferRewards} to move them into a tradeable balance.
42
+ * Returns an empty `balances` array when no rewards have been earned yet.
43
+ *
44
+ * @returns Promise resolving to the list of per-token reward balances
45
+ */
46
+ getRewardsBalance(): Promise<GetRewardsBalanceResponse>;
47
+ /**
48
+ * Transfer earned PitPass rewards into a trading balance.
49
+ *
50
+ * Moves the specified amount of a reward token from the caller's rewards
51
+ * bucket into their trading balance under the authenticated application.
52
+ * Ledger-only — no on-chain transaction, immediately tradeable.
53
+ *
54
+ * @param params - Token address and raw-unit amount to transfer
55
+ * @returns Promise resolving to the post-transfer rewards and trading balances
56
+ */
57
+ transferRewards(params: TransferRewardsParams): Promise<TransferRewardsResponse>;
58
+ }
59
+ export type { GetRewardsBalanceResponse, RewardsBalanceEntry, TraderCodeInfoResponse, TraderCodeResponse, TransferRewardsParams, TransferRewardsResponse, } from "./responses";
60
+ export { GetRewardsBalanceResponseSchema, RewardsBalanceEntrySchema, TraderCodeInfoResponseSchema, TraderCodeResponseSchema, TransferRewardsParamsSchema, TransferRewardsResponseSchema, } from "./responses";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * PitPass Types
3
+ *
4
+ * Types for PitPass TraderCode API: code lookup, rewards balance, and transfer.
5
+ */
6
+ export { GetRewardsBalanceResponseSchema, RewardsBalanceEntrySchema, TraderCodeInfoResponseSchema, TraderCodeResponseSchema, TransferRewardsParamsSchema, TransferRewardsResponseSchema, } from "./responses";
@@ -0,0 +1,44 @@
1
+ /**
2
+ * PitPass TraderCode Response Types
3
+ *
4
+ * Types for PitPass TraderCode API responses and requests.
5
+ * All types are derived from Zod schemas for runtime validation.
6
+ */
7
+ import { z } from "zod";
8
+ /** Schema for a single token entry in the rewards balance response. */
9
+ export declare const RewardsBalanceEntrySchema: z.ZodObject<{
10
+ token: z.ZodString;
11
+ available: z.ZodString;
12
+ }, z.core.$strip>;
13
+ /** Schema for the rewards balance response. */
14
+ export declare const GetRewardsBalanceResponseSchema: z.ZodObject<{
15
+ balances: z.ZodArray<z.ZodObject<{
16
+ token: z.ZodString;
17
+ available: z.ZodString;
18
+ }, z.core.$strip>>;
19
+ }, z.core.$strip>;
20
+ /** Schema for a TraderCode response. */
21
+ export declare const TraderCodeResponseSchema: z.ZodObject<{
22
+ code: z.ZodString;
23
+ createdAt: z.ZodString;
24
+ }, z.core.$strip>;
25
+ /** Schema for the public TraderCode info response. */
26
+ export declare const TraderCodeInfoResponseSchema: z.ZodObject<{
27
+ code: z.ZodString;
28
+ }, z.core.$strip>;
29
+ /** Schema for the transfer rewards request body. */
30
+ export declare const TransferRewardsParamsSchema: z.ZodObject<{
31
+ token: z.ZodString;
32
+ amount: z.ZodString;
33
+ }, z.core.$strip>;
34
+ /** Schema for the transfer rewards response. */
35
+ export declare const TransferRewardsResponseSchema: z.ZodObject<{
36
+ rewardsBalance: z.ZodString;
37
+ tradingBalance: z.ZodString;
38
+ }, z.core.$strip>;
39
+ export type RewardsBalanceEntry = z.infer<typeof RewardsBalanceEntrySchema>;
40
+ export type GetRewardsBalanceResponse = z.infer<typeof GetRewardsBalanceResponseSchema>;
41
+ export type TraderCodeResponse = z.infer<typeof TraderCodeResponseSchema>;
42
+ export type TraderCodeInfoResponse = z.infer<typeof TraderCodeInfoResponseSchema>;
43
+ export type TransferRewardsParams = z.infer<typeof TransferRewardsParamsSchema>;
44
+ export type TransferRewardsResponse = z.infer<typeof TransferRewardsResponseSchema>;
@@ -0,0 +1,53 @@
1
+ /**
2
+ * PitPass TraderCode Response Types
3
+ *
4
+ * Types for PitPass TraderCode API responses and requests.
5
+ * All types are derived from Zod schemas for runtime validation.
6
+ */
7
+ import { z } from "zod";
8
+ /** Schema for a single token entry in the rewards balance response. */
9
+ export const RewardsBalanceEntrySchema = z.object({
10
+ /** Reward token contract address (0x-prefixed). */
11
+ token: z.string(),
12
+ /** Available rewards balance in RAW atomic units of the token. */
13
+ available: z.string(),
14
+ });
15
+ /** Schema for the rewards balance response. */
16
+ export const GetRewardsBalanceResponseSchema = z.object({
17
+ /** One entry per reward token that has a non-zero available balance. */
18
+ balances: z.array(RewardsBalanceEntrySchema),
19
+ });
20
+ /** Schema for a TraderCode response. */
21
+ export const TraderCodeResponseSchema = z.object({
22
+ /** The caller's TraderCode — their normalized wallet address. */
23
+ code: z.string(),
24
+ /** RFC 3339 timestamp when the code row was first derived. */
25
+ createdAt: z.string(),
26
+ });
27
+ /** Schema for the public TraderCode info response. */
28
+ export const TraderCodeInfoResponseSchema = z.object({
29
+ /** The resolved TraderCode (normalized wallet address). */
30
+ code: z.string(),
31
+ });
32
+ /** Schema for the transfer rewards request body. */
33
+ export const TransferRewardsParamsSchema = z.object({
34
+ /** Reward token contract address (0x-prefixed) to transfer. */
35
+ token: z
36
+ .string()
37
+ .trim()
38
+ .min(1, "token is required")
39
+ .regex(/^0x[0-9a-fA-F]{40}$/, "token must be a 0x-prefixed EVM address"),
40
+ /** Amount to transfer, in RAW atomic units of the token. Must be a positive integer string. */
41
+ amount: z
42
+ .string()
43
+ .trim()
44
+ .min(1, "amount is required")
45
+ .refine((v) => /^\d+$/.test(v) && BigInt(v) > 0n, "amount must be a positive integer string"),
46
+ });
47
+ /** Schema for the transfer rewards response. */
48
+ export const TransferRewardsResponseSchema = z.object({
49
+ /** Your rewards-bucket balance after the transfer, RAW atomic units. */
50
+ rewardsBalance: z.string(),
51
+ /** Your trading balance for the token after the transfer, RAW atomic units. */
52
+ tradingBalance: z.string(),
53
+ });
@@ -28,6 +28,14 @@ export interface Position {
28
28
  * the market initial-margin floor; zero without open exposure.
29
29
  */
30
30
  initialMarginRequired?: string;
31
+ /**
32
+ * Liquidation mark-price threshold. In ISOLATED mode, this is the
33
+ * position/risk-bucket threshold. In CROSS mode, it is conditional: it varies
34
+ * only this position's mark while all other marks in the cross risk bucket
35
+ * remain unchanged. Other position marks, funding, realized PnL,
36
+ * fees/reserves, and collateral can change it. Treat an absent or blank value
37
+ * as unavailable, never as zero.
38
+ */
31
39
  liquidationPrice: string;
32
40
  status: PositionStatus;
33
41
  updatedAt: string;
@@ -84,6 +92,14 @@ export interface PositionRisk {
84
92
  markPrice: string;
85
93
  indexPrice?: string;
86
94
  unrealizedPnl: string;
95
+ /**
96
+ * Liquidation mark-price threshold. In ISOLATED mode, this is the
97
+ * position/risk-bucket threshold. In CROSS mode, it is conditional: it varies
98
+ * only this position's mark while all other marks in the cross risk bucket
99
+ * remain unchanged. Other position marks, funding, realized PnL,
100
+ * fees/reserves, and collateral can change it. Treat an absent or blank value
101
+ * as unavailable, never as zero.
102
+ */
87
103
  liquidationPrice: string;
88
104
  marginRatio: string;
89
105
  /**
@@ -138,17 +154,45 @@ export interface ListPositionHistoryParams {
138
154
  tradingPairId?: string;
139
155
  page?: number;
140
156
  pageSize?: number;
157
+ /** Return only per-execution position reductions, closes, and liquidations. */
158
+ reductionOnly?: boolean;
141
159
  }
142
160
  export interface PositionHistoryEvent {
143
- event_id: string;
144
- positionId?: string;
145
- marginAccountId?: string;
146
- tradingPairId?: string;
147
- eventType: string;
161
+ /** Wire-format event ID. */
162
+ id: string;
163
+ /** @deprecated Use id. */
164
+ event_id?: string;
165
+ positionId: string;
166
+ marginAccountId: string;
167
+ tradingPairId: string;
168
+ /** Lifecycle action from the API, for example DECREASE or CLOSE. */
169
+ action: string;
170
+ /** @deprecated Use action. */
171
+ eventType?: string;
172
+ /** Signed quantity change for lifecycle rows. */
173
+ sizeChange?: string;
174
+ /** @deprecated Use sizeChange. */
148
175
  quantity?: string;
149
176
  price?: string;
150
177
  realizedPnl?: string;
151
- timestamp: string;
178
+ feesPaid?: string;
179
+ collateralChange?: string;
180
+ orderId?: string;
181
+ createdAt: string;
182
+ /** @deprecated Use createdAt. */
183
+ timestamp?: string;
184
+ /** Average entry price before this reducing execution. */
185
+ entryPrice?: string;
186
+ /** Initial margin allocated to this reducing execution. */
187
+ allocatedInitialMargin?: string;
188
+ /** Funding allocated to this reducing execution; positive means paid. */
189
+ fundingPaid?: string;
190
+ /** Realized PnL after trading fees and funding. */
191
+ netRealizedPnl?: string;
192
+ /** Realized return on the allocated initial margin, as a percentage. */
193
+ realizedRoe?: string;
194
+ /** Side of the position before this reducing execution. */
195
+ positionSide?: "LONG" | "SHORT";
152
196
  }
153
197
  export interface ListPositionHistoryResponse {
154
198
  events: PositionHistoryEvent[];
@@ -6,6 +6,7 @@ import type { FaucetAPI } from "../faucet";
6
6
  import type { FeesAPI } from "../fees";
7
7
  import type { MarginAccountsAPI } from "../margin-accounts";
8
8
  import type { Interval, MarketAPI } from "../market";
9
+ import type { PitpassAPI } from "../pitpass";
9
10
  import type { PositionsAPI } from "../positions";
10
11
  import type { ProfileAPI } from "../profile";
11
12
  import type { SubAccountsAPI } from "../sub-accounts";
@@ -81,6 +82,8 @@ export interface MonacoSDK {
81
82
  positions: PositionsAPI;
82
83
  /** Sub-account management API */
83
84
  subAccounts: SubAccountsAPI;
85
+ /** PitPass TraderCode referral and rewards API */
86
+ pitpass: PitpassAPI;
84
87
  /** Testnet faucet API */
85
88
  faucet: FaucetAPI;
86
89
  /** Public whitelist (waitlist) submission API */
@@ -90,6 +90,7 @@ export declare const ListPositionHistorySchema: z.ZodObject<{
90
90
  positionId: z.ZodOptional<z.ZodUUID>;
91
91
  marginAccountId: z.ZodOptional<z.ZodUUID>;
92
92
  tradingPairId: z.ZodOptional<z.ZodUUID>;
93
+ reductionOnly: z.ZodOptional<z.ZodBoolean>;
93
94
  }, z.core.$strip>;
94
95
  export declare const GetPositionPnlHistorySchema: z.ZodObject<{
95
96
  positionId: z.ZodUUID;
@@ -94,6 +94,7 @@ export const ListPositionHistorySchema = PaginationSchema.extend({
94
94
  positionId: UUIDSchema.optional(),
95
95
  marginAccountId: UUIDSchema.optional(),
96
96
  tradingPairId: UUIDSchema.optional(),
97
+ reductionOnly: z.boolean().optional(),
97
98
  });
98
99
  const PnlHistoryIntervalSchema = z.enum(["1m", "5m", "15m", "1h", "4h", "1d"], {
99
100
  message: 'Interval must be one of "1m", "5m", "15m", "1h", "4h", "1d"',
@@ -10,6 +10,6 @@
10
10
  * hand-written SDK surface. CI regenerates it and fails on a diff, identical to
11
11
  * the `schema.ts` wire-types tripwire (MON-1476), so it can never go stale.
12
12
  */
13
- export declare const OPERATION_IDS: readonly ["add_position_margin", "attach_position_tp_sl", "authenticate_backend", "batch_cancel_all", "batch_cancel_all_by_pair", "batch_cancel_orders", "batch_close_all_positions", "batch_create_orders", "batch_replace_orders", "cancel_conditional_order", "cancel_order", "close_position", "create_challenge", "create_delegated_session", "create_order", "create_sub_account_limit", "delete_sub_account_limit", "get_application_config", "get_application_stats", "get_available_collateral", "get_candles", "get_conditional_order", "get_funding_state", "get_index_price", "get_margin_account_movements", "get_margin_account_summary", "get_mark_price", "get_market_metadata", "get_market_stats", "get_my_fee_tier", "get_open_interest", "get_order_by_id", "get_orderbook_snapshot", "get_orders", "get_parent_margin_account_movements", "get_parent_margin_account_summary", "get_perp_market_config", "get_perp_market_summary", "get_portfolio_chart", "get_portfolio_stats", "get_position", "get_position_pnl_history", "get_position_risk", "get_screener", "get_sub_account_limits", "get_trade_by_id", "get_trades", "get_trading_pair_by_id", "get_user_balance_by_asset", "get_user_balances", "get_user_movements", "get_user_profile", "get_user_trades", "get_withdrawal", "health_check", "initiate_withdrawal", "list_application_balances", "list_application_movements", "list_application_orders", "list_application_users", "list_conditional_orders", "list_delegated_agent_owners", "list_delegated_agents", "list_funding_history", "list_funding_payments", "list_margin_accounts", "list_pending_withdrawals", "list_position_history", "list_positions", "list_sub_accounts_with_balances", "list_trading_pairs", "mint_tokens", "reduce_position_margin", "refresh_session", "replace_order", "revoke_delegated_agent", "revoke_session", "simulate_fees", "simulate_order_risk", "simulate_parent_margin_order_risk", "simulate_risk_bucket_order_risk", "submit_whitelist", "transfer_collateral_from_margin_account", "transfer_collateral_from_parent_margin_account", "transfer_collateral_to_margin_account", "transfer_collateral_to_parent_margin_account", "transfer_collateral_to_risk_bucket", "update_sub_account_limit", "upsert_delegated_agent", "verify_signature"];
13
+ export declare const OPERATION_IDS: readonly ["add_position_margin", "attach_position_tp_sl", "authenticate_backend", "batch_cancel_all", "batch_cancel_all_by_pair", "batch_cancel_orders", "batch_close_all_positions", "batch_create_orders", "batch_replace_orders", "cancel_conditional_order", "cancel_order", "close_position", "create_challenge", "create_delegated_session", "create_order", "create_sub_account_limit", "delete_sub_account_limit", "get_application_config", "get_application_stats", "get_available_collateral", "get_candles", "get_conditional_order", "get_funding_state", "get_index_price", "get_margin_account_movements", "get_margin_account_summary", "get_mark_price", "get_market_metadata", "get_market_stats", "get_my_fee_tier", "get_my_trader_code", "get_open_interest", "get_order_by_id", "get_orderbook_snapshot", "get_orders", "get_parent_margin_account_movements", "get_parent_margin_account_summary", "get_perp_market_config", "get_perp_market_summary", "get_portfolio_chart", "get_portfolio_stats", "get_position", "get_position_pnl_history", "get_position_risk", "get_rewards_balance", "get_screener", "get_sub_account_limits", "get_trade_by_id", "get_trader_code_info", "get_trades", "get_trading_pair_by_id", "get_user_balance_by_asset", "get_user_balances", "get_user_movements", "get_user_profile", "get_user_trades", "get_withdrawal", "health_check", "initiate_withdrawal", "list_application_balances", "list_application_movements", "list_application_orders", "list_application_users", "list_conditional_orders", "list_delegated_agent_owners", "list_delegated_agents", "list_funding_history", "list_funding_payments", "list_margin_accounts", "list_pending_withdrawals", "list_position_history", "list_positions", "list_sub_accounts_with_balances", "list_trading_pairs", "mint_tokens", "reduce_position_margin", "refresh_session", "replace_order", "revoke_delegated_agent", "revoke_session", "simulate_fees", "simulate_order_risk", "simulate_parent_margin_order_risk", "simulate_risk_bucket_order_risk", "submit_whitelist", "transfer_collateral_from_margin_account", "transfer_collateral_from_parent_margin_account", "transfer_collateral_to_margin_account", "transfer_collateral_to_parent_margin_account", "transfer_collateral_to_risk_bucket", "transfer_rewards", "update_sub_account_limit", "upsert_delegated_agent", "verify_signature"];
14
14
  /** Union of every OpenAPI operationId in the spec. */
15
15
  export type OperationId = (typeof OPERATION_IDS)[number];
@@ -41,6 +41,7 @@ export const OPERATION_IDS = [
41
41
  "get_market_metadata",
42
42
  "get_market_stats",
43
43
  "get_my_fee_tier",
44
+ "get_my_trader_code",
44
45
  "get_open_interest",
45
46
  "get_order_by_id",
46
47
  "get_orderbook_snapshot",
@@ -54,9 +55,11 @@ export const OPERATION_IDS = [
54
55
  "get_position",
55
56
  "get_position_pnl_history",
56
57
  "get_position_risk",
58
+ "get_rewards_balance",
57
59
  "get_screener",
58
60
  "get_sub_account_limits",
59
61
  "get_trade_by_id",
62
+ "get_trader_code_info",
60
63
  "get_trades",
61
64
  "get_trading_pair_by_id",
62
65
  "get_user_balance_by_asset",
@@ -98,6 +101,7 @@ export const OPERATION_IDS = [
98
101
  "transfer_collateral_to_margin_account",
99
102
  "transfer_collateral_to_parent_margin_account",
100
103
  "transfer_collateral_to_risk_bucket",
104
+ "transfer_rewards",
101
105
  "update_sub_account_limit",
102
106
  "upsert_delegated_agent",
103
107
  "verify_signature",
@@ -1470,6 +1470,108 @@ export interface paths {
1470
1470
  patch?: never;
1471
1471
  trace?: never;
1472
1472
  };
1473
+ "/api/v1/pitpass/codes/me": {
1474
+ parameters: {
1475
+ query?: never;
1476
+ header?: never;
1477
+ path?: never;
1478
+ cookie?: never;
1479
+ };
1480
+ /**
1481
+ * Get your TraderCode
1482
+ * @description Claim your TraderCode.
1483
+ *
1484
+ * Get your TraderCode.
1485
+ *
1486
+ * Return the authenticated caller's TraderCode, which is derived from their
1487
+ * wallet address (rendered `Monaco - <address>` by clients). Never 404s — the
1488
+ * code always exists for a signed-in wallet — and ensures the backing row so
1489
+ * referrals attributed to this wallet have a code to link.
1490
+ */
1491
+ get: operations["get_my_trader_code"];
1492
+ put?: never;
1493
+ post?: never;
1494
+ delete?: never;
1495
+ options?: never;
1496
+ head?: never;
1497
+ patch?: never;
1498
+ trace?: never;
1499
+ };
1500
+ "/api/v1/pitpass/codes/{code}": {
1501
+ parameters: {
1502
+ query?: never;
1503
+ header?: never;
1504
+ path?: never;
1505
+ cookie?: never;
1506
+ };
1507
+ /**
1508
+ * Look up a TraderCode
1509
+ * @description Look up a TraderCode (public).
1510
+ *
1511
+ * Public, unauthenticated lookup used to validate a referral code at signup.
1512
+ * The code is a wallet address; returns the normalized code when it resolves
1513
+ * to a known wallet. Returns 404 when the code does not resolve to a user.
1514
+ */
1515
+ get: operations["get_trader_code_info"];
1516
+ put?: never;
1517
+ post?: never;
1518
+ delete?: never;
1519
+ options?: never;
1520
+ head?: never;
1521
+ patch?: never;
1522
+ trace?: never;
1523
+ };
1524
+ "/api/v1/pitpass/rewards/balance": {
1525
+ parameters: {
1526
+ query?: never;
1527
+ header?: never;
1528
+ path?: never;
1529
+ cookie?: never;
1530
+ };
1531
+ /**
1532
+ * Get your rewards balance
1533
+ * @description Read accrued PitPass rewards balance.
1534
+ *
1535
+ * Return the caller's current rewards-bucket balances across all reward tokens.
1536
+ * Rewards accumulate here as referred users trade; call TransferRewards to move
1537
+ * them into a tradeable balance. Returns an empty list when no rewards have
1538
+ * been earned yet.
1539
+ */
1540
+ get: operations["get_rewards_balance"];
1541
+ put?: never;
1542
+ post?: never;
1543
+ delete?: never;
1544
+ options?: never;
1545
+ head?: never;
1546
+ patch?: never;
1547
+ trace?: never;
1548
+ };
1549
+ "/api/v1/pitpass/rewards/transfer": {
1550
+ parameters: {
1551
+ query?: never;
1552
+ header?: never;
1553
+ path?: never;
1554
+ cookie?: never;
1555
+ };
1556
+ get?: never;
1557
+ put?: never;
1558
+ /**
1559
+ * Transfer rewards into a trading balance
1560
+ * @description Transfer earned rewards into a trading balance.
1561
+ *
1562
+ * Move spendable PitPass reward balance from your rewards bucket into a
1563
+ * trading balance under the authenticated application, making it tradeable
1564
+ * immediately. Ledger-only (one shared vault + one backend ledger) — no
1565
+ * on-chain transaction and no gas. Fails with 402 when the rewards balance is
1566
+ * insufficient.
1567
+ */
1568
+ post: operations["transfer_rewards"];
1569
+ delete?: never;
1570
+ options?: never;
1571
+ head?: never;
1572
+ patch?: never;
1573
+ trace?: never;
1574
+ };
1473
1575
  "/api/v1/positions": {
1474
1576
  parameters: {
1475
1577
  query?: never;
@@ -1808,7 +1910,10 @@ export type webhooks = Record<string, never>;
1808
1910
  export interface components {
1809
1911
  schemas: {
1810
1912
  AccountBalance: {
1811
- /** @description Token contract address */
1913
+ /**
1914
+ * @description Token contract address
1915
+ * @example 0x6a86da986797d59a839d136db490292cd560c131
1916
+ */
1812
1917
  token?: string | null;
1813
1918
  /**
1814
1919
  * @description Token symbol
@@ -1878,7 +1983,10 @@ export interface components {
1878
1983
  * @example 123e4567-e89b-12d3-a456-426614174000
1879
1984
  */
1880
1985
  id?: string | null;
1881
- /** @description Wallet address */
1986
+ /**
1987
+ * @description Wallet address
1988
+ * @example 0x742d35Cc6634C0532925a3b8D4060f31E2C3d8B5
1989
+ */
1882
1990
  address?: string | null;
1883
1991
  /**
1884
1992
  * @description Display username
@@ -2515,7 +2623,10 @@ export interface components {
2515
2623
  message?: string | null;
2516
2624
  };
2517
2625
  Candle: {
2518
- /** @description Unix timestamp for the start of the candle period in milliseconds */
2626
+ /**
2627
+ * @description Unix timestamp for the start of the candle period in milliseconds
2628
+ * @example 1699800000000
2629
+ */
2519
2630
  timestamp?: string | null;
2520
2631
  /**
2521
2632
  * @description Opening price
@@ -2553,18 +2664,27 @@ export interface components {
2553
2664
  * @example 342
2554
2665
  */
2555
2666
  tradeCount?: number | null;
2556
- /** @description Unix timestamp for the end of the candle period in milliseconds */
2667
+ /**
2668
+ * @description Unix timestamp for the end of the candle period in milliseconds
2669
+ * @example 1699800059999
2670
+ */
2557
2671
  closeTimestampMs?: string | null;
2558
2672
  };
2559
2673
  ChallengeRequest: {
2560
- /** @description Ethereum wallet address */
2674
+ /**
2675
+ * @description Ethereum wallet address
2676
+ * @example 0x742d35Cc6634C0532925a3b8D4060f31E2C3d8B5
2677
+ */
2561
2678
  address: string;
2562
2679
  /**
2563
2680
  * @description Optional application identifier
2564
2681
  * @example monaco-frontend
2565
2682
  */
2566
2683
  clientId?: string | null;
2567
- /** @description Optional chain ID supplied by SDK clients */
2684
+ /**
2685
+ * @description Optional chain ID supplied by SDK clients
2686
+ * @example 1328
2687
+ */
2568
2688
  chainId?: string | null;
2569
2689
  /**
2570
2690
  * @description Lowercase hex (64 chars) ed25519 public key generated locally by the SDK. The returned challenge message will embed this key so the wallet's signature binds it; the same value must be submitted to /api/v1/auth/verify.
@@ -2657,7 +2777,10 @@ export interface components {
2657
2777
  sessionPublicKey?: string | null;
2658
2778
  };
2659
2779
  CreateDelegatedSessionResponse: {
2660
- /** @description Session expiry as a Unix timestamp (seconds) */
2780
+ /**
2781
+ * @description Session expiry as a Unix timestamp (seconds)
2782
+ * @example 1735689599
2783
+ */
2661
2784
  expiresAt?: string | null;
2662
2785
  /**
2663
2786
  * Format: uuid
@@ -2857,7 +2980,10 @@ export interface components {
2857
2980
  * @description Owner account UUID the agent acts on behalf of
2858
2981
  */
2859
2982
  ownerUserId?: string | null;
2860
- /** @description Agent wallet address (EVM) */
2983
+ /**
2984
+ * @description Agent wallet address (EVM)
2985
+ * @example 0x742d35cc6634c0532925a3b8d4060f31e2c3d8b5
2986
+ */
2861
2987
  agentAddress?: string | null;
2862
2988
  /** @description Human-friendly label for the agent */
2863
2989
  name?: string | null;
@@ -3062,7 +3188,10 @@ export interface components {
3062
3188
  * @example 5.67
3063
3189
  */
3064
3190
  applicationTakerFee?: string | null;
3065
- /** @description Total number of trades */
3191
+ /**
3192
+ * @description Total number of trades
3193
+ * @example 42
3194
+ */
3066
3195
  tradeCount?: string | null;
3067
3196
  };
3068
3197
  GetAvailableCollateralResponse: {
@@ -3079,7 +3208,10 @@ export interface components {
3079
3208
  marginAvailableCollateral?: string | null;
3080
3209
  };
3081
3210
  GetBalanceByAssetResponse: {
3082
- /** @description Token contract address */
3211
+ /**
3212
+ * @description Token contract address
3213
+ * @example 0x6a86da986797d59a839d136db490292cd560c131
3214
+ */
3083
3215
  token?: string | null;
3084
3216
  /**
3085
3217
  * @description Token symbol
@@ -3175,7 +3307,10 @@ export interface components {
3175
3307
  allowedOrigins?: string[] | null;
3176
3308
  /** @description Webhook URL for notifications */
3177
3309
  webhookUrl?: string | null;
3178
- /** @description Vault contract address for this application */
3310
+ /**
3311
+ * @description Vault contract address for this application
3312
+ * @example 0xA393B04EA77354570Ace35869F5EbB1e380DC232
3313
+ */
3179
3314
  vaultContractAddress?: string | null;
3180
3315
  /**
3181
3316
  * @description Application client ID, embedded in on-chain deposit calls
@@ -3759,9 +3894,15 @@ export interface components {
3759
3894
  * @example 231.81
3760
3895
  */
3761
3896
  volume?: string | null;
3762
- /** @description Number of trades in period */
3897
+ /**
3898
+ * @description Number of trades in period
3899
+ * @example 42
3900
+ */
3763
3901
  totalTrades?: string | null;
3764
- /** @description Number of orders in period */
3902
+ /**
3903
+ * @description Number of orders in period
3904
+ * @example 56
3905
+ */
3765
3906
  totalOrders?: string | null;
3766
3907
  /**
3767
3908
  * @description Total fees paid by user
@@ -3852,6 +3993,14 @@ export interface components {
3852
3993
  * position has no open exposure.
3853
3994
  */
3854
3995
  initialMarginRequired?: string | null;
3996
+ /**
3997
+ * @description Liquidation mark-price threshold. In ISOLATED mode, this is the
3998
+ * position/risk-bucket threshold. In CROSS mode, it is conditional: it varies
3999
+ * only this position's mark while all other marks in the cross risk bucket
4000
+ * remain unchanged. Other position marks, funding, realized PnL,
4001
+ * fees/reserves, and collateral can change it. Treat an absent or blank value
4002
+ * as unavailable, never as zero.
4003
+ */
3855
4004
  liquidationPrice?: string | null;
3856
4005
  status?: string | null;
3857
4006
  updatedAt?: string | null;
@@ -3863,6 +4012,14 @@ export interface components {
3863
4012
  markPrice?: string | null;
3864
4013
  indexPrice?: string | null;
3865
4014
  unrealizedPnl?: string | null;
4015
+ /**
4016
+ * @description Liquidation mark-price threshold. In ISOLATED mode, this is the
4017
+ * position/risk-bucket threshold. In CROSS mode, it is conditional: it varies
4018
+ * only this position's mark while all other marks in the cross risk bucket
4019
+ * remain unchanged. Other position marks, funding, realized PnL,
4020
+ * fees/reserves, and collateral can change it. Treat an absent or blank value
4021
+ * as unavailable, never as zero.
4022
+ */
3866
4023
  liquidationPrice?: string | null;
3867
4024
  marginRatio?: string | null;
3868
4025
  /**
@@ -3885,7 +4042,10 @@ export interface components {
3885
4042
  * @example 123e4567-e89b-12d3-a456-426614174000
3886
4043
  */
3887
4044
  id?: string | null;
3888
- /** @description Wallet address */
4045
+ /**
4046
+ * @description Wallet address
4047
+ * @example 0x742d35Cc6634C0532925a3b8D4060f31E2C3d8B5
4048
+ */
3889
4049
  address?: string | null;
3890
4050
  /**
3891
4051
  * @description Display username
@@ -3932,6 +4092,10 @@ export interface components {
3932
4092
  */
3933
4093
  applicationMakerFeeBps?: number | null;
3934
4094
  };
4095
+ GetRewardsBalanceResponse: {
4096
+ /** @description One entry per reward token that has a non-zero available balance. */
4097
+ balances?: components["schemas"]["RewardsBalanceEntry"][] | null;
4098
+ };
3935
4099
  /** @description Paginated screener response sorted by quoteVolume24h desc (nulls last). */
3936
4100
  GetScreenerResponse: {
3937
4101
  items?: components["schemas"]["ScreenerItem"][] | null;
@@ -3980,6 +4144,13 @@ export interface components {
3980
4144
  */
3981
4145
  tradingMode?: string | null;
3982
4146
  };
4147
+ GetTraderCodeInfoResponse: {
4148
+ /**
4149
+ * @description The resolved TraderCode (normalized wallet address)
4150
+ * @example 0x0000000000000000000000000000000000000002
4151
+ */
4152
+ code?: string | null;
4153
+ };
3983
4154
  /** @description Recent trades for a trading pair. */
3984
4155
  GetTradesResponse: {
3985
4156
  trades?: components["schemas"]["PublicTrade"][] | null;
@@ -4002,13 +4173,25 @@ export interface components {
4002
4173
  };
4003
4174
  GetUserTradesResponse: {
4004
4175
  trades?: components["schemas"]["UserTrade"][] | null;
4005
- /** @description Current page number */
4176
+ /**
4177
+ * @description Current page number
4178
+ * @example 1
4179
+ */
4006
4180
  page?: string | null;
4007
- /** @description Items per page */
4181
+ /**
4182
+ * @description Items per page
4183
+ * @example 20
4184
+ */
4008
4185
  pageSize?: string | null;
4009
- /** @description Total number of trades */
4186
+ /**
4187
+ * @description Total number of trades
4188
+ * @example 150
4189
+ */
4010
4190
  total?: string | null;
4011
- /** @description Total number of pages */
4191
+ /**
4192
+ * @description Total number of pages
4193
+ * @example 8
4194
+ */
4012
4195
  totalPages?: string | null;
4013
4196
  };
4014
4197
  IndexComponent: {
@@ -4029,7 +4212,10 @@ export interface components {
4029
4212
  * @example 1000000000000000000
4030
4213
  */
4031
4214
  amount?: string | null;
4032
- /** @description On-chain address that will receive the withdrawal (EVM, 42 chars including 0x) */
4215
+ /**
4216
+ * @description On-chain address that will receive the withdrawal (EVM, 42 chars including 0x)
4217
+ * @example 0x742d35cc6634c0532925a3b8d4060f31e2c3d8b5
4218
+ */
4033
4219
  destination?: string | null;
4034
4220
  /**
4035
4221
  * @description Source ledger to withdraw from: "spot" (default) debits spot balance; "margin" directly debits withdrawable collateral from the parent margin account
@@ -4059,7 +4245,10 @@ export interface components {
4059
4245
  * @example 100.50
4060
4246
  */
4061
4247
  amount?: string | null;
4062
- /** @description Token contract address */
4248
+ /**
4249
+ * @description Token contract address
4250
+ * @example 0x6a86da986797d59a839d136db490292cd560c131
4251
+ */
4063
4252
  token?: string | null;
4064
4253
  /**
4065
4254
  * @description Available balance before this movement
@@ -4096,9 +4285,15 @@ export interface components {
4096
4285
  * @example USDC deposit
4097
4286
  */
4098
4287
  description?: string | null;
4099
- /** @description On-chain transaction hash (if applicable) */
4288
+ /**
4289
+ * @description On-chain transaction hash (if applicable)
4290
+ * @example 0xabc123...
4291
+ */
4100
4292
  txHash?: string | null;
4101
- /** @description Block number of the on-chain transaction */
4293
+ /**
4294
+ * @description Block number of the on-chain transaction
4295
+ * @example 18500000
4296
+ */
4102
4297
  blockNumber?: string | null;
4103
4298
  /**
4104
4299
  * @description Movement timestamp (ISO 8601)
@@ -4539,7 +4734,10 @@ export interface components {
4539
4734
  * @example 10000.00
4540
4735
  */
4541
4736
  amount?: string | null;
4542
- /** @description On-chain transaction hash */
4737
+ /**
4738
+ * @description On-chain transaction hash
4739
+ * @example 0xabc123def456...
4740
+ */
4543
4741
  txHash?: string | null;
4544
4742
  };
4545
4743
  OrderbookData: {
@@ -4606,7 +4804,10 @@ export interface components {
4606
4804
  * is confirmed on-chain; fetch it from GetWithdrawal once it becomes ready).
4607
4805
  */
4608
4806
  PendingWithdrawal: {
4609
- /** @description Allocated withdrawal index — matches executeWithdrawal.index on-chain */
4807
+ /**
4808
+ * @description Allocated withdrawal index — matches executeWithdrawal.index on-chain
4809
+ * @example 42
4810
+ */
4610
4811
  withdrawalIndex?: string | null;
4611
4812
  /**
4612
4813
  * Format: uuid
@@ -4624,7 +4825,10 @@ export interface components {
4624
4825
  * @example 1000000000000000000
4625
4826
  */
4626
4827
  amount?: string | null;
4627
- /** @description On-chain address that will receive the withdrawal (EVM, 42 chars including 0x) */
4828
+ /**
4829
+ * @description On-chain address that will receive the withdrawal (EVM, 42 chars including 0x)
4830
+ * @example 0x742d35cc6634c0532925a3b8d4060f31e2c3d8b5
4831
+ */
4628
4832
  destination?: string | null;
4629
4833
  /**
4630
4834
  * @description Withdrawal lifecycle status; always "pending" for entries in this response
@@ -4700,6 +4904,14 @@ export interface components {
4700
4904
  * position has no open exposure.
4701
4905
  */
4702
4906
  initialMarginRequired?: string | null;
4907
+ /**
4908
+ * @description Liquidation mark-price threshold. In ISOLATED mode, this is the
4909
+ * position/risk-bucket threshold. In CROSS mode, it is conditional: it varies
4910
+ * only this position's mark while all other marks in the cross risk bucket
4911
+ * remain unchanged. Other position marks, funding, realized PnL,
4912
+ * fees/reserves, and collateral can change it. Treat an absent or blank value
4913
+ * as unavailable, never as zero.
4914
+ */
4703
4915
  liquidationPrice?: string | null;
4704
4916
  status?: string | null;
4705
4917
  updatedAt?: string | null;
@@ -4721,6 +4933,18 @@ export interface components {
4721
4933
  /** Format: uuid */
4722
4934
  orderId?: string | null;
4723
4935
  createdAt?: string | null;
4936
+ /** @description Average entry price immediately before this reduction execution. */
4937
+ entryPrice?: string | null;
4938
+ /** @description Initial margin allocated pro rata to this reduction execution. */
4939
+ allocatedInitialMargin?: string | null;
4940
+ /** @description Funding allocated pro rata to this reduction; positive means paid. */
4941
+ fundingPaid?: string | null;
4942
+ /** @description Realized PnL after trading fees and funding for this reduction execution. */
4943
+ netRealizedPnl?: string | null;
4944
+ /** @description Net realized PnL divided by allocated_initial_margin, expressed as a percentage. */
4945
+ realizedRoe?: string | null;
4946
+ /** @description Position side immediately before this reduction execution. */
4947
+ positionSide?: string | null;
4724
4948
  };
4725
4949
  /**
4726
4950
  * @description One PnL state sample for a position in one bucket. Cumulative fields are
@@ -4924,6 +5148,18 @@ export interface components {
4924
5148
  */
4925
5149
  message?: string | null;
4926
5150
  };
5151
+ RewardsBalanceEntry: {
5152
+ /**
5153
+ * @description Reward token contract address (0x-prefixed).
5154
+ * @example 0x0000000000000000000000000000000000000002
5155
+ */
5156
+ token?: string | null;
5157
+ /**
5158
+ * @description Available rewards balance in RAW atomic units of the token.
5159
+ * @example 1200000
5160
+ */
5161
+ available?: string | null;
5162
+ };
4927
5163
  RiskTier: {
4928
5164
  initialMarginRatio?: string | null;
4929
5165
  maintenanceMarginRatio?: string | null;
@@ -5130,6 +5366,14 @@ export interface components {
5130
5366
  maintenanceMarginRequiredAfter?: string | null;
5131
5367
  freeCollateralAfter?: string | null;
5132
5368
  estimatedFee?: string | null;
5369
+ /**
5370
+ * @description Estimated liquidation mark-price. In ISOLATED mode, this is the
5371
+ * position/risk-bucket threshold. In CROSS mode, it is conditional: it varies
5372
+ * only the target position's mark while all other marks in the cross risk
5373
+ * bucket remain unchanged. Other position marks, funding, realized PnL,
5374
+ * fees/reserves, and collateral can change it. Treat an absent or blank value
5375
+ * as unavailable, never as zero.
5376
+ */
5133
5377
  estimatedLiquidationPrice?: string | null;
5134
5378
  /**
5135
5379
  * @description The margin account the simulation was resolved against. Always populated;
@@ -5179,7 +5423,10 @@ export interface components {
5179
5423
  * @example 123e4567-e89b-12d3-a456-426614174000
5180
5424
  */
5181
5425
  id?: string | null;
5182
- /** @description Sub-account wallet address */
5426
+ /**
5427
+ * @description Sub-account wallet address
5428
+ * @example 0x742d35Cc6634C0532925a3b8D1B9d7c2bd34e8Dc
5429
+ */
5183
5430
  address?: string | null;
5184
5431
  /**
5185
5432
  * @description Sub-account display username
@@ -5211,7 +5458,10 @@ export interface components {
5211
5458
  * @example 123e4567-e89b-12d3-a456-426614174000
5212
5459
  */
5213
5460
  subAccountId?: string | null;
5214
- /** @description Token contract address */
5461
+ /**
5462
+ * @description Token contract address
5463
+ * @example 0x6a86da986797d59a839d136db490292cd560c131
5464
+ */
5215
5465
  token?: string | null;
5216
5466
  /**
5217
5467
  * @description Maximum daily spending limit in token units
@@ -5256,7 +5506,10 @@ export interface components {
5256
5506
  isActive?: boolean | null;
5257
5507
  };
5258
5508
  SubmitWhitelistRequest: {
5259
- /** @description Applicant wallet address */
5509
+ /**
5510
+ * @description Applicant wallet address
5511
+ * @example 0x742d35Cc6634C0532925a3b8D4060f31E2C3d8B5
5512
+ */
5260
5513
  walletAddress: string;
5261
5514
  /**
5262
5515
  * Format: email
@@ -5332,6 +5585,18 @@ export interface components {
5332
5585
  */
5333
5586
  tradeId?: string | null;
5334
5587
  };
5588
+ TraderCodeResponse: {
5589
+ /**
5590
+ * @description Your TraderCode — your normalized wallet address (clients render it `Monaco - <address>`).
5591
+ * @example 0x0000000000000000000000000000000000000002
5592
+ */
5593
+ code?: string | null;
5594
+ /**
5595
+ * @description RFC 3339 timestamp when the code row was first derived
5596
+ * @example 2026-07-07T18:00:00Z
5597
+ */
5598
+ createdAt?: string | null;
5599
+ };
5335
5600
  /** @description Trading pair configuration including tokens, fees, and order limits. */
5336
5601
  TradingPairData: {
5337
5602
  /**
@@ -5356,7 +5621,10 @@ export interface components {
5356
5621
  * @example BTC
5357
5622
  */
5358
5623
  baseToken?: string | null;
5359
- /** @description Base token contract address */
5624
+ /**
5625
+ * @description Base token contract address
5626
+ * @example 0x1234567890abcdef1234567890abcdef12345678
5627
+ */
5360
5628
  baseTokenContract?: string | null;
5361
5629
  /**
5362
5630
  * Format: uuid
@@ -5412,7 +5680,10 @@ export interface components {
5412
5680
  * @example USDC
5413
5681
  */
5414
5682
  quoteToken?: string | null;
5415
- /** @description Quote token contract address */
5683
+ /**
5684
+ * @description Quote token contract address
5685
+ * @example 0x6a86da986797d59a839d136db490292cd560c131
5686
+ */
5416
5687
  quoteTokenContract?: string | null;
5417
5688
  /**
5418
5689
  * @description Trading pair symbol
@@ -5532,6 +5803,30 @@ export interface components {
5532
5803
  /** @description Trading pair UUIDs selected into the cross risk bucket. Required when marginMode is CROSS. */
5533
5804
  selectedTradingPairIds?: string[] | null;
5534
5805
  };
5806
+ TransferRewardsRequest: {
5807
+ /**
5808
+ * @description Reward token contract address (0x-prefixed) to transfer.
5809
+ * @example 0x0000000000000000000000000000000000000002
5810
+ */
5811
+ token: string;
5812
+ /**
5813
+ * @description Amount to transfer, in RAW atomic units of the token.
5814
+ * @example 1000000
5815
+ */
5816
+ amount: string;
5817
+ };
5818
+ TransferRewardsResponse: {
5819
+ /**
5820
+ * @description Your rewards-bucket balance after the transfer, RAW atomic units.
5821
+ * @example 0
5822
+ */
5823
+ rewardsBalance?: string | null;
5824
+ /**
5825
+ * @description Your trading balance for the token after the transfer, RAW atomic units.
5826
+ * @example 1000000
5827
+ */
5828
+ tradingBalance?: string | null;
5829
+ };
5535
5830
  UpdateLimitRequest: {
5536
5831
  /**
5537
5832
  * Format: uuid
@@ -5577,7 +5872,10 @@ export interface components {
5577
5872
  quantity?: string | null;
5578
5873
  };
5579
5874
  UpsertDelegatedAgentRequest: {
5580
- /** @description Agent wallet address (EVM, 42 chars including 0x) */
5875
+ /**
5876
+ * @description Agent wallet address (EVM, 42 chars including 0x)
5877
+ * @example 0x742d35cc6634c0532925a3b8d4060f31e2c3d8b5
5878
+ */
5581
5879
  agentAddress?: string | null;
5582
5880
  /**
5583
5881
  * @description Optional human-friendly label for the agent
@@ -5639,7 +5937,10 @@ export interface components {
5639
5937
  * @example 123e4567-e89b-12d3-a456-426614174000
5640
5938
  */
5641
5939
  id?: string | null;
5642
- /** @description Wallet address */
5940
+ /**
5941
+ * @description Wallet address
5942
+ * @example 0x742d35Cc6634C0532925a3b8D4060f31E2C3d8B5
5943
+ */
5643
5944
  address?: string | null;
5644
5945
  /**
5645
5946
  * @description Display username
@@ -5663,9 +5964,15 @@ export interface components {
5663
5964
  timestamp?: string | null;
5664
5965
  };
5665
5966
  VerifyRequest: {
5666
- /** @description Ethereum wallet address */
5967
+ /**
5968
+ * @description Ethereum wallet address
5969
+ * @example 0x742d35Cc6634C0532925a3b8D4060f31E2C3d8B5
5970
+ */
5667
5971
  address: string;
5668
- /** @description Wallet signature over the challenge message */
5972
+ /**
5973
+ * @description Wallet signature over the challenge message
5974
+ * @example 0x1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0
5975
+ */
5669
5976
  signature: string;
5670
5977
  /**
5671
5978
  * @description Challenge nonce
@@ -5677,13 +5984,21 @@ export interface components {
5677
5984
  * @example monaco-frontend
5678
5985
  */
5679
5986
  clientId?: string | null;
5680
- /** @description Optional chain ID supplied by SDK clients */
5987
+ /**
5988
+ * @description Optional chain ID supplied by SDK clients
5989
+ * @example 1328
5990
+ */
5681
5991
  chainId?: string | null;
5682
5992
  /**
5683
5993
  * @description Lowercase hex (64 chars) ed25519 public key generated locally by the SDK. Subsequent authenticated requests are signed with the matching private key. The wallet's signature on the challenge message proves the user authorized this specific public key.
5684
5994
  * @example 3b6a27bcceb6a42d62a3a8d02a6f0d73653215771de243a63ac048a18b59da29
5685
5995
  */
5686
5996
  sessionPublicKey: string;
5997
+ /**
5998
+ * @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.
5999
+ * @example 0x1234567890abcdef1234567890abcdef12345678
6000
+ */
6001
+ referralCode?: string | null;
5687
6002
  };
5688
6003
  VerifyResponse: {
5689
6004
  /**
@@ -5695,9 +6010,15 @@ export interface components {
5695
6010
  user?: components["schemas"]["UserInfo"];
5696
6011
  };
5697
6012
  Withdrawal: {
5698
- /** @description Allocated withdrawal index — matches executeWithdrawal.index on-chain */
6013
+ /**
6014
+ * @description Allocated withdrawal index — matches executeWithdrawal.index on-chain
6015
+ * @example 42
6016
+ */
5699
6017
  withdrawalIndex?: string | null;
5700
- /** @description 0x-prefixed lowercase address of the vault contract the calldata is submitted to */
6018
+ /**
6019
+ * @description 0x-prefixed lowercase address of the vault contract the calldata is submitted to
6020
+ * @example 0x5fbdb2315678afecb367f032d93f642f64180aa3
6021
+ */
5701
6022
  vaultAddress?: string | null;
5702
6023
  /** @description 0x-prefixed ABI-encoded executeWithdrawal(...) calldata; submit as tx.data to the vault. Empty on InitiateWithdrawal (the merkle proof is not available until the withdrawal root is confirmed on-chain) — fetch it from GetWithdrawal once ready */
5703
6024
  calldata?: string | null;
@@ -8724,6 +9045,162 @@ export interface operations {
8724
9045
  };
8725
9046
  };
8726
9047
  };
9048
+ get_my_trader_code: {
9049
+ parameters: {
9050
+ query?: never;
9051
+ header?: never;
9052
+ path?: never;
9053
+ cookie?: never;
9054
+ };
9055
+ requestBody?: never;
9056
+ responses: {
9057
+ /** @description OK */
9058
+ 200: {
9059
+ headers: {
9060
+ [name: string]: unknown;
9061
+ };
9062
+ content: {
9063
+ "application/json": components["schemas"]["TraderCodeResponse"];
9064
+ };
9065
+ };
9066
+ /** @description Authentication required */
9067
+ 401: {
9068
+ headers: {
9069
+ [name: string]: unknown;
9070
+ };
9071
+ content?: never;
9072
+ };
9073
+ /** @description Internal server error */
9074
+ 500: {
9075
+ headers: {
9076
+ [name: string]: unknown;
9077
+ };
9078
+ content?: never;
9079
+ };
9080
+ };
9081
+ };
9082
+ get_trader_code_info: {
9083
+ parameters: {
9084
+ query?: never;
9085
+ header?: never;
9086
+ path: {
9087
+ code: string;
9088
+ };
9089
+ cookie?: never;
9090
+ };
9091
+ requestBody?: never;
9092
+ responses: {
9093
+ /** @description OK */
9094
+ 200: {
9095
+ headers: {
9096
+ [name: string]: unknown;
9097
+ };
9098
+ content: {
9099
+ "application/json": components["schemas"]["GetTraderCodeInfoResponse"];
9100
+ };
9101
+ };
9102
+ /** @description Code not found */
9103
+ 404: {
9104
+ headers: {
9105
+ [name: string]: unknown;
9106
+ };
9107
+ content?: never;
9108
+ };
9109
+ /** @description Internal server error */
9110
+ 500: {
9111
+ headers: {
9112
+ [name: string]: unknown;
9113
+ };
9114
+ content?: never;
9115
+ };
9116
+ };
9117
+ };
9118
+ get_rewards_balance: {
9119
+ parameters: {
9120
+ query?: never;
9121
+ header?: never;
9122
+ path?: never;
9123
+ cookie?: never;
9124
+ };
9125
+ requestBody?: never;
9126
+ responses: {
9127
+ /** @description OK */
9128
+ 200: {
9129
+ headers: {
9130
+ [name: string]: unknown;
9131
+ };
9132
+ content: {
9133
+ "application/json": components["schemas"]["GetRewardsBalanceResponse"];
9134
+ };
9135
+ };
9136
+ /** @description Authentication required */
9137
+ 401: {
9138
+ headers: {
9139
+ [name: string]: unknown;
9140
+ };
9141
+ content?: never;
9142
+ };
9143
+ /** @description Internal server error */
9144
+ 500: {
9145
+ headers: {
9146
+ [name: string]: unknown;
9147
+ };
9148
+ content?: never;
9149
+ };
9150
+ };
9151
+ };
9152
+ transfer_rewards: {
9153
+ parameters: {
9154
+ query?: never;
9155
+ header?: never;
9156
+ path?: never;
9157
+ cookie?: never;
9158
+ };
9159
+ requestBody: {
9160
+ content: {
9161
+ "application/json": components["schemas"]["TransferRewardsRequest"];
9162
+ };
9163
+ };
9164
+ responses: {
9165
+ /** @description OK */
9166
+ 200: {
9167
+ headers: {
9168
+ [name: string]: unknown;
9169
+ };
9170
+ content: {
9171
+ "application/json": components["schemas"]["TransferRewardsResponse"];
9172
+ };
9173
+ };
9174
+ /** @description Invalid token or amount */
9175
+ 400: {
9176
+ headers: {
9177
+ [name: string]: unknown;
9178
+ };
9179
+ content?: never;
9180
+ };
9181
+ /** @description Authentication required */
9182
+ 401: {
9183
+ headers: {
9184
+ [name: string]: unknown;
9185
+ };
9186
+ content?: never;
9187
+ };
9188
+ /** @description Insufficient rewards balance */
9189
+ 409: {
9190
+ headers: {
9191
+ [name: string]: unknown;
9192
+ };
9193
+ content?: never;
9194
+ };
9195
+ /** @description Internal server error */
9196
+ 500: {
9197
+ headers: {
9198
+ [name: string]: unknown;
9199
+ };
9200
+ content?: never;
9201
+ };
9202
+ };
9203
+ };
8727
9204
  list_positions: {
8728
9205
  parameters: {
8729
9206
  query?: {
@@ -8790,6 +9267,8 @@ export interface operations {
8790
9267
  page?: number;
8791
9268
  /** @description Items per page (max 100) */
8792
9269
  pageSize?: number;
9270
+ /** @description When true, return only DECREASE, CLOSE, and LIQUIDATE execution rows. */
9271
+ reductionOnly?: boolean;
8793
9272
  };
8794
9273
  header?: never;
8795
9274
  path?: never;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xmonaco/types",
3
- "version": "0.8.22",
3
+ "version": "1.0.3",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
@@ -20,7 +20,7 @@
20
20
  "lint": "biome lint ."
21
21
  },
22
22
  "dependencies": {
23
- "@0xmonaco/contracts": "0.8.22",
23
+ "@0xmonaco/contracts": "1.0.3",
24
24
  "zod": "^4.1.12"
25
25
  },
26
26
  "peerDependencies": {