@gauntlet-xyz/sdk 2.0.0 → 2.5.0

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.
Files changed (129) hide show
  1. package/README.md +134 -1
  2. package/dist/api/activity.d.ts +70 -0
  3. package/dist/api/activity.d.ts.map +1 -0
  4. package/dist/api/activity.js +154 -0
  5. package/dist/api/activity.js.map +1 -0
  6. package/dist/api/caip.d.ts +29 -0
  7. package/dist/api/caip.d.ts.map +1 -0
  8. package/dist/api/caip.js +38 -0
  9. package/dist/api/caip.js.map +1 -0
  10. package/dist/api/client.d.ts +135 -0
  11. package/dist/api/client.d.ts.map +1 -0
  12. package/dist/api/client.js +119 -0
  13. package/dist/api/client.js.map +1 -0
  14. package/dist/api/decimal.d.ts +21 -0
  15. package/dist/api/decimal.d.ts.map +1 -0
  16. package/dist/api/decimal.js +44 -0
  17. package/dist/api/decimal.js.map +1 -0
  18. package/dist/api/errors.d.ts +32 -0
  19. package/dist/api/errors.d.ts.map +1 -0
  20. package/dist/api/errors.js +41 -0
  21. package/dist/api/errors.js.map +1 -0
  22. package/dist/api/generated.d.ts +1505 -0
  23. package/dist/api/generated.d.ts.map +1 -0
  24. package/dist/api/generated.js +6 -0
  25. package/dist/api/generated.js.map +1 -0
  26. package/dist/api/http.d.ts +16 -0
  27. package/dist/api/http.d.ts.map +1 -0
  28. package/dist/api/http.js +39 -0
  29. package/dist/api/http.js.map +1 -0
  30. package/dist/api/index.d.ts +14 -0
  31. package/dist/api/index.d.ts.map +1 -0
  32. package/dist/api/index.js +8 -0
  33. package/dist/api/index.js.map +1 -0
  34. package/dist/api/positionHistory.d.ts +44 -0
  35. package/dist/api/positionHistory.d.ts.map +1 -0
  36. package/dist/api/positionHistory.js +126 -0
  37. package/dist/api/positionHistory.js.map +1 -0
  38. package/dist/client.d.ts +6 -0
  39. package/dist/client.d.ts.map +1 -1
  40. package/dist/client.js +2 -0
  41. package/dist/client.js.map +1 -1
  42. package/dist/errors.d.ts +11 -0
  43. package/dist/errors.d.ts.map +1 -1
  44. package/dist/errors.js +21 -2
  45. package/dist/errors.js.map +1 -1
  46. package/dist/evm/abis/priceAndFeeCalculatorV2.d.ts +44 -0
  47. package/dist/evm/abis/priceAndFeeCalculatorV2.d.ts.map +1 -1
  48. package/dist/evm/abis/priceAndFeeCalculatorV2.js +22 -0
  49. package/dist/evm/abis/priceAndFeeCalculatorV2.js.map +1 -1
  50. package/dist/evm/abis/provisionerV2.d.ts +280 -0
  51. package/dist/evm/abis/provisionerV2.d.ts.map +1 -1
  52. package/dist/evm/abis/provisionerV2.js +92 -0
  53. package/dist/evm/abis/provisionerV2.js.map +1 -1
  54. package/dist/evm/adapters/aera.d.ts.map +1 -1
  55. package/dist/evm/adapters/aera.js +41 -10
  56. package/dist/evm/adapters/aera.js.map +1 -1
  57. package/dist/evm/adapters/types.d.ts +2 -0
  58. package/dist/evm/adapters/types.d.ts.map +1 -1
  59. package/dist/evm/aeraContracts/priceAndFeeCalculator.d.ts +10 -5
  60. package/dist/evm/aeraContracts/priceAndFeeCalculator.d.ts.map +1 -1
  61. package/dist/evm/aeraContracts/priceAndFeeCalculator.js +39 -5
  62. package/dist/evm/aeraContracts/priceAndFeeCalculator.js.map +1 -1
  63. package/dist/evm/aeraContracts/readOptions.d.ts +8 -0
  64. package/dist/evm/aeraContracts/readOptions.d.ts.map +1 -0
  65. package/dist/evm/aeraContracts/readOptions.js +4 -0
  66. package/dist/evm/aeraContracts/readOptions.js.map +1 -0
  67. package/dist/evm/aeraContracts/v2.d.ts +1932 -217
  68. package/dist/evm/aeraContracts/v2.d.ts.map +1 -1
  69. package/dist/evm/aeraContracts/v2.js +84 -28
  70. package/dist/evm/aeraContracts/v2.js.map +1 -1
  71. package/dist/evm/aeraContracts.d.ts +9 -3
  72. package/dist/evm/aeraContracts.d.ts.map +1 -1
  73. package/dist/evm/aeraContracts.js +69 -8
  74. package/dist/evm/aeraContracts.js.map +1 -1
  75. package/dist/evm/deposit.d.ts.map +1 -1
  76. package/dist/evm/deposit.js +1 -1
  77. package/dist/evm/deposit.js.map +1 -1
  78. package/dist/evm/index.d.ts +8 -0
  79. package/dist/evm/index.d.ts.map +1 -1
  80. package/dist/evm/index.js +3 -0
  81. package/dist/evm/index.js.map +1 -1
  82. package/dist/evm/tokenModes.d.ts +22 -0
  83. package/dist/evm/tokenModes.d.ts.map +1 -0
  84. package/dist/evm/tokenModes.js +34 -0
  85. package/dist/evm/tokenModes.js.map +1 -0
  86. package/dist/evm/withdraw.d.ts +8 -0
  87. package/dist/evm/withdraw.d.ts.map +1 -1
  88. package/dist/evm/withdraw.js +85 -5
  89. package/dist/evm/withdraw.js.map +1 -1
  90. package/dist/evm/withdrawQuote.d.ts +127 -0
  91. package/dist/evm/withdrawQuote.d.ts.map +1 -0
  92. package/dist/evm/withdrawQuote.js +164 -0
  93. package/dist/evm/withdrawQuote.js.map +1 -0
  94. package/dist/index.d.ts +8 -1
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +4 -1
  97. package/dist/index.js.map +1 -1
  98. package/dist/privy/index.d.ts +52 -0
  99. package/dist/privy/index.d.ts.map +1 -0
  100. package/dist/privy/index.js +51 -0
  101. package/dist/privy/index.js.map +1 -0
  102. package/manifest/vaults.json +255 -3
  103. package/package.json +2 -2
  104. package/src/api/activity.ts +219 -0
  105. package/src/api/caip.ts +61 -0
  106. package/src/api/client.ts +234 -0
  107. package/src/api/decimal.ts +49 -0
  108. package/src/api/errors.ts +64 -0
  109. package/src/api/generated.ts +1505 -0
  110. package/src/api/http.ts +62 -0
  111. package/src/api/index.ts +70 -0
  112. package/src/api/positionHistory.ts +167 -0
  113. package/src/client.ts +7 -1
  114. package/src/errors.ts +32 -2
  115. package/src/evm/abis/priceAndFeeCalculatorV2.ts +22 -0
  116. package/src/evm/abis/provisionerV2.ts +92 -0
  117. package/src/evm/adapters/aera.ts +50 -23
  118. package/src/evm/adapters/types.ts +2 -0
  119. package/src/evm/aeraContracts/priceAndFeeCalculator.ts +72 -5
  120. package/src/evm/aeraContracts/readOptions.ts +3 -0
  121. package/src/evm/aeraContracts/v2.ts +158 -34
  122. package/src/evm/aeraContracts.ts +81 -8
  123. package/src/evm/deposit.ts +2 -1
  124. package/src/evm/index.ts +32 -0
  125. package/src/evm/tokenModes.ts +54 -0
  126. package/src/evm/withdraw.ts +131 -7
  127. package/src/evm/withdrawQuote.ts +360 -0
  128. package/src/index.ts +18 -0
  129. package/src/privy/index.ts +95 -0
