@aegis-engine/core 0.2.0 → 0.3.1

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 (42) hide show
  1. package/README.md +109 -4
  2. package/THIRD_PARTY_NOTICES.md +211 -0
  3. package/dist/actions/kyberSwap.d.ts +3 -2
  4. package/dist/address.d.ts +3 -1
  5. package/dist/aegis-core.js +8565 -5305
  6. package/dist/backendAdapters.d.ts +25 -1
  7. package/dist/config/constants.d.ts +4 -0
  8. package/dist/config/types.d.ts +5 -0
  9. package/dist/contract/backendClient.d.ts +16 -6
  10. package/dist/contract/generated/aegis-swap.d.ts +2682 -96
  11. package/dist/contract/schemas.d.ts +27 -20
  12. package/dist/engine/actions.d.ts +56 -0
  13. package/dist/engine/borrowCostProjection.d.ts +1 -0
  14. package/dist/engine/dataSource.d.ts +63 -0
  15. package/dist/engine/index.d.ts +8 -0
  16. package/dist/engine/marketAdapter.d.ts +8 -0
  17. package/dist/engine/positionAmounts.d.ts +37 -0
  18. package/dist/engine/quotes.d.ts +9 -0
  19. package/dist/engine/reads.d.ts +43 -0
  20. package/dist/engine/registry.d.ts +27 -0
  21. package/dist/engine/restSchemas.d.ts +409 -0
  22. package/dist/engine/sdk.d.ts +1 -0
  23. package/dist/engine/sdkRuntime.d.ts +1 -0
  24. package/dist/engine/types.d.ts +1000 -0
  25. package/dist/errors.d.ts +10 -0
  26. package/dist/historicalPrices.d.ts +78 -0
  27. package/dist/index.d.ts +13 -8
  28. package/dist/internal/requestSignal.d.ts +9 -0
  29. package/dist/internal/ttlCache.d.ts +19 -0
  30. package/dist/metadata.d.ts +4 -0
  31. package/dist/permit.d.ts +1 -0
  32. package/dist/quote/aggregatedSwapQuote.d.ts +12 -0
  33. package/dist/quote/kyberCalldata.d.ts +211 -0
  34. package/dist/quote.d.ts +1 -0
  35. package/dist/sdkRuntime-CCRVvSwD.js +16052 -0
  36. package/dist/services/kyberSwap.d.ts +22 -2
  37. package/dist/swap/receiptWait.d.ts +17 -0
  38. package/dist/swap/sendSwapTransaction.d.ts +40 -6
  39. package/dist/swap/settlement.d.ts +15 -0
  40. package/dist/transactionProgress.d.ts +8 -1
  41. package/dist/types/aggregatedSwap.d.ts +18 -0
  42. package/package.json +15 -7
@@ -77,6 +77,46 @@ export interface paths {
77
77
  patch?: never;
78
78
  trace?: never;
79
79
  };
