@clawdvault/sdk 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -2,316 +2,1513 @@ import { PublicKey, Transaction, VersionedTransaction, Keypair } from '@solana/w
2
2
  export { Keypair, PublicKey } from '@solana/web3.js';
3
3
 
4
4
  /**
5
- * ClawdVault API Types
6
- * Generated from OpenAPI spec
5
+ * This file was auto-generated by openapi-typescript.
6
+ * Do not make direct changes to the file.
7
7
  */
8
- interface Token {
9
- mint: string;
10
- name: string;
11
- symbol: string;
12
- description?: string;
13
- image?: string;
14
- creator: string;
15
- creator_name?: string;
16
- price_sol: number;
17
- market_cap_sol: number;
18
- volume_24h?: number;
19
- virtual_sol_reserves: number;
20
- virtual_token_reserves: number;
21
- real_sol_reserves: number;
22
- real_token_reserves: number;
23
- graduated: boolean;
24
- migrated_to_raydium: boolean;
25
- twitter?: string;
26
- telegram?: string;
27
- website?: string;
28
- created_at: string;
29
- }
30
- interface Trade {
31
- id: string;
32
- type: 'buy' | 'sell';
33
- sol_amount: number;
34
- token_amount: number;
35
- price: number;
36
- trader: string;
37
- signature: string;
38
- created_at: string;
39
- }
40
- interface ChatMessage {
41
- id: string;
42
- wallet: string;
43
- username?: string;
44
- message: string;
45
- reply_to?: string;
46
- reactions: Record<string, string[]>;
47
- created_at: string;
48
- }
49
- interface UserProfile {
50
- wallet: string;
51
- username?: string;
52
- avatar?: string;
53
- created_at: string;
54
- }
55
- interface PrepareCreateRequest {
56
- creator: string;
57
- name: string;
58
- symbol: string;
59
- initialBuy?: number;
60
- }
61
- interface ExecuteCreateRequest {
62
- signedTransaction: string;
63
- mint: string;
64
- creator: string;
65
- name: string;
66
- symbol: string;
67
- description?: string;
68
- image?: string;
69
- twitter?: string;
70
- telegram?: string;
71
- website?: string;
72
- }
73
- interface PrepareTradeRequest {
74
- mint: string;
75
- type: 'buy' | 'sell';
76
- amount: number;
77
- wallet: string;
78
- slippage?: number;
79
- }
80
- interface ExecuteTradeRequest {
81
- signedTransaction: string;
82
- mint: string;
83
- type: 'buy' | 'sell';
84
- wallet: string;
85
- }
86
- interface JupiterSwapRequest {
87
- mint: string;
88
- action: 'buy' | 'sell';
89
- amount: string;
90
- userPublicKey: string;
91
- slippageBps?: number;
92
- }
93
- interface JupiterExecuteRequest {
94
- mint: string;
95
- signedTransaction: string;
96
- type: 'buy' | 'sell';
97
- wallet: string;
98
- solAmount?: number;
99
- tokenAmount?: number;
100
- }
101
- interface SendChatRequest {
102
- mint: string;
103
- message: string;
104
- replyTo?: string;
105
- }
106
- interface UpdateProfileRequest {
107
- username?: string;
108
- avatar?: string;
109
- }
110
- interface PrepareCreateResponse {
111
- success: boolean;
112
- transaction: string;
113
- mint: string;
114
- programId: string;
115
- network: string;
116
- initialBuy?: {
117
- sol: number;
118
- estimatedTokens: number;
8
+ interface paths {
9
+ "/token/prepare-create": {
10
+ parameters: {
11
+ query?: never;
12
+ header?: never;
13
+ path?: never;
14
+ cookie?: never;
15
+ };
16
+ get?: never;
17
+ put?: never;
18
+ /**
19
+ * Prepare token creation
20
+ * @description Step 1: Prepare a token creation transaction. Returns a partially-signed
21
+ * transaction (mint keypair already signed). Sign with your wallet, then call execute-create.
22
+ */
23
+ post: {
24
+ parameters: {
25
+ query?: never;
26
+ header?: never;
27
+ path?: never;
28
+ cookie?: never;
29
+ };
30
+ requestBody: {
31
+ content: {
32
+ "application/json": {
33
+ /**
34
+ * @description Creator wallet address
35
+ * @example 7b9191rMLP8yZaKYudWiFtFZwtaEYX5Tyy2hZeEKDyWq
36
+ */
37
+ creator: string;
38
+ /** @example Crab Token */
39
+ name: string;
40
+ /** @example CRAB */
41
+ symbol: string;
42
+ /**
43
+ * @description Initial buy amount in SOL (optional)
44
+ * @example 0.5
45
+ */
46
+ initialBuy?: number;
47
+ };
48
+ };
49
+ };
50
+ responses: {
51
+ /** @description Transaction prepared */
52
+ 200: {
53
+ headers: {
54
+ [name: string]: unknown;
55
+ };
56
+ content: {
57
+ "application/json": {
58
+ success?: boolean;
59
+ /** @description Base64 partially-signed transaction */
60
+ transaction?: string;
61
+ /** @description New token mint address */
62
+ mint?: string;
63
+ /** @example GUyF2TVe32Cid4iGVt2F6wPYDhLSVmTUZBj2974outYM */
64
+ programId?: string;
65
+ /** @example mainnet-beta */
66
+ network?: string;
67
+ initialBuy?: {
68
+ sol?: number;
69
+ estimatedTokens?: number;
70
+ };
71
+ };
72
+ };
73
+ };
74
+ };
75
+ };
76
+ delete?: never;
77
+ options?: never;
78
+ head?: never;
79
+ patch?: never;
80
+ trace?: never;
119
81
  };
120
- }
121
- interface ExecuteCreateResponse {
122
- success: boolean;
123
- signature: string;
124
- mint: string;
125
- token: Token;
126
- explorer: string;
127
- }
128
- interface TokenListResponse {
129
- tokens: Token[];
130
- total: number;
131
- page: number;
132
- per_page: number;
133
- }
134
- interface TokenDetailResponse {
135
- token: Token;
136
- trades: Trade[];
137
- }
138
- interface QuoteResponse {
139
- input: number;
140
- output: number;
141
- price_impact: number;
142
- fee: number;
143
- current_price: number;
144
- }
145
- interface PrepareTradeResponse {
146
- success: boolean;
147
- transaction: string;
148
- type: string;
149
- input: {
150
- sol?: number;
151
- fee?: number;
152
- tokens?: number;
82
+ "/token/execute-create": {
83
+ parameters: {
84
+ query?: never;
85
+ header?: never;
86
+ path?: never;
87
+ cookie?: never;
88
+ };
89
+ get?: never;
90
+ put?: never;
91
+ /**
92
+ * Execute token creation
93
+ * @description Step 2: Submit the signed transaction and create database record.
94
+ */
95
+ post: {
96
+ parameters: {
97
+ query?: never;
98
+ header?: never;
99
+ path?: never;
100
+ cookie?: never;
101
+ };
102
+ requestBody: {
103
+ content: {
104
+ "application/json": {
105
+ /** @description Base64 signed transaction */
106
+ signedTransaction: string;
107
+ mint: string;
108
+ creator: string;
109
+ name: string;
110
+ symbol: string;
111
+ description?: string;
112
+ /** Format: uri */
113
+ image?: string;
114
+ twitter?: string;
115
+ telegram?: string;
116
+ website?: string;
117
+ };
118
+ };
119
+ };
120
+ responses: {
121
+ /** @description Token created */
122
+ 200: {
123
+ headers: {
124
+ [name: string]: unknown;
125
+ };
126
+ content: {
127
+ "application/json": {
128
+ success?: boolean;
129
+ signature?: string;
130
+ mint?: string;
131
+ token?: components["schemas"]["Token"];
132
+ /** Format: uri */
133
+ explorer?: string;
134
+ };
135
+ };
136
+ };
137
+ };
138
+ };
139
+ delete?: never;
140
+ options?: never;
141
+ head?: never;
142
+ patch?: never;
143
+ trace?: never;
153
144
  };
154
- output: {
155
- tokens?: number;
156
- minTokens?: number;
157
- sol?: number;
158
- minSol?: number;
145
+ "/tokens": {
146
+ parameters: {
147
+ query?: never;
148
+ header?: never;
149
+ path?: never;
150
+ cookie?: never;
151
+ };
152
+ /** List all tokens */
153
+ get: {
154
+ parameters: {
155
+ query?: {
156
+ sort?: "created_at" | "market_cap" | "volume" | "price";
157
+ page?: number;
158
+ limit?: number;
159
+ /** @description Filter by graduation status */
160
+ graduated?: boolean;
161
+ };
162
+ header?: never;
163
+ path?: never;
164
+ cookie?: never;
165
+ };
166
+ requestBody?: never;
167
+ responses: {
168
+ /** @description Token list */
169
+ 200: {
170
+ headers: {
171
+ [name: string]: unknown;
172
+ };
173
+ content: {
174
+ "application/json": {
175
+ tokens?: components["schemas"]["Token"][];
176
+ total?: number;
177
+ page?: number;
178
+ per_page?: number;
179
+ };
180
+ };
181
+ };
182
+ };
183
+ };
184
+ put?: never;
185
+ post?: never;
186
+ delete?: never;
187
+ options?: never;
188
+ head?: never;
189
+ patch?: never;
190
+ trace?: never;
159
191
  };
160
- priceImpact: number;
161
- currentPrice: number;
162
- onChain: boolean;
163
- }
164
- interface ExecuteTradeResponse {
165
- success: boolean;
166
- signature: string;
167
- explorer: string;
168
- slot: number;
169
- blockTime: number;
170
- trade: {
171
- id: string;
172
- mint: string;
173
- trader: string;
174
- type: string;
175
- solAmount: number;
176
- tokenAmount: number;
177
- protocolFee: number;
178
- creatorFee: number;
192
+ "/tokens/{mint}": {
193
+ parameters: {
194
+ query?: never;
195
+ header?: never;
196
+ path?: never;
197
+ cookie?: never;
198
+ };
199
+ /** Get token details */
200
+ get: {
201
+ parameters: {
202
+ query?: never;
203
+ header?: never;
204
+ path: {
205
+ mint: string;
206
+ };
207
+ cookie?: never;
208
+ };
209
+ requestBody?: never;
210
+ responses: {
211
+ /** @description Token details with recent trades */
212
+ 200: {
213
+ headers: {
214
+ [name: string]: unknown;
215
+ };
216
+ content: {
217
+ "application/json": {
218
+ token?: components["schemas"]["Token"];
219
+ trades?: components["schemas"]["Trade"][];
220
+ };
221
+ };
222
+ };
223
+ };
224
+ };
225
+ put?: never;
226
+ post?: never;
227
+ delete?: never;
228
+ options?: never;
229
+ head?: never;
230
+ patch?: never;
231
+ trace?: never;
179
232
  };
180
- }
181
- interface TradeHistoryResponse {
182
- trades: Trade[];
183
- }
184
- interface CandleData {
185
- time: number;
186
- open: number;
187
- high: number;
188
- low: number;
189
- close: number;
190
- volume: number;
191
- }
192
- interface CandlesResponse {
193
- mint: string;
194
- interval: string;
195
- candles: CandleData[];
196
- }
197
- interface StatsResponse {
198
- success: boolean;
199
- mint: string;
200
- onChain: {
201
- totalSupply: number;
202
- bondingCurveBalance: number;
203
- circulatingSupply: number;
204
- bondingCurveSol: number;
205
- virtualSolReserves: number;
206
- virtualTokenReserves: number;
207
- price: number;
208
- marketCap: number;
209
- graduated: boolean;
233
+ "/metadata/{mint}": {
234
+ parameters: {
235
+ query?: never;
236
+ header?: never;
237
+ path?: never;
238
+ cookie?: never;
239
+ };
240
+ /**
241
+ * Get Metaplex metadata
242
+ * @description Returns Metaplex-compatible JSON for on-chain token URI.
243
+ */
244
+ get: {
245
+ parameters: {
246
+ query?: never;
247
+ header?: never;
248
+ path: {
249
+ mint: string;
250
+ };
251
+ cookie?: never;
252
+ };
253
+ requestBody?: never;
254
+ responses: {
255
+ /** @description Metaplex metadata */
256
+ 200: {
257
+ headers: {
258
+ [name: string]: unknown;
259
+ };
260
+ content: {
261
+ "application/json": {
262
+ name?: string;
263
+ symbol?: string;
264
+ description?: string;
265
+ image?: string;
266
+ };
267
+ };
268
+ };
269
+ };
270
+ };
271
+ put?: never;
272
+ post?: never;
273
+ delete?: never;
274
+ options?: never;
275
+ head?: never;
276
+ patch?: never;
277
+ trace?: never;
210
278
  };
211
- }
212
- interface HolderInfo {
213
- address: string;
214
- balance: number;
215
- percentage: number;
216
- label?: string;
217
- }
218
- interface HoldersResponse {
219
- holders: HolderInfo[];
220
- }
221
- interface BalanceResponse {
222
- balance: number;
223
- wallet: string;
224
- mint: string;
225
- }
226
- interface SolPriceResponse {
227
- price: number;
228
- valid: boolean;
229
- cached: boolean;
230
- source: string;
231
- age: number;
232
- }
233
- interface GraduationStatusResponse {
234
- success: boolean;
235
- data: {
236
- mint: string;
237
- graduated: boolean;
238
- migratedToRaydium: boolean;
239
- realSolReserves: string;
240
- realTokenReserves: string;
241
- canMigrate: boolean;
279
+ "/trade": {
280
+ parameters: {
281
+ query?: never;
282
+ header?: never;
283
+ path?: never;
284
+ cookie?: never;
285
+ };
286
+ /**
287
+ * Get price quote
288
+ * @description Preview a trade without executing. Returns expected output and price impact.
289
+ */
290
+ get: {
291
+ parameters: {
292
+ query: {
293
+ mint: string;
294
+ type: "buy" | "sell";
295
+ /** @description SOL for buy, tokens for sell */
296
+ amount: number;
297
+ };
298
+ header?: never;
299
+ path?: never;
300
+ cookie?: never;
301
+ };
302
+ requestBody?: never;
303
+ responses: {
304
+ /** @description Quote */
305
+ 200: {
306
+ headers: {
307
+ [name: string]: unknown;
308
+ };
309
+ content: {
310
+ "application/json": {
311
+ input?: number;
312
+ output?: number;
313
+ price_impact?: number;
314
+ fee?: number;
315
+ current_price?: number;
316
+ };
317
+ };
318
+ };
319
+ };
320
+ };
321
+ put?: never;
322
+ post?: never;
323
+ delete?: never;
324
+ options?: never;
325
+ head?: never;
326
+ patch?: never;
327
+ trace?: never;
242
328
  };
243
- }
244
- interface JupiterStatusResponse {
245
- success: boolean;
246
- mint: string;
247
- graduated: boolean;
248
- tradeEndpoint: string;
249
- }
250
- interface JupiterQuoteResponse {
251
- success: boolean;
252
- graduated: boolean;
253
- quote: {
254
- inputMint: string;
255
- outputMint: string;
256
- inAmount: string;
257
- outAmount: string;
258
- priceImpactPct: string;
259
- slippageBps: number;
329
+ "/trade/prepare": {
330
+ parameters: {
331
+ query?: never;
332
+ header?: never;
333
+ path?: never;
334
+ cookie?: never;
335
+ };
336
+ get?: never;
337
+ put?: never;
338
+ /**
339
+ * Prepare trade transaction
340
+ * @description Build an unsigned transaction for wallet signing.
341
+ */
342
+ post: {
343
+ parameters: {
344
+ query?: never;
345
+ header?: never;
346
+ path?: never;
347
+ cookie?: never;
348
+ };
349
+ requestBody: {
350
+ content: {
351
+ "application/json": {
352
+ mint: string;
353
+ /** @enum {string} */
354
+ type: "buy" | "sell";
355
+ /** @description SOL for buy, tokens for sell */
356
+ amount: number;
357
+ /** @description Your wallet address */
358
+ wallet: string;
359
+ /**
360
+ * @description Slippage tolerance (0.01 = 1%)
361
+ * @default 0.01
362
+ */
363
+ slippage?: number;
364
+ };
365
+ };
366
+ };
367
+ responses: {
368
+ /** @description Transaction prepared */
369
+ 200: {
370
+ headers: {
371
+ [name: string]: unknown;
372
+ };
373
+ content: {
374
+ "application/json": {
375
+ success?: boolean;
376
+ /** @description Base64 unsigned transaction */
377
+ transaction?: string;
378
+ type?: string;
379
+ input?: {
380
+ sol?: number;
381
+ fee?: number;
382
+ tokens?: number;
383
+ };
384
+ output?: {
385
+ tokens?: number;
386
+ minTokens?: number;
387
+ sol?: number;
388
+ minSol?: number;
389
+ };
390
+ priceImpact?: number;
391
+ currentPrice?: number;
392
+ onChain?: boolean;
393
+ };
394
+ };
395
+ };
396
+ /** @description Token graduated - use Jupiter endpoint */
397
+ 400: {
398
+ headers: {
399
+ [name: string]: unknown;
400
+ };
401
+ content: {
402
+ "application/json": {
403
+ success?: boolean;
404
+ graduated?: boolean;
405
+ error?: string;
406
+ redirectTo?: string;
407
+ };
408
+ };
409
+ };
410
+ };
411
+ };
412
+ delete?: never;
413
+ options?: never;
414
+ head?: never;
415
+ patch?: never;
416
+ trace?: never;
417
+ };
418
+ "/trade/execute": {
419
+ parameters: {
420
+ query?: never;
421
+ header?: never;
422
+ path?: never;
423
+ cookie?: never;
424
+ };
425
+ get?: never;
426
+ put?: never;
427
+ /**
428
+ * Execute signed trade
429
+ * @description Submit a signed transaction. Trade amounts are verified from on-chain
430
+ * TradeEvent logs (anti-spoof protection).
431
+ */
432
+ post: {
433
+ parameters: {
434
+ query?: never;
435
+ header?: never;
436
+ path?: never;
437
+ cookie?: never;
438
+ };
439
+ requestBody: {
440
+ content: {
441
+ "application/json": {
442
+ /** @description Base64 signed transaction */
443
+ signedTransaction: string;
444
+ mint: string;
445
+ /** @enum {string} */
446
+ type: "buy" | "sell";
447
+ wallet: string;
448
+ };
449
+ };
450
+ };
451
+ responses: {
452
+ /** @description Trade executed */
453
+ 200: {
454
+ headers: {
455
+ [name: string]: unknown;
456
+ };
457
+ content: {
458
+ "application/json": {
459
+ success?: boolean;
460
+ signature?: string;
461
+ /** Format: uri */
462
+ explorer?: string;
463
+ slot?: number;
464
+ blockTime?: number;
465
+ /** @description Verified on-chain trade data */
466
+ trade?: {
467
+ id?: string;
468
+ mint?: string;
469
+ trader?: string;
470
+ type?: string;
471
+ solAmount?: number;
472
+ tokenAmount?: number;
473
+ protocolFee?: number;
474
+ creatorFee?: number;
475
+ };
476
+ };
477
+ };
478
+ };
479
+ };
480
+ };
481
+ delete?: never;
482
+ options?: never;
483
+ head?: never;
484
+ patch?: never;
485
+ trace?: never;
486
+ };
487
+ "/trades": {
488
+ parameters: {
489
+ query?: never;
490
+ header?: never;
491
+ path?: never;
492
+ cookie?: never;
493
+ };
494
+ /** Get trade history */
495
+ get: {
496
+ parameters: {
497
+ query: {
498
+ mint: string;
499
+ limit?: number;
500
+ /** @description Cursor for pagination */
501
+ before?: string;
502
+ };
503
+ header?: never;
504
+ path?: never;
505
+ cookie?: never;
506
+ };
507
+ requestBody?: never;
508
+ responses: {
509
+ /** @description Trade history */
510
+ 200: {
511
+ headers: {
512
+ [name: string]: unknown;
513
+ };
514
+ content: {
515
+ "application/json": {
516
+ trades?: components["schemas"]["Trade"][];
517
+ };
518
+ };
519
+ };
520
+ };
521
+ };
522
+ put?: never;
523
+ post?: never;
524
+ delete?: never;
525
+ options?: never;
526
+ head?: never;
527
+ patch?: never;
528
+ trace?: never;
529
+ };
530
+ "/candles": {
531
+ parameters: {
532
+ query?: never;
533
+ header?: never;
534
+ path?: never;
535
+ cookie?: never;
536
+ };
537
+ /**
538
+ * Get OHLCV candles
539
+ * @description Returns candlestick data for charting. This is the recommended source
540
+ * of truth for price display. Use the last candle's `close` for current price.
541
+ */
542
+ get: {
543
+ parameters: {
544
+ query: {
545
+ mint: string;
546
+ interval?: "1m" | "5m" | "15m" | "1h" | "1d";
547
+ limit?: number;
548
+ };
549
+ header?: never;
550
+ path?: never;
551
+ cookie?: never;
552
+ };
553
+ requestBody?: never;
554
+ responses: {
555
+ /** @description Candle data */
556
+ 200: {
557
+ headers: {
558
+ [name: string]: unknown;
559
+ };
560
+ content: {
561
+ "application/json": {
562
+ mint?: string;
563
+ interval?: string;
564
+ candles?: {
565
+ /** @description Unix timestamp (seconds) */
566
+ time?: number;
567
+ open?: number;
568
+ high?: number;
569
+ low?: number;
570
+ close?: number;
571
+ /** @description Volume in SOL */
572
+ volume?: number;
573
+ }[];
574
+ };
575
+ };
576
+ };
577
+ };
578
+ };
579
+ put?: never;
580
+ post?: never;
581
+ delete?: never;
582
+ options?: never;
583
+ head?: never;
584
+ patch?: never;
585
+ trace?: never;
586
+ };
587
+ "/stats": {
588
+ parameters: {
589
+ query?: never;
590
+ header?: never;
591
+ path?: never;
592
+ cookie?: never;
593
+ };
594
+ /**
595
+ * Get on-chain stats
596
+ * @description Returns bonding curve state directly from Solana.
597
+ */
598
+ get: {
599
+ parameters: {
600
+ query: {
601
+ mint: string;
602
+ };
603
+ header?: never;
604
+ path?: never;
605
+ cookie?: never;
606
+ };
607
+ requestBody?: never;
608
+ responses: {
609
+ /** @description On-chain stats */
610
+ 200: {
611
+ headers: {
612
+ [name: string]: unknown;
613
+ };
614
+ content: {
615
+ "application/json": {
616
+ success?: boolean;
617
+ mint?: string;
618
+ onChain?: {
619
+ totalSupply?: number;
620
+ bondingCurveBalance?: number;
621
+ circulatingSupply?: number;
622
+ bondingCurveSol?: number;
623
+ virtualSolReserves?: number;
624
+ virtualTokenReserves?: number;
625
+ price?: number;
626
+ marketCap?: number;
627
+ graduated?: boolean;
628
+ };
629
+ };
630
+ };
631
+ };
632
+ };
633
+ };
634
+ put?: never;
635
+ post?: never;
636
+ delete?: never;
637
+ options?: never;
638
+ head?: never;
639
+ patch?: never;
640
+ trace?: never;
641
+ };
642
+ "/holders": {
643
+ parameters: {
644
+ query?: never;
645
+ header?: never;
646
+ path?: never;
647
+ cookie?: never;
648
+ };
649
+ /** Get top holders */
650
+ get: {
651
+ parameters: {
652
+ query: {
653
+ mint: string;
654
+ /** @description Creator address for labeling */
655
+ creator?: string;
656
+ };
657
+ header?: never;
658
+ path?: never;
659
+ cookie?: never;
660
+ };
661
+ requestBody?: never;
662
+ responses: {
663
+ /** @description Top holders */
664
+ 200: {
665
+ headers: {
666
+ [name: string]: unknown;
667
+ };
668
+ content: {
669
+ "application/json": {
670
+ holders?: {
671
+ address?: string;
672
+ balance?: number;
673
+ percentage?: number;
674
+ label?: string;
675
+ }[];
676
+ };
677
+ };
678
+ };
679
+ };
680
+ };
681
+ put?: never;
682
+ post?: never;
683
+ delete?: never;
684
+ options?: never;
685
+ head?: never;
686
+ patch?: never;
687
+ trace?: never;
688
+ };
689
+ "/balance": {
690
+ parameters: {
691
+ query?: never;
692
+ header?: never;
693
+ path?: never;
694
+ cookie?: never;
695
+ };
696
+ /** Get wallet token balance */
697
+ get: {
698
+ parameters: {
699
+ query: {
700
+ wallet: string;
701
+ mint: string;
702
+ };
703
+ header?: never;
704
+ path?: never;
705
+ cookie?: never;
706
+ };
707
+ requestBody?: never;
708
+ responses: {
709
+ /** @description Balance */
710
+ 200: {
711
+ headers: {
712
+ [name: string]: unknown;
713
+ };
714
+ content: {
715
+ "application/json": {
716
+ balance?: number;
717
+ wallet?: string;
718
+ mint?: string;
719
+ };
720
+ };
721
+ };
722
+ };
723
+ };
724
+ put?: never;
725
+ post?: never;
726
+ delete?: never;
727
+ options?: never;
728
+ head?: never;
729
+ patch?: never;
730
+ trace?: never;
731
+ };
732
+ "/sol-price": {
733
+ parameters: {
734
+ query?: never;
735
+ header?: never;
736
+ path?: never;
737
+ cookie?: never;
738
+ };
739
+ /**
740
+ * Get SOL/USD price
741
+ * @description Returns current SOL price (cached 60s).
742
+ */
743
+ get: {
744
+ parameters: {
745
+ query?: never;
746
+ header?: never;
747
+ path?: never;
748
+ cookie?: never;
749
+ };
750
+ requestBody?: never;
751
+ responses: {
752
+ /** @description SOL price */
753
+ 200: {
754
+ headers: {
755
+ [name: string]: unknown;
756
+ };
757
+ content: {
758
+ "application/json": {
759
+ price?: number;
760
+ valid?: boolean;
761
+ cached?: boolean;
762
+ source?: string;
763
+ /** @description Cache age in seconds */
764
+ age?: number;
765
+ };
766
+ };
767
+ };
768
+ };
769
+ };
770
+ put?: never;
771
+ post?: never;
772
+ delete?: never;
773
+ options?: never;
774
+ head?: never;
775
+ patch?: never;
776
+ trace?: never;
777
+ };
778
+ "/graduate": {
779
+ parameters: {
780
+ query?: never;
781
+ header?: never;
782
+ path?: never;
783
+ cookie?: never;
784
+ };
785
+ /**
786
+ * Check graduation status
787
+ * @description Check if a token has graduated to Raydium (120 SOL threshold).
788
+ */
789
+ get: {
790
+ parameters: {
791
+ query: {
792
+ mint: string;
793
+ };
794
+ header?: never;
795
+ path?: never;
796
+ cookie?: never;
797
+ };
798
+ requestBody?: never;
799
+ responses: {
800
+ /** @description Graduation status */
801
+ 200: {
802
+ headers: {
803
+ [name: string]: unknown;
804
+ };
805
+ content: {
806
+ "application/json": {
807
+ success?: boolean;
808
+ data?: {
809
+ mint?: string;
810
+ graduated?: boolean;
811
+ migratedToRaydium?: boolean;
812
+ realSolReserves?: string;
813
+ realTokenReserves?: string;
814
+ canMigrate?: boolean;
815
+ };
816
+ };
817
+ };
818
+ };
819
+ };
820
+ };
821
+ put?: never;
822
+ post?: never;
823
+ delete?: never;
824
+ options?: never;
825
+ head?: never;
826
+ patch?: never;
827
+ trace?: never;
828
+ };
829
+ "/trade/jupiter": {
830
+ parameters: {
831
+ query?: never;
832
+ header?: never;
833
+ path?: never;
834
+ cookie?: never;
835
+ };
836
+ /**
837
+ * Check Jupiter availability
838
+ * @description Check if a token should trade via Jupiter (graduated) or bonding curve.
839
+ */
840
+ get: {
841
+ parameters: {
842
+ query: {
843
+ mint: string;
844
+ };
845
+ header?: never;
846
+ path?: never;
847
+ cookie?: never;
848
+ };
849
+ requestBody?: never;
850
+ responses: {
851
+ /** @description Jupiter status */
852
+ 200: {
853
+ headers: {
854
+ [name: string]: unknown;
855
+ };
856
+ content: {
857
+ "application/json": {
858
+ success?: boolean;
859
+ mint?: string;
860
+ graduated?: boolean;
861
+ tradeEndpoint?: string;
862
+ };
863
+ };
864
+ };
865
+ };
866
+ };
867
+ put?: never;
868
+ /**
869
+ * Get Jupiter swap quote
870
+ * @description Get a Jupiter swap quote and transaction for graduated tokens.
871
+ * Returns a VersionedTransaction that must be signed by your wallet.
872
+ */
873
+ post: {
874
+ parameters: {
875
+ query?: never;
876
+ header?: never;
877
+ path?: never;
878
+ cookie?: never;
879
+ };
880
+ requestBody: {
881
+ content: {
882
+ "application/json": {
883
+ mint: string;
884
+ /** @enum {string} */
885
+ action: "buy" | "sell";
886
+ /** @description Lamports (buy) or token units (sell) */
887
+ amount: string;
888
+ userPublicKey: string;
889
+ /**
890
+ * @description Slippage in basis points (50 = 0.5%)
891
+ * @default 50
892
+ */
893
+ slippageBps?: number;
894
+ };
895
+ };
896
+ };
897
+ responses: {
898
+ /** @description Jupiter quote */
899
+ 200: {
900
+ headers: {
901
+ [name: string]: unknown;
902
+ };
903
+ content: {
904
+ "application/json": {
905
+ success?: boolean;
906
+ graduated?: boolean;
907
+ quote?: {
908
+ inputMint?: string;
909
+ outputMint?: string;
910
+ inAmount?: string;
911
+ outAmount?: string;
912
+ priceImpactPct?: string;
913
+ slippageBps?: number;
914
+ };
915
+ /** @description Base64 VersionedTransaction */
916
+ transaction?: string;
917
+ lastValidBlockHeight?: number;
918
+ };
919
+ };
920
+ };
921
+ };
922
+ };
923
+ delete?: never;
924
+ options?: never;
925
+ head?: never;
926
+ patch?: never;
927
+ trace?: never;
928
+ };
929
+ "/trade/jupiter/execute": {
930
+ parameters: {
931
+ query?: never;
932
+ header?: never;
933
+ path?: never;
934
+ cookie?: never;
935
+ };
936
+ get?: never;
937
+ put?: never;
938
+ /**
939
+ * Execute Jupiter swap
940
+ * @description Submit a signed Jupiter VersionedTransaction.
941
+ */
942
+ post: {
943
+ parameters: {
944
+ query?: never;
945
+ header?: never;
946
+ path?: never;
947
+ cookie?: never;
948
+ };
949
+ requestBody: {
950
+ content: {
951
+ "application/json": {
952
+ mint: string;
953
+ /** @description Base64 signed VersionedTransaction */
954
+ signedTransaction: string;
955
+ /** @enum {string} */
956
+ type: "buy" | "sell";
957
+ wallet: string;
958
+ solAmount?: number;
959
+ tokenAmount?: number;
960
+ };
961
+ };
962
+ };
963
+ responses: {
964
+ /** @description Trade executed */
965
+ 200: {
966
+ headers: {
967
+ [name: string]: unknown;
968
+ };
969
+ content: {
970
+ "application/json": {
971
+ success?: boolean;
972
+ signature?: string;
973
+ trade?: {
974
+ mint?: string;
975
+ type?: string;
976
+ solAmount?: number;
977
+ tokenAmount?: number;
978
+ };
979
+ message?: string;
980
+ };
981
+ };
982
+ };
983
+ };
984
+ };
985
+ delete?: never;
986
+ options?: never;
987
+ head?: never;
988
+ patch?: never;
989
+ trace?: never;
990
+ };
991
+ "/chat": {
992
+ parameters: {
993
+ query?: never;
994
+ header?: never;
995
+ path?: never;
996
+ cookie?: never;
997
+ };
998
+ /** Get chat messages */
999
+ get: {
1000
+ parameters: {
1001
+ query: {
1002
+ mint: string;
1003
+ limit?: number;
1004
+ before?: string;
1005
+ };
1006
+ header?: never;
1007
+ path?: never;
1008
+ cookie?: never;
1009
+ };
1010
+ requestBody?: never;
1011
+ responses: {
1012
+ /** @description Chat messages */
1013
+ 200: {
1014
+ headers: {
1015
+ [name: string]: unknown;
1016
+ };
1017
+ content: {
1018
+ "application/json": {
1019
+ messages?: components["schemas"]["ChatMessage"][];
1020
+ };
1021
+ };
1022
+ };
1023
+ };
1024
+ };
1025
+ put?: never;
1026
+ /**
1027
+ * Send chat message
1028
+ * @description Requires wallet signature or session token.
1029
+ */
1030
+ post: {
1031
+ parameters: {
1032
+ query?: never;
1033
+ header?: never;
1034
+ path?: never;
1035
+ cookie?: never;
1036
+ };
1037
+ requestBody: {
1038
+ content: {
1039
+ "application/json": {
1040
+ mint: string;
1041
+ message: string;
1042
+ /** @description Message ID to reply to */
1043
+ replyTo?: string;
1044
+ };
1045
+ };
1046
+ };
1047
+ responses: {
1048
+ /** @description Message sent */
1049
+ 200: {
1050
+ headers: {
1051
+ [name: string]: unknown;
1052
+ };
1053
+ content: {
1054
+ "application/json": {
1055
+ success?: boolean;
1056
+ message?: components["schemas"]["ChatMessage"];
1057
+ };
1058
+ };
1059
+ };
1060
+ };
1061
+ };
1062
+ delete?: never;
1063
+ options?: never;
1064
+ head?: never;
1065
+ patch?: never;
1066
+ trace?: never;
1067
+ };
1068
+ "/reactions": {
1069
+ parameters: {
1070
+ query?: never;
1071
+ header?: never;
1072
+ path?: never;
1073
+ cookie?: never;
1074
+ };
1075
+ get?: never;
1076
+ put?: never;
1077
+ /** Add reaction */
1078
+ post: {
1079
+ parameters: {
1080
+ query?: never;
1081
+ header?: never;
1082
+ path?: never;
1083
+ cookie?: never;
1084
+ };
1085
+ requestBody: {
1086
+ content: {
1087
+ "application/json": {
1088
+ messageId: string;
1089
+ emoji: string;
1090
+ };
1091
+ };
1092
+ };
1093
+ responses: {
1094
+ /** @description Reaction added */
1095
+ 200: {
1096
+ headers: {
1097
+ [name: string]: unknown;
1098
+ };
1099
+ content?: never;
1100
+ };
1101
+ };
1102
+ };
1103
+ /** Remove reaction */
1104
+ delete: {
1105
+ parameters: {
1106
+ query: {
1107
+ messageId: string;
1108
+ emoji: string;
1109
+ };
1110
+ header?: never;
1111
+ path?: never;
1112
+ cookie?: never;
1113
+ };
1114
+ requestBody?: never;
1115
+ responses: {
1116
+ /** @description Reaction removed */
1117
+ 200: {
1118
+ headers: {
1119
+ [name: string]: unknown;
1120
+ };
1121
+ content?: never;
1122
+ };
1123
+ };
1124
+ };
1125
+ options?: never;
1126
+ head?: never;
1127
+ patch?: never;
1128
+ trace?: never;
1129
+ };
1130
+ "/profile": {
1131
+ parameters: {
1132
+ query?: never;
1133
+ header?: never;
1134
+ path?: never;
1135
+ cookie?: never;
1136
+ };
1137
+ /** Get user profile */
1138
+ get: {
1139
+ parameters: {
1140
+ query: {
1141
+ wallet: string;
1142
+ };
1143
+ header?: never;
1144
+ path?: never;
1145
+ cookie?: never;
1146
+ };
1147
+ requestBody?: never;
1148
+ responses: {
1149
+ /** @description User profile */
1150
+ 200: {
1151
+ headers: {
1152
+ [name: string]: unknown;
1153
+ };
1154
+ content: {
1155
+ "application/json": components["schemas"]["UserProfile"];
1156
+ };
1157
+ };
1158
+ };
1159
+ };
1160
+ put?: never;
1161
+ /** Update profile */
1162
+ post: {
1163
+ parameters: {
1164
+ query?: never;
1165
+ header?: never;
1166
+ path?: never;
1167
+ cookie?: never;
1168
+ };
1169
+ requestBody: {
1170
+ content: {
1171
+ "application/json": {
1172
+ username?: string;
1173
+ /** Format: uri */
1174
+ avatar?: string;
1175
+ };
1176
+ };
1177
+ };
1178
+ responses: {
1179
+ /** @description Profile updated */
1180
+ 200: {
1181
+ headers: {
1182
+ [name: string]: unknown;
1183
+ };
1184
+ content?: never;
1185
+ };
1186
+ };
1187
+ };
1188
+ delete?: never;
1189
+ options?: never;
1190
+ head?: never;
1191
+ patch?: never;
1192
+ trace?: never;
1193
+ };
1194
+ "/auth/session": {
1195
+ parameters: {
1196
+ query?: never;
1197
+ header?: never;
1198
+ path?: never;
1199
+ cookie?: never;
1200
+ };
1201
+ /** Verify session token */
1202
+ get: {
1203
+ parameters: {
1204
+ query?: never;
1205
+ header?: never;
1206
+ path?: never;
1207
+ cookie?: never;
1208
+ };
1209
+ requestBody?: never;
1210
+ responses: {
1211
+ /** @description Session valid */
1212
+ 200: {
1213
+ headers: {
1214
+ [name: string]: unknown;
1215
+ };
1216
+ content: {
1217
+ "application/json": {
1218
+ valid?: boolean;
1219
+ wallet?: string;
1220
+ };
1221
+ };
1222
+ };
1223
+ };
1224
+ };
1225
+ put?: never;
1226
+ /**
1227
+ * Create session token
1228
+ * @description Exchange wallet signature for JWT session token.
1229
+ */
1230
+ post: {
1231
+ parameters: {
1232
+ query?: never;
1233
+ header?: never;
1234
+ path?: never;
1235
+ cookie?: never;
1236
+ };
1237
+ requestBody?: never;
1238
+ responses: {
1239
+ /** @description Session created */
1240
+ 200: {
1241
+ headers: {
1242
+ [name: string]: unknown;
1243
+ };
1244
+ content: {
1245
+ "application/json": {
1246
+ success?: boolean;
1247
+ token?: string;
1248
+ expiresIn?: number;
1249
+ wallet?: string;
1250
+ };
1251
+ };
1252
+ };
1253
+ };
1254
+ };
1255
+ delete?: never;
1256
+ options?: never;
1257
+ head?: never;
1258
+ patch?: never;
1259
+ trace?: never;
1260
+ };
1261
+ "/upload": {
1262
+ parameters: {
1263
+ query?: never;
1264
+ header?: never;
1265
+ path?: never;
1266
+ cookie?: never;
1267
+ };
1268
+ get?: never;
1269
+ put?: never;
1270
+ /**
1271
+ * Upload image
1272
+ * @description Upload an image for token creation.
1273
+ */
1274
+ post: {
1275
+ parameters: {
1276
+ query?: never;
1277
+ header?: never;
1278
+ path?: never;
1279
+ cookie?: never;
1280
+ };
1281
+ requestBody: {
1282
+ content: {
1283
+ "multipart/form-data": {
1284
+ /**
1285
+ * Format: binary
1286
+ * @description Image file (PNG, JPEG, GIF, WebP, max 5MB)
1287
+ */
1288
+ file?: string;
1289
+ };
1290
+ };
1291
+ };
1292
+ responses: {
1293
+ /** @description Image uploaded */
1294
+ 200: {
1295
+ headers: {
1296
+ [name: string]: unknown;
1297
+ };
1298
+ content: {
1299
+ "application/json": {
1300
+ success?: boolean;
1301
+ /** Format: uri */
1302
+ url?: string;
1303
+ filename?: string;
1304
+ };
1305
+ };
1306
+ };
1307
+ };
1308
+ };
1309
+ delete?: never;
1310
+ options?: never;
1311
+ head?: never;
1312
+ patch?: never;
1313
+ trace?: never;
1314
+ };
1315
+ "/network": {
1316
+ parameters: {
1317
+ query?: never;
1318
+ header?: never;
1319
+ path?: never;
1320
+ cookie?: never;
1321
+ };
1322
+ /**
1323
+ * Get network status
1324
+ * @description Returns network info and program status.
1325
+ */
1326
+ get: {
1327
+ parameters: {
1328
+ query?: never;
1329
+ header?: never;
1330
+ path?: never;
1331
+ cookie?: never;
1332
+ };
1333
+ requestBody?: never;
1334
+ responses: {
1335
+ /** @description Network status */
1336
+ 200: {
1337
+ headers: {
1338
+ [name: string]: unknown;
1339
+ };
1340
+ content: {
1341
+ "application/json": {
1342
+ network?: string;
1343
+ programId?: string;
1344
+ rpcUrl?: string;
1345
+ configInitialized?: boolean;
1346
+ };
1347
+ };
1348
+ };
1349
+ };
1350
+ };
1351
+ put?: never;
1352
+ post?: never;
1353
+ delete?: never;
1354
+ options?: never;
1355
+ head?: never;
1356
+ patch?: never;
1357
+ trace?: never;
260
1358
  };
261
- transaction: string;
262
- lastValidBlockHeight: number;
263
- }
264
- interface ChatMessagesResponse {
265
- messages: ChatMessage[];
266
- }
267
- interface SessionResponse {
268
- success: boolean;
269
- token: string;
270
- expiresIn: number;
271
- wallet: string;
272
- }
273
- interface SessionValidateResponse {
274
- valid: boolean;
275
- wallet: string;
276
- }
277
- interface UploadResponse {
278
- success: boolean;
279
- url: string;
280
- filename: string;
281
- }
282
- interface NetworkStatusResponse {
283
- network: string;
284
- programId: string;
285
- rpcUrl: string;
286
- configInitialized: boolean;
287
- }
288
- interface TokenListParams {
289
- sort?: 'created_at' | 'market_cap' | 'volume' | 'price';
290
- page?: number;
291
- limit?: number;
292
- graduated?: boolean;
293
- }
294
- interface QuoteParams {
295
- mint: string;
296
- type: 'buy' | 'sell';
297
- amount: number;
298
- }
299
- interface TradesParams {
300
- mint: string;
301
- limit?: number;
302
- before?: string;
303
- }
304
- interface CandlesParams {
305
- mint: string;
306
- interval?: '1m' | '5m' | '15m' | '1h' | '1d';
307
- limit?: number;
308
1359
  }
309
- interface ChatParams {
310
- mint: string;
311
- limit?: number;
312
- before?: string;
1360
+ interface components {
1361
+ schemas: {
1362
+ Token: {
1363
+ mint?: string;
1364
+ name?: string;
1365
+ symbol?: string;
1366
+ description?: string;
1367
+ image?: string;
1368
+ creator?: string;
1369
+ creator_name?: string;
1370
+ price_sol?: number;
1371
+ market_cap_sol?: number;
1372
+ volume_24h?: number;
1373
+ virtual_sol_reserves?: number;
1374
+ virtual_token_reserves?: number;
1375
+ real_sol_reserves?: number;
1376
+ real_token_reserves?: number;
1377
+ graduated?: boolean;
1378
+ migrated_to_raydium?: boolean;
1379
+ twitter?: string;
1380
+ telegram?: string;
1381
+ website?: string;
1382
+ /** Format: date-time */
1383
+ created_at?: string;
1384
+ };
1385
+ Trade: {
1386
+ id?: string;
1387
+ /** @enum {string} */
1388
+ type?: "buy" | "sell";
1389
+ sol_amount?: number;
1390
+ token_amount?: number;
1391
+ price?: number;
1392
+ trader?: string;
1393
+ signature?: string;
1394
+ /** Format: date-time */
1395
+ created_at?: string;
1396
+ };
1397
+ ChatMessage: {
1398
+ id?: string;
1399
+ wallet?: string;
1400
+ username?: string;
1401
+ message?: string;
1402
+ reply_to?: string;
1403
+ reactions?: {
1404
+ [key: string]: string[];
1405
+ };
1406
+ /** Format: date-time */
1407
+ created_at?: string;
1408
+ };
1409
+ UserProfile: {
1410
+ wallet?: string;
1411
+ username?: string;
1412
+ avatar?: string;
1413
+ /** Format: date-time */
1414
+ created_at?: string;
1415
+ };
1416
+ };
1417
+ responses: never;
1418
+ parameters: never;
1419
+ requestBodies: never;
1420
+ headers: never;
1421
+ pathItems: never;
313
1422
  }
314
1423
 
1424
+ /**
1425
+ * ClawdVault API Types
1426
+ * Generated from OpenAPI spec with helper types for SDK usage
1427
+ */
1428
+
1429
+ type Token = components['schemas']['Token'];
1430
+ type Trade = components['schemas']['Trade'];
1431
+ type ChatMessage = components['schemas']['ChatMessage'];
1432
+ type UserProfile = components['schemas']['UserProfile'];
1433
+ /** Extract JSON request body from a path operation */
1434
+ type RequestBody<T> = T extends {
1435
+ requestBody: {
1436
+ content: {
1437
+ 'application/json': infer B;
1438
+ };
1439
+ };
1440
+ } ? B : never;
1441
+ /** Extract JSON response body from a path operation's 200 response */
1442
+ type ResponseBody<T> = T extends {
1443
+ responses: {
1444
+ 200: {
1445
+ content: {
1446
+ 'application/json': infer R;
1447
+ };
1448
+ };
1449
+ };
1450
+ } ? R : never;
1451
+ /** Extract query parameters from a path operation (handles optional query) */
1452
+ type QueryParams<T> = T extends {
1453
+ parameters: {
1454
+ query?: infer Q;
1455
+ };
1456
+ } ? (Q extends undefined ? Record<string, never> : NonNullable<Q>) : T extends {
1457
+ parameters: {
1458
+ query: infer Q;
1459
+ };
1460
+ } ? Q : Record<string, never>;
1461
+ type PrepareCreateRequest = RequestBody<paths['/token/prepare-create']['post']>;
1462
+ type ExecuteCreateRequest = RequestBody<paths['/token/execute-create']['post']>;
1463
+ type PrepareTradeRequest = RequestBody<paths['/trade/prepare']['post']>;
1464
+ type ExecuteTradeRequest = RequestBody<paths['/trade/execute']['post']>;
1465
+ type JupiterSwapRequest = RequestBody<paths['/trade/jupiter']['post']>;
1466
+ type JupiterExecuteRequest = RequestBody<paths['/trade/jupiter/execute']['post']>;
1467
+ type SendChatRequest = RequestBody<paths['/chat']['post']>;
1468
+ type UpdateProfileRequest = RequestBody<paths['/profile']['post']>;
1469
+ type AddReactionRequest = RequestBody<paths['/reactions']['post']>;
1470
+ type PrepareCreateResponse = ResponseBody<paths['/token/prepare-create']['post']>;
1471
+ type ExecuteCreateResponse = ResponseBody<paths['/token/execute-create']['post']>;
1472
+ type TokenListResponse = ResponseBody<paths['/tokens']['get']>;
1473
+ type TokenDetailResponse = ResponseBody<paths['/tokens/{mint}']['get']>;
1474
+ type MetadataResponse = ResponseBody<paths['/metadata/{mint}']['get']>;
1475
+ type QuoteResponse = ResponseBody<paths['/trade']['get']>;
1476
+ type PrepareTradeResponse = ResponseBody<paths['/trade/prepare']['post']>;
1477
+ type ExecuteTradeResponse = ResponseBody<paths['/trade/execute']['post']>;
1478
+ type TradeHistoryResponse = ResponseBody<paths['/trades']['get']>;
1479
+ type CandlesResponse = ResponseBody<paths['/candles']['get']>;
1480
+ type StatsResponse = ResponseBody<paths['/stats']['get']>;
1481
+ type HoldersResponse = ResponseBody<paths['/holders']['get']>;
1482
+ type BalanceResponse = ResponseBody<paths['/balance']['get']>;
1483
+ type SolPriceResponse = ResponseBody<paths['/sol-price']['get']>;
1484
+ type GraduationStatusResponse = ResponseBody<paths['/graduate']['get']>;
1485
+ type JupiterStatusResponse = ResponseBody<paths['/trade/jupiter']['get']>;
1486
+ type JupiterQuoteResponse = ResponseBody<paths['/trade/jupiter']['post']>;
1487
+ type JupiterExecuteResponse = ResponseBody<paths['/trade/jupiter/execute']['post']>;
1488
+ type ChatMessagesResponse = ResponseBody<paths['/chat']['get']>;
1489
+ type SendChatResponse = ResponseBody<paths['/chat']['post']>;
1490
+ type SessionResponse = ResponseBody<paths['/auth/session']['post']>;
1491
+ type SessionValidateResponse = ResponseBody<paths['/auth/session']['get']>;
1492
+ type UploadResponse = ResponseBody<paths['/upload']['post']>;
1493
+ type NetworkStatusResponse = ResponseBody<paths['/network']['get']>;
1494
+ type TokenListParams = QueryParams<paths['/tokens']['get']>;
1495
+ type QuoteParams = QueryParams<paths['/trade']['get']>;
1496
+ type TradesParams = QueryParams<paths['/trades']['get']>;
1497
+ type CandlesParams = QueryParams<paths['/candles']['get']>;
1498
+ type ChatParams = QueryParams<paths['/chat']['get']>;
1499
+ /** Candle data point */
1500
+ type CandleData = NonNullable<CandlesResponse['candles']>[number];
1501
+ /** Holder information */
1502
+ type HolderInfo = NonNullable<HoldersResponse['holders']>[number];
1503
+ /** On-chain stats data */
1504
+ type OnChainStats = NonNullable<StatsResponse['onChain']>;
1505
+ /** Graduation data */
1506
+ type GraduationData = NonNullable<GraduationStatusResponse['data']>;
1507
+ /** Jupiter quote data */
1508
+ type JupiterQuote = NonNullable<JupiterQuoteResponse['quote']>;
1509
+ /** Verified trade data from execute response */
1510
+ type VerifiedTrade = NonNullable<ExecuteTradeResponse['trade']>;
1511
+
315
1512
  /**
316
1513
  * Solana Wallet Integration for ClawdVault SDK
317
1514
  * Supports both Keypair (CLI/server) and Phantom (browser) signing
@@ -384,8 +1581,9 @@ declare function signAndSerialize(transaction: string, // Base64 encoded
384
1581
  signer: WalletSigner): Promise<string>;
385
1582
  /**
386
1583
  * Create signature for authenticated API requests
1584
+ * Matches the format expected by ClawdVault API
387
1585
  */
388
- declare function createAuthSignature(signer: WalletSigner, payload: object): Promise<{
1586
+ declare function createAuthSignature(signer: WalletSigner, payload: object, action?: string): Promise<{
389
1587
  signature: string;
390
1588
  wallet: string;
391
1589
  }>;
@@ -427,7 +1625,7 @@ declare class ClawdVaultClient {
427
1625
  /**
428
1626
  * List tokens with optional filters
429
1627
  */
430
- listTokens(params?: TokenListParams): Promise<TokenListResponse>;
1628
+ listTokens(params?: Partial<TokenListParams>): Promise<TokenListResponse>;
431
1629
  /**
432
1630
  * Get token details
433
1631
  */
@@ -610,4 +1808,4 @@ declare function createClient(config?: ClawdVaultConfig): ClawdVaultClient;
610
1808
  declare const PROGRAM_ID = "GUyF2TVe32Cid4iGVt2F6wPYDhLSVmTUZBj2974outYM";
611
1809
  declare const DEFAULT_BASE_URL = "https://clawdvault.com/api";
612
1810
 
613
- export { type BalanceResponse, type CandleData, type CandlesParams, type CandlesResponse, type ChatMessage, type ChatMessagesResponse, type ChatParams, ClawdVaultClient, type ClawdVaultConfig, DEFAULT_BASE_URL, type ExecuteCreateRequest, type ExecuteCreateResponse, type ExecuteTradeRequest, type ExecuteTradeResponse, type GraduationStatusResponse, type HolderInfo, type HoldersResponse, type JupiterExecuteRequest, type JupiterQuoteResponse, type JupiterStatusResponse, type JupiterSwapRequest, KeypairSigner, type NetworkStatusResponse, PROGRAM_ID, PhantomSigner, type PhantomWallet, type PrepareCreateRequest, type PrepareCreateResponse, type PrepareTradeRequest, type PrepareTradeResponse, type QuoteParams, type QuoteResponse, type SendChatRequest, type SessionResponse, type SessionValidateResponse, type SolPriceResponse, type StatsResponse, type Token, type TokenDetailResponse, type TokenListParams, type TokenListResponse, type Trade, type TradeHistoryResponse, type TradesParams, type UpdateProfileRequest, type UploadResponse, type UserProfile, type WalletSigner, createAuthSignature, createClient, signAndSerialize, verifySignature };
1811
+ export { type AddReactionRequest, type BalanceResponse, type CandleData, type CandlesParams, type CandlesResponse, type ChatMessage, type ChatMessagesResponse, type ChatParams, ClawdVaultClient, type ClawdVaultConfig, DEFAULT_BASE_URL, type ExecuteCreateRequest, type ExecuteCreateResponse, type ExecuteTradeRequest, type ExecuteTradeResponse, type GraduationData, type GraduationStatusResponse, type HolderInfo, type HoldersResponse, type JupiterExecuteRequest, type JupiterExecuteResponse, type JupiterQuote, type JupiterQuoteResponse, type JupiterStatusResponse, type JupiterSwapRequest, KeypairSigner, type MetadataResponse, type NetworkStatusResponse, type OnChainStats, PROGRAM_ID, PhantomSigner, type PhantomWallet, type PrepareCreateRequest, type PrepareCreateResponse, type PrepareTradeRequest, type PrepareTradeResponse, type QuoteParams, type QuoteResponse, type SendChatRequest, type SendChatResponse, type SessionResponse, type SessionValidateResponse, type SolPriceResponse, type StatsResponse, type Token, type TokenDetailResponse, type TokenListParams, type TokenListResponse, type Trade, type TradeHistoryResponse, type TradesParams, type UpdateProfileRequest, type UploadResponse, type UserProfile, type VerifiedTrade, type WalletSigner, type components, createAuthSignature, createClient, type paths, signAndSerialize, verifySignature };