@@ -0,0 +1,1505 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export interface paths {
6
+ "/health": {
7
+ parameters: {
8
+ query?: never;
9
+ header?: never;
10
+ path?: never;
11
+ cookie?: never;
12
+ };
13
+ /**
14
+ * Liveness check
15
+ * @description Returns service version + uptime. Use `/health/chains` for indexer freshness per chain.
16
+ */
17
+ get: operations["health"];
18
+ put?: never;
19
+ post?: never;
20
+ delete?: never;
21
+ options?: never;
22
+ head?: never;
23
+ patch?: never;
24
+ trace?: never;
25
+ };
26
+ "/health/chains": {
27
+ parameters: {
28
+ query?: never;
29
+ header?: never;
30
+ path?: never;
31
+ cookie?: never;
32
+ };
33
+ /**
34
+ * Chain sync status
35
+ * @description Returns per-chain indexer sync status with freshness indicators.
36
+ */
37
+ get: operations["chain_sync_status"];
38
+ put?: never;
39
+ post?: never;
40
+ delete?: never;
41
+ options?: never;
42
+ head?: never;
43
+ patch?: never;
44
+ trace?: never;
45
+ };
46
+ "/v1/prices": {
47
+ parameters: {
48
+ query?: never;
49
+ header?: never;
50
+ path?: never;
51
+ cookie?: never;
52
+ };
53
+ /**
54
+ * Get latest token price
55
+ * @description Returns the latest USD price for a token. Query parameters: `address` (required), `chain_id` (required), `at` (optional ISO 8601 timestamp).
56
+ */
57
+ get: operations["get_latest_price"];
58
+ put?: never;
59
+ post?: never;
60
+ delete?: never;
61
+ options?: never;
62
+ head?: never;
63
+ patch?: never;
64
+ trace?: never;
65
+ };
66
+ "/v1/prices/timeseries": {
67
+ parameters: {
68
+ query?: never;
69
+ header?: never;
70
+ path?: never;
71
+ cookie?: never;
72
+ };
73
+ /**
74
+ * Get historical token prices
75
+ * @description Returns a USD price timeseries for a token. Query parameters: `address` (required), `chain_id` (required), `start` (required ISO 8601), `end` (required ISO 8601), `granularity` (optional: `raw` | `hour` | `day` | `week` | `month`), `limit` (optional, default 1000, max 5000).
76
+ */
77
+ get: operations["get_price_history"];
78
+ put?: never;
79
+ post?: never;
80
+ delete?: never;
81
+ options?: never;
82
+ head?: never;
83
+ patch?: never;
84
+ trace?: never;
85
+ };
86
+ "/v1/strategies": {
87
+ parameters: {
88
+ query?: never;
89
+ header?: never;
90
+ path?: never;
91
+ cookie?: never;
92
+ };
93
+ /**
94
+ * List curated strategies
95
+ * @description Returns one card per curated strategy (Earn, Prime Lending, …) with aggregate metrics across the strategy's visible vaults: total TVL in USD, the highest 7/30/90-day APY ("APY up to"), and the vault count. TVL sums only vaults whose numeraire has a USD price; unpriced vaults still count toward `vault_count` and the APY maxes. Strategy membership and visibility are curated by Gauntlet; metrics come from the indexer and are refreshed continuously. Ordered by curated display order.
96
+ */
97
+ get: operations["list_strategies"];
98
+ put?: never;
99
+ post?: never;
100
+ delete?: never;
101
+ options?: never;
102
+ head?: never;
103
+ patch?: never;
104
+ trace?: never;
105
+ };
106
+ "/v1/tvl": {
107
+ parameters: {
108
+ query?: never;
109
+ header?: never;
110
+ path?: never;
111
+ cookie?: never;
112
+ };
113
+ /**
114
+ * Get live aggregate TVL
115
+ * @description Returns live aggregate Gauntlet TVL composed from indexed Gaia vault data and configured external TVL sources. Source totals are always returned; pass `?include_breakdown=true` for chain and external-source explainability rows.
116
+ */
117
+ get: operations["get_tvl"];
118
+ put?: never;
119
+ post?: never;
120
+ delete?: never;
121
+ options?: never;
122
+ head?: never;
123
+ patch?: never;
124
+ trace?: never;
125
+ };
126
+ "/v1/users/{wallet_address}/activity": {
127
+ parameters: {
128
+ query?: never;
129
+ header?: never;
130
+ path?: never;
131
+ cookie?: never;
132
+ };
133
+ /**
134
+ * Get user wallet activity (deposits, withdrawals, transfers)
135
+ * @description Immutable log of on-chain events that affected the wallet's vault position. Each row is a frozen-in-time record; rows never mutate after emission.
136
+ *
137
+ * `?vault_id=` narrows to one vault; omitted = activity across every vault the wallet has touched, scoped to the Gauntlet-curated vault set (listed vaults by default, `include_hidden=true` widens to hidden vaults; disabled vaults never appear). Each row echoes its `vault_id` so wallet-wide consumers can distinguish per-vault activity.
138
+ *
139
+ * Async deposit/redeem lifecycles emit multiple rows (one at request time with `status=pending`, a later one with `status=settled` or `refunded`). Consumers correlate them via `request_hash` to follow a single action across rows. Sync flows emit one row directly in the settled state.
140
+ *
141
+ * Pagination is cursor-only. Default order is `desc` (newest first). Default page size 100, max 1000.
142
+ */
143
+ get: operations["get_user_activity"];
144
+ put?: never;
145
+ post?: never;
146
+ delete?: never;
147
+ options?: never;
148
+ head?: never;
149
+ patch?: never;
150
+ trace?: never;
151
+ };
152
+ "/v1/users/{wallet_address}/positions": {
153
+ parameters: {
154
+ query?: never;
155
+ header?: never;
156
+ path?: never;
157
+ cookie?: never;
158
+ };
159
+ /**
160
+ * Get all current positions for a wallet
161
+ * @description Returns every vault position the wallet currently holds or has pending exposure in (pending deposit or redeem). Fully-exited positions (zero shares, no pending escrow) are excluded. Scoped to the Gauntlet-curated vault set: only positions in publicly listed vaults are returned by default, `include_hidden=true` widens to hidden (enabled but unlisted) vaults, and positions in disabled vaults are never returned.
162
+ *
163
+ * All monetary metrics include a `usd` field (null when pricing is unavailable). `value.usd` and `pending_deposit_assets.usd` use the current spot price. `cost_basis.usd` and `pnl.realized.usd` are computed by replaying on-chain events against the token's historical price series — the same method used by `GET /v1/users/{wallet}/positions/{vault_id}`. `pnl.unrealized.usd`, `pnl.total.usd`, and `roi_pct.usd` are derived from those.
164
+ *
165
+ * Cursor-paginated on internal position ID. Default page size 100, max 500.
166
+ */
167
+ get: operations["get_user_all_positions"];
168
+ put?: never;
169
+ post?: never;
170
+ delete?: never;
171
+ options?: never;
172
+ head?: never;
173
+ patch?: never;
174
+ trace?: never;
175
+ };
176
+ "/v1/users/{wallet_address}/positions/{vault_id}": {
177
+ parameters: {
178
+ query?: never;
179
+ header?: never;
180
+ path?: never;
181
+ cookie?: never;
182
+ };
183
+ /**
184
+ * Get user position in a specific vault
185
+ * @description Returns the current position snapshot for a wallet in a single vault. Historical points live on `/positions/{vault_id}/timeseries`.
186
+ */
187
+ get: operations["get_user_vault_position"];
188
+ put?: never;
189
+ post?: never;
190
+ delete?: never;
191
+ options?: never;
192
+ head?: never;
193
+ patch?: never;
194
+ trace?: never;
195
+ };
196
+ "/v1/users/{wallet_address}/positions/{vault_id}/timeseries": {
197
+ parameters: {
198
+ query?: never;
199
+ header?: never;
200
+ path?: never;
201
+ cookie?: never;
202
+ };
203
+ /**
204
+ * Get user position timeseries for a specific vault
205
+ * @description Returns historical value, cost basis, grouped PnL, and ROI data for a single vault position. Default order is `asc` (oldest first, chart-friendly); pass `?order=desc` for newest-first list views. Cursor-paginated — pass `meta.next_cursor` back as `?next=` for the next page (cursor is bound to the order it was created with). Defaults to `granularity=day` (one UTC-midnight snapshot per day); `week` returns Monday 00:00 UTC snapshots, `month` returns first-of-month 00:00 UTC snapshots, and `hour` returns the raw hourly cadence. Default page size is 1000.
206
+ */
207
+ get: operations["get_user_vault_position_timeseries"];
208
+ put?: never;
209
+ post?: never;
210
+ delete?: never;
211
+ options?: never;
212
+ head?: never;
213
+ patch?: never;
214
+ trace?: never;
215
+ };
216
+ "/v1/vaults": {
217
+ parameters: {
218
+ query?: never;
219
+ header?: never;
220
+ path?: never;
221
+ cookie?: never;
222
+ };
223
+ /**
224
+ * List Gauntlet-curated vaults
225
+ * @description Returns identification-only rows for the admin-curated visible vaults, ordered most-recent-first; pass `?include_hidden=true` for every enabled vault (hidden included, disabled never). Each row's `group.id` groups deployments of the same logical Admin vault, `group.slug` is its unique public route, and `group.is_primary` identifies its representative. Use `/{vault_id}` for current metrics, `/{vault_id}/definition` for the full vault definition, `/{vault_id}/timeseries` for history.
226
+ *
227
+ * Cursor-paginated, but the default page size is the cap so most callers don't need to think about it — pass `meta.next_cursor` back as `?next=` only if the result exceeds 1000 vaults.
228
+ */
229
+ get: operations["list_vaults"];
230
+ put?: never;
231
+ post?: never;
232
+ delete?: never;
233
+ options?: never;
234
+ head?: never;
235
+ patch?: never;
236
+ trace?: never;
237
+ };
238
+ "/v1/vaults/{vault_id}": {
239
+ parameters: {
240
+ query?: never;
241
+ header?: never;
242
+ path?: never;
243
+ cookie?: never;
244
+ };
245
+ /**
246
+ * Get current vault metrics
247
+ * @description Returns the current metrics snapshot for a vault — same metric shape that `/timeseries` emits per point, so this is `current point` and timeseries is `historical points`. The vault's Admin grouping is included when the deployment is associated. The protocol-specific definition (fees, hooks, curator, etc.) lives on `/{vault_id}/definition`.
248
+ */
249
+ get: operations["get_vault"];
250
+ put?: never;
251
+ post?: never;
252
+ delete?: never;
253
+ options?: never;
254
+ head?: never;
255
+ patch?: never;
256
+ trace?: never;
257
+ };
258
+ "/v1/vaults/{vault_id}/definition": {
259
+ parameters: {
260
+ query?: never;
261
+ header?: never;
262
+ path?: never;
263
+ cookie?: never;
264
+ };
265
+ /**
266
+ * Get vault definition
267
+ * @description Returns the vault's identity + protocol-specific definition: name, owner, numeraire token, hooks, fees, curator, etc., merged inline based on `vault_type`. Aera carries hooks/feeCalculator, Morpho V1/V2 carry curator + WAD-scaled fees, Symbiotic carries identity only.
268
+ */
269
+ get: operations["get_vault_definition"];
270
+ put?: never;
271
+ post?: never;
272
+ delete?: never;
273
+ options?: never;
274
+ head?: never;
275
+ patch?: never;
276
+ trace?: never;
277
+ };
278
+ "/v1/vaults/{vault_id}/timeseries": {
279
+ parameters: {
280
+ query?: never;
281
+ header?: never;
282
+ path?: never;
283
+ cookie?: never;
284
+ };
285
+ /**
286
+ * Get vault timeseries data
287
+ * @description Returns historical metric data points. Default order is `asc` (oldest first, chart-friendly); pass `?order=desc` for newest-first list views. Supports date range filtering and cursor pagination — pass `meta.next_cursor` back as `?next=` for the next page (cursor is bound to the order it was created with). Defaults to `granularity=day` (one UTC-midnight snapshot per day); `week` returns Monday 00:00 UTC snapshots, `month` returns first-of-month 00:00 UTC snapshots, and `hour` returns the raw hourly cadence. Default page size is 1000.
288
+ */
289
+ get: operations["get_vault_timeseries"];
290
+ put?: never;
291
+ post?: never;
292
+ delete?: never;
293
+ options?: never;
294
+ head?: never;
295
+ patch?: never;
296
+ trace?: never;
297
+ };
298
+ "/v1/vaults/featured": {
299
+ parameters: {
300
+ query?: never;
301
+ header?: never;
302
+ path?: never;
303
+ cookie?: never;
304
+ };
305
+ /**
306
+ * List featured vaults
307
+ * @description Returns the admin-curated featured shortlist, one card per logical vault in curated order: display name, marketing description, deployed chains (highest-TVL first), supply token, aggregate TVL, and the highest 7/30/90-day APY across deployments. `vault_ids` carries per-deployment `{chainId}:{address}` ids for `/v1/vaults/{vault_id}` links, in the same order as `chains`.
308
+ */
309
+ get: operations["list_featured_vaults"];
310
+ put?: never;
311
+ post?: never;
312
+ delete?: never;
313
+ options?: never;
314
+ head?: never;
315
+ patch?: never;
316
+ trace?: never;
317
+ };
318
+ }
319
+ export type webhooks = Record<string, never>;
320
+ export interface components {
321
+ schemas: {
322
+ /**
323
+ * @description Decimal-string metric paired across native (numeraire-token) and USD.
324
+ * `native` is always present; `usd` is JSON null when pricing is unavailable.
325
+ */
326
+ AmountPair: {
327
+ native: string;
328
+ usd?: string | null;
329
+ };
330
+ /**
331
+ * @description Asset-delta envelope on user activity rows. `native` is always present;
332
+ * `token` is present when the indexer knows the row's asset token.
333
+ * The struct shape is kept stable so derived denominations (usd,
334
+ * numeraire token) can be added later without breaking integrators.
335
+ */
336
+ AssetDelta: {
337
+ native: string;
338
+ token?: null | components["schemas"]["TokenRef"];
339
+ };
340
+ BasicMeta: {
341
+ /** Format: date-time */
342
+ refreshed_at: string;
343
+ request_id: string;
344
+ };
345
+ ChainSyncStatus: {
346
+ /** Format: int64 */
347
+ chain_id: number;
348
+ freshness: string;
349
+ /** Format: int64 */
350
+ lag_seconds: number;
351
+ /** Format: int64 */
352
+ latest_block: number;
353
+ /** Format: int64 */
354
+ latest_timestamp: number;
355
+ };
356
+ /**
357
+ * @description USD amount on curated aggregates: decimal string, `null` when the
358
+ * pricing service is not configured.
359
+ */
360
+ CuratedTvl: {
361
+ usd?: string | null;
362
+ };
363
+ ErrorBody: {
364
+ /** @description Machine-readable error code (e.g. `NOT_FOUND`, `UNAUTHORIZED`) */
365
+ code: string;
366
+ details?: unknown;
367
+ /** @description Human-readable error message */
368
+ message: string;
369
+ };
370
+ /** @description Standard error response envelope returned on 4xx/5xx */
371
+ ErrorResponse: {
372
+ error: components["schemas"]["ErrorBody"];
373
+ };
374
+ FeaturedVault: {
375
+ /**
376
+ * Format: double
377
+ * @description Highest 7-day APY across the vault's deployments, fraction
378
+ * (0.0573 = 5.73%). `null` while every window is warming up.
379
+ */
380
+ apy_7d_max?: number | null;
381
+ /**
382
+ * Format: double
383
+ * @description Highest 30-day APY across the vault's deployments.
384
+ */
385
+ apy_30d_max?: number | null;
386
+ /**
387
+ * Format: double
388
+ * @description Highest 90-day APY across the vault's deployments.
389
+ */
390
+ apy_90d_max?: number | null;
391
+ /** @description Chain slugs the vault is deployed on, highest-TVL first. */
392
+ chains: string[];
393
+ /**
394
+ * @description Curated marketing description; `null` when the curator hasn't
395
+ * written one.
396
+ */
397
+ description?: string | null;
398
+ /**
399
+ * @description Curated display name; falls back to the registry id when the
400
+ * curator hasn't named the vault yet. `vault_id` carries the
401
+ * stable logical identifier.
402
+ */
403
+ name: string;
404
+ /**
405
+ * @description Card-length copy (e.g. "Conservative lending yield with low
406
+ * risk"). `null` when the curator hasn't written any; consumers
407
+ * decide whether to fall back to `description`.
408
+ */
409
+ short_description?: string | null;
410
+ /** @description Stable public route for the logical vault group. */
411
+ slug: string;
412
+ /**
413
+ * @description Supply (numeraire) token symbol, from the highest-TVL deployment
414
+ * that reports one.
415
+ */
416
+ supply_token?: string | null;
417
+ /** @description Aggregate TVL across the vault's deployments ("Total Supply"). */
418
+ tvl: components["schemas"]["CuratedTvl"];
419
+ /**
420
+ * Format: date-time
421
+ * @description Most recent indexer snapshot among the vault's deployments;
422
+ * `null` when no deployment carried a usable timestamp.
423
+ */
424
+ updated_at?: string | null;
425
+ /** @description Stable logical vault id assigned by Admin. */
426
+ vault_id: string;
427
+ /**
428
+ * @description Per-deployment API vault ids (`{chainId}:{address}`, same order
429
+ * as `chains`) for `/v1/vaults/{vault_id}` links.
430
+ */
431
+ vault_ids: string[];
432
+ };
433
+ FeaturedVaultsResponse: {
434
+ data: components["schemas"]["FeaturedVault"][];
435
+ meta: components["schemas"]["ListMeta"];
436
+ };
437
+ HealthResponse: {
438
+ status: string;
439
+ /** Format: int64 */
440
+ uptime_seconds: number;
441
+ version: string;
442
+ };
443
+ HistoricalPriceValue: {
444
+ /** Format: double */
445
+ usd: number;
446
+ };
447
+ LatestPriceResponse: {
448
+ address: string;
449
+ /** Format: int64 */
450
+ chain_id: number;
451
+ currency: string;
452
+ price: components["schemas"]["PriceValue"];
453
+ symbol: string;
454
+ timestamp: string;
455
+ };
456
+ /**
457
+ * @description Documented metadata for list endpoints; pagination fields are omitted
458
+ * by unpaginated responses.
459
+ */
460
+ ListMeta: {
461
+ /**
462
+ * Format: int64
463
+ * @description Number of items in this response.
464
+ */
465
+ count: number;
466
+ /**
467
+ * Format: int64
468
+ * @description Page-size cap actually applied to paginated lists.
469
+ */
470
+ limit?: number | null;
471
+ /** @description Set when more pages exist; pass back as `?next=`. */
472
+ next_cursor?: string | null;
473
+ /** @description Item-scoped failures isolated from an aggregate response. */
474
+ partial_errors?: components["schemas"]["PartialResponseError"][] | null;
475
+ /** Format: date-time */
476
+ refreshed_at: string;
477
+ request_id: string;
478
+ };
479
+ PartialResponseError: {
480
+ /** @description Machine-readable error code for the isolated item failure. */
481
+ code: string;
482
+ /** @description Human-readable error message. */
483
+ message: string;
484
+ /** @description Resource that failed inside the aggregate response, when known. */
485
+ resource_id?: string | null;
486
+ };
487
+ PnlBreakdown: {
488
+ /** @description Locked-in PnL from past disposals. */
489
+ realized: components["schemas"]["AmountPair"];
490
+ /** @description `unrealized` + `realized`. */
491
+ total: components["schemas"]["AmountPair"];
492
+ /** @description `value` − `cost_basis`. */
493
+ unrealized: components["schemas"]["AmountPair"];
494
+ };
495
+ PositionTimeseriesPoint: {
496
+ /** @description Cumulative cost of held shares (`usd` uses per-event historical pricing). */
497
+ cost_basis: components["schemas"]["AmountPair"];
498
+ /** @description Profit and loss grouped by total, unrealized, and realized values. */
499
+ pnl: components["schemas"]["PnlBreakdown"];
500
+ /** @description ROI ratio (`native` is in-kind; `usd` is null when pricing unavailable). */
501
+ roi_pct: components["schemas"]["RatioPair"];
502
+ /** @description Shares currently held by the wallet at this timestamp. */
503
+ shares_owned: string;
504
+ /** Format: date-time */
505
+ timestamp: string;
506
+ /**
507
+ * @description Position value at this timestamp (`native` = numeraire-token units,
508
+ * `usd` = `native` × historical USD price; null when unavailable).
509
+ */
510
+ value: components["schemas"]["AmountPair"];
511
+ };
512
+ PriceValue: {
513
+ /** Format: int32 */
514
+ decimals: number;
515
+ /** Format: double */
516
+ usd: number;
517
+ };
518
+ /**
519
+ * @description JSON-number ratio paired across native (in-kind) and USD denominations.
520
+ * Null when event history is unavailable or cannot support ROI replay.
521
+ */
522
+ RatioPair: {
523
+ /** Format: double */
524
+ native?: number | null;
525
+ /** Format: double */
526
+ usd?: number | null;
527
+ };
528
+ StrategyCard: {
529
+ /**
530
+ * Format: double
531
+ * @description Highest 7-day APY across the strategy's vaults ("APY Up To"),
532
+ * fraction (0.0953 = 9.53%). `null` while every vault's window is
533
+ * still warming up.
534
+ */
535
+ apy_7d_max?: number | null;
536
+ /**
537
+ * Format: double
538
+ * @description Highest 30-day APY across the strategy's vaults.
539
+ */
540
+ apy_30d_max?: number | null;
541
+ /**
542
+ * Format: double
543
+ * @description Highest 90-day APY across the strategy's vaults.
544
+ */
545
+ apy_90d_max?: number | null;
546
+ /** @description Marketing description of the strategy. */
547
+ description?: string | null;
548
+ /**
549
+ * @description Strategy identifier from the admin vocabulary (e.g. `earn`,
550
+ * `prime_lending`).
551
+ */
552
+ id: string;
553
+ /** @description Display name (e.g. "Prime Lending"). */
554
+ name: string;
555
+ /**
556
+ * @description Card-length copy (e.g. "Conservative lending yield with low
557
+ * risk"). `null` when the curator hasn't written any; consumers
558
+ * decide whether to fall back to `description`.
559
+ */
560
+ short_description?: string | null;
561
+ /**
562
+ * @description Aggregate TVL across the strategy's priced vaults ("Total
563
+ * Supply"). Vaults whose numeraire has no USD price are left out of
564
+ * the sum but still count toward `vault_count` and the APY maxes.
565
+ */
566
+ tvl: components["schemas"]["CuratedTvl"];
567
+ /**
568
+ * Format: date-time
569
+ * @description Most recent indexer snapshot among the strategy's vaults; `null`
570
+ * in the degenerate case where no matched row carried a timestamp.
571
+ */
572
+ updated_at?: string | null;
573
+ /**
574
+ * Format: int64
575
+ * @description Visible curated vaults in this strategy that matched at least one
576
+ * indexed deployment.
577
+ */
578
+ vault_count: number;
579
+ };
580
+ StrategyListResponse: {
581
+ data: components["schemas"]["StrategyCard"][];
582
+ meta: components["schemas"]["ListMeta"];
583
+ };
584
+ /** @description Curated strategy assignment from the admin registry. */
585
+ StrategyRef: {
586
+ /**
587
+ * @description Strategy label id (`prime_lending`, `earn`, …) — matches
588
+ * `/v1/strategies` card ids.
589
+ */
590
+ id: string;
591
+ /** @description Display name (`Prime Lending`). */
592
+ name: string;
593
+ };
594
+ TimeseriesMeta: {
595
+ /**
596
+ * Format: int64
597
+ * @description Number of points in this response.
598
+ */
599
+ count: number;
600
+ /** Format: date-time */
601
+ end?: string | null;
602
+ /**
603
+ * Format: int64
604
+ * @description Page-size cap actually applied.
605
+ */
606
+ limit: number;
607
+ /** @description Set when more pages exist; pass back as `?next=`. */
608
+ next_cursor?: string | null;
609
+ /** @description Item-scoped failures isolated from an aggregate response. */
610
+ partial_errors?: components["schemas"]["PartialResponseError"][] | null;
611
+ /** Format: date-time */
612
+ refreshed_at: string;
613
+ request_id: string;
614
+ /**
615
+ * Format: date-time
616
+ * @description Window bounds the response covers (echoes the request when set).
617
+ */
618
+ start?: string | null;
619
+ };
620
+ TimeseriesPoint: {
621
+ price: components["schemas"]["HistoricalPriceValue"];
622
+ timestamp: string;
623
+ };
624
+ TimeseriesResponse: {
625
+ data: components["schemas"]["TimeseriesPoint"][];
626
+ };
627
+ TokenRef: {
628
+ address: string;
629
+ /** Format: int32 */
630
+ decimals?: number | null;
631
+ symbol?: string | null;
632
+ };
633
+ TvlAmount: {
634
+ usd: string;
635
+ };
636
+ TvlBreakdown: {
637
+ id: string;
638
+ label: string;
639
+ source_id: string;
640
+ tvl: components["schemas"]["TvlAmount"];
641
+ /** Format: date-time */
642
+ updated_at: string;
643
+ };
644
+ TvlResponse: {
645
+ data: components["schemas"]["TvlSummary"];
646
+ meta: components["schemas"]["BasicMeta"];
647
+ };
648
+ TvlSummary: {
649
+ breakdown?: components["schemas"]["TvlBreakdown"][] | null;
650
+ totals: components["schemas"]["TvlTotal"][];
651
+ tvl: components["schemas"]["TvlAmount"];
652
+ /** Format: date-time */
653
+ updated_at: string;
654
+ };
655
+ TvlTotal: {
656
+ id: string;
657
+ label: string;
658
+ tvl: components["schemas"]["TvlAmount"];
659
+ /** Format: date-time */
660
+ updated_at: string;
661
+ };
662
+ /**
663
+ * @description One immutable entry in the wallet's activity log.
664
+ *
665
+ * Each row represents a single on-chain event that affected the
666
+ * wallet's vault position. Async deposit/redeem lifecycles emit
667
+ * multiple rows (one per lifecycle event — request, solve, refund);
668
+ * each row is frozen at emission time and never mutates. To follow
669
+ * an async action across rows, correlate via `request_hash`.
670
+ */
671
+ UserActivity: {
672
+ /**
673
+ * @description Signed asset delta in the row's asset-token units, using a
674
+ * deposit-ledger sign convention (NOT wallet-flow direction):
675
+ * - Positive = a deposit-direction action (`deposit`,
676
+ * `deposit_pending`, `transfer_in`).
677
+ * - Negative = a withdraw-direction action (`withdraw`,
678
+ * `deposit_refunded`, `transfer_out`).
679
+ * - `0` = no asset movement at this event
680
+ * (`deposit` on Aera async solve, `withdraw_pending`,
681
+ * `withdraw_refunded`).
682
+ *
683
+ * Note: under this convention `deposit_refunded` is negative
684
+ * (a deposit was unwound) even though tokens flow back INTO the
685
+ * wallet, and async `withdraw` (Aera redeem_solved) is negative
686
+ * even though tokens flow back INTO the wallet — the sign tracks
687
+ * the deposit-ledger direction, not the user's wallet balance.
688
+ *
689
+ * Summing across rows for a single async lifecycle gives the net
690
+ * signed asset movement of that lifecycle (no double-counting).
691
+ * `assets_delta.token` identifies the asset token when known. Emitted
692
+ * as a struct (`{ native: "...", token: { address, symbol } }`) so
693
+ * derived denominations (e.g. usd) can be added later without breaking
694
+ * the response shape.
695
+ */
696
+ assets_delta: components["schemas"]["AssetDelta"];
697
+ /**
698
+ * @description Block hash — 1:1 identifier for the block this event was mined
699
+ * in. Consumers needing to detect reorgs should key off this rather
700
+ * than `block_number` (multiple blocks can share a number across a
701
+ * reorg).
702
+ */
703
+ block_hash: string;
704
+ /**
705
+ * Format: int64
706
+ * @description Block number — kept alongside `block_timestamp` for on-chain
707
+ * reconciliation / explorer linking.
708
+ */
709
+ block_number: number;
710
+ /**
711
+ * Format: int64
712
+ * @description Unix seconds, block time (`block.timestamp` from the chain).
713
+ */
714
+ block_timestamp: number;
715
+ /**
716
+ * @description Aera async-flow correlation hash. Links a `*_pending` row to
717
+ * its later terminal row (bare `deposit`/`withdraw` for settled,
718
+ * or `*_refunded`) of the same lifecycle. Emitted only on rows
719
+ * that participate in an async flow; omitted on sync rows and on
720
+ * secondary-market transfers.
721
+ */
722
+ request_hash?: string | null;
723
+ /**
724
+ * @description Signed share delta in 18-decimal units, reported at the event
725
+ * where the shares actually moved. Conventions by row type:
726
+ * - `deposit` — positive (shares minted to the wallet).
727
+ * - `deposit_pending` / `deposit_refunded` — `0` (no share
728
+ * movement; deposit requests touch assets only).
729
+ * - `withdraw_pending` — negative for Aera async redeems (shares
730
+ * leave the wallet at request time, escrowed to the Provisioner).
731
+ * - `withdraw` — negative for sync (Morpho) withdraws (shares
732
+ * burn on the same row that pays out assets); `0` for Aera
733
+ * async redeems (the share movement is recorded on the paired
734
+ * `withdraw_pending` row).
735
+ * - `withdraw_refunded` — positive (escrowed shares return).
736
+ * - `transfer_in` — positive; `transfer_out` — negative.
737
+ *
738
+ * Summing across rows for a single async lifecycle gives the net
739
+ * share movement of that lifecycle — there is no double-counting.
740
+ */
741
+ shares_delta: string;
742
+ /** @description Transaction hash of the on-chain event. */
743
+ tx_hash: string;
744
+ /**
745
+ * @description What happened. One of:
746
+ * - `deposit` — settled deposit (sync vault flow or async terminal solve).
747
+ * - `deposit_pending` — async deposit request submitted; awaiting solver.
748
+ * - `deposit_refunded` — async deposit returned without settling; assets bounced back.
749
+ * - `withdraw` — settled withdrawal (sync vault flow or async terminal solve).
750
+ * - `withdraw_pending` — async redeem request submitted; awaiting solver.
751
+ * - `withdraw_refunded` — async redeem returned without settling; shares bounced back.
752
+ * - `transfer_in` — vault shares received from another EOA (secondary market).
753
+ * - `transfer_out` — vault shares sent to another EOA.
754
+ *
755
+ * Async deposit/redeem lifecycles emit two rows (a `*_pending` at
756
+ * request time, then a separate terminal row — bare `deposit` or
757
+ * `_refunded` — at solve time). Rows are immutable; the pending
758
+ * row never mutates. Correlate the pair via `request_hash`.
759
+ */
760
+ type: string;
761
+ /** @description CAIP-10 vault identifier this row belongs to. Always emitted. */
762
+ vault_id: string;
763
+ };
764
+ UserActivityResponse: {
765
+ data: components["schemas"]["UserActivity"][];
766
+ meta: components["schemas"]["TimeseriesMeta"];
767
+ };
768
+ UserAllPositionsResponse: {
769
+ data: components["schemas"]["UserPosition"][];
770
+ meta: components["schemas"]["TimeseriesMeta"];
771
+ };
772
+ UserPosition: {
773
+ metrics: components["schemas"]["UserPositionMetrics"];
774
+ numeraire_token?: null | components["schemas"]["TokenRef"];
775
+ vault_id: string;
776
+ wallet_address: string;
777
+ };
778
+ UserPositionLatestResponse: {
779
+ data: components["schemas"]["UserPosition"];
780
+ meta: components["schemas"]["BasicMeta"];
781
+ };
782
+ UserPositionMetrics: {
783
+ /** @description Cumulative cost of currently-held shares. */
784
+ cost_basis: components["schemas"]["AmountPair"];
785
+ /**
786
+ * @description Assets escrowed at the Aera Provisioner pending share mint
787
+ * (`native` = numeraire-token units, `usd` = `native` × current USD price).
788
+ */
789
+ pending_deposit_assets: components["schemas"]["AmountPair"];
790
+ /** @description Shares escrowed at the Aera Provisioner pending asset return. */
791
+ pending_redeem_shares: string;
792
+ /** @description Profit and loss grouped by total, unrealized, and realized values. */
793
+ pnl: components["schemas"]["PnlBreakdown"];
794
+ /** @description Time-weighted ROI from user deposit/redeem history. */
795
+ roi_pct: components["schemas"]["RatioPair"];
796
+ /** @description Shares currently held by the wallet. */
797
+ shares_owned: string;
798
+ /**
799
+ * @description Current market value of held shares (`native` = numeraire-token
800
+ * units, `usd` = `native` × current USD price).
801
+ */
802
+ value: components["schemas"]["AmountPair"];
803
+ };
804
+ UserPositionsTimeseriesResponse: {
805
+ data: components["schemas"]["PositionTimeseriesPoint"][];
806
+ meta: components["schemas"]["TimeseriesMeta"];
807
+ };
808
+ VaultDetail: {
809
+ address: string;
810
+ /** Format: int64 */
811
+ chain_id: number;
812
+ group?: null | components["schemas"]["VaultGroupRef"];
813
+ metrics: components["schemas"]["VaultMetrics"];
814
+ name: string;
815
+ numeraire_token: components["schemas"]["TokenRef"];
816
+ strategy?: null | components["schemas"]["StrategyRef"];
817
+ symbol: string;
818
+ vault_id: string;
819
+ vault_type: string;
820
+ };
821
+ VaultDetailResponse: {
822
+ data: components["schemas"]["VaultDetail"];
823
+ meta: components["schemas"]["BasicMeta"];
824
+ };
825
+ /** @description Admin-curated logical grouping for a deployment-level vault row. */
826
+ VaultGroupRef: {
827
+ /** @description Admin-curated deployment date (`YYYY-MM-DD`). */
828
+ deployment_date?: string | null;
829
+ /** @description Admin-curated long-form detail-page copy. */
830
+ description?: string | null;
831
+ /** @description Stable internal group id from the Admin vault registry (`vlt_176`). */
832
+ id: string;
833
+ /** @description Whether this deployment is the group's primary representative. */
834
+ is_primary: boolean;
835
+ /** @description Whether performance views should use a stable-denominated basis. */
836
+ is_stable: boolean;
837
+ /** @description Unique, curator-managed public route (`stgusda`). */
838
+ slug: string;
839
+ };
840
+ VaultListResponse: {
841
+ data: components["schemas"]["VaultDetail"][];
842
+ meta: components["schemas"]["ListMeta"];
843
+ };
844
+ VaultMetrics: {
845
+ /** Format: double */
846
+ apy_7d?: number | null;
847
+ /** Format: double */
848
+ apy_30d?: number | null;
849
+ /** Format: double */
850
+ apy_90d?: number | null;
851
+ /** Format: int64 */
852
+ as_of?: number | null;
853
+ total_supply: string;
854
+ tvl: components["schemas"]["AmountPair"];
855
+ unit_price: string;
856
+ };
857
+ VaultTimeseriesPoint: {
858
+ /** Format: double */
859
+ apy_7d?: number | null;
860
+ /** Format: double */
861
+ apy_30d?: number | null;
862
+ /** Format: double */
863
+ apy_90d?: number | null;
864
+ /** Format: date-time */
865
+ timestamp: string;
866
+ total_supply: string;
867
+ tvl: components["schemas"]["AmountPair"];
868
+ unit_price: string;
869
+ };
870
+ VaultTimeseriesResponse: {
871
+ data: components["schemas"]["VaultTimeseriesPoint"][];
872
+ meta: components["schemas"]["TimeseriesMeta"];
873
+ };
874
+ };
875
+ responses: never;
876
+ parameters: never;
877
+ requestBodies: never;
878
+ headers: never;
879
+ pathItems: never;
880
+ }
881
+ export type $defs = Record<string, never>;
882
+ export interface operations {
883
+ health: {
884
+ parameters: {
885
+ query?: never;
886
+ header?: never;
887
+ path?: never;
888
+ cookie?: never;
889
+ };
890
+ requestBody?: never;
891
+ responses: {
892
+ /** @description Service is live */
893
+ 200: {
894
+ headers: {
895
+ [name: string]: unknown;
896
+ };
897
+ content: {
898
+ "application/json": components["schemas"]["HealthResponse"];
899
+ };
900
+ };
901
+ };
902
+ };
903
+ chain_sync_status: {
904
+ parameters: {
905
+ query?: never;
906
+ header?: never;
907
+ path?: never;
908
+ cookie?: never;
909
+ };
910
+ requestBody?: never;
911
+ responses: {
912
+ /** @description Chain sync status */
913
+ 200: {
914
+ headers: {
915
+ [name: string]: unknown;
916
+ };
917
+ content: {
918
+ "application/json": components["schemas"]["ChainSyncStatus"][];
919
+ };
920
+ };
921
+ };
922
+ };
923
+ get_latest_price: {
924
+ parameters: {
925
+ query?: never;
926
+ header?: never;
927
+ path?: never;
928
+ cookie?: never;
929
+ };
930
+ requestBody?: never;
931
+ responses: {
932
+ /** @description Token price */
933
+ 200: {
934
+ headers: {
935
+ [name: string]: unknown;
936
+ };
937
+ content: {
938
+ "application/json": components["schemas"]["LatestPriceResponse"];
939
+ };
940
+ };
941
+ /** @description Token not found */
942
+ 404: {
943
+ headers: {
944
+ [name: string]: unknown;
945
+ };
946
+ content?: never;
947
+ };
948
+ /** @description Invalid parameters */
949
+ 422: {
950
+ headers: {
951
+ [name: string]: unknown;
952
+ };
953
+ content?: never;
954
+ };
955
+ /** @description Pricing service not configured */
956
+ 503: {
957
+ headers: {
958
+ [name: string]: unknown;
959
+ };
960
+ content?: never;
961
+ };
962
+ };
963
+ };
964
+ get_price_history: {
965
+ parameters: {
966
+ query?: never;
967
+ header?: never;
968
+ path?: never;
969
+ cookie?: never;
970
+ };
971
+ requestBody?: never;
972
+ responses: {
973
+ /** @description Price timeseries */
974
+ 200: {
975
+ headers: {
976
+ [name: string]: unknown;
977
+ };
978
+ content: {
979
+ "application/json": components["schemas"]["TimeseriesResponse"];
980
+ };
981
+ };
982
+ /** @description Invalid parameters */
983
+ 422: {
984
+ headers: {
985
+ [name: string]: unknown;
986
+ };
987
+ content?: never;
988
+ };
989
+ /** @description Pricing service not configured */
990
+ 503: {
991
+ headers: {
992
+ [name: string]: unknown;
993
+ };
994
+ content?: never;
995
+ };
996
+ };
997
+ };
998
+ list_strategies: {
999
+ parameters: {
1000
+ query?: never;
1001
+ header?: never;
1002
+ path?: never;
1003
+ cookie?: never;
1004
+ };
1005
+ requestBody?: never;
1006
+ responses: {
1007
+ /** @description List of strategy cards */
1008
+ 200: {
1009
+ headers: {
1010
+ [name: string]: unknown;
1011
+ };
1012
+ content: {
1013
+ "application/json": components["schemas"]["StrategyListResponse"];
1014
+ };
1015
+ };
1016
+ /** @description Missing or invalid auth */
1017
+ 401: {
1018
+ headers: {
1019
+ [name: string]: unknown;
1020
+ };
1021
+ content: {
1022
+ "application/json": components["schemas"]["ErrorResponse"];
1023
+ };
1024
+ };
1025
+ /** @description Data source unavailable */
1026
+ 503: {
1027
+ headers: {
1028
+ [name: string]: unknown;
1029
+ };
1030
+ content: {
1031
+ "application/json": components["schemas"]["ErrorResponse"];
1032
+ };
1033
+ };
1034
+ };
1035
+ };
1036
+ get_tvl: {
1037
+ parameters: {
1038
+ query?: {
1039
+ /** @description Include chain and external-source TVL breakdown rows. */
1040
+ include_breakdown?: boolean;
1041
+ /** @description Deprecated alias for include_breakdown. */
1042
+ include_sources?: boolean;
1043
+ };
1044
+ header?: never;
1045
+ path?: never;
1046
+ cookie?: never;
1047
+ };
1048
+ requestBody?: never;
1049
+ responses: {
1050
+ /** @description Live aggregate TVL */
1051
+ 200: {
1052
+ headers: {
1053
+ [name: string]: unknown;
1054
+ };
1055
+ content: {
1056
+ "application/json": components["schemas"]["TvlResponse"];
1057
+ };
1058
+ };
1059
+ /** @description Missing or invalid auth */
1060
+ 401: {
1061
+ headers: {
1062
+ [name: string]: unknown;
1063
+ };
1064
+ content: {
1065
+ "application/json": components["schemas"]["ErrorResponse"];
1066
+ };
1067
+ };
1068
+ /** @description Data source unavailable */
1069
+ 503: {
1070
+ headers: {
1071
+ [name: string]: unknown;
1072
+ };
1073
+ content: {
1074
+ "application/json": components["schemas"]["ErrorResponse"];
1075
+ };
1076
+ };
1077
+ };
1078
+ };
1079
+ get_user_activity: {
1080
+ parameters: {
1081
+ query?: {
1082
+ /** @description Wallet-wide feeds only: include activity in hidden (enabled but unlisted) vaults alongside visible ones. Activity in disabled vaults is never returned. Ignored when `vault_id` is set. */
1083
+ include_hidden?: boolean;
1084
+ /** @description Page size (1–1000, default 100). */
1085
+ limit?: number;
1086
+ /** @description Opaque cursor from previous `meta.next_cursor`. */
1087
+ next?: string;
1088
+ /** @description Sort direction: `desc` (default) or `asc`. */
1089
+ order?: string;
1090
+ /** @description CAIP-10 vault identifier. Optional — omit for wallet-wide activity across every vault the wallet has touched. */
1091
+ vault_id?: string;
1092
+ };
1093
+ header?: never;
1094
+ path: {
1095
+ /** @description Ethereum wallet address */
1096
+ wallet_address: string;
1097
+ };
1098
+ cookie?: never;
1099
+ };
1100
+ requestBody?: never;
1101
+ responses: {
1102
+ /** @description User wallet activity */
1103
+ 200: {
1104
+ headers: {
1105
+ [name: string]: unknown;
1106
+ };
1107
+ content: {
1108
+ "application/json": components["schemas"]["UserActivityResponse"];
1109
+ };
1110
+ };
1111
+ /** @description Missing or invalid auth */
1112
+ 401: {
1113
+ headers: {
1114
+ [name: string]: unknown;
1115
+ };
1116
+ content: {
1117
+ "application/json": components["schemas"]["ErrorResponse"];
1118
+ };
1119
+ };
1120
+ /** @description Invalid cursor */
1121
+ 422: {
1122
+ headers: {
1123
+ [name: string]: unknown;
1124
+ };
1125
+ content: {
1126
+ "application/json": components["schemas"]["ErrorResponse"];
1127
+ };
1128
+ };
1129
+ };
1130
+ };
1131
+ get_user_all_positions: {
1132
+ parameters: {
1133
+ query?: {
1134
+ /** @description Include positions in hidden (enabled but unlisted) vaults alongside visible ones. Positions in disabled vaults are never returned. */
1135
+ include_hidden?: boolean;
1136
+ /** @description Page size (1–500, default 100). */
1137
+ limit?: number;
1138
+ /** @description Opaque cursor from previous `meta.next_cursor`. */
1139
+ next?: string;
1140
+ };
1141
+ header?: never;
1142
+ path: {
1143
+ /** @description Ethereum wallet address */
1144
+ wallet_address: string;
1145
+ };
1146
+ cookie?: never;
1147
+ };
1148
+ requestBody?: never;
1149
+ responses: {
1150
+ /** @description All wallet positions */
1151
+ 200: {
1152
+ headers: {
1153
+ [name: string]: unknown;
1154
+ };
1155
+ content: {
1156
+ "application/json": components["schemas"]["UserAllPositionsResponse"];
1157
+ };
1158
+ };
1159
+ /** @description Missing or invalid auth */
1160
+ 401: {
1161
+ headers: {
1162
+ [name: string]: unknown;
1163
+ };
1164
+ content: {
1165
+ "application/json": components["schemas"]["ErrorResponse"];
1166
+ };
1167
+ };
1168
+ /** @description Invalid cursor */
1169
+ 422: {
1170
+ headers: {
1171
+ [name: string]: unknown;
1172
+ };
1173
+ content: {
1174
+ "application/json": components["schemas"]["ErrorResponse"];
1175
+ };
1176
+ };
1177
+ };
1178
+ };
1179
+ get_user_vault_position: {
1180
+ parameters: {
1181
+ query?: never;
1182
+ header?: never;
1183
+ path: {
1184
+ /** @description Vault identifier */
1185
+ vault_id: string;
1186
+ /** @description Ethereum wallet address */
1187
+ wallet_address: string;
1188
+ };
1189
+ cookie?: never;
1190
+ };
1191
+ requestBody?: never;
1192
+ responses: {
1193
+ /** @description Single vault position */
1194
+ 200: {
1195
+ headers: {
1196
+ [name: string]: unknown;
1197
+ };
1198
+ content: {
1199
+ "application/json": components["schemas"]["UserPositionLatestResponse"];
1200
+ };
1201
+ };
1202
+ /** @description Missing or invalid auth */
1203
+ 401: {
1204
+ headers: {
1205
+ [name: string]: unknown;
1206
+ };
1207
+ content: {
1208
+ "application/json": components["schemas"]["ErrorResponse"];
1209
+ };
1210
+ };
1211
+ /** @description Position not found */
1212
+ 404: {
1213
+ headers: {
1214
+ [name: string]: unknown;
1215
+ };
1216
+ content: {
1217
+ "application/json": components["schemas"]["ErrorResponse"];
1218
+ };
1219
+ };
1220
+ };
1221
+ };
1222
+ get_user_vault_position_timeseries: {
1223
+ parameters: {
1224
+ query?: {
1225
+ /** @description Window end: ISO 8601 date (`2026-01-01`, read as 00:00:00 UTC) or RFC 3339 timestamp (`2026-01-01T00:00:00Z`). */
1226
+ end?: string;
1227
+ /** @description Sampling granularity: `day` (default), `hour`, `week`, or `month`. Day/week/month buckets start at 00:00 UTC; weeks start Monday and months start on the 1st. */
1228
+ granularity?: string;
1229
+ /** @description Page size (1–10000, default 1000). */
1230
+ limit?: number;
1231
+ /** @description Opaque cursor from previous `meta.next_cursor`. */
1232
+ next?: string;
1233
+ /** @description Sort direction: `asc` (default) or `desc`. */
1234
+ order?: string;
1235
+ /** @description Window start: ISO 8601 date (`2026-01-01`, read as 00:00:00 UTC) or RFC 3339 timestamp (`2026-01-01T00:00:00Z`). */
1236
+ start?: string;
1237
+ };
1238
+ header?: never;
1239
+ path: {
1240
+ /** @description Vault identifier */
1241
+ vault_id: string;
1242
+ /** @description Ethereum wallet address */
1243
+ wallet_address: string;
1244
+ };
1245
+ cookie?: never;
1246
+ };
1247
+ requestBody?: never;
1248
+ responses: {
1249
+ /** @description Position timeseries */
1250
+ 200: {
1251
+ headers: {
1252
+ [name: string]: unknown;
1253
+ };
1254
+ content: {
1255
+ "application/json": components["schemas"]["UserPositionsTimeseriesResponse"];
1256
+ };
1257
+ };
1258
+ /** @description Missing or invalid auth */
1259
+ 401: {
1260
+ headers: {
1261
+ [name: string]: unknown;
1262
+ };
1263
+ content: {
1264
+ "application/json": components["schemas"]["ErrorResponse"];
1265
+ };
1266
+ };
1267
+ /** @description Invalid cursor */
1268
+ 422: {
1269
+ headers: {
1270
+ [name: string]: unknown;
1271
+ };
1272
+ content: {
1273
+ "application/json": components["schemas"]["ErrorResponse"];
1274
+ };
1275
+ };
1276
+ };
1277
+ };
1278
+ list_vaults: {
1279
+ parameters: {
1280
+ query?: {
1281
+ /** @description Include hidden (enabled but unlisted) vaults alongside visible ones. Disabled vaults are never listed. */
1282
+ include_hidden?: boolean;
1283
+ /** @description Page size (1–1000, default 1000). */
1284
+ limit?: number;
1285
+ /** @description Opaque cursor from previous `meta.next_cursor`. */
1286
+ next?: string;
1287
+ };
1288
+ header?: never;
1289
+ path?: never;
1290
+ cookie?: never;
1291
+ };
1292
+ requestBody?: never;
1293
+ responses: {
1294
+ /** @description List of vaults */
1295
+ 200: {
1296
+ headers: {
1297
+ [name: string]: unknown;
1298
+ };
1299
+ content: {
1300
+ "application/json": components["schemas"]["VaultListResponse"];
1301
+ };
1302
+ };
1303
+ /** @description Missing or invalid auth */
1304
+ 401: {
1305
+ headers: {
1306
+ [name: string]: unknown;
1307
+ };
1308
+ content: {
1309
+ "application/json": components["schemas"]["ErrorResponse"];
1310
+ };
1311
+ };
1312
+ /** @description Invalid cursor */
1313
+ 422: {
1314
+ headers: {
1315
+ [name: string]: unknown;
1316
+ };
1317
+ content: {
1318
+ "application/json": components["schemas"]["ErrorResponse"];
1319
+ };
1320
+ };
1321
+ };
1322
+ };
1323
+ get_vault: {
1324
+ parameters: {
1325
+ query?: never;
1326
+ header?: never;
1327
+ path: {
1328
+ /** @description Vault identifier (CAIP-10 `chainId:address`) */
1329
+ vault_id: string;
1330
+ };
1331
+ cookie?: never;
1332
+ };
1333
+ requestBody?: never;
1334
+ responses: {
1335
+ /** @description Current vault metrics */
1336
+ 200: {
1337
+ headers: {
1338
+ [name: string]: unknown;
1339
+ };
1340
+ content: {
1341
+ "application/json": components["schemas"]["VaultDetailResponse"];
1342
+ };
1343
+ };
1344
+ /** @description Missing or invalid auth */
1345
+ 401: {
1346
+ headers: {
1347
+ [name: string]: unknown;
1348
+ };
1349
+ content: {
1350
+ "application/json": components["schemas"]["ErrorResponse"];
1351
+ };
1352
+ };
1353
+ /** @description Vault not found */
1354
+ 404: {
1355
+ headers: {
1356
+ [name: string]: unknown;
1357
+ };
1358
+ content: {
1359
+ "application/json": components["schemas"]["ErrorResponse"];
1360
+ };
1361
+ };
1362
+ };
1363
+ };
1364
+ get_vault_definition: {
1365
+ parameters: {
1366
+ query?: never;
1367
+ header?: never;
1368
+ path: {
1369
+ /** @description Vault identifier (CAIP-10 `chainId:address`) */
1370
+ vault_id: string;
1371
+ };
1372
+ cookie?: never;
1373
+ };
1374
+ requestBody?: never;
1375
+ responses: {
1376
+ /** @description Vault definition */
1377
+ 200: {
1378
+ headers: {
1379
+ [name: string]: unknown;
1380
+ };
1381
+ content?: never;
1382
+ };
1383
+ /** @description Missing or invalid auth */
1384
+ 401: {
1385
+ headers: {
1386
+ [name: string]: unknown;
1387
+ };
1388
+ content: {
1389
+ "application/json": components["schemas"]["ErrorResponse"];
1390
+ };
1391
+ };
1392
+ /** @description Vault not found */
1393
+ 404: {
1394
+ headers: {
1395
+ [name: string]: unknown;
1396
+ };
1397
+ content: {
1398
+ "application/json": components["schemas"]["ErrorResponse"];
1399
+ };
1400
+ };
1401
+ };
1402
+ };
1403
+ get_vault_timeseries: {
1404
+ parameters: {
1405
+ query?: {
1406
+ /** @description Window end: ISO 8601 date (`2026-01-01`, read as 00:00:00 UTC) or RFC 3339 timestamp (`2026-01-01T00:00:00Z`). */
1407
+ end?: string;
1408
+ /** @description Sampling granularity: `day` (default), `hour`, `week`, or `month`. Day/week/month buckets start at 00:00 UTC; weeks start Monday and months start on the 1st. */
1409
+ granularity?: string;
1410
+ /** @description Page size (1–10000, default 1000). */
1411
+ limit?: number;
1412
+ /** @description Opaque cursor from previous `meta.next_cursor`. */
1413
+ next?: string;
1414
+ /** @description Sort direction: `asc` (default) or `desc`. */
1415
+ order?: string;
1416
+ /** @description Window start: ISO 8601 date (`2026-01-01`, read as 00:00:00 UTC) or RFC 3339 timestamp (`2026-01-01T00:00:00Z`). */
1417
+ start?: string;
1418
+ };
1419
+ header?: never;
1420
+ path: {
1421
+ /** @description Vault identifier */
1422
+ vault_id: string;
1423
+ };
1424
+ cookie?: never;
1425
+ };
1426
+ requestBody?: never;
1427
+ responses: {
1428
+ /** @description Timeseries data points */
1429
+ 200: {
1430
+ headers: {
1431
+ [name: string]: unknown;
1432
+ };
1433
+ content: {
1434
+ "application/json": components["schemas"]["VaultTimeseriesResponse"];
1435
+ };
1436
+ };
1437
+ /** @description Missing or invalid auth */
1438
+ 401: {
1439
+ headers: {
1440
+ [name: string]: unknown;
1441
+ };
1442
+ content: {
1443
+ "application/json": components["schemas"]["ErrorResponse"];
1444
+ };
1445
+ };
1446
+ /** @description Vault not found */
1447
+ 404: {
1448
+ headers: {
1449
+ [name: string]: unknown;
1450
+ };
1451
+ content: {
1452
+ "application/json": components["schemas"]["ErrorResponse"];
1453
+ };
1454
+ };
1455
+ /** @description Invalid parameters */
1456
+ 422: {
1457
+ headers: {
1458
+ [name: string]: unknown;
1459
+ };
1460
+ content: {
1461
+ "application/json": components["schemas"]["ErrorResponse"];
1462
+ };
1463
+ };
1464
+ };
1465
+ };
1466
+ list_featured_vaults: {
1467
+ parameters: {
1468
+ query?: never;
1469
+ header?: never;
1470
+ path?: never;
1471
+ cookie?: never;
1472
+ };
1473
+ requestBody?: never;
1474
+ responses: {
1475
+ /** @description Featured vault cards */
1476
+ 200: {
1477
+ headers: {
1478
+ [name: string]: unknown;
1479
+ };
1480
+ content: {
1481
+ "application/json": components["schemas"]["FeaturedVaultsResponse"];
1482
+ };
1483
+ };
1484
+ /** @description Missing or invalid auth */
1485
+ 401: {
1486
+ headers: {
1487
+ [name: string]: unknown;
1488
+ };
1489
+ content: {
1490
+ "application/json": components["schemas"]["ErrorResponse"];
1491
+ };
1492
+ };
1493
+ /** @description Data source unavailable */
1494
+ 503: {
1495
+ headers: {
1496
+ [name: string]: unknown;
1497
+ };
1498
+ content: {
1499
+ "application/json": components["schemas"]["ErrorResponse"];
1500
+ };
1501
+ };
1502
+ };
1503
+ };
1504
+ }
1505
+ //# sourceMappingURL=generated.d.ts.map