80
+ "/v1/tokens/{chainId}/{address}/price-history": {
81
+ parameters: {
82
+ query?: never;
83
+ header?: never;
84
+ path?: never;
85
+ cookie?: never;
86
+ };
87
+ /**
88
+ * Get 12-hour USD price history for a token
89
+ * @description Returns bucketed USD price points from the shared token price store. Points are recorded at most once per 12-hour UTC bucket and retained for 180 days, so new tokens report warming_up until at least two points exist. A token with no history record returns an explicit empty series with status no_data rather than a 404; the series is never padded from the current price. Responses are shared-cacheable.
90
+ */
91
+ get: operations["getTokenPriceHistory"];
92
+ put?: never;
93
+ post?: never;
94
+ delete?: never;
95
+ options?: never;
96
+ head?: never;
97
+ patch?: never;
98
+ trace?: never;
99
+ };
100
+ "/v1/engine/markets/{marketId}/history": {
101
+ parameters: {
102
+ query?: never;
103
+ header?: never;
104
+ path?: never;
105
+ cookie?: never;
106
+ };
107
+ /**
108
+ * Get 12-hour Engine metric history for a market
109
+ * @description Returns bucketed Engine market snapshots (utilization, rates, USD supply/borrow, and fee-mode state) from the shared engine-metrics store. One coherent snapshot is recorded per 12-hour UTC bucket and retained ~60 days, so a new market reports warming_up until at least two points exist. A market with no history returns an explicit empty series with status no_data rather than a 404. A metric unavailable for a frame is null (never a false zero) with the reason in that point's warnings. Fee fields follow the same units and manualOverride semantics as GET /v1/engine/markets. Responses are shared-cacheable.
110
+ */
111
+ get: operations["getEngineMarketHistory"];
112
+ put?: never;
113
+ post?: never;
114
+ delete?: never;
115
+ options?: never;
116
+ head?: never;
117
+ patch?: never;
118
+ trace?: never;
119
+ };
80
120
  "/v1/markets": {
81
121
  parameters: {
82
122
  query?: never;
@@ -97,6 +137,86 @@ export interface paths {
97
137
  patch?: never;
98
138
  trace?: never;
99
139
  };
140
+ "/v1/engine/markets": {
141
+ parameters: {
142
+ query?: never;
143
+ header?: never;
144
+ path?: never;
145
+ cookie?: never;
146
+ };
147
+ /**
148
+ * List Aegis Engine lending and borrow markets for a chain
149
+ * @description Returns the partner-safe Engine market read model used by one-tap lend and borrow widgets. The response is derived from Canopy metadata plus token config, validated against the SDK deployment address policy, and action-gated by backend operator flags plus on-chain readiness. Hidden markets are omitted and paused or untrusted markets are returned disabled. Historical price and APY/utilization series are intentionally out of scope for this endpoint.
150
+ */
151
+ get: operations["listEngineMarkets"];
152
+ put?: never;
153
+ post?: never;
154
+ delete?: never;
155
+ options?: never;
156
+ head?: never;
157
+ patch?: never;
158
+ trace?: never;
159
+ };
160
+ "/v1/engine/positions": {
161
+ parameters: {
162
+ query?: never;
163
+ header?: never;
164
+ path?: never;
165
+ cookie?: never;
166
+ };
167
+ /**
168
+ * List open Aegis Engine positions for a wallet
169
+ * @description Returns wallet-scoped open Engine vaults from the Engine subgraph, joined to the backend-owned market read model. Responses are private/no-store because they are account-specific. NFT collateral is included as raw vault metadata; dollar valuation is limited to idle token balances until richer backend valuation/history data is added.
170
+ */
171
+ get: operations["listEnginePositions"];
172
+ put?: never;
173
+ post?: never;
174
+ delete?: never;
175
+ options?: never;
176
+ head?: never;
177
+ patch?: never;
178
+ trace?: never;
179
+ };
180
+ "/v1/engine/positions/v2": {
181
+ parameters: {
182
+ query?: never;
183
+ header?: never;
184
+ path?: never;
185
+ cookie?: never;
186
+ };
187
+ /**
188
+ * List Aegis Engine borrow and lend positions for a wallet
189
+ * @description Returns one schema v2 discriminated array containing borrow vaults and indexed lender-share balances, joined to the backend-owned market read model including owned hidden or retired markets. Responses are private/no-store because they are account-specific. Indexed balances and last-locked risk fields are discovery data, not live on-chain health.
190
+ */
191
+ get: operations["listEnginePositionsV2"];
192
+ put?: never;
193
+ post?: never;
194
+ delete?: never;
195
+ options?: never;
196
+ head?: never;
197
+ patch?: never;
198
+ trace?: never;
199
+ };
200
+ "/v1/engine/positions/activity": {
201
+ parameters: {
202
+ query?: never;
203
+ header?: never;
204
+ path?: never;
205
+ cookie?: never;
206
+ };
207
+ /**
208
+ * List the Aegis Engine position activity ledger for a wallet
209
+ * @description Returns the wallet-scoped Engine action ledger from the Engine subgraph: per-vault typed actions (create, burn, lock, debt and idle changes, micro-liquidations) and the per-market lend ledger (share deposits, withdrawals, and peer-to-peer share transfers), joined to the backend-owned market read model including owned hidden or retired markets. Containers are deterministically ordered: vaults newest-first by numeric vaultId, lend entries by poolId ascending. Action lists are ordered oldest-first (ledger replay order): by blockNumber, then transactionIndex, then logIndex — on-chain execution order, since timestamp is block-granular and logIndex is block-scoped; a subgraph row missing any of those keys cannot be execution-ordered and is dropped with a logged warning. Each referenced market also carries its current indexed accrual state under marketState (borrowIndexWad, lastAccrueTimestamp, totalRlBorrowed, shareTotalSupply) plus the read-model ratePerSecondWad and its rateUpdatedAt freshness so accrued-interest and cost-basis math needs no extra RPC or subgraph call. Amounts are raw signed bigint decimal strings; the backend never synthesizes USD values here. All collections are read in one combined page-0 query at a single coherent block, with id-cursor continuation pages capped fail-loud at 10 pages of 1000 rows per action kind — an account beyond that cap returns a 500 rather than a silently truncated ledger. Responses are private/no-store because they are account-specific.
210
+ */
211
+ get: operations["listEnginePositionActivity"];
212
+ put?: never;
213
+ post?: never;
214
+ delete?: never;
215
+ options?: never;
216
+ head?: never;
217
+ patch?: never;
218
+ trace?: never;
219
+ };
100
220
  "/v1/swap/quote": {
101
221
  parameters: {
102
222
  query?: never;
@@ -152,7 +272,7 @@ export interface components {
152
272
  };
153
273
  ServerErrorResponse: {
154
274
  error: string;
155
- details: string;
275
+ details?: string;
156
276
  };
157
277
  SwapChain: {
158
278
  /**
@@ -399,123 +519,2354 @@ export interface components {
399
519
  };
400
520
  warnings: ("paused" | "surge-active" | "cap-event")[];
401
521
  }[];
402
- SwapQuoteRequest: ({
522
+ EngineToken: {
403
523
  /**
404
524
  * @example 130
405
525
  * @enum {integer}
406
526
  */
407
527
  chainId: 1 | 130 | 8453;
528
+ address: string;
529
+ symbol: string;
530
+ name: string;
531
+ decimals: number;
532
+ iconUrl?: string | null;
533
+ priceUsd?: number | null;
534
+ stable?: boolean | null;
535
+ };
536
+ EngineMarketMetrics: {
537
+ tvlUsd?: number | null;
538
+ suppliedUsd?: number | null;
539
+ borrowedUsd?: number | null;
540
+ availableToBorrowUsd?: number | null;
541
+ utilizationPct?: number | null;
542
+ borrowAprPct?: number | null;
543
+ lendApyPct?: number | null;
544
+ activeDebtVaultCount?: number | null;
545
+ sharePriceWad?: string | null;
546
+ ratePerSecondWad?: string | null;
547
+ /** @description IRM rate at 100% utilization. WAD per-second, same scale as ratePerSecondWad. */
548
+ fullUtilizationRate?: string | null;
549
+ /** @description Rate model source, e.g. "irm". */
550
+ rateSource?: string | null;
551
+ totalLendShares?: string | null;
552
+ /** @description Dynamic base fee in parts-per-million (fee fraction = ppm / 1e6). Shadow value when manualOverride is true. */
553
+ baseFeePpm?: number | null;
554
+ /** @description Fee the pool actually charges, in ppm (fraction = ppm / 1e6). Under manualOverride this is fixed and need not equal baseFeePpm + surgeFeePpm. */
555
+ activeFeePpm?: number | null;
556
+ /** @description Dynamic surge fee in ppm. Shadow value when manualOverride is true. */
557
+ surgeFeePpm?: number | null;
558
+ /** @description True only for the fee actually applied: !manualOverride && surgeFeePpm > 0. Not derived from inCapEvent. */
559
+ surgeActive?: boolean | null;
560
+ /** @description Raw contract cap-event flag (may be true even while surgeActive is false under a manual override). */
561
+ inCapEvent?: boolean | null;
562
+ /** @description When true, the pool charges a fixed activeFeePpm and the dynamic base/surge fees are shadow values. */
563
+ manualOverride?: boolean | null;
564
+ /** @description Engine fee-mode flag: fee recomputed per swap. */
565
+ perSwapMode?: boolean | null;
566
+ /** @description Fee model source, e.g. "engine-v2". */
567
+ feeSource?: string | null;
408
568
  /**
409
- * @example aegis-direct-v4
410
- * @enum {string}
569
+ * Format: date-time
570
+ * @example 2026-06-19T11:31:32.964Z
411
571
  */
412
- provider: "aegis-direct-v4" | "kyber";
413
- marketId?: string;
414
- tokenIn: string;
415
- tokenOut: string;
416
- /** @default 100 */
417
- slippageBps: number;
418
- account?: string | null;
419
- /** @enum {string} */
420
- mode: "exactIn";
421
- /** @description Raw integer token amount in tokenIn base units. */
422
- amountIn: string;
423
- } & {
424
- [key: string]: unknown;
425
- }) | ({
572
+ updatedAt?: string | null;
426
573
  /**
427
- * @example 130
428
- * @enum {integer}
574
+ * Format: date-time
575
+ * @example 2026-06-19T11:31:32.964Z
429
576
  */
430
- chainId: 1 | 130 | 8453;
577
+ engineUpdatedAt?: string | null;
431
578
  /**
432
- * @example aegis-direct-v4
433
- * @enum {string}
579
+ * Format: date-time
580
+ * @example 2026-06-19T11:31:32.964Z
434
581
  */
435
- provider: "aegis-direct-v4" | "kyber";
436
- marketId?: string;
437
- tokenIn: string;
438
- tokenOut: string;
439
- /** @default 100 */
440
- slippageBps: number;
441
- account?: string | null;
442
- /** @enum {string} */
443
- mode: "exactOut";
444
- /** @description Raw integer token amount in tokenOut base units. */
445
- amountOut: string;
446
- } & {
447
- [key: string]: unknown;
448
- });
449
- SwapQuoteResponse: {
450
- /** @enum {boolean} */
451
- indicative: true;
452
- /** @enum {boolean} */
453
- executable: false;
454
- /** @enum {string} */
455
- provider: "aegis-direct-v4";
456
- marketId: string;
457
- /** @enum {string} */
458
- mode: "exactIn";
459
- tokenIn: string;
460
- tokenOut: string;
461
- amountIn: string;
462
- amountOut: string;
463
- minAmountOut: string;
464
- price: number;
465
- slippageBps: number;
466
- fee: {
467
- /** @enum {number} */
468
- outputFeeBps: 50;
469
- /** @enum {string} */
470
- recipient: "0x8ea2C7de60ef1Cd4dcE64ea2DDDe2f99F0127eFC";
471
- };
582
+ rateUpdatedAt?: string | null;
472
583
  /**
473
584
  * Format: date-time
474
585
  * @example 2026-06-19T11:31:32.964Z
475
586
  */
476
- asOf: string;
477
- warnings: string[];
587
+ feeUpdatedAt?: string | null;
478
588
  };
479
- OpenApiDocument: {
480
- openapi: string;
481
- info: {
482
- [key: string]: unknown;
483
- };
484
- paths: {
485
- [key: string]: unknown;
486
- };
487
- } & {
488
- [key: string]: unknown;
589
+ EngineMarketFreshness: {
590
+ /** @enum {string} */
591
+ source: "canopy";
592
+ /**
593
+ * Format: date-time
594
+ * @example 2026-06-19T11:31:32.964Z
595
+ */
596
+ updatedAt?: string | null;
597
+ /**
598
+ * Format: date-time
599
+ * @example 2026-06-19T11:31:32.964Z
600
+ */
601
+ engineUpdatedAt?: string | null;
602
+ /**
603
+ * Format: date-time
604
+ * @example 2026-06-19T11:31:32.964Z
605
+ */
606
+ rateUpdatedAt?: string | null;
607
+ /**
608
+ * Format: date-time
609
+ * @example 2026-06-19T11:31:32.964Z
610
+ */
611
+ feeUpdatedAt?: string | null;
612
+ blockNumber?: number | null;
613
+ blockTimestamp?: number | null;
489
614
  };
490
- };
491
- responses: {
492
- /** @description Missing or invalid request parameters */
493
- BadRequest: {
494
- headers: {
495
- [name: string]: unknown;
496
- };
497
- content: {
498
- "application/json": components["schemas"]["ErrorResponse"];
499
- };
615
+ EngineMarketDisabledReasons: {
616
+ borrow: string[];
617
+ lend: string[];
500
618
  };
501
- /** @description Requested resource was not found */
502
- NotFound: {
503
- headers: {
504
- [name: string]: unknown;
619
+ EngineMarket: {
620
+ id: string;
621
+ /**
622
+ * @example 130
623
+ * @enum {integer}
624
+ */
625
+ chainId: 1 | 130 | 8453;
626
+ /** @enum {string} */
627
+ source: "rest";
628
+ /** @enum {string} */
629
+ status: "enabled" | "disabled";
630
+ displayName: string;
631
+ /** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
632
+ poolId: string;
633
+ token0: {
634
+ /**
635
+ * @example 130
636
+ * @enum {integer}
637
+ */
638
+ chainId: 1 | 130 | 8453;
639
+ address: string;
640
+ symbol: string;
641
+ name: string;
642
+ decimals: number;
643
+ iconUrl?: string | null;
644
+ priceUsd?: number | null;
645
+ stable?: boolean | null;
505
646
  };
506
- content: {
507
- "application/json": components["schemas"]["ErrorResponse"];
647
+ token1: {
648
+ /**
649
+ * @example 130
650
+ * @enum {integer}
651
+ */
652
+ chainId: 1 | 130 | 8453;
653
+ address: string;
654
+ symbol: string;
655
+ name: string;
656
+ decimals: number;
657
+ iconUrl?: string | null;
658
+ priceUsd?: number | null;
659
+ stable?: boolean | null;
508
660
  };
509
- };
510
- /** @description Server error */
511
- ServerError: {
512
- headers: {
513
- [name: string]: unknown;
661
+ poolKey: {
662
+ currency0: string;
663
+ currency1: string;
664
+ /**
665
+ * @description Uniswap v4 fee value. 8388608 indicates dynamic fee.
666
+ * @example 8388608
667
+ */
668
+ fee: number;
669
+ tickSpacing: number;
670
+ hooks: string;
514
671
  };
515
- content: {
516
- "application/json": components["schemas"]["ServerErrorResponse"];
672
+ engine?: string;
673
+ stateView?: string;
674
+ v4StateView?: string;
675
+ v4Quoter?: string;
676
+ router?: string;
677
+ permit2?: string;
678
+ vaultRegistry?: string;
679
+ borrowEnabled: boolean;
680
+ lendEnabled: boolean;
681
+ canBorrow?: boolean | null;
682
+ canLend?: boolean | null;
683
+ maxLtvPips?: number | null;
684
+ hardLtvPips?: number | null;
685
+ warnings: string[];
686
+ disabledReasons: {
687
+ borrow: string[];
688
+ lend: string[];
517
689
  };
518
- };
690
+ metrics: {
691
+ tvlUsd?: number | null;
692
+ suppliedUsd?: number | null;
693
+ borrowedUsd?: number | null;
694
+ availableToBorrowUsd?: number | null;
695
+ utilizationPct?: number | null;
696
+ borrowAprPct?: number | null;
697
+ lendApyPct?: number | null;
698
+ activeDebtVaultCount?: number | null;
699
+ sharePriceWad?: string | null;
700
+ ratePerSecondWad?: string | null;
701
+ /** @description IRM rate at 100% utilization. WAD per-second, same scale as ratePerSecondWad. */
702
+ fullUtilizationRate?: string | null;
703
+ /** @description Rate model source, e.g. "irm". */
704
+ rateSource?: string | null;
705
+ totalLendShares?: string | null;
706
+ /** @description Dynamic base fee in parts-per-million (fee fraction = ppm / 1e6). Shadow value when manualOverride is true. */
707
+ baseFeePpm?: number | null;
708
+ /** @description Fee the pool actually charges, in ppm (fraction = ppm / 1e6). Under manualOverride this is fixed and need not equal baseFeePpm + surgeFeePpm. */
709
+ activeFeePpm?: number | null;
710
+ /** @description Dynamic surge fee in ppm. Shadow value when manualOverride is true. */
711
+ surgeFeePpm?: number | null;
712
+ /** @description True only for the fee actually applied: !manualOverride && surgeFeePpm > 0. Not derived from inCapEvent. */
713
+ surgeActive?: boolean | null;
714
+ /** @description Raw contract cap-event flag (may be true even while surgeActive is false under a manual override). */
715
+ inCapEvent?: boolean | null;
716
+ /** @description When true, the pool charges a fixed activeFeePpm and the dynamic base/surge fees are shadow values. */
717
+ manualOverride?: boolean | null;
718
+ /** @description Engine fee-mode flag: fee recomputed per swap. */
719
+ perSwapMode?: boolean | null;
720
+ /** @description Fee model source, e.g. "engine-v2". */
721
+ feeSource?: string | null;
722
+ /**
723
+ * Format: date-time
724
+ * @example 2026-06-19T11:31:32.964Z
725
+ */
726
+ updatedAt?: string | null;
727
+ /**
728
+ * Format: date-time
729
+ * @example 2026-06-19T11:31:32.964Z
730
+ */
731
+ engineUpdatedAt?: string | null;
732
+ /**
733
+ * Format: date-time
734
+ * @example 2026-06-19T11:31:32.964Z
735
+ */
736
+ rateUpdatedAt?: string | null;
737
+ /**
738
+ * Format: date-time
739
+ * @example 2026-06-19T11:31:32.964Z
740
+ */
741
+ feeUpdatedAt?: string | null;
742
+ };
743
+ freshness: {
744
+ /** @enum {string} */
745
+ source: "canopy";
746
+ /**
747
+ * Format: date-time
748
+ * @example 2026-06-19T11:31:32.964Z
749
+ */
750
+ updatedAt?: string | null;
751
+ /**
752
+ * Format: date-time
753
+ * @example 2026-06-19T11:31:32.964Z
754
+ */
755
+ engineUpdatedAt?: string | null;
756
+ /**
757
+ * Format: date-time
758
+ * @example 2026-06-19T11:31:32.964Z
759
+ */
760
+ rateUpdatedAt?: string | null;
761
+ /**
762
+ * Format: date-time
763
+ * @example 2026-06-19T11:31:32.964Z
764
+ */
765
+ feeUpdatedAt?: string | null;
766
+ blockNumber?: number | null;
767
+ blockTimestamp?: number | null;
768
+ };
769
+ };
770
+ EngineMarketsFreshness: {
771
+ /** @enum {string} */
772
+ source: "canopy";
773
+ /**
774
+ * Format: date-time
775
+ * @example 2026-06-19T11:31:32.964Z
776
+ */
777
+ updatedAt?: string | null;
778
+ blockNumber?: number | null;
779
+ marketCount: number;
780
+ };
781
+ EngineMarketsResponse: {
782
+ /** @enum {string} */
783
+ schemaVersion: "1";
784
+ /**
785
+ * @example 130
786
+ * @enum {integer}
787
+ */
788
+ chainId: 1 | 130 | 8453;
789
+ markets: {
790
+ id: string;
791
+ /**
792
+ * @example 130
793
+ * @enum {integer}
794
+ */
795
+ chainId: 1 | 130 | 8453;
796
+ /** @enum {string} */
797
+ source: "rest";
798
+ /** @enum {string} */
799
+ status: "enabled" | "disabled";
800
+ displayName: string;
801
+ /** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
802
+ poolId: string;
803
+ token0: {
804
+ /**
805
+ * @example 130
806
+ * @enum {integer}
807
+ */
808
+ chainId: 1 | 130 | 8453;
809
+ address: string;
810
+ symbol: string;
811
+ name: string;
812
+ decimals: number;
813
+ iconUrl?: string | null;
814
+ priceUsd?: number | null;
815
+ stable?: boolean | null;
816
+ };
817
+ token1: {
818
+ /**
819
+ * @example 130
820
+ * @enum {integer}
821
+ */
822
+ chainId: 1 | 130 | 8453;
823
+ address: string;
824
+ symbol: string;
825
+ name: string;
826
+ decimals: number;
827
+ iconUrl?: string | null;
828
+ priceUsd?: number | null;
829
+ stable?: boolean | null;
830
+ };
831
+ poolKey: {
832
+ currency0: string;
833
+ currency1: string;
834
+ /**
835
+ * @description Uniswap v4 fee value. 8388608 indicates dynamic fee.
836
+ * @example 8388608
837
+ */
838
+ fee: number;
839
+ tickSpacing: number;
840
+ hooks: string;
841
+ };
842
+ engine?: string;
843
+ stateView?: string;
844
+ v4StateView?: string;
845
+ v4Quoter?: string;
846
+ router?: string;
847
+ permit2?: string;
848
+ vaultRegistry?: string;
849
+ borrowEnabled: boolean;
850
+ lendEnabled: boolean;
851
+ canBorrow?: boolean | null;
852
+ canLend?: boolean | null;
853
+ maxLtvPips?: number | null;
854
+ hardLtvPips?: number | null;
855
+ warnings: string[];
856
+ disabledReasons: {
857
+ borrow: string[];
858
+ lend: string[];
859
+ };
860
+ metrics: {
861
+ tvlUsd?: number | null;
862
+ suppliedUsd?: number | null;
863
+ borrowedUsd?: number | null;
864
+ availableToBorrowUsd?: number | null;
865
+ utilizationPct?: number | null;
866
+ borrowAprPct?: number | null;
867
+ lendApyPct?: number | null;
868
+ activeDebtVaultCount?: number | null;
869
+ sharePriceWad?: string | null;
870
+ ratePerSecondWad?: string | null;
871
+ /** @description IRM rate at 100% utilization. WAD per-second, same scale as ratePerSecondWad. */
872
+ fullUtilizationRate?: string | null;
873
+ /** @description Rate model source, e.g. "irm". */
874
+ rateSource?: string | null;
875
+ totalLendShares?: string | null;
876
+ /** @description Dynamic base fee in parts-per-million (fee fraction = ppm / 1e6). Shadow value when manualOverride is true. */
877
+ baseFeePpm?: number | null;
878
+ /** @description Fee the pool actually charges, in ppm (fraction = ppm / 1e6). Under manualOverride this is fixed and need not equal baseFeePpm + surgeFeePpm. */
879
+ activeFeePpm?: number | null;
880
+ /** @description Dynamic surge fee in ppm. Shadow value when manualOverride is true. */
881
+ surgeFeePpm?: number | null;
882
+ /** @description True only for the fee actually applied: !manualOverride && surgeFeePpm > 0. Not derived from inCapEvent. */
883
+ surgeActive?: boolean | null;
884
+ /** @description Raw contract cap-event flag (may be true even while surgeActive is false under a manual override). */
885
+ inCapEvent?: boolean | null;
886
+ /** @description When true, the pool charges a fixed activeFeePpm and the dynamic base/surge fees are shadow values. */
887
+ manualOverride?: boolean | null;
888
+ /** @description Engine fee-mode flag: fee recomputed per swap. */
889
+ perSwapMode?: boolean | null;
890
+ /** @description Fee model source, e.g. "engine-v2". */
891
+ feeSource?: string | null;
892
+ /**
893
+ * Format: date-time
894
+ * @example 2026-06-19T11:31:32.964Z
895
+ */
896
+ updatedAt?: string | null;
897
+ /**
898
+ * Format: date-time
899
+ * @example 2026-06-19T11:31:32.964Z
900
+ */
901
+ engineUpdatedAt?: string | null;
902
+ /**
903
+ * Format: date-time
904
+ * @example 2026-06-19T11:31:32.964Z
905
+ */
906
+ rateUpdatedAt?: string | null;
907
+ /**
908
+ * Format: date-time
909
+ * @example 2026-06-19T11:31:32.964Z
910
+ */
911
+ feeUpdatedAt?: string | null;
912
+ };
913
+ freshness: {
914
+ /** @enum {string} */
915
+ source: "canopy";
916
+ /**
917
+ * Format: date-time
918
+ * @example 2026-06-19T11:31:32.964Z
919
+ */
920
+ updatedAt?: string | null;
921
+ /**
922
+ * Format: date-time
923
+ * @example 2026-06-19T11:31:32.964Z
924
+ */
925
+ engineUpdatedAt?: string | null;
926
+ /**
927
+ * Format: date-time
928
+ * @example 2026-06-19T11:31:32.964Z
929
+ */
930
+ rateUpdatedAt?: string | null;
931
+ /**
932
+ * Format: date-time
933
+ * @example 2026-06-19T11:31:32.964Z
934
+ */
935
+ feeUpdatedAt?: string | null;
936
+ blockNumber?: number | null;
937
+ blockTimestamp?: number | null;
938
+ };
939
+ }[];
940
+ freshness: {
941
+ /** @enum {string} */
942
+ source: "canopy";
943
+ /**
944
+ * Format: date-time
945
+ * @example 2026-06-19T11:31:32.964Z
946
+ */
947
+ updatedAt?: string | null;
948
+ blockNumber?: number | null;
949
+ marketCount: number;
950
+ };
951
+ };
952
+ EnginePositionTokenAmount: {
953
+ /** @description Token amount in the token contract's smallest base units as an unsigned bigint decimal string; use the accompanying token decimals to format it. */
954
+ raw: string;
955
+ formatted: string;
956
+ valueUsd?: number | null;
957
+ };
958
+ EnginePositionDebt: {
959
+ /** @description Raw Engine liquidity-debt principal as an unsigned bigint decimal string; it is not a token amount and cannot be aggregated across markets. */
960
+ principalRaw: string;
961
+ /** @description Borrow index captured at the vault's last debt update, scaled as WAD (1e18), as an unsigned bigint decimal string. */
962
+ borrowIndexWadAtLastDebt?: string | null;
963
+ };
964
+ EnginePositionLtv: {
965
+ /** @description Subgraph-indexed LTV in pips at the last vault lock (1,000,000 pips = 100%); this is not current health. */
966
+ lastLockedPips?: number | null;
967
+ /** @description Subgraph-indexed LTV percentage at the last vault lock; this is not current health. */
968
+ lastLockedPct?: number | null;
969
+ /** @description Market maximum LTV in pips (1,000,000 pips = 100%). */
970
+ maxLtvPips?: number | null;
971
+ /** @description Market hard LTV in pips (1,000,000 pips = 100%). */
972
+ hardLtvPips?: number | null;
973
+ };
974
+ EnginePositionNft: {
975
+ id?: string | null;
976
+ kind?: string | null;
977
+ tokenId?: string | null;
978
+ /** @description Raw Engine/Uniswap v4 liquidity units captured when the NFT was last attached, as an unsigned bigint decimal string; this is not a token amount. */
979
+ liquidityRaw?: string | null;
980
+ };
981
+ EnginePosition: {
982
+ id: string;
983
+ /**
984
+ * @example 130
985
+ * @enum {integer}
986
+ */
987
+ chainId: 1 | 130 | 8453;
988
+ account: string;
989
+ vaultId: string;
990
+ /** @enum {string} */
991
+ status: "open" | "debt" | "collateral" | "empty";
992
+ marketId?: string | null;
993
+ marketName?: string | null;
994
+ /** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
995
+ poolId: string;
996
+ token0?: {
997
+ /**
998
+ * @example 130
999
+ * @enum {integer}
1000
+ */
1001
+ chainId: 1 | 130 | 8453;
1002
+ address: string;
1003
+ symbol: string;
1004
+ name: string;
1005
+ decimals: number;
1006
+ iconUrl?: string | null;
1007
+ priceUsd?: number | null;
1008
+ stable?: boolean | null;
1009
+ } | null;
1010
+ token1?: {
1011
+ /**
1012
+ * @example 130
1013
+ * @enum {integer}
1014
+ */
1015
+ chainId: 1 | 130 | 8453;
1016
+ address: string;
1017
+ symbol: string;
1018
+ name: string;
1019
+ decimals: number;
1020
+ iconUrl?: string | null;
1021
+ priceUsd?: number | null;
1022
+ stable?: boolean | null;
1023
+ } | null;
1024
+ amount0: {
1025
+ /** @description Token amount in the token contract's smallest base units as an unsigned bigint decimal string; use the accompanying token decimals to format it. */
1026
+ raw: string;
1027
+ formatted: string;
1028
+ valueUsd?: number | null;
1029
+ };
1030
+ amount1: {
1031
+ /** @description Token amount in the token contract's smallest base units as an unsigned bigint decimal string; use the accompanying token decimals to format it. */
1032
+ raw: string;
1033
+ formatted: string;
1034
+ valueUsd?: number | null;
1035
+ };
1036
+ collateralValueUsd?: number | null;
1037
+ debt: {
1038
+ /** @description Raw Engine liquidity-debt principal as an unsigned bigint decimal string; it is not a token amount and cannot be aggregated across markets. */
1039
+ principalRaw: string;
1040
+ /** @description Borrow index captured at the vault's last debt update, scaled as WAD (1e18), as an unsigned bigint decimal string. */
1041
+ borrowIndexWadAtLastDebt?: string | null;
1042
+ };
1043
+ ltv: {
1044
+ /** @description Subgraph-indexed LTV in pips at the last vault lock (1,000,000 pips = 100%); this is not current health. */
1045
+ lastLockedPips?: number | null;
1046
+ /** @description Subgraph-indexed LTV percentage at the last vault lock; this is not current health. */
1047
+ lastLockedPct?: number | null;
1048
+ /** @description Market maximum LTV in pips (1,000,000 pips = 100%). */
1049
+ maxLtvPips?: number | null;
1050
+ /** @description Market hard LTV in pips (1,000,000 pips = 100%). */
1051
+ hardLtvPips?: number | null;
1052
+ };
1053
+ nfts: {
1054
+ count: number;
1055
+ items: {
1056
+ id?: string | null;
1057
+ kind?: string | null;
1058
+ tokenId?: string | null;
1059
+ /** @description Raw Engine/Uniswap v4 liquidity units captured when the NFT was last attached, as an unsigned bigint decimal string; this is not a token amount. */
1060
+ liquidityRaw?: string | null;
1061
+ }[];
1062
+ };
1063
+ /**
1064
+ * Format: date-time
1065
+ * @example 2026-06-19T11:31:32.964Z
1066
+ */
1067
+ createdAt?: string | null;
1068
+ createdBlockNumber?: number | null;
1069
+ /**
1070
+ * Format: date-time
1071
+ * @example 2026-06-19T11:31:32.964Z
1072
+ */
1073
+ updatedAt?: string | null;
1074
+ warnings: string[];
1075
+ };
1076
+ EngineBorrowVaultPositionV2: {
1077
+ id: string;
1078
+ /**
1079
+ * @example 130
1080
+ * @enum {integer}
1081
+ */
1082
+ chainId: 1 | 130 | 8453;
1083
+ account: string;
1084
+ vaultId: string;
1085
+ /** @enum {string} */
1086
+ status: "open" | "debt" | "collateral" | "empty";
1087
+ marketId?: string | null;
1088
+ marketName?: string | null;
1089
+ /** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
1090
+ poolId: string;
1091
+ token0?: {
1092
+ /**
1093
+ * @example 130
1094
+ * @enum {integer}
1095
+ */
1096
+ chainId: 1 | 130 | 8453;
1097
+ address: string;
1098
+ symbol: string;
1099
+ name: string;
1100
+ decimals: number;
1101
+ iconUrl?: string | null;
1102
+ priceUsd?: number | null;
1103
+ stable?: boolean | null;
1104
+ } | null;
1105
+ token1?: {
1106
+ /**
1107
+ * @example 130
1108
+ * @enum {integer}
1109
+ */
1110
+ chainId: 1 | 130 | 8453;
1111
+ address: string;
1112
+ symbol: string;
1113
+ name: string;
1114
+ decimals: number;
1115
+ iconUrl?: string | null;
1116
+ priceUsd?: number | null;
1117
+ stable?: boolean | null;
1118
+ } | null;
1119
+ amount0: {
1120
+ /** @description Token amount in the token contract's smallest base units as an unsigned bigint decimal string; use the accompanying token decimals to format it. */
1121
+ raw: string;
1122
+ formatted: string;
1123
+ valueUsd?: number | null;
1124
+ };
1125
+ amount1: {
1126
+ /** @description Token amount in the token contract's smallest base units as an unsigned bigint decimal string; use the accompanying token decimals to format it. */
1127
+ raw: string;
1128
+ formatted: string;
1129
+ valueUsd?: number | null;
1130
+ };
1131
+ collateralValueUsd?: number | null;
1132
+ debt: {
1133
+ /** @description Raw Engine liquidity-debt principal as an unsigned bigint decimal string; it is not a token amount and cannot be aggregated across markets. */
1134
+ principalRaw: string;
1135
+ /** @description Borrow index captured at the vault's last debt update, scaled as WAD (1e18), as an unsigned bigint decimal string. */
1136
+ borrowIndexWadAtLastDebt?: string | null;
1137
+ };
1138
+ ltv: {
1139
+ /** @description Subgraph-indexed LTV in pips at the last vault lock (1,000,000 pips = 100%); this is not current health. */
1140
+ lastLockedPips?: number | null;
1141
+ /** @description Subgraph-indexed LTV percentage at the last vault lock; this is not current health. */
1142
+ lastLockedPct?: number | null;
1143
+ /** @description Market maximum LTV in pips (1,000,000 pips = 100%). */
1144
+ maxLtvPips?: number | null;
1145
+ /** @description Market hard LTV in pips (1,000,000 pips = 100%). */
1146
+ hardLtvPips?: number | null;
1147
+ };
1148
+ nfts: {
1149
+ count: number;
1150
+ items: {
1151
+ id?: string | null;
1152
+ kind?: string | null;
1153
+ tokenId?: string | null;
1154
+ /** @description Raw Engine/Uniswap v4 liquidity units captured when the NFT was last attached, as an unsigned bigint decimal string; this is not a token amount. */
1155
+ liquidityRaw?: string | null;
1156
+ }[];
1157
+ };
1158
+ /**
1159
+ * Format: date-time
1160
+ * @example 2026-06-19T11:31:32.964Z
1161
+ */
1162
+ createdAt?: string | null;
1163
+ createdBlockNumber?: number | null;
1164
+ /**
1165
+ * Format: date-time
1166
+ * @example 2026-06-19T11:31:32.964Z
1167
+ */
1168
+ updatedAt?: string | null;
1169
+ warnings: string[];
1170
+ /** @enum {string} */
1171
+ kind: "borrow_vault";
1172
+ };
1173
+ EngineLendSharesPosition: {
1174
+ /** @enum {string} */
1175
+ kind: "lend_shares";
1176
+ /** @example engine-lend:1:0x… */
1177
+ id: string;
1178
+ /**
1179
+ * @example 130
1180
+ * @enum {integer}
1181
+ */
1182
+ chainId: 1 | 130 | 8453;
1183
+ account: string;
1184
+ marketId: string | null;
1185
+ marketName: string | null;
1186
+ /** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
1187
+ poolId: string;
1188
+ token0: {
1189
+ /**
1190
+ * @example 130
1191
+ * @enum {integer}
1192
+ */
1193
+ chainId: 1 | 130 | 8453;
1194
+ address: string;
1195
+ symbol: string;
1196
+ name: string;
1197
+ decimals: number;
1198
+ iconUrl?: string | null;
1199
+ priceUsd?: number | null;
1200
+ stable?: boolean | null;
1201
+ } | null;
1202
+ token1: {
1203
+ /**
1204
+ * @example 130
1205
+ * @enum {integer}
1206
+ */
1207
+ chainId: 1 | 130 | 8453;
1208
+ address: string;
1209
+ symbol: string;
1210
+ name: string;
1211
+ decimals: number;
1212
+ iconUrl?: string | null;
1213
+ priceUsd?: number | null;
1214
+ stable?: boolean | null;
1215
+ } | null;
1216
+ /** @description Indexed lender balance in raw Engine share units as an unsigned bigint decimal string. Use a current share price for valuation. */
1217
+ indexedBalanceRaw: string;
1218
+ warnings: string[];
1219
+ freshness: {
1220
+ /** @enum {string} */
1221
+ source: "subgraph";
1222
+ /** @description Subgraph block used as the conservative freshness watermark for the indexed share page set. Null when a page did not report a block. */
1223
+ indexedBlockNumber: number | null;
1224
+ };
1225
+ };
1226
+ EnginePositionV2: {
1227
+ id: string;
1228
+ /**
1229
+ * @example 130
1230
+ * @enum {integer}
1231
+ */
1232
+ chainId: 1 | 130 | 8453;
1233
+ account: string;
1234
+ vaultId: string;
1235
+ /** @enum {string} */
1236
+ status: "open" | "debt" | "collateral" | "empty";
1237
+ marketId?: string | null;
1238
+ marketName?: string | null;
1239
+ /** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
1240
+ poolId: string;
1241
+ token0?: {
1242
+ /**
1243
+ * @example 130
1244
+ * @enum {integer}
1245
+ */
1246
+ chainId: 1 | 130 | 8453;
1247
+ address: string;
1248
+ symbol: string;
1249
+ name: string;
1250
+ decimals: number;
1251
+ iconUrl?: string | null;
1252
+ priceUsd?: number | null;
1253
+ stable?: boolean | null;
1254
+ } | null;
1255
+ token1?: {
1256
+ /**
1257
+ * @example 130
1258
+ * @enum {integer}
1259
+ */
1260
+ chainId: 1 | 130 | 8453;
1261
+ address: string;
1262
+ symbol: string;
1263
+ name: string;
1264
+ decimals: number;
1265
+ iconUrl?: string | null;
1266
+ priceUsd?: number | null;
1267
+ stable?: boolean | null;
1268
+ } | null;
1269
+ amount0: {
1270
+ /** @description Token amount in the token contract's smallest base units as an unsigned bigint decimal string; use the accompanying token decimals to format it. */
1271
+ raw: string;
1272
+ formatted: string;
1273
+ valueUsd?: number | null;
1274
+ };
1275
+ amount1: {
1276
+ /** @description Token amount in the token contract's smallest base units as an unsigned bigint decimal string; use the accompanying token decimals to format it. */
1277
+ raw: string;
1278
+ formatted: string;
1279
+ valueUsd?: number | null;
1280
+ };
1281
+ collateralValueUsd?: number | null;
1282
+ debt: {
1283
+ /** @description Raw Engine liquidity-debt principal as an unsigned bigint decimal string; it is not a token amount and cannot be aggregated across markets. */
1284
+ principalRaw: string;
1285
+ /** @description Borrow index captured at the vault's last debt update, scaled as WAD (1e18), as an unsigned bigint decimal string. */
1286
+ borrowIndexWadAtLastDebt?: string | null;
1287
+ };
1288
+ ltv: {
1289
+ /** @description Subgraph-indexed LTV in pips at the last vault lock (1,000,000 pips = 100%); this is not current health. */
1290
+ lastLockedPips?: number | null;
1291
+ /** @description Subgraph-indexed LTV percentage at the last vault lock; this is not current health. */
1292
+ lastLockedPct?: number | null;
1293
+ /** @description Market maximum LTV in pips (1,000,000 pips = 100%). */
1294
+ maxLtvPips?: number | null;
1295
+ /** @description Market hard LTV in pips (1,000,000 pips = 100%). */
1296
+ hardLtvPips?: number | null;
1297
+ };
1298
+ nfts: {
1299
+ count: number;
1300
+ items: {
1301
+ id?: string | null;
1302
+ kind?: string | null;
1303
+ tokenId?: string | null;
1304
+ /** @description Raw Engine/Uniswap v4 liquidity units captured when the NFT was last attached, as an unsigned bigint decimal string; this is not a token amount. */
1305
+ liquidityRaw?: string | null;
1306
+ }[];
1307
+ };
1308
+ /**
1309
+ * Format: date-time
1310
+ * @example 2026-06-19T11:31:32.964Z
1311
+ */
1312
+ createdAt?: string | null;
1313
+ createdBlockNumber?: number | null;
1314
+ /**
1315
+ * Format: date-time
1316
+ * @example 2026-06-19T11:31:32.964Z
1317
+ */
1318
+ updatedAt?: string | null;
1319
+ warnings: string[];
1320
+ /** @enum {string} */
1321
+ kind: "borrow_vault";
1322
+ } | {
1323
+ /** @enum {string} */
1324
+ kind: "lend_shares";
1325
+ /** @example engine-lend:1:0x… */
1326
+ id: string;
1327
+ /**
1328
+ * @example 130
1329
+ * @enum {integer}
1330
+ */
1331
+ chainId: 1 | 130 | 8453;
1332
+ account: string;
1333
+ marketId: string | null;
1334
+ marketName: string | null;
1335
+ /** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
1336
+ poolId: string;
1337
+ token0: {
1338
+ /**
1339
+ * @example 130
1340
+ * @enum {integer}
1341
+ */
1342
+ chainId: 1 | 130 | 8453;
1343
+ address: string;
1344
+ symbol: string;
1345
+ name: string;
1346
+ decimals: number;
1347
+ iconUrl?: string | null;
1348
+ priceUsd?: number | null;
1349
+ stable?: boolean | null;
1350
+ } | null;
1351
+ token1: {
1352
+ /**
1353
+ * @example 130
1354
+ * @enum {integer}
1355
+ */
1356
+ chainId: 1 | 130 | 8453;
1357
+ address: string;
1358
+ symbol: string;
1359
+ name: string;
1360
+ decimals: number;
1361
+ iconUrl?: string | null;
1362
+ priceUsd?: number | null;
1363
+ stable?: boolean | null;
1364
+ } | null;
1365
+ /** @description Indexed lender balance in raw Engine share units as an unsigned bigint decimal string. Use a current share price for valuation. */
1366
+ indexedBalanceRaw: string;
1367
+ warnings: string[];
1368
+ freshness: {
1369
+ /** @enum {string} */
1370
+ source: "subgraph";
1371
+ /** @description Subgraph block used as the conservative freshness watermark for the indexed share page set. Null when a page did not report a block. */
1372
+ indexedBlockNumber: number | null;
1373
+ };
1374
+ };
1375
+ EnginePositionsResponse: {
1376
+ /** @enum {string} */
1377
+ schemaVersion: "1";
1378
+ /**
1379
+ * @example 130
1380
+ * @enum {integer}
1381
+ */
1382
+ chainId: 1 | 130 | 8453;
1383
+ account: string;
1384
+ positions: {
1385
+ id: string;
1386
+ /**
1387
+ * @example 130
1388
+ * @enum {integer}
1389
+ */
1390
+ chainId: 1 | 130 | 8453;
1391
+ account: string;
1392
+ vaultId: string;
1393
+ /** @enum {string} */
1394
+ status: "open" | "debt" | "collateral" | "empty";
1395
+ marketId?: string | null;
1396
+ marketName?: string | null;
1397
+ /** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
1398
+ poolId: string;
1399
+ token0?: {
1400
+ /**
1401
+ * @example 130
1402
+ * @enum {integer}
1403
+ */
1404
+ chainId: 1 | 130 | 8453;
1405
+ address: string;
1406
+ symbol: string;
1407
+ name: string;
1408
+ decimals: number;
1409
+ iconUrl?: string | null;
1410
+ priceUsd?: number | null;
1411
+ stable?: boolean | null;
1412
+ } | null;
1413
+ token1?: {
1414
+ /**
1415
+ * @example 130
1416
+ * @enum {integer}
1417
+ */
1418
+ chainId: 1 | 130 | 8453;
1419
+ address: string;
1420
+ symbol: string;
1421
+ name: string;
1422
+ decimals: number;
1423
+ iconUrl?: string | null;
1424
+ priceUsd?: number | null;
1425
+ stable?: boolean | null;
1426
+ } | null;
1427
+ amount0: {
1428
+ /** @description Token amount in the token contract's smallest base units as an unsigned bigint decimal string; use the accompanying token decimals to format it. */
1429
+ raw: string;
1430
+ formatted: string;
1431
+ valueUsd?: number | null;
1432
+ };
1433
+ amount1: {
1434
+ /** @description Token amount in the token contract's smallest base units as an unsigned bigint decimal string; use the accompanying token decimals to format it. */
1435
+ raw: string;
1436
+ formatted: string;
1437
+ valueUsd?: number | null;
1438
+ };
1439
+ collateralValueUsd?: number | null;
1440
+ debt: {
1441
+ /** @description Raw Engine liquidity-debt principal as an unsigned bigint decimal string; it is not a token amount and cannot be aggregated across markets. */
1442
+ principalRaw: string;
1443
+ /** @description Borrow index captured at the vault's last debt update, scaled as WAD (1e18), as an unsigned bigint decimal string. */
1444
+ borrowIndexWadAtLastDebt?: string | null;
1445
+ };
1446
+ ltv: {
1447
+ /** @description Subgraph-indexed LTV in pips at the last vault lock (1,000,000 pips = 100%); this is not current health. */
1448
+ lastLockedPips?: number | null;
1449
+ /** @description Subgraph-indexed LTV percentage at the last vault lock; this is not current health. */
1450
+ lastLockedPct?: number | null;
1451
+ /** @description Market maximum LTV in pips (1,000,000 pips = 100%). */
1452
+ maxLtvPips?: number | null;
1453
+ /** @description Market hard LTV in pips (1,000,000 pips = 100%). */
1454
+ hardLtvPips?: number | null;
1455
+ };
1456
+ nfts: {
1457
+ count: number;
1458
+ items: {
1459
+ id?: string | null;
1460
+ kind?: string | null;
1461
+ tokenId?: string | null;
1462
+ /** @description Raw Engine/Uniswap v4 liquidity units captured when the NFT was last attached, as an unsigned bigint decimal string; this is not a token amount. */
1463
+ liquidityRaw?: string | null;
1464
+ }[];
1465
+ };
1466
+ /**
1467
+ * Format: date-time
1468
+ * @example 2026-06-19T11:31:32.964Z
1469
+ */
1470
+ createdAt?: string | null;
1471
+ createdBlockNumber?: number | null;
1472
+ /**
1473
+ * Format: date-time
1474
+ * @example 2026-06-19T11:31:32.964Z
1475
+ */
1476
+ updatedAt?: string | null;
1477
+ warnings: string[];
1478
+ }[];
1479
+ totals: {
1480
+ collateralValueUsd?: number | null;
1481
+ positionCount: number;
1482
+ };
1483
+ freshness: {
1484
+ /** @enum {string} */
1485
+ source: "subgraph";
1486
+ /** @description Block number reported by the vault subgraph read. */
1487
+ blockNumber?: number | null;
1488
+ positionCount: number;
1489
+ };
1490
+ };
1491
+ EnginePositionsV2Response: {
1492
+ /** @enum {string} */
1493
+ schemaVersion: "2";
1494
+ /**
1495
+ * @example 130
1496
+ * @enum {integer}
1497
+ */
1498
+ chainId: 1 | 130 | 8453;
1499
+ account: string;
1500
+ positions: ({
1501
+ id: string;
1502
+ /**
1503
+ * @example 130
1504
+ * @enum {integer}
1505
+ */
1506
+ chainId: 1 | 130 | 8453;
1507
+ account: string;
1508
+ vaultId: string;
1509
+ /** @enum {string} */
1510
+ status: "open" | "debt" | "collateral" | "empty";
1511
+ marketId?: string | null;
1512
+ marketName?: string | null;
1513
+ /** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
1514
+ poolId: string;
1515
+ token0?: {
1516
+ /**
1517
+ * @example 130
1518
+ * @enum {integer}
1519
+ */
1520
+ chainId: 1 | 130 | 8453;
1521
+ address: string;
1522
+ symbol: string;
1523
+ name: string;
1524
+ decimals: number;
1525
+ iconUrl?: string | null;
1526
+ priceUsd?: number | null;
1527
+ stable?: boolean | null;
1528
+ } | null;
1529
+ token1?: {
1530
+ /**
1531
+ * @example 130
1532
+ * @enum {integer}
1533
+ */
1534
+ chainId: 1 | 130 | 8453;
1535
+ address: string;
1536
+ symbol: string;
1537
+ name: string;
1538
+ decimals: number;
1539
+ iconUrl?: string | null;
1540
+ priceUsd?: number | null;
1541
+ stable?: boolean | null;
1542
+ } | null;
1543
+ amount0: {
1544
+ /** @description Token amount in the token contract's smallest base units as an unsigned bigint decimal string; use the accompanying token decimals to format it. */
1545
+ raw: string;
1546
+ formatted: string;
1547
+ valueUsd?: number | null;
1548
+ };
1549
+ amount1: {
1550
+ /** @description Token amount in the token contract's smallest base units as an unsigned bigint decimal string; use the accompanying token decimals to format it. */
1551
+ raw: string;
1552
+ formatted: string;
1553
+ valueUsd?: number | null;
1554
+ };
1555
+ collateralValueUsd?: number | null;
1556
+ debt: {
1557
+ /** @description Raw Engine liquidity-debt principal as an unsigned bigint decimal string; it is not a token amount and cannot be aggregated across markets. */
1558
+ principalRaw: string;
1559
+ /** @description Borrow index captured at the vault's last debt update, scaled as WAD (1e18), as an unsigned bigint decimal string. */
1560
+ borrowIndexWadAtLastDebt?: string | null;
1561
+ };
1562
+ ltv: {
1563
+ /** @description Subgraph-indexed LTV in pips at the last vault lock (1,000,000 pips = 100%); this is not current health. */
1564
+ lastLockedPips?: number | null;
1565
+ /** @description Subgraph-indexed LTV percentage at the last vault lock; this is not current health. */
1566
+ lastLockedPct?: number | null;
1567
+ /** @description Market maximum LTV in pips (1,000,000 pips = 100%). */
1568
+ maxLtvPips?: number | null;
1569
+ /** @description Market hard LTV in pips (1,000,000 pips = 100%). */
1570
+ hardLtvPips?: number | null;
1571
+ };
1572
+ nfts: {
1573
+ count: number;
1574
+ items: {
1575
+ id?: string | null;
1576
+ kind?: string | null;
1577
+ tokenId?: string | null;
1578
+ /** @description Raw Engine/Uniswap v4 liquidity units captured when the NFT was last attached, as an unsigned bigint decimal string; this is not a token amount. */
1579
+ liquidityRaw?: string | null;
1580
+ }[];
1581
+ };
1582
+ /**
1583
+ * Format: date-time
1584
+ * @example 2026-06-19T11:31:32.964Z
1585
+ */
1586
+ createdAt?: string | null;
1587
+ createdBlockNumber?: number | null;
1588
+ /**
1589
+ * Format: date-time
1590
+ * @example 2026-06-19T11:31:32.964Z
1591
+ */
1592
+ updatedAt?: string | null;
1593
+ warnings: string[];
1594
+ /** @enum {string} */
1595
+ kind: "borrow_vault";
1596
+ } | {
1597
+ /** @enum {string} */
1598
+ kind: "lend_shares";
1599
+ /** @example engine-lend:1:0x… */
1600
+ id: string;
1601
+ /**
1602
+ * @example 130
1603
+ * @enum {integer}
1604
+ */
1605
+ chainId: 1 | 130 | 8453;
1606
+ account: string;
1607
+ marketId: string | null;
1608
+ marketName: string | null;
1609
+ /** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
1610
+ poolId: string;
1611
+ token0: {
1612
+ /**
1613
+ * @example 130
1614
+ * @enum {integer}
1615
+ */
1616
+ chainId: 1 | 130 | 8453;
1617
+ address: string;
1618
+ symbol: string;
1619
+ name: string;
1620
+ decimals: number;
1621
+ iconUrl?: string | null;
1622
+ priceUsd?: number | null;
1623
+ stable?: boolean | null;
1624
+ } | null;
1625
+ token1: {
1626
+ /**
1627
+ * @example 130
1628
+ * @enum {integer}
1629
+ */
1630
+ chainId: 1 | 130 | 8453;
1631
+ address: string;
1632
+ symbol: string;
1633
+ name: string;
1634
+ decimals: number;
1635
+ iconUrl?: string | null;
1636
+ priceUsd?: number | null;
1637
+ stable?: boolean | null;
1638
+ } | null;
1639
+ /** @description Indexed lender balance in raw Engine share units as an unsigned bigint decimal string. Use a current share price for valuation. */
1640
+ indexedBalanceRaw: string;
1641
+ warnings: string[];
1642
+ freshness: {
1643
+ /** @enum {string} */
1644
+ source: "subgraph";
1645
+ /** @description Subgraph block used as the conservative freshness watermark for the indexed share page set. Null when a page did not report a block. */
1646
+ indexedBlockNumber: number | null;
1647
+ };
1648
+ })[];
1649
+ totals: {
1650
+ collateralValueUsd?: number | null;
1651
+ positionCount: number;
1652
+ borrowVaultCount: number;
1653
+ lendPositionCount: number;
1654
+ };
1655
+ freshness: {
1656
+ /** @enum {string} */
1657
+ source: "subgraph";
1658
+ /** @description Oldest indexed block across the vault and lender-share reads; null when either source does not report a block. */
1659
+ blockNumber?: number | null;
1660
+ positionCount: number;
1661
+ };
1662
+ };
1663
+ EngineActivityMarketState: {
1664
+ marketId: string | null;
1665
+ marketName: string | null;
1666
+ /** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
1667
+ poolId: string;
1668
+ /** @description Market borrow index as last indexed, WAD (1e18), as an unsigned bigint decimal string. */
1669
+ borrowIndexWad: string | null;
1670
+ /** @description Unix seconds of the market's last on-chain interest accrual; project the index forward from here with ratePerSecondWad. */
1671
+ lastAccrueTimestamp: number | null;
1672
+ /** @description Current per-second borrow rate from the REST market read model, WAD (1e18). Null (never zero) with a rate-unavailable warning when unknown. */
1673
+ ratePerSecondWad: string | null;
1674
+ /**
1675
+ * Format: date-time
1676
+ * @description When the Canopy-sourced ratePerSecondWad snapshot was written; null when unknown. Unlike the sibling subgraph-at-block fields, the rate has its own freshness — use it to bound the error when projecting the index forward.
1677
+ * @example 2026-06-19T11:31:32.964Z
1678
+ */
1679
+ rateUpdatedAt: string | null;
1680
+ /** @description Total pool-relative liquidity debt outstanding as last indexed, as an unsigned bigint decimal string; not a token amount. */
1681
+ totalRlBorrowed: string | null;
1682
+ /** @description Total lender shares outstanding as last indexed, in raw Engine share units as an unsigned bigint decimal string. */
1683
+ shareTotalSupply: string | null;
1684
+ warnings: string[];
1685
+ };
1686
+ EngineVaultActivityAction: {
1687
+ /** @enum {string} */
1688
+ kind: "vault_created";
1689
+ /**
1690
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
1691
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
1692
+ */
1693
+ id: string;
1694
+ /**
1695
+ * @description Event block time in Unix seconds.
1696
+ * @example 1777990794
1697
+ */
1698
+ timestamp: number;
1699
+ blockNumber: number;
1700
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
1701
+ transactionIndex: number;
1702
+ /**
1703
+ * @description Transaction hash.
1704
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
1705
+ */
1706
+ txHash: string;
1707
+ logIndex: number;
1708
+ owner: string;
1709
+ } | {
1710
+ /** @enum {string} */
1711
+ kind: "vault_burned";
1712
+ /**
1713
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
1714
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
1715
+ */
1716
+ id: string;
1717
+ /**
1718
+ * @description Event block time in Unix seconds.
1719
+ * @example 1777990794
1720
+ */
1721
+ timestamp: number;
1722
+ blockNumber: number;
1723
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
1724
+ transactionIndex: number;
1725
+ /**
1726
+ * @description Transaction hash.
1727
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
1728
+ */
1729
+ txHash: string;
1730
+ logIndex: number;
1731
+ /** @description Address that executed the burn — in practice the chain's constant Engine periphery/router, not the vault owner. */
1732
+ caller: string;
1733
+ } | {
1734
+ /** @enum {string} */
1735
+ kind: "vault_locked";
1736
+ /**
1737
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
1738
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
1739
+ */
1740
+ id: string;
1741
+ /**
1742
+ * @description Event block time in Unix seconds.
1743
+ * @example 1777990794
1744
+ */
1745
+ timestamp: number;
1746
+ blockNumber: number;
1747
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
1748
+ transactionIndex: number;
1749
+ /**
1750
+ * @description Transaction hash.
1751
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
1752
+ */
1753
+ txHash: string;
1754
+ logIndex: number;
1755
+ /** @description Vault LTV in pips at this lock (1,000,000 pips = 100%); historical, not current health. */
1756
+ ltvPips: number | null;
1757
+ } | {
1758
+ /** @enum {string} */
1759
+ kind: "debt_modified";
1760
+ /**
1761
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
1762
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
1763
+ */
1764
+ id: string;
1765
+ /**
1766
+ * @description Event block time in Unix seconds.
1767
+ * @example 1777990794
1768
+ */
1769
+ timestamp: number;
1770
+ blockNumber: number;
1771
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
1772
+ transactionIndex: number;
1773
+ /**
1774
+ * @description Transaction hash.
1775
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
1776
+ */
1777
+ txHash: string;
1778
+ logIndex: number;
1779
+ /** @description Signed pool-relative liquidity-debt principal delta the caller requested, as a bigint decimal string. */
1780
+ principalDeltaRequestedRaw: string;
1781
+ /** @description Signed pool-relative liquidity-debt principal delta actually applied (positive = borrow, negative = repay), as a bigint decimal string. */
1782
+ principalDeltaActualRaw: string;
1783
+ /** @description Market borrow index at this event, WAD (1e18). Growing the event principal by currentBorrowIndexWad / borrowIndexWad yields the accrued debt from this borrow. */
1784
+ borrowIndexWad: string;
1785
+ deltaIdle0Raw: string;
1786
+ deltaIdle1Raw: string;
1787
+ } | {
1788
+ /** @enum {string} */
1789
+ kind: "idle_modified";
1790
+ /**
1791
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
1792
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
1793
+ */
1794
+ id: string;
1795
+ /**
1796
+ * @description Event block time in Unix seconds.
1797
+ * @example 1777990794
1798
+ */
1799
+ timestamp: number;
1800
+ blockNumber: number;
1801
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
1802
+ transactionIndex: number;
1803
+ /**
1804
+ * @description Transaction hash.
1805
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
1806
+ */
1807
+ txHash: string;
1808
+ logIndex: number;
1809
+ deltaAmount0Raw: string;
1810
+ deltaAmount1Raw: string;
1811
+ } | {
1812
+ /** @enum {string} */
1813
+ kind: "vault_micro_liquidated";
1814
+ /**
1815
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
1816
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
1817
+ */
1818
+ id: string;
1819
+ /**
1820
+ * @description Event block time in Unix seconds.
1821
+ * @example 1777990794
1822
+ */
1823
+ timestamp: number;
1824
+ blockNumber: number;
1825
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
1826
+ transactionIndex: number;
1827
+ /**
1828
+ * @description Transaction hash.
1829
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
1830
+ */
1831
+ txHash: string;
1832
+ logIndex: number;
1833
+ caller: string;
1834
+ zeroForOne: boolean;
1835
+ swapDelta0Raw: string;
1836
+ swapDelta1Raw: string;
1837
+ debtRepaidRlRaw: string;
1838
+ idleDelta0Raw: string;
1839
+ idleDelta1Raw: string;
1840
+ keeperFee0Raw: string;
1841
+ keeperFee1Raw: string;
1842
+ initialLtvPips: number | null;
1843
+ };
1844
+ EngineLendActivityAction: {
1845
+ /** @enum {string} */
1846
+ kind: "deposit";
1847
+ /**
1848
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
1849
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
1850
+ */
1851
+ id: string;
1852
+ /**
1853
+ * @description Event block time in Unix seconds.
1854
+ * @example 1777990794
1855
+ */
1856
+ timestamp: number;
1857
+ blockNumber: number;
1858
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
1859
+ transactionIndex: number;
1860
+ /**
1861
+ * @description Transaction hash.
1862
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
1863
+ */
1864
+ txHash: string;
1865
+ logIndex: number;
1866
+ /** @description Signed lender share delta in raw Engine share units (positive = minted to the account, negative = burned). */
1867
+ deltaSharesRaw: string;
1868
+ /** @description Signed token0 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
1869
+ deltaAmount0Raw: string;
1870
+ /** @description Signed token1 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
1871
+ deltaAmount1Raw: string;
1872
+ } | {
1873
+ /** @enum {string} */
1874
+ kind: "withdraw";
1875
+ /**
1876
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
1877
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
1878
+ */
1879
+ id: string;
1880
+ /**
1881
+ * @description Event block time in Unix seconds.
1882
+ * @example 1777990794
1883
+ */
1884
+ timestamp: number;
1885
+ blockNumber: number;
1886
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
1887
+ transactionIndex: number;
1888
+ /**
1889
+ * @description Transaction hash.
1890
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
1891
+ */
1892
+ txHash: string;
1893
+ logIndex: number;
1894
+ /** @description Signed lender share delta in raw Engine share units (positive = minted to the account, negative = burned). */
1895
+ deltaSharesRaw: string;
1896
+ /** @description Signed token0 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
1897
+ deltaAmount0Raw: string;
1898
+ /** @description Signed token1 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
1899
+ deltaAmount1Raw: string;
1900
+ } | {
1901
+ /** @enum {string} */
1902
+ kind: "transfer_in";
1903
+ /**
1904
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
1905
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
1906
+ */
1907
+ id: string;
1908
+ /**
1909
+ * @description Event block time in Unix seconds.
1910
+ * @example 1777990794
1911
+ */
1912
+ timestamp: number;
1913
+ blockNumber: number;
1914
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
1915
+ transactionIndex: number;
1916
+ /**
1917
+ * @description Transaction hash.
1918
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
1919
+ */
1920
+ txHash: string;
1921
+ logIndex: number;
1922
+ /** @description Transferred lender shares in raw Engine share units as an unsigned bigint decimal string. */
1923
+ sharesRaw: string;
1924
+ counterparty: string;
1925
+ } | {
1926
+ /** @enum {string} */
1927
+ kind: "transfer_out";
1928
+ /**
1929
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
1930
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
1931
+ */
1932
+ id: string;
1933
+ /**
1934
+ * @description Event block time in Unix seconds.
1935
+ * @example 1777990794
1936
+ */
1937
+ timestamp: number;
1938
+ blockNumber: number;
1939
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
1940
+ transactionIndex: number;
1941
+ /**
1942
+ * @description Transaction hash.
1943
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
1944
+ */
1945
+ txHash: string;
1946
+ logIndex: number;
1947
+ /** @description Transferred lender shares in raw Engine share units as an unsigned bigint decimal string. */
1948
+ sharesRaw: string;
1949
+ counterparty: string;
1950
+ };
1951
+ EngineVaultActivity: {
1952
+ vaultId: string;
1953
+ /** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
1954
+ poolId: string;
1955
+ marketId: string | null;
1956
+ marketName: string | null;
1957
+ /**
1958
+ * Format: date-time
1959
+ * @example 2026-06-19T11:31:32.964Z
1960
+ */
1961
+ createdAt: string | null;
1962
+ /**
1963
+ * Format: date-time
1964
+ * @example 2026-06-19T11:31:32.964Z
1965
+ */
1966
+ burnedAt: string | null;
1967
+ /** @description Ordered oldest-first (ledger replay order), by blockNumber, then transactionIndex, then logIndex. */
1968
+ actions: ({
1969
+ /** @enum {string} */
1970
+ kind: "vault_created";
1971
+ /**
1972
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
1973
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
1974
+ */
1975
+ id: string;
1976
+ /**
1977
+ * @description Event block time in Unix seconds.
1978
+ * @example 1777990794
1979
+ */
1980
+ timestamp: number;
1981
+ blockNumber: number;
1982
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
1983
+ transactionIndex: number;
1984
+ /**
1985
+ * @description Transaction hash.
1986
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
1987
+ */
1988
+ txHash: string;
1989
+ logIndex: number;
1990
+ owner: string;
1991
+ } | {
1992
+ /** @enum {string} */
1993
+ kind: "vault_burned";
1994
+ /**
1995
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
1996
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
1997
+ */
1998
+ id: string;
1999
+ /**
2000
+ * @description Event block time in Unix seconds.
2001
+ * @example 1777990794
2002
+ */
2003
+ timestamp: number;
2004
+ blockNumber: number;
2005
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
2006
+ transactionIndex: number;
2007
+ /**
2008
+ * @description Transaction hash.
2009
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
2010
+ */
2011
+ txHash: string;
2012
+ logIndex: number;
2013
+ /** @description Address that executed the burn — in practice the chain's constant Engine periphery/router, not the vault owner. */
2014
+ caller: string;
2015
+ } | {
2016
+ /** @enum {string} */
2017
+ kind: "vault_locked";
2018
+ /**
2019
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
2020
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
2021
+ */
2022
+ id: string;
2023
+ /**
2024
+ * @description Event block time in Unix seconds.
2025
+ * @example 1777990794
2026
+ */
2027
+ timestamp: number;
2028
+ blockNumber: number;
2029
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
2030
+ transactionIndex: number;
2031
+ /**
2032
+ * @description Transaction hash.
2033
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
2034
+ */
2035
+ txHash: string;
2036
+ logIndex: number;
2037
+ /** @description Vault LTV in pips at this lock (1,000,000 pips = 100%); historical, not current health. */
2038
+ ltvPips: number | null;
2039
+ } | {
2040
+ /** @enum {string} */
2041
+ kind: "debt_modified";
2042
+ /**
2043
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
2044
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
2045
+ */
2046
+ id: string;
2047
+ /**
2048
+ * @description Event block time in Unix seconds.
2049
+ * @example 1777990794
2050
+ */
2051
+ timestamp: number;
2052
+ blockNumber: number;
2053
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
2054
+ transactionIndex: number;
2055
+ /**
2056
+ * @description Transaction hash.
2057
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
2058
+ */
2059
+ txHash: string;
2060
+ logIndex: number;
2061
+ /** @description Signed pool-relative liquidity-debt principal delta the caller requested, as a bigint decimal string. */
2062
+ principalDeltaRequestedRaw: string;
2063
+ /** @description Signed pool-relative liquidity-debt principal delta actually applied (positive = borrow, negative = repay), as a bigint decimal string. */
2064
+ principalDeltaActualRaw: string;
2065
+ /** @description Market borrow index at this event, WAD (1e18). Growing the event principal by currentBorrowIndexWad / borrowIndexWad yields the accrued debt from this borrow. */
2066
+ borrowIndexWad: string;
2067
+ deltaIdle0Raw: string;
2068
+ deltaIdle1Raw: string;
2069
+ } | {
2070
+ /** @enum {string} */
2071
+ kind: "idle_modified";
2072
+ /**
2073
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
2074
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
2075
+ */
2076
+ id: string;
2077
+ /**
2078
+ * @description Event block time in Unix seconds.
2079
+ * @example 1777990794
2080
+ */
2081
+ timestamp: number;
2082
+ blockNumber: number;
2083
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
2084
+ transactionIndex: number;
2085
+ /**
2086
+ * @description Transaction hash.
2087
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
2088
+ */
2089
+ txHash: string;
2090
+ logIndex: number;
2091
+ deltaAmount0Raw: string;
2092
+ deltaAmount1Raw: string;
2093
+ } | {
2094
+ /** @enum {string} */
2095
+ kind: "vault_micro_liquidated";
2096
+ /**
2097
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
2098
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
2099
+ */
2100
+ id: string;
2101
+ /**
2102
+ * @description Event block time in Unix seconds.
2103
+ * @example 1777990794
2104
+ */
2105
+ timestamp: number;
2106
+ blockNumber: number;
2107
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
2108
+ transactionIndex: number;
2109
+ /**
2110
+ * @description Transaction hash.
2111
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
2112
+ */
2113
+ txHash: string;
2114
+ logIndex: number;
2115
+ caller: string;
2116
+ zeroForOne: boolean;
2117
+ swapDelta0Raw: string;
2118
+ swapDelta1Raw: string;
2119
+ debtRepaidRlRaw: string;
2120
+ idleDelta0Raw: string;
2121
+ idleDelta1Raw: string;
2122
+ keeperFee0Raw: string;
2123
+ keeperFee1Raw: string;
2124
+ initialLtvPips: number | null;
2125
+ })[];
2126
+ };
2127
+ EngineLendActivity: {
2128
+ /** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
2129
+ poolId: string;
2130
+ marketId: string | null;
2131
+ marketName: string | null;
2132
+ /** @description Ordered oldest-first (ledger replay order), by blockNumber, then transactionIndex, then logIndex. */
2133
+ actions: ({
2134
+ /** @enum {string} */
2135
+ kind: "deposit";
2136
+ /**
2137
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
2138
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
2139
+ */
2140
+ id: string;
2141
+ /**
2142
+ * @description Event block time in Unix seconds.
2143
+ * @example 1777990794
2144
+ */
2145
+ timestamp: number;
2146
+ blockNumber: number;
2147
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
2148
+ transactionIndex: number;
2149
+ /**
2150
+ * @description Transaction hash.
2151
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
2152
+ */
2153
+ txHash: string;
2154
+ logIndex: number;
2155
+ /** @description Signed lender share delta in raw Engine share units (positive = minted to the account, negative = burned). */
2156
+ deltaSharesRaw: string;
2157
+ /** @description Signed token0 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
2158
+ deltaAmount0Raw: string;
2159
+ /** @description Signed token1 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
2160
+ deltaAmount1Raw: string;
2161
+ } | {
2162
+ /** @enum {string} */
2163
+ kind: "withdraw";
2164
+ /**
2165
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
2166
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
2167
+ */
2168
+ id: string;
2169
+ /**
2170
+ * @description Event block time in Unix seconds.
2171
+ * @example 1777990794
2172
+ */
2173
+ timestamp: number;
2174
+ blockNumber: number;
2175
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
2176
+ transactionIndex: number;
2177
+ /**
2178
+ * @description Transaction hash.
2179
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
2180
+ */
2181
+ txHash: string;
2182
+ logIndex: number;
2183
+ /** @description Signed lender share delta in raw Engine share units (positive = minted to the account, negative = burned). */
2184
+ deltaSharesRaw: string;
2185
+ /** @description Signed token0 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
2186
+ deltaAmount0Raw: string;
2187
+ /** @description Signed token1 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
2188
+ deltaAmount1Raw: string;
2189
+ } | {
2190
+ /** @enum {string} */
2191
+ kind: "transfer_in";
2192
+ /**
2193
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
2194
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
2195
+ */
2196
+ id: string;
2197
+ /**
2198
+ * @description Event block time in Unix seconds.
2199
+ * @example 1777990794
2200
+ */
2201
+ timestamp: number;
2202
+ blockNumber: number;
2203
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
2204
+ transactionIndex: number;
2205
+ /**
2206
+ * @description Transaction hash.
2207
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
2208
+ */
2209
+ txHash: string;
2210
+ logIndex: number;
2211
+ /** @description Transferred lender shares in raw Engine share units as an unsigned bigint decimal string. */
2212
+ sharesRaw: string;
2213
+ counterparty: string;
2214
+ } | {
2215
+ /** @enum {string} */
2216
+ kind: "transfer_out";
2217
+ /**
2218
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
2219
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
2220
+ */
2221
+ id: string;
2222
+ /**
2223
+ * @description Event block time in Unix seconds.
2224
+ * @example 1777990794
2225
+ */
2226
+ timestamp: number;
2227
+ blockNumber: number;
2228
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
2229
+ transactionIndex: number;
2230
+ /**
2231
+ * @description Transaction hash.
2232
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
2233
+ */
2234
+ txHash: string;
2235
+ logIndex: number;
2236
+ /** @description Transferred lender shares in raw Engine share units as an unsigned bigint decimal string. */
2237
+ sharesRaw: string;
2238
+ counterparty: string;
2239
+ })[];
2240
+ };
2241
+ EngineActivityResponse: {
2242
+ /** @enum {string} */
2243
+ schemaVersion: "1";
2244
+ /**
2245
+ * @example 130
2246
+ * @enum {integer}
2247
+ */
2248
+ chainId: 1 | 130 | 8453;
2249
+ account: string;
2250
+ marketState: {
2251
+ marketId: string | null;
2252
+ marketName: string | null;
2253
+ /** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
2254
+ poolId: string;
2255
+ /** @description Market borrow index as last indexed, WAD (1e18), as an unsigned bigint decimal string. */
2256
+ borrowIndexWad: string | null;
2257
+ /** @description Unix seconds of the market's last on-chain interest accrual; project the index forward from here with ratePerSecondWad. */
2258
+ lastAccrueTimestamp: number | null;
2259
+ /** @description Current per-second borrow rate from the REST market read model, WAD (1e18). Null (never zero) with a rate-unavailable warning when unknown. */
2260
+ ratePerSecondWad: string | null;
2261
+ /**
2262
+ * Format: date-time
2263
+ * @description When the Canopy-sourced ratePerSecondWad snapshot was written; null when unknown. Unlike the sibling subgraph-at-block fields, the rate has its own freshness — use it to bound the error when projecting the index forward.
2264
+ * @example 2026-06-19T11:31:32.964Z
2265
+ */
2266
+ rateUpdatedAt: string | null;
2267
+ /** @description Total pool-relative liquidity debt outstanding as last indexed, as an unsigned bigint decimal string; not a token amount. */
2268
+ totalRlBorrowed: string | null;
2269
+ /** @description Total lender shares outstanding as last indexed, in raw Engine share units as an unsigned bigint decimal string. */
2270
+ shareTotalSupply: string | null;
2271
+ warnings: string[];
2272
+ }[];
2273
+ /** @description Ordered newest-first by numeric vaultId (vault ids are minted sequentially), matching the positions ordering. Burned vaults are included. */
2274
+ vaults: {
2275
+ vaultId: string;
2276
+ /** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
2277
+ poolId: string;
2278
+ marketId: string | null;
2279
+ marketName: string | null;
2280
+ /**
2281
+ * Format: date-time
2282
+ * @example 2026-06-19T11:31:32.964Z
2283
+ */
2284
+ createdAt: string | null;
2285
+ /**
2286
+ * Format: date-time
2287
+ * @example 2026-06-19T11:31:32.964Z
2288
+ */
2289
+ burnedAt: string | null;
2290
+ /** @description Ordered oldest-first (ledger replay order), by blockNumber, then transactionIndex, then logIndex. */
2291
+ actions: ({
2292
+ /** @enum {string} */
2293
+ kind: "vault_created";
2294
+ /**
2295
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
2296
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
2297
+ */
2298
+ id: string;
2299
+ /**
2300
+ * @description Event block time in Unix seconds.
2301
+ * @example 1777990794
2302
+ */
2303
+ timestamp: number;
2304
+ blockNumber: number;
2305
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
2306
+ transactionIndex: number;
2307
+ /**
2308
+ * @description Transaction hash.
2309
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
2310
+ */
2311
+ txHash: string;
2312
+ logIndex: number;
2313
+ owner: string;
2314
+ } | {
2315
+ /** @enum {string} */
2316
+ kind: "vault_burned";
2317
+ /**
2318
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
2319
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
2320
+ */
2321
+ id: string;
2322
+ /**
2323
+ * @description Event block time in Unix seconds.
2324
+ * @example 1777990794
2325
+ */
2326
+ timestamp: number;
2327
+ blockNumber: number;
2328
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
2329
+ transactionIndex: number;
2330
+ /**
2331
+ * @description Transaction hash.
2332
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
2333
+ */
2334
+ txHash: string;
2335
+ logIndex: number;
2336
+ /** @description Address that executed the burn — in practice the chain's constant Engine periphery/router, not the vault owner. */
2337
+ caller: string;
2338
+ } | {
2339
+ /** @enum {string} */
2340
+ kind: "vault_locked";
2341
+ /**
2342
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
2343
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
2344
+ */
2345
+ id: string;
2346
+ /**
2347
+ * @description Event block time in Unix seconds.
2348
+ * @example 1777990794
2349
+ */
2350
+ timestamp: number;
2351
+ blockNumber: number;
2352
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
2353
+ transactionIndex: number;
2354
+ /**
2355
+ * @description Transaction hash.
2356
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
2357
+ */
2358
+ txHash: string;
2359
+ logIndex: number;
2360
+ /** @description Vault LTV in pips at this lock (1,000,000 pips = 100%); historical, not current health. */
2361
+ ltvPips: number | null;
2362
+ } | {
2363
+ /** @enum {string} */
2364
+ kind: "debt_modified";
2365
+ /**
2366
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
2367
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
2368
+ */
2369
+ id: string;
2370
+ /**
2371
+ * @description Event block time in Unix seconds.
2372
+ * @example 1777990794
2373
+ */
2374
+ timestamp: number;
2375
+ blockNumber: number;
2376
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
2377
+ transactionIndex: number;
2378
+ /**
2379
+ * @description Transaction hash.
2380
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
2381
+ */
2382
+ txHash: string;
2383
+ logIndex: number;
2384
+ /** @description Signed pool-relative liquidity-debt principal delta the caller requested, as a bigint decimal string. */
2385
+ principalDeltaRequestedRaw: string;
2386
+ /** @description Signed pool-relative liquidity-debt principal delta actually applied (positive = borrow, negative = repay), as a bigint decimal string. */
2387
+ principalDeltaActualRaw: string;
2388
+ /** @description Market borrow index at this event, WAD (1e18). Growing the event principal by currentBorrowIndexWad / borrowIndexWad yields the accrued debt from this borrow. */
2389
+ borrowIndexWad: string;
2390
+ deltaIdle0Raw: string;
2391
+ deltaIdle1Raw: string;
2392
+ } | {
2393
+ /** @enum {string} */
2394
+ kind: "idle_modified";
2395
+ /**
2396
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
2397
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
2398
+ */
2399
+ id: string;
2400
+ /**
2401
+ * @description Event block time in Unix seconds.
2402
+ * @example 1777990794
2403
+ */
2404
+ timestamp: number;
2405
+ blockNumber: number;
2406
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
2407
+ transactionIndex: number;
2408
+ /**
2409
+ * @description Transaction hash.
2410
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
2411
+ */
2412
+ txHash: string;
2413
+ logIndex: number;
2414
+ deltaAmount0Raw: string;
2415
+ deltaAmount1Raw: string;
2416
+ } | {
2417
+ /** @enum {string} */
2418
+ kind: "vault_micro_liquidated";
2419
+ /**
2420
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
2421
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
2422
+ */
2423
+ id: string;
2424
+ /**
2425
+ * @description Event block time in Unix seconds.
2426
+ * @example 1777990794
2427
+ */
2428
+ timestamp: number;
2429
+ blockNumber: number;
2430
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
2431
+ transactionIndex: number;
2432
+ /**
2433
+ * @description Transaction hash.
2434
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
2435
+ */
2436
+ txHash: string;
2437
+ logIndex: number;
2438
+ caller: string;
2439
+ zeroForOne: boolean;
2440
+ swapDelta0Raw: string;
2441
+ swapDelta1Raw: string;
2442
+ debtRepaidRlRaw: string;
2443
+ idleDelta0Raw: string;
2444
+ idleDelta1Raw: string;
2445
+ keeperFee0Raw: string;
2446
+ keeperFee1Raw: string;
2447
+ initialLtvPips: number | null;
2448
+ })[];
2449
+ }[];
2450
+ /** @description Ordered by poolId ascending. */
2451
+ lend: {
2452
+ /** @example 0x9073b65a558bdf9d0d7d0c82b468128acb847de72f5ad776bd8a4aab98781584 */
2453
+ poolId: string;
2454
+ marketId: string | null;
2455
+ marketName: string | null;
2456
+ /** @description Ordered oldest-first (ledger replay order), by blockNumber, then transactionIndex, then logIndex. */
2457
+ actions: ({
2458
+ /** @enum {string} */
2459
+ kind: "deposit";
2460
+ /**
2461
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
2462
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
2463
+ */
2464
+ id: string;
2465
+ /**
2466
+ * @description Event block time in Unix seconds.
2467
+ * @example 1777990794
2468
+ */
2469
+ timestamp: number;
2470
+ blockNumber: number;
2471
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
2472
+ transactionIndex: number;
2473
+ /**
2474
+ * @description Transaction hash.
2475
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
2476
+ */
2477
+ txHash: string;
2478
+ logIndex: number;
2479
+ /** @description Signed lender share delta in raw Engine share units (positive = minted to the account, negative = burned). */
2480
+ deltaSharesRaw: string;
2481
+ /** @description Signed token0 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
2482
+ deltaAmount0Raw: string;
2483
+ /** @description Signed token1 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
2484
+ deltaAmount1Raw: string;
2485
+ } | {
2486
+ /** @enum {string} */
2487
+ kind: "withdraw";
2488
+ /**
2489
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
2490
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
2491
+ */
2492
+ id: string;
2493
+ /**
2494
+ * @description Event block time in Unix seconds.
2495
+ * @example 1777990794
2496
+ */
2497
+ timestamp: number;
2498
+ blockNumber: number;
2499
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
2500
+ transactionIndex: number;
2501
+ /**
2502
+ * @description Transaction hash.
2503
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
2504
+ */
2505
+ txHash: string;
2506
+ logIndex: number;
2507
+ /** @description Signed lender share delta in raw Engine share units (positive = minted to the account, negative = burned). */
2508
+ deltaSharesRaw: string;
2509
+ /** @description Signed token0 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
2510
+ deltaAmount0Raw: string;
2511
+ /** @description Signed token1 delta from the account's perspective (negative = paid into the pool), as a bigint decimal string in token base units. */
2512
+ deltaAmount1Raw: string;
2513
+ } | {
2514
+ /** @enum {string} */
2515
+ kind: "transfer_in";
2516
+ /**
2517
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
2518
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
2519
+ */
2520
+ id: string;
2521
+ /**
2522
+ * @description Event block time in Unix seconds.
2523
+ * @example 1777990794
2524
+ */
2525
+ timestamp: number;
2526
+ blockNumber: number;
2527
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
2528
+ transactionIndex: number;
2529
+ /**
2530
+ * @description Transaction hash.
2531
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
2532
+ */
2533
+ txHash: string;
2534
+ logIndex: number;
2535
+ /** @description Transferred lender shares in raw Engine share units as an unsigned bigint decimal string. */
2536
+ sharesRaw: string;
2537
+ counterparty: string;
2538
+ } | {
2539
+ /** @enum {string} */
2540
+ kind: "transfer_out";
2541
+ /**
2542
+ * @description Stable subgraph row id for this action; unique per chain and safe to use as a client-side key or cursor anchor.
2543
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd-19
2544
+ */
2545
+ id: string;
2546
+ /**
2547
+ * @description Event block time in Unix seconds.
2548
+ * @example 1777990794
2549
+ */
2550
+ timestamp: number;
2551
+ blockNumber: number;
2552
+ /** @description Position of the transaction within its block; (blockNumber, transactionIndex, logIndex) is total on-chain execution order. */
2553
+ transactionIndex: number;
2554
+ /**
2555
+ * @description Transaction hash.
2556
+ * @example 0x07a181889d0fed6ef163066321bd6d43273fd2c2f7063ae60cd59fe355befbcd
2557
+ */
2558
+ txHash: string;
2559
+ logIndex: number;
2560
+ /** @description Transferred lender shares in raw Engine share units as an unsigned bigint decimal string. */
2561
+ sharesRaw: string;
2562
+ counterparty: string;
2563
+ })[];
2564
+ }[];
2565
+ totals: {
2566
+ vaultCount: number;
2567
+ lendMarketCount: number;
2568
+ vaultActionCount: number;
2569
+ lendActionCount: number;
2570
+ };
2571
+ freshness: {
2572
+ /** @enum {string} */
2573
+ source: "subgraph";
2574
+ /** @description Oldest indexed block across every subgraph page read; null when any page did not report a block. */
2575
+ blockNumber: number | null;
2576
+ };
2577
+ };
2578
+ /**
2579
+ * @description History window relative to now. Defaults to 30d.
2580
+ * @example 30d
2581
+ * @enum {string}
2582
+ */
2583
+ PriceHistoryWindow: "7d" | "30d" | "90d" | "180d";
2584
+ PricePoint: {
2585
+ /**
2586
+ * @description Start of the 12-hour UTC bucket, in Unix seconds.
2587
+ * @example 1784289600
2588
+ */
2589
+ t: number;
2590
+ /**
2591
+ * @description USD price recorded for that bucket.
2592
+ * @example 0.00167899
2593
+ */
2594
+ p: number;
2595
+ };
2596
+ PriceHistoryResponse: {
2597
+ /**
2598
+ * @description EVM chain ID. Any chain the price indexer covers.
2599
+ * @example 146
2600
+ */
2601
+ chainId: number;
2602
+ address: string;
2603
+ /**
2604
+ * @description Stored token symbol; null when the token has no history record.
2605
+ * @example WOOD
2606
+ */
2607
+ symbol: string | null;
2608
+ /** @enum {string} */
2609
+ resolution: "12h";
2610
+ /**
2611
+ * @description History window relative to now. Defaults to 30d.
2612
+ * @example 30d
2613
+ * @enum {string}
2614
+ */
2615
+ window: "7d" | "30d" | "90d" | "180d";
2616
+ /**
2617
+ * @description ready = at least two points in the window; warming_up = exactly one; no_data = none.
2618
+ * @example warming_up
2619
+ * @enum {string}
2620
+ */
2621
+ status: "ready" | "warming_up" | "no_data";
2622
+ points: {
2623
+ /**
2624
+ * @description Start of the 12-hour UTC bucket, in Unix seconds.
2625
+ * @example 1784289600
2626
+ */
2627
+ t: number;
2628
+ /**
2629
+ * @description USD price recorded for that bucket.
2630
+ * @example 0.00167899
2631
+ */
2632
+ p: number;
2633
+ }[];
2634
+ pointCount: number;
2635
+ /**
2636
+ * Format: date-time
2637
+ * @description When the history record was last written; null without a record.
2638
+ * @example 2026-06-19T11:31:32.964Z
2639
+ */
2640
+ updatedAt: string | null;
2641
+ };
2642
+ /**
2643
+ * @description History window relative to now. Defaults to 30d.
2644
+ * @example 30d
2645
+ * @enum {string}
2646
+ */
2647
+ EngineHistoryWindow: "7d" | "30d" | "60d";
2648
+ EngineMetricPoint: {
2649
+ /**
2650
+ * @description Start of the 12-hour UTC bucket, in Unix seconds.
2651
+ * @example 1784289600
2652
+ */
2653
+ t: number;
2654
+ /**
2655
+ * Format: date-time
2656
+ * @description ISO block time (blockTimestamp) of the coherent read frame; carries millisecond precision.
2657
+ * @example 2026-06-19T11:31:32.964Z
2658
+ */
2659
+ observedAt: string;
2660
+ blockNumber: number;
2661
+ utilizationPct: number | null;
2662
+ borrowAprPct: number | null;
2663
+ lendApyPct: number | null;
2664
+ /** @description Per-second interest rate, WAD (÷1e18). */
2665
+ ratePerSecondWad: string | null;
2666
+ rateSource: string | null;
2667
+ /** @description IRM rate at 100% utilization. WAD per-second, same scale as ratePerSecondWad. */
2668
+ fullUtilizationRate: string | null;
2669
+ /** @description Lend share price, WAD (÷1e18). */
2670
+ sharePriceWad: string | null;
2671
+ suppliedUsd: number | null;
2672
+ borrowedUsd: number | null;
2673
+ availableToBorrowUsd: number | null;
2674
+ /** @description Dynamic base fee, ppm (fraction = ppm / 1e6). Shadow value under manualOverride. */
2675
+ baseFeePpm: number | null;
2676
+ /** @description Fee the pool actually charged, ppm. Fixed under manualOverride. */
2677
+ activeFeePpm: number | null;
2678
+ surgeFeePpm: number | null;
2679
+ feeSource: string | null;
2680
+ /** @description !manualOverride && surgeFeePpm > 0; not derived from inCapEvent. */
2681
+ surgeActive: boolean | null;
2682
+ inCapEvent: boolean | null;
2683
+ manualOverride: boolean | null;
2684
+ perSwapMode: boolean | null;
2685
+ /** @description Stable codes for any metric the writer could not read this frame (that field is null). */
2686
+ warnings: string[];
2687
+ };
2688
+ EngineMetricHistoryResponse: {
2689
+ /** @example evm_1_0xd0194ad1f57730361b93ecf8da86e18590bd5e1f64e4a35f3a5b5bd666e48ae1 */
2690
+ marketId: string;
2691
+ /** @enum {string} */
2692
+ resolution: "12h";
2693
+ /**
2694
+ * @description History window relative to now. Defaults to 30d.
2695
+ * @example 30d
2696
+ * @enum {string}
2697
+ */
2698
+ window: "7d" | "30d" | "60d";
2699
+ /**
2700
+ * @description ready = at least two points in the window; warming_up = exactly one; no_data = none.
2701
+ * @example ready
2702
+ * @enum {string}
2703
+ */
2704
+ status: "ready" | "warming_up" | "no_data";
2705
+ pointCount: number;
2706
+ points: {
2707
+ /**
2708
+ * @description Start of the 12-hour UTC bucket, in Unix seconds.
2709
+ * @example 1784289600
2710
+ */
2711
+ t: number;
2712
+ /**
2713
+ * Format: date-time
2714
+ * @description ISO block time (blockTimestamp) of the coherent read frame; carries millisecond precision.
2715
+ * @example 2026-06-19T11:31:32.964Z
2716
+ */
2717
+ observedAt: string;
2718
+ blockNumber: number;
2719
+ utilizationPct: number | null;
2720
+ borrowAprPct: number | null;
2721
+ lendApyPct: number | null;
2722
+ /** @description Per-second interest rate, WAD (÷1e18). */
2723
+ ratePerSecondWad: string | null;
2724
+ rateSource: string | null;
2725
+ /** @description IRM rate at 100% utilization. WAD per-second, same scale as ratePerSecondWad. */
2726
+ fullUtilizationRate: string | null;
2727
+ /** @description Lend share price, WAD (÷1e18). */
2728
+ sharePriceWad: string | null;
2729
+ suppliedUsd: number | null;
2730
+ borrowedUsd: number | null;
2731
+ availableToBorrowUsd: number | null;
2732
+ /** @description Dynamic base fee, ppm (fraction = ppm / 1e6). Shadow value under manualOverride. */
2733
+ baseFeePpm: number | null;
2734
+ /** @description Fee the pool actually charged, ppm. Fixed under manualOverride. */
2735
+ activeFeePpm: number | null;
2736
+ surgeFeePpm: number | null;
2737
+ feeSource: string | null;
2738
+ /** @description !manualOverride && surgeFeePpm > 0; not derived from inCapEvent. */
2739
+ surgeActive: boolean | null;
2740
+ inCapEvent: boolean | null;
2741
+ manualOverride: boolean | null;
2742
+ perSwapMode: boolean | null;
2743
+ /** @description Stable codes for any metric the writer could not read this frame (that field is null). */
2744
+ warnings: string[];
2745
+ }[];
2746
+ /**
2747
+ * Format: date-time
2748
+ * @description observedAt of the newest point; null when no_data.
2749
+ * @example 2026-06-19T11:31:32.964Z
2750
+ */
2751
+ updatedAt: string | null;
2752
+ };
2753
+ SwapQuoteRequest: ({
2754
+ /**
2755
+ * @example 130
2756
+ * @enum {integer}
2757
+ */
2758
+ chainId: 1 | 130 | 8453;
2759
+ /**
2760
+ * @example aegis-direct-v4
2761
+ * @enum {string}
2762
+ */
2763
+ provider: "aegis-direct-v4" | "kyber";
2764
+ marketId?: string;
2765
+ tokenIn: string;
2766
+ tokenOut: string;
2767
+ /** @default 100 */
2768
+ slippageBps: number;
2769
+ account?: string | null;
2770
+ /** @enum {string} */
2771
+ mode: "exactIn";
2772
+ /** @description Raw integer token amount in tokenIn base units. */
2773
+ amountIn: string;
2774
+ } & {
2775
+ [key: string]: unknown;
2776
+ }) | ({
2777
+ /**
2778
+ * @example 130
2779
+ * @enum {integer}
2780
+ */
2781
+ chainId: 1 | 130 | 8453;
2782
+ /**
2783
+ * @example aegis-direct-v4
2784
+ * @enum {string}
2785
+ */
2786
+ provider: "aegis-direct-v4" | "kyber";
2787
+ marketId?: string;
2788
+ tokenIn: string;
2789
+ tokenOut: string;
2790
+ /** @default 100 */
2791
+ slippageBps: number;
2792
+ account?: string | null;
2793
+ /** @enum {string} */
2794
+ mode: "exactOut";
2795
+ /** @description Raw integer token amount in tokenOut base units. */
2796
+ amountOut: string;
2797
+ } & {
2798
+ [key: string]: unknown;
2799
+ });
2800
+ SwapQuoteResponse: {
2801
+ /** @enum {boolean} */
2802
+ indicative: true;
2803
+ /** @enum {boolean} */
2804
+ executable: false;
2805
+ /** @enum {string} */
2806
+ provider: "aegis-direct-v4";
2807
+ marketId: string;
2808
+ /** @enum {string} */
2809
+ mode: "exactIn";
2810
+ tokenIn: string;
2811
+ tokenOut: string;
2812
+ amountIn: string;
2813
+ amountOut: string;
2814
+ minAmountOut: string;
2815
+ price: number;
2816
+ slippageBps: number;
2817
+ fee: {
2818
+ /** @enum {number} */
2819
+ outputFeeBps: 50;
2820
+ /** @enum {string} */
2821
+ recipient: "0x8ea2C7de60ef1Cd4dcE64ea2DDDe2f99F0127eFC";
2822
+ };
2823
+ /**
2824
+ * Format: date-time
2825
+ * @example 2026-06-19T11:31:32.964Z
2826
+ */
2827
+ asOf: string;
2828
+ warnings: string[];
2829
+ };
2830
+ OpenApiDocument: {
2831
+ openapi: string;
2832
+ info: {
2833
+ [key: string]: unknown;
2834
+ };
2835
+ paths: {
2836
+ [key: string]: unknown;
2837
+ };
2838
+ } & {
2839
+ [key: string]: unknown;
2840
+ };
2841
+ };
2842
+ responses: {
2843
+ /** @description Missing or invalid request parameters */
2844
+ BadRequest: {
2845
+ headers: {
2846
+ [name: string]: unknown;
2847
+ };
2848
+ content: {
2849
+ "application/json": components["schemas"]["ErrorResponse"];
2850
+ };
2851
+ };
2852
+ /** @description Requested resource was not found */
2853
+ NotFound: {
2854
+ headers: {
2855
+ [name: string]: unknown;
2856
+ };
2857
+ content: {
2858
+ "application/json": components["schemas"]["ErrorResponse"];
2859
+ };
2860
+ };
2861
+ /** @description Server error */
2862
+ ServerError: {
2863
+ headers: {
2864
+ [name: string]: unknown;
2865
+ };
2866
+ content: {
2867
+ "application/json": components["schemas"]["ServerErrorResponse"];
2868
+ };
2869
+ };
519
2870
  };
520
2871
  parameters: {
521
2872
  /**
@@ -528,6 +2879,41 @@ export interface components {
528
2879
  * @example 0x078d782b760474a361dda0af3839290b0ef57ad6,0x83f31af747189c2fa9e5deb253200c505eff6ed2
529
2880
  */
530
2881
  AddressesQuery: string;
2882
+ /**
2883
+ * @description Wallet address whose Engine positions should be returned.
2884
+ * @example 0x8a5c4fa037a583b057be7a46e7e94ec496702f25
2885
+ */
2886
+ AccountQuery: string;
2887
+ /**
2888
+ * @description Wallet address whose Engine activity ledger should be returned — every vault and lend action the account has made, including burned vaults and fully withdrawn lend positions.
2889
+ * @example 0x8a5c4fa037a583b057be7a46e7e94ec496702f25
2890
+ */
2891
+ ActivityAccountQuery: string;
2892
+ /**
2893
+ * @description EVM chain ID path parameter. Any chain the price indexer covers. JSON response bodies use numeric chainId values.
2894
+ * @example 146
2895
+ */
2896
+ ChainIdPath: string;
2897
+ /**
2898
+ * @description EVM token address. Matching is case-insensitive; native ETH history is stored under the zero address.
2899
+ * @example 0x670afdd7226e73d3cc55b5cd83933e46af22decd
2900
+ */
2901
+ TokenAddressPath: string;
2902
+ /**
2903
+ * @description History window relative to now. Defaults to 30d.
2904
+ * @example 30d
2905
+ */
2906
+ PriceHistoryWindowQuery: components["schemas"]["PriceHistoryWindow"];
2907
+ /**
2908
+ * @description Canonical Engine market id, e.g. evm_1_0x…. Case-sensitive — pass the id from GET /v1/engine/markets verbatim (do not lowercase).
2909
+ * @example evm_1_0xd0194ad1f57730361b93ecf8da86e18590bd5e1f64e4a35f3a5b5bd666e48ae1
2910
+ */
2911
+ EngineMarketIdPath: string;
2912
+ /**
2913
+ * @description History window relative to now. Defaults to 30d.
2914
+ * @example 30d
2915
+ */
2916
+ EngineHistoryWindowQuery: components["schemas"]["EngineHistoryWindow"];
531
2917
  };
532
2918
  requestBodies: never;
533
2919
  headers: never;
@@ -640,6 +3026,79 @@ export interface operations {
640
3026
  500: components["responses"]["ServerError"];
641
3027
  };
642
3028
  };
3029
+ getTokenPriceHistory: {
3030
+ parameters: {
3031
+ query?: {
3032
+ /**
3033
+ * @description History window relative to now. Defaults to 30d.
3034
+ * @example 30d
3035
+ */
3036
+ window?: components["parameters"]["PriceHistoryWindowQuery"];
3037
+ };
3038
+ header?: never;
3039
+ path: {
3040
+ /**
3041
+ * @description EVM chain ID path parameter. Any chain the price indexer covers. JSON response bodies use numeric chainId values.
3042
+ * @example 146
3043
+ */
3044
+ chainId: components["parameters"]["ChainIdPath"];
3045
+ /**
3046
+ * @description EVM token address. Matching is case-insensitive; native ETH history is stored under the zero address.
3047
+ * @example 0x670afdd7226e73d3cc55b5cd83933e46af22decd
3048
+ */
3049
+ address: components["parameters"]["TokenAddressPath"];
3050
+ };
3051
+ cookie?: never;
3052
+ };
3053
+ requestBody?: never;
3054
+ responses: {
3055
+ /** @description Token price history */
3056
+ 200: {
3057
+ headers: {
3058
+ [name: string]: unknown;
3059
+ };
3060
+ content: {
3061
+ "application/json": components["schemas"]["PriceHistoryResponse"];
3062
+ };
3063
+ };
3064
+ 400: components["responses"]["BadRequest"];
3065
+ 500: components["responses"]["ServerError"];
3066
+ };
3067
+ };
3068
+ getEngineMarketHistory: {
3069
+ parameters: {
3070
+ query?: {
3071
+ /**
3072
+ * @description History window relative to now. Defaults to 30d.
3073
+ * @example 30d
3074
+ */
3075
+ window?: components["parameters"]["EngineHistoryWindowQuery"];
3076
+ };
3077
+ header?: never;
3078
+ path: {
3079
+ /**
3080
+ * @description Canonical Engine market id, e.g. evm_1_0x…. Case-sensitive — pass the id from GET /v1/engine/markets verbatim (do not lowercase).
3081
+ * @example evm_1_0xd0194ad1f57730361b93ecf8da86e18590bd5e1f64e4a35f3a5b5bd666e48ae1
3082
+ */
3083
+ marketId: components["parameters"]["EngineMarketIdPath"];
3084
+ };
3085
+ cookie?: never;
3086
+ };
3087
+ requestBody?: never;
3088
+ responses: {
3089
+ /** @description Engine metric history */
3090
+ 200: {
3091
+ headers: {
3092
+ [name: string]: unknown;
3093
+ };
3094
+ content: {
3095
+ "application/json": components["schemas"]["EngineMetricHistoryResponse"];
3096
+ };
3097
+ };
3098
+ 400: components["responses"]["BadRequest"];
3099
+ 500: components["responses"]["ServerError"];
3100
+ };
3101
+ };
643
3102
  listMarkets: {
644
3103
  parameters: {
645
3104
  query: {
@@ -668,6 +3127,133 @@ export interface operations {
668
3127
  500: components["responses"]["ServerError"];
669
3128
  };
670
3129
  };
3130
+ listEngineMarkets: {
3131
+ parameters: {
3132
+ query: {
3133
+ /**
3134
+ * @description EVM chain ID as a string query parameter. JSON response bodies use numeric chainId values.
3135
+ * @example 130
3136
+ */
3137
+ chainId: components["parameters"]["ChainIdQuery"];
3138
+ };
3139
+ header?: never;
3140
+ path?: never;
3141
+ cookie?: never;
3142
+ };
3143
+ requestBody?: never;
3144
+ responses: {
3145
+ /** @description Engine markets */
3146
+ 200: {
3147
+ headers: {
3148
+ [name: string]: unknown;
3149
+ };
3150
+ content: {
3151
+ "application/json": components["schemas"]["EngineMarketsResponse"];
3152
+ };
3153
+ };
3154
+ 400: components["responses"]["BadRequest"];
3155
+ 500: components["responses"]["ServerError"];
3156
+ };
3157
+ };
3158
+ listEnginePositions: {
3159
+ parameters: {
3160
+ query: {
3161
+ /**
3162
+ * @description EVM chain ID as a string query parameter. JSON response bodies use numeric chainId values.
3163
+ * @example 130
3164
+ */
3165
+ chainId: components["parameters"]["ChainIdQuery"];
3166
+ /**
3167
+ * @description Wallet address whose Engine positions should be returned.
3168
+ * @example 0x8a5c4fa037a583b057be7a46e7e94ec496702f25
3169
+ */
3170
+ account: components["parameters"]["AccountQuery"];
3171
+ };
3172
+ header?: never;
3173
+ path?: never;
3174
+ cookie?: never;
3175
+ };
3176
+ requestBody?: never;
3177
+ responses: {
3178
+ /** @description Engine wallet positions */
3179
+ 200: {
3180
+ headers: {
3181
+ [name: string]: unknown;
3182
+ };
3183
+ content: {
3184
+ "application/json": components["schemas"]["EnginePositionsResponse"];
3185
+ };
3186
+ };
3187
+ 400: components["responses"]["BadRequest"];
3188
+ 500: components["responses"]["ServerError"];
3189
+ };
3190
+ };
3191
+ listEnginePositionsV2: {
3192
+ parameters: {
3193
+ query: {
3194
+ /**
3195
+ * @description EVM chain ID as a string query parameter. JSON response bodies use numeric chainId values.
3196
+ * @example 130
3197
+ */
3198
+ chainId: components["parameters"]["ChainIdQuery"];
3199
+ /**
3200
+ * @description Wallet address whose Engine positions should be returned.
3201
+ * @example 0x8a5c4fa037a583b057be7a46e7e94ec496702f25
3202
+ */
3203
+ account: components["parameters"]["AccountQuery"];
3204
+ };
3205
+ header?: never;
3206
+ path?: never;
3207
+ cookie?: never;
3208
+ };
3209
+ requestBody?: never;
3210
+ responses: {
3211
+ /** @description Engine wallet borrow and lend positions */
3212
+ 200: {
3213
+ headers: {
3214
+ [name: string]: unknown;
3215
+ };
3216
+ content: {
3217
+ "application/json": components["schemas"]["EnginePositionsV2Response"];
3218
+ };
3219
+ };
3220
+ 400: components["responses"]["BadRequest"];
3221
+ 500: components["responses"]["ServerError"];
3222
+ };
3223
+ };
3224
+ listEnginePositionActivity: {
3225
+ parameters: {
3226
+ query: {
3227
+ /**
3228
+ * @description EVM chain ID as a string query parameter. JSON response bodies use numeric chainId values.
3229
+ * @example 130
3230
+ */
3231
+ chainId: components["parameters"]["ChainIdQuery"];
3232
+ /**
3233
+ * @description Wallet address whose Engine activity ledger should be returned — every vault and lend action the account has made, including burned vaults and fully withdrawn lend positions.
3234
+ * @example 0x8a5c4fa037a583b057be7a46e7e94ec496702f25
3235
+ */
3236
+ account: components["parameters"]["ActivityAccountQuery"];
3237
+ };
3238
+ header?: never;
3239
+ path?: never;
3240
+ cookie?: never;
3241
+ };
3242
+ requestBody?: never;
3243
+ responses: {
3244
+ /** @description Engine wallet position activity */
3245
+ 200: {
3246
+ headers: {
3247
+ [name: string]: unknown;
3248
+ };
3249
+ content: {
3250
+ "application/json": components["schemas"]["EngineActivityResponse"];
3251
+ };
3252
+ };
3253
+ 400: components["responses"]["BadRequest"];
3254
+ 500: components["responses"]["ServerError"];
3255
+ };
3256
+ };
671
3257
  createIndicativeSwapQuote: {
672
3258
  parameters: {
673
3259
  query?: never;