@privy-io/api-types 0.7.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/client.d.mts +39 -30
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +39 -30
  5. package/client.d.ts.map +1 -1
  6. package/client.js +9 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +9 -0
  9. package/client.mjs.map +1 -1
  10. package/internal/utils/env.js +2 -2
  11. package/internal/utils/env.js.map +1 -1
  12. package/internal/utils/env.mjs +2 -2
  13. package/internal/utils/env.mjs.map +1 -1
  14. package/package.json +1 -1
  15. package/resources/accounts.d.mts +79 -106
  16. package/resources/accounts.d.mts.map +1 -1
  17. package/resources/accounts.d.ts +79 -106
  18. package/resources/accounts.d.ts.map +1 -1
  19. package/resources/accounts.js.map +1 -1
  20. package/resources/accounts.mjs.map +1 -1
  21. package/resources/aggregations.d.mts +18 -392
  22. package/resources/aggregations.d.mts.map +1 -1
  23. package/resources/aggregations.d.ts +18 -392
  24. package/resources/aggregations.d.ts.map +1 -1
  25. package/resources/aggregations.js.map +1 -1
  26. package/resources/aggregations.mjs.map +1 -1
  27. package/resources/apps.d.mts +154 -71
  28. package/resources/apps.d.mts.map +1 -1
  29. package/resources/apps.d.ts +154 -71
  30. package/resources/apps.d.ts.map +1 -1
  31. package/resources/apps.js.map +1 -1
  32. package/resources/apps.mjs.map +1 -1
  33. package/resources/client-auth.d.mts +796 -427
  34. package/resources/client-auth.d.mts.map +1 -1
  35. package/resources/client-auth.d.ts +796 -427
  36. package/resources/client-auth.d.ts.map +1 -1
  37. package/resources/client-auth.js.map +1 -1
  38. package/resources/client-auth.mjs.map +1 -1
  39. package/resources/cross-app.d.mts +14 -13
  40. package/resources/cross-app.d.mts.map +1 -1
  41. package/resources/cross-app.d.ts +14 -13
  42. package/resources/cross-app.d.ts.map +1 -1
  43. package/resources/embedded-wallets.d.mts +167 -83
  44. package/resources/embedded-wallets.d.mts.map +1 -1
  45. package/resources/embedded-wallets.d.ts +167 -83
  46. package/resources/embedded-wallets.d.ts.map +1 -1
  47. package/resources/embedded-wallets.js.map +1 -1
  48. package/resources/embedded-wallets.mjs.map +1 -1
  49. package/resources/funding.d.mts +150 -64
  50. package/resources/funding.d.mts.map +1 -1
  51. package/resources/funding.d.ts +150 -64
  52. package/resources/funding.d.ts.map +1 -1
  53. package/resources/funding.js.map +1 -1
  54. package/resources/funding.mjs.map +1 -1
  55. package/resources/index.d.mts +18 -15
  56. package/resources/index.d.mts.map +1 -1
  57. package/resources/index.d.ts +18 -15
  58. package/resources/index.d.ts.map +1 -1
  59. package/resources/index.js +7 -1
  60. package/resources/index.js.map +1 -1
  61. package/resources/index.mjs +3 -0
  62. package/resources/index.mjs.map +1 -1
  63. package/resources/intents.d.mts +224 -1757
  64. package/resources/intents.d.mts.map +1 -1
  65. package/resources/intents.d.ts +224 -1757
  66. package/resources/intents.d.ts.map +1 -1
  67. package/resources/intents.js.map +1 -1
  68. package/resources/intents.mjs.map +1 -1
  69. package/resources/key-quorums.d.mts +74 -26
  70. package/resources/key-quorums.d.mts.map +1 -1
  71. package/resources/key-quorums.d.ts +74 -26
  72. package/resources/key-quorums.d.ts.map +1 -1
  73. package/resources/key-quorums.js +8 -8
  74. package/resources/key-quorums.js.map +1 -1
  75. package/resources/key-quorums.mjs +8 -8
  76. package/resources/key-quorums.mjs.map +1 -1
  77. package/resources/kraken-embed.d.mts +52 -1
  78. package/resources/kraken-embed.d.mts.map +1 -1
  79. package/resources/kraken-embed.d.ts +52 -1
  80. package/resources/kraken-embed.d.ts.map +1 -1
  81. package/resources/policies.d.mts +512 -992
  82. package/resources/policies.d.mts.map +1 -1
  83. package/resources/policies.d.ts +512 -992
  84. package/resources/policies.d.ts.map +1 -1
  85. package/resources/policies.js +48 -41
  86. package/resources/policies.js.map +1 -1
  87. package/resources/policies.mjs +48 -41
  88. package/resources/policies.mjs.map +1 -1
  89. package/resources/shared.d.mts +59 -0
  90. package/resources/shared.d.mts.map +1 -0
  91. package/resources/shared.d.ts +59 -0
  92. package/resources/shared.d.ts.map +1 -0
  93. package/resources/shared.js +9 -0
  94. package/resources/shared.js.map +1 -0
  95. package/resources/shared.mjs +5 -0
  96. package/resources/shared.mjs.map +1 -0
  97. package/resources/swaps.d.mts +108 -0
  98. package/resources/swaps.d.mts.map +1 -0
  99. package/resources/swaps.d.ts +108 -0
  100. package/resources/swaps.d.ts.map +1 -0
  101. package/resources/swaps.js +9 -0
  102. package/resources/swaps.js.map +1 -0
  103. package/resources/swaps.mjs +5 -0
  104. package/resources/swaps.mjs.map +1 -0
  105. package/resources/transactions.d.mts +150 -98
  106. package/resources/transactions.d.mts.map +1 -1
  107. package/resources/transactions.d.ts +150 -98
  108. package/resources/transactions.d.ts.map +1 -1
  109. package/resources/users.d.mts +207 -240
  110. package/resources/users.d.mts.map +1 -1
  111. package/resources/users.d.ts +207 -240
  112. package/resources/users.d.ts.map +1 -1
  113. package/resources/users.js.map +1 -1
  114. package/resources/users.mjs.map +1 -1
  115. package/resources/wallet-actions.d.mts +439 -0
  116. package/resources/wallet-actions.d.mts.map +1 -0
  117. package/resources/wallet-actions.d.ts +439 -0
  118. package/resources/wallet-actions.d.ts.map +1 -0
  119. package/resources/wallet-actions.js +9 -0
  120. package/resources/wallet-actions.js.map +1 -0
  121. package/resources/wallet-actions.mjs +5 -0
  122. package/resources/wallet-actions.mjs.map +1 -0
  123. package/resources/wallets/balance.d.mts +2 -1
  124. package/resources/wallets/balance.d.mts.map +1 -1
  125. package/resources/wallets/balance.d.ts +2 -1
  126. package/resources/wallets/balance.d.ts.map +1 -1
  127. package/resources/wallets/balance.js.map +1 -1
  128. package/resources/wallets/balance.mjs.map +1 -1
  129. package/resources/wallets/index.d.mts +1 -1
  130. package/resources/wallets/index.d.mts.map +1 -1
  131. package/resources/wallets/index.d.ts +1 -1
  132. package/resources/wallets/index.d.ts.map +1 -1
  133. package/resources/wallets/index.js.map +1 -1
  134. package/resources/wallets/index.mjs.map +1 -1
  135. package/resources/wallets/transactions.d.mts +11 -30
  136. package/resources/wallets/transactions.d.mts.map +1 -1
  137. package/resources/wallets/transactions.d.ts +11 -30
  138. package/resources/wallets/transactions.d.ts.map +1 -1
  139. package/resources/wallets/transactions.js.map +1 -1
  140. package/resources/wallets/transactions.mjs.map +1 -1
  141. package/resources/wallets/wallets.d.mts +2435 -923
  142. package/resources/wallets/wallets.d.mts.map +1 -1
  143. package/resources/wallets/wallets.d.ts +2435 -923
  144. package/resources/wallets/wallets.d.ts.map +1 -1
  145. package/resources/wallets/wallets.js +24 -11
  146. package/resources/wallets/wallets.js.map +1 -1
  147. package/resources/wallets/wallets.mjs +24 -11
  148. package/resources/wallets/wallets.mjs.map +1 -1
  149. package/resources/webhooks.d.mts +1296 -186
  150. package/resources/webhooks.d.mts.map +1 -1
  151. package/resources/webhooks.d.ts +1296 -186
  152. package/resources/webhooks.d.ts.map +1 -1
  153. package/resources/webhooks.js.map +1 -1
  154. package/resources/webhooks.mjs.map +1 -1
  155. package/resources/yield.d.mts +25 -1
  156. package/resources/yield.d.mts.map +1 -1
  157. package/resources/yield.d.ts +25 -1
  158. package/resources/yield.d.ts.map +1 -1
  159. package/src/client.ts +869 -92
  160. package/src/internal/utils/env.ts +2 -2
  161. package/src/resources/accounts.ts +93 -120
  162. package/src/resources/aggregations.ts +18 -702
  163. package/src/resources/apps.ts +211 -111
  164. package/src/resources/client-auth.ts +1361 -896
  165. package/src/resources/cross-app.ts +19 -15
  166. package/src/resources/embedded-wallets.ts +219 -123
  167. package/src/resources/funding.ts +263 -173
  168. package/src/resources/index.ts +447 -65
  169. package/src/resources/intents.ts +370 -3100
  170. package/src/resources/key-quorums.ts +100 -32
  171. package/src/resources/kraken-embed.ts +105 -0
  172. package/src/resources/policies.ts +648 -1494
  173. package/src/resources/shared.ts +79 -0
  174. package/src/resources/swaps.ts +136 -0
  175. package/src/resources/transactions.ts +169 -102
  176. package/src/resources/users.ts +676 -729
  177. package/src/resources/wallet-actions.ts +573 -0
  178. package/src/resources/wallets/balance.ts +2 -1
  179. package/src/resources/wallets/index.ts +156 -17
  180. package/src/resources/wallets/transactions.ts +12 -88
  181. package/src/resources/wallets/wallets.ts +3162 -1109
  182. package/src/resources/webhooks.ts +1609 -229
  183. package/src/resources/yield.ts +29 -0
  184. package/src/version.ts +1 -1
  185. package/version.d.mts +1 -1
  186. package/version.d.ts +1 -1
  187. package/version.js +1 -1
  188. package/version.mjs +1 -1
@@ -1,5 +1,8 @@
1
1
  import { APIResource } from "../../core/resource.js";
2
2
  import * as WalletsAPI from "./wallets.js";
3
+ import * as AppsAPI from "../apps.js";
4
+ import * as SharedAPI from "../shared.js";
5
+ import * as UsersAPI from "../users.js";
3
6
  import * as BalanceAPI from "./balance.js";
4
7
  import { Balance, BalanceGetParams, BalanceGetResponse } from "./balance.js";
5
8
  import * as TransactionsAPI from "./transactions.js";
@@ -38,14 +41,15 @@ export declare class Wallets extends APIResource {
38
41
  *
39
42
  * @example
40
43
  * ```ts
41
- * const response = await client.wallets._export('wallet_id', {
42
- * encryption_type: 'HPKE',
43
- * recipient_public_key:
44
- * 'BDAZLOIdTaPycEYkgG0MvCzbIKJLli/yWkAV5yCa9yOsZ4JsrLweA5MnP8YIiY4k/RRzC+APhhO+P+Hoz/rt7Go=',
45
- * });
44
+ * const walletExportResponseBody =
45
+ * await client.wallets._export('wallet_id', {
46
+ * encryption_type: 'HPKE',
47
+ * recipient_public_key:
48
+ * 'BDAZLOIdTaPycEYkgG0MvCzbIKJLli/yWkAV5yCa9yOsZ4JsrLweA5MnP8YIiY4k/RRzC+APhhO+P+Hoz/rt7Go=',
49
+ * });
46
50
  * ```
47
51
  */
48
- _export(walletID: string, params: WalletExportParams, options?: RequestOptions): APIPromise<WalletExportResponse>;
52
+ _export(walletID: string, params: WalletExportParams, options?: RequestOptions): APIPromise<WalletExportResponseBody>;
49
53
  /**
50
54
  * Initialize a wallet import. Complete by submitting the import.
51
55
  *
@@ -66,7 +70,7 @@ export declare class Wallets extends APIResource {
66
70
  *
67
71
  * @example
68
72
  * ```ts
69
- * const response = await client.wallets._rawSign(
73
+ * const rawSignResponse = await client.wallets._rawSign(
70
74
  * 'wallet_id',
71
75
  * {
72
76
  * params: {
@@ -76,7 +80,7 @@ export declare class Wallets extends APIResource {
76
80
  * );
77
81
  * ```
78
82
  */
79
- _rawSign(walletID: string, params: WalletRawSignParams, options?: RequestOptions): APIPromise<WalletRawSignResponse>;
83
+ _rawSign(walletID: string, params: WalletRawSignParams, options?: RequestOptions): APIPromise<RawSignResponse>;
80
84
  /**
81
85
  * Sign a message or transaction with a wallet by wallet ID.
82
86
  *
@@ -86,7 +90,12 @@ export declare class Wallets extends APIResource {
86
90
  * 'wallet_id',
87
91
  * {
88
92
  * method: 'eth_sendTransaction',
89
- * params: {},
93
+ * params: {
94
+ * transaction: {
95
+ * to: '0x0000000000000000000000000000000000000000',
96
+ * value: 1,
97
+ * },
98
+ * },
90
99
  * chain_type: 'ethereum',
91
100
  * },
92
101
  * );
@@ -130,6 +139,9 @@ export declare class Wallets extends APIResource {
130
139
  * @example
131
140
  * ```ts
132
141
  * const response = await client.wallets.authenticateWithJwt({
142
+ * encryption_type: 'HPKE',
143
+ * recipient_public_key:
144
+ * 'DAQcDQgAEx4aoeD72yykviK+fckqE2CItVIGn1rCnvCXZ1HgpOcMEMialRmTrqIK4oZlYd1',
133
145
  * user_jwt:
134
146
  * 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.KMUFsIDTnFmyG3nMiGM6H9FNFUROf3wh7SmqJp-QV30',
135
147
  * });
@@ -162,11 +174,11 @@ export interface WalletRevokeResponse {
162
174
  /**
163
175
  * The wallet chain types that support curve-based signing.
164
176
  */
165
- export type CurveSigningChainType = 'cosmos' | 'stellar' | 'sui' | 'aptos' | 'movement' | 'tron' | 'bitcoin-segwit' | 'near' | 'ton' | 'starknet';
177
+ export type CurveSigningChainType = 'cosmos' | 'stellar' | 'sui' | 'aptos' | 'movement' | 'tron' | 'bitcoin-segwit' | 'bitcoin-taproot' | 'near' | 'ton' | 'starknet';
166
178
  /**
167
179
  * The wallet chain types that are not first class chains.
168
180
  */
169
- export type ExtendedChainType = 'cosmos' | 'stellar' | 'sui' | 'aptos' | 'movement' | 'tron' | 'bitcoin-segwit' | 'near' | 'ton' | 'starknet' | 'spark';
181
+ export type ExtendedChainType = 'cosmos' | 'stellar' | 'sui' | 'aptos' | 'movement' | 'tron' | 'bitcoin-segwit' | 'bitcoin-taproot' | 'near' | 'ton' | 'starknet' | 'spark';
170
182
  /**
171
183
  * The wallet chain types that offer first class support.
172
184
  */
@@ -174,7 +186,62 @@ export type FirstClassChainType = 'ethereum' | 'solana';
174
186
  /**
175
187
  * The wallet chain types.
176
188
  */
177
- export type WalletChainType = 'ethereum' | 'solana' | 'cosmos' | 'stellar' | 'sui' | 'aptos' | 'movement' | 'tron' | 'bitcoin-segwit' | 'near' | 'ton' | 'starknet' | 'spark';
189
+ export type WalletChainType = 'ethereum' | 'solana' | 'cosmos' | 'stellar' | 'sui' | 'aptos' | 'movement' | 'tron' | 'bitcoin-segwit' | 'bitcoin-taproot' | 'near' | 'ton' | 'starknet' | 'spark';
190
+ /**
191
+ * The role of an authorization key, controlling what actions it can authorize on a
192
+ * wallet.
193
+ */
194
+ export type AuthorizationKeyRole = 'root' | 'manager' | 'delegated-actions' | null;
195
+ /**
196
+ * The entropy type of the wallet.
197
+ */
198
+ export type WalletEntropyType = 'hd' | 'private-key';
199
+ /**
200
+ * The derivation strategy used for Solana wallets.
201
+ */
202
+ export type SolanaWalletDerivationStrategy = 'ENTROPY_TO_SEED' | 'ENTROPY_TO_MNEMONIC_TO_SEED';
203
+ /**
204
+ * An optional list of up to one policy ID to enforce on the wallet.
205
+ */
206
+ export type PolicyInput = Array<string>;
207
+ /**
208
+ * A single additional signer for a wallet, with an optional policy override.
209
+ */
210
+ export interface AdditionalSignerItemInput {
211
+ /**
212
+ * A unique identifier for a key quorum.
213
+ */
214
+ signer_id: SharedAPI.KeyQuorumID;
215
+ /**
216
+ * An optional list of up to one policy ID to enforce on the wallet.
217
+ */
218
+ override_policy_ids?: PolicyInput;
219
+ }
220
+ /**
221
+ * Additional signers for the wallet.
222
+ */
223
+ export type AdditionalSignerInput = Array<AdditionalSignerItemInput>;
224
+ /**
225
+ * A single additional signer on a wallet, with an optional policy override.
226
+ */
227
+ export interface WalletAdditionalSignerItem {
228
+ /**
229
+ * A unique identifier for a key quorum.
230
+ */
231
+ signer_id: SharedAPI.KeyQuorumID;
232
+ /**
233
+ * An optional list of up to one policy ID to enforce on the wallet.
234
+ */
235
+ override_policy_ids?: PolicyInput;
236
+ }
237
+ /**
238
+ * Additional signers for the wallet.
239
+ */
240
+ export type WalletAdditionalSigner = Array<WalletAdditionalSignerItem>;
241
+ /**
242
+ * A blockchain wallet address (Ethereum or Solana).
243
+ */
244
+ export type Address = string;
178
245
  /**
179
246
  * Information about the custodian managing this wallet.
180
247
  */
@@ -195,7 +262,7 @@ export type CustodialWalletProvider = 'bridge';
195
262
  /**
196
263
  * The chain type of the custodial wallet.
197
264
  */
198
- export type CustodialWalletChainType = 'ethereum';
265
+ export type CustodialWalletChainType = 'ethereum' | 'solana';
199
266
  /**
200
267
  * The input for creating a custodial wallet.
201
268
  */
@@ -213,21 +280,19 @@ export interface CustodialWalletCreateInput {
213
280
  * licensing provider.
214
281
  */
215
282
  provider_user_id: string;
216
- additional_signers?: Array<CustodialWalletCreateInput.AdditionalSigner>;
217
- owner?: CustodialWalletCreateInput.UserID | CustodialWalletCreateInput.PublicKey | null;
218
- policy_ids?: Array<string>;
219
- }
220
- export declare namespace CustodialWalletCreateInput {
221
- interface AdditionalSigner {
222
- signer_id: string;
223
- override_policy_ids?: Array<string>;
224
- }
225
- interface UserID {
226
- user_id: string;
227
- }
228
- interface PublicKey {
229
- public_key: string;
230
- }
283
+ /**
284
+ * Additional signers for the wallet.
285
+ */
286
+ additional_signers?: AdditionalSignerInput;
287
+ /**
288
+ * The owner of the resource, specified as a Privy user ID, a P-256 public key, or
289
+ * null to remove the current owner.
290
+ */
291
+ owner?: SharedAPI.OwnerInput | null;
292
+ /**
293
+ * An optional list of up to one policy ID to enforce on the wallet.
294
+ */
295
+ policy_ids?: PolicyInput;
231
296
  }
232
297
  /**
233
298
  * Information about a custodial wallet.
@@ -244,15 +309,114 @@ export interface CustodialWallet {
244
309
  */
245
310
  custody: WalletCustodian;
246
311
  owner_id: string | null;
247
- additional_signers?: Array<CustodialWallet.AdditionalSigner>;
312
+ /**
313
+ * Additional signers for the wallet.
314
+ */
315
+ additional_signers?: WalletAdditionalSigner;
248
316
  policy_ids?: Array<string>;
249
317
  }
250
- export declare namespace CustodialWallet {
251
- interface AdditionalSigner {
252
- signer_id: string;
253
- override_policy_ids?: Array<string>;
254
- }
318
+ /**
319
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
320
+ */
321
+ export type HpkeEncryption = 'HPKE';
322
+ /**
323
+ * The recipient public key for HPKE encryption, in PEM or DER (base64-encoded)
324
+ * format.
325
+ */
326
+ export type RecipientPublicKey = string;
327
+ /**
328
+ * The export type. 'display' is for showing the key to the user in the UI,
329
+ * 'client' is for exporting to the client application.
330
+ */
331
+ export type ExportType = 'display' | 'client';
332
+ /**
333
+ * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
334
+ */
335
+ export interface PrivateKeyExportInput {
336
+ /**
337
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
338
+ */
339
+ encryption_type: HpkeEncryption;
340
+ /**
341
+ * The recipient public key for HPKE encryption, in PEM or DER (base64-encoded)
342
+ * format.
343
+ */
344
+ recipient_public_key: RecipientPublicKey;
345
+ export_seed_phrase?: boolean;
346
+ /**
347
+ * The export type. 'display' is for showing the key to the user in the UI,
348
+ * 'client' is for exporting to the client application.
349
+ */
350
+ export_type?: ExportType;
351
+ }
352
+ /**
353
+ * Response containing HPKE-encrypted wallet data (private key or seed phrase).
354
+ */
355
+ export interface PrivateKeyExportResponse {
356
+ ciphertext: string;
357
+ encapsulated_key: string;
358
+ /**
359
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
360
+ */
361
+ encryption_type: HpkeEncryption;
362
+ }
363
+ /**
364
+ * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
365
+ */
366
+ export interface SeedPhraseExportInput {
367
+ /**
368
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
369
+ */
370
+ encryption_type: HpkeEncryption;
371
+ /**
372
+ * The recipient public key for HPKE encryption, in PEM or DER (base64-encoded)
373
+ * format.
374
+ */
375
+ recipient_public_key: RecipientPublicKey;
376
+ export_seed_phrase?: boolean;
377
+ /**
378
+ * The export type. 'display' is for showing the key to the user in the UI,
379
+ * 'client' is for exporting to the client application.
380
+ */
381
+ export_type?: ExportType;
382
+ }
383
+ /**
384
+ * Response containing HPKE-encrypted wallet data (private key or seed phrase).
385
+ */
386
+ export interface SeedPhraseExportResponse {
387
+ ciphertext: string;
388
+ encapsulated_key: string;
389
+ /**
390
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
391
+ */
392
+ encryption_type: HpkeEncryption;
393
+ }
394
+ /**
395
+ * The chain type of the wallet to import. Currently supports `ethereum` and
396
+ * `solana`.
397
+ */
398
+ export type WalletImportSupportedChains = 'ethereum' | 'solana';
399
+ /**
400
+ * The entropy type of the wallet to import. Supports `private-key` for raw private
401
+ * keys and `hd` for HD wallet seed phrases.
402
+ */
403
+ export type WalletImportSupportedEntropyTypes = 'private-key' | 'hd';
404
+ /**
405
+ * Response from initializing a wallet import, containing the encryption public
406
+ * key.
407
+ */
408
+ export interface WalletImportInitResponse {
409
+ encryption_public_key: string;
410
+ /**
411
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
412
+ */
413
+ encryption_type: HpkeEncryption;
414
+ import_id?: string;
255
415
  }
416
+ /**
417
+ * The AEAD algorithm used for HPKE encryption.
418
+ */
419
+ export type HpkeAeadAlgorithm = 'CHACHA20_POLY1305' | 'AES_GCM256';
256
420
  /**
257
421
  * Optional HPKE configuration for wallet import decryption. These parameters allow
258
422
  * importing wallets encrypted by external providers that use different HPKE
@@ -265,10 +429,9 @@ export interface HpkeImportConfig {
265
429
  */
266
430
  aad?: string;
267
431
  /**
268
- * The AEAD algorithm used for encryption. Defaults to CHACHA20_POLY1305 if not
269
- * specified.
432
+ * The AEAD algorithm used for HPKE encryption.
270
433
  */
271
- aead_algorithm?: 'CHACHA20_POLY1305' | 'AES_GCM256';
434
+ aead_algorithm?: HpkeAeadAlgorithm;
272
435
  /**
273
436
  * Application-specific context information (INFO) used during HPKE encryption.
274
437
  * Should be base64-encoded bytes.
@@ -276,323 +439,371 @@ export interface HpkeImportConfig {
276
439
  info?: string;
277
440
  }
278
441
  /**
279
- * SUI transaction commands allowlist for raw_sign endpoint policy evaluation
442
+ * The cryptographic curve type used by the wallet.
280
443
  */
281
- export type SuiCommandName = 'TransferObjects' | 'SplitCoins' | 'MergeCoins';
444
+ export type CurveType = 'secp256k1' | 'ed25519' | 'starknet';
282
445
  /**
283
- * A wallet managed by Privy's wallet infrastructure.
446
+ * A BIP-32 hierarchical deterministic wallet derivation path.
284
447
  */
285
- export interface Wallet {
448
+ export type HDPath = string;
449
+ /**
450
+ * The signing algorithm used by the wallet.
451
+ */
452
+ export type SigningAlgorithm = 'ECDSA' | 'EdDSA' | 'Schnorr';
453
+ /**
454
+ * A hex-encoded string prefixed with '0x'.
455
+ */
456
+ export type Hex = string;
457
+ /**
458
+ * A quantity value that can be either a hex string starting with '0x' or a
459
+ * non-negative integer.
460
+ */
461
+ export type Quantity = Hex | number;
462
+ /**
463
+ * Exports the private key of the wallet.
464
+ */
465
+ export interface ExportPrivateKeyRpcInput {
466
+ address: string;
467
+ method: 'exportPrivateKey';
286
468
  /**
287
- * Unique ID of the wallet. This will be the primary identifier when using the
288
- * wallet in the future.
469
+ * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
289
470
  */
290
- id: string;
471
+ params: PrivateKeyExportInput;
472
+ }
473
+ /**
474
+ * Response to the `exportPrivateKey` RPC.
475
+ */
476
+ export interface ExportPrivateKeyRpcResponse {
291
477
  /**
292
- * Additional signers for the wallet.
478
+ * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
293
479
  */
294
- additional_signers: Array<Wallet.AdditionalSigner>;
480
+ data: PrivateKeyExportInput;
481
+ method: 'exportPrivateKey';
482
+ }
483
+ /**
484
+ * Exports the seed phrase of the wallet.
485
+ */
486
+ export interface ExportSeedPhraseRpcInput {
487
+ address: string;
488
+ method: 'exportSeedPhrase';
295
489
  /**
296
- * Address of the wallet.
490
+ * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
297
491
  */
298
- address: string;
492
+ params: SeedPhraseExportInput;
493
+ }
494
+ /**
495
+ * Response to the `exportSeedPhrase` RPC.
496
+ */
497
+ export interface ExportSeedPhraseRpcResponse {
299
498
  /**
300
- * The wallet chain types.
499
+ * Response containing HPKE-encrypted wallet data (private key or seed phrase).
301
500
  */
302
- chain_type: WalletChainType;
501
+ data: SeedPhraseExportResponse;
502
+ method: 'exportSeedPhrase';
503
+ }
504
+ /**
505
+ * Parameters for signing a pre-computed hash with the `raw_sign` RPC.
506
+ */
507
+ export interface RawSignHashParams {
303
508
  /**
304
- * Unix timestamp of when the wallet was created in milliseconds.
509
+ * A hex-encoded string prefixed with '0x'.
305
510
  */
306
- created_at: number;
511
+ hash: Hex;
512
+ }
513
+ /**
514
+ * Encoding scheme for bytes in the `raw_sign` RPC.
515
+ */
516
+ export type RawSignBytesEncoding = 'utf-8' | 'hex' | 'base64';
517
+ /**
518
+ * Hash function for bytes in the `raw_sign` RPC.
519
+ */
520
+ export type RawSignBytesHashFunction = 'keccak256' | 'sha256' | 'blake2b256';
521
+ /**
522
+ * Parameters for hashing and signing bytes with the `raw_sign` RPC.
523
+ */
524
+ export interface RawSignBytesParams {
307
525
  /**
308
- * Unix timestamp of when the wallet was exported in milliseconds, if the wallet
309
- * was exported.
526
+ * The bytes to hash and sign.
310
527
  */
311
- exported_at: number | null;
528
+ bytes: string;
312
529
  /**
313
- * Unix timestamp of when the wallet was imported in milliseconds, if the wallet
314
- * was imported.
530
+ * Encoding scheme for bytes in the `raw_sign` RPC.
315
531
  */
316
- imported_at: number | null;
532
+ encoding: RawSignBytesEncoding;
317
533
  /**
318
- * The key quorum ID of the owner of the wallet.
534
+ * Hash function for bytes in the `raw_sign` RPC.
319
535
  */
320
- owner_id: string | null;
536
+ hash_function: RawSignBytesHashFunction;
537
+ }
538
+ /**
539
+ * Parameters for the `raw_sign` RPC.
540
+ */
541
+ export type RawSignInputParams = RawSignHashParams | RawSignBytesParams;
542
+ /**
543
+ * Provide either `hash` (to sign a pre-computed hash) OR `bytes`, `encoding`, and
544
+ * `hash_function` (to hash and then sign). These options are mutually exclusive.
545
+ */
546
+ export interface RawSignInput {
321
547
  /**
322
- * List of policy IDs for policies that are enforced on the wallet.
548
+ * Parameters for the `raw_sign` RPC.
323
549
  */
324
- policy_ids: Array<string>;
550
+ params: RawSignInputParams;
551
+ }
552
+ /**
553
+ * Data returned by the `raw_sign` RPC.
554
+ */
555
+ export interface RawSignResponseData {
556
+ encoding: 'hex';
325
557
  /**
326
- * The compressed, raw public key for the wallet along the chain cryptographic
327
- * curve.
558
+ * A hex-encoded string prefixed with '0x'.
328
559
  */
329
- public_key?: string;
560
+ signature: Hex;
330
561
  }
331
- export declare namespace Wallet {
332
- interface AdditionalSigner {
333
- signer_id: string;
334
- /**
335
- * The array of policy IDs that will be applied to wallet requests. If specified,
336
- * this will override the base policy IDs set on the wallet.
337
- */
338
- override_policy_ids?: Array<string>;
339
- }
562
+ /**
563
+ * Response to the `raw_sign` RPC.
564
+ */
565
+ export interface RawSignResponse {
566
+ /**
567
+ * Data returned by the `raw_sign` RPC.
568
+ */
569
+ data: RawSignResponseData;
570
+ method: 'raw_sign';
340
571
  }
341
572
  /**
342
- * Request body for updating a wallet.
573
+ * A signed EIP-7702 authorization that delegates code execution to a contract
574
+ * address.
343
575
  */
344
- export interface WalletUpdateRequestBody {
576
+ export interface EthereumSign7702Authorization {
345
577
  /**
346
- * Additional signers for the wallet.
578
+ * A quantity value that can be either a hex string starting with '0x' or a
579
+ * non-negative integer.
347
580
  */
348
- additional_signers?: Array<WalletUpdateRequestBody.AdditionalSigner>;
581
+ chain_id: Quantity;
582
+ contract: string;
349
583
  /**
350
- * The owner of the resource. If you provide this, do not specify an owner_id as it
351
- * will be generated automatically. When updating a wallet, you can set the owner
352
- * to null to remove the owner.
584
+ * A quantity value that can be either a hex string starting with '0x' or a
585
+ * non-negative integer.
353
586
  */
354
- owner?: WalletUpdateRequestBody.PublicKeyOwner | WalletUpdateRequestBody.UserOwner | null;
355
- owner_id?: string | null;
587
+ nonce: Quantity;
356
588
  /**
357
- * New policy IDs to enforce on the wallet. Currently, only one policy is supported
358
- * per wallet.
589
+ * A hex-encoded string prefixed with '0x'.
359
590
  */
360
- policy_ids?: Array<string>;
591
+ r: Hex;
592
+ /**
593
+ * A hex-encoded string prefixed with '0x'.
594
+ */
595
+ s: Hex;
596
+ y_parity: number;
361
597
  }
362
- export declare namespace WalletUpdateRequestBody {
363
- interface AdditionalSigner {
364
- signer_id: string;
365
- /**
366
- * The array of policy IDs that will be applied to wallet requests. If specified,
367
- * this will override the base policy IDs set on the wallet.
368
- */
369
- override_policy_ids?: Array<string>;
370
- }
598
+ /**
599
+ * An unsigned Ethereum transaction object.
600
+ */
601
+ export interface UnsignedEthereumTransaction {
602
+ authorization_list?: Array<EthereumSign7702Authorization>;
371
603
  /**
372
- * The P-256 public key of the owner of the resource, in base64-encoded DER format.
373
- * If you provide this, do not specify an owner_id as it will be generated
374
- * automatically.
604
+ * A quantity value that can be either a hex string starting with '0x' or a
605
+ * non-negative integer.
375
606
  */
376
- interface PublicKeyOwner {
377
- public_key: string;
378
- }
607
+ chain_id?: Quantity;
379
608
  /**
380
- * The user ID of the owner of the resource. The user must already exist, and this
381
- * value must start with "did:privy:". If you provide this, do not specify an
382
- * owner_id as it will be generated automatically.
609
+ * A hex-encoded string prefixed with '0x'.
383
610
  */
384
- interface UserOwner {
385
- user_id: string;
386
- }
611
+ data?: Hex;
612
+ from?: string;
613
+ /**
614
+ * A quantity value that can be either a hex string starting with '0x' or a
615
+ * non-negative integer.
616
+ */
617
+ gas_limit?: Quantity;
618
+ /**
619
+ * A quantity value that can be either a hex string starting with '0x' or a
620
+ * non-negative integer.
621
+ */
622
+ gas_price?: Quantity;
623
+ /**
624
+ * A quantity value that can be either a hex string starting with '0x' or a
625
+ * non-negative integer.
626
+ */
627
+ max_fee_per_gas?: Quantity;
628
+ /**
629
+ * A quantity value that can be either a hex string starting with '0x' or a
630
+ * non-negative integer.
631
+ */
632
+ max_priority_fee_per_gas?: Quantity;
633
+ /**
634
+ * A quantity value that can be either a hex string starting with '0x' or a
635
+ * non-negative integer.
636
+ */
637
+ nonce?: Quantity;
638
+ to?: string;
639
+ type?: 0 | 1 | 2 | 4;
640
+ /**
641
+ * A quantity value that can be either a hex string starting with '0x' or a
642
+ * non-negative integer.
643
+ */
644
+ value?: Quantity;
387
645
  }
388
646
  /**
389
- * Input for a single wallet in a batch creation request.
647
+ * An ERC-4337 user operation.
390
648
  */
391
- export interface WalletBatchItemInput {
649
+ export interface UserOperationInput {
392
650
  /**
393
- * The wallet chain types.
651
+ * A hex-encoded string prefixed with '0x'.
394
652
  */
395
- chain_type: WalletChainType;
653
+ call_data: Hex;
396
654
  /**
397
- * Additional signers for the wallet.
655
+ * A hex-encoded string prefixed with '0x'.
398
656
  */
399
- additional_signers?: Array<WalletBatchItemInput.AdditionalSigner>;
657
+ call_gas_limit: Hex;
400
658
  /**
401
- * The owner of the resource. If you provide this, do not specify an owner_id as it
402
- * will be generated automatically. When updating a wallet, you can set the owner
403
- * to null to remove the owner.
659
+ * A hex-encoded string prefixed with '0x'.
404
660
  */
405
- owner?: WalletBatchItemInput.PublicKeyOwner | WalletBatchItemInput.UserOwner | null;
661
+ max_fee_per_gas: Hex;
406
662
  /**
407
- * The key quorum ID to set as the owner of the resource. If you provide this, do
408
- * not specify an owner.
663
+ * A hex-encoded string prefixed with '0x'.
409
664
  */
410
- owner_id?: string;
665
+ max_priority_fee_per_gas: Hex;
411
666
  /**
412
- * List of policy IDs for policies that should be enforced on the wallet.
413
- * Currently, only one policy is supported per wallet.
667
+ * A hex-encoded string prefixed with '0x'.
414
668
  */
415
- policy_ids?: Array<string>;
416
- }
417
- export declare namespace WalletBatchItemInput {
418
- interface AdditionalSigner {
419
- signer_id: string;
420
- /**
421
- * The array of policy IDs that will be applied to wallet requests. If specified,
422
- * this will override the base policy IDs set on the wallet.
423
- */
424
- override_policy_ids?: Array<string>;
425
- }
669
+ nonce: Hex;
426
670
  /**
427
- * The P-256 public key of the owner of the resource, in base64-encoded DER format.
428
- * If you provide this, do not specify an owner_id as it will be generated
429
- * automatically.
671
+ * A hex-encoded string prefixed with '0x'.
430
672
  */
431
- interface PublicKeyOwner {
432
- public_key: string;
433
- }
673
+ pre_verification_gas: Hex;
674
+ sender: string;
434
675
  /**
435
- * The user ID of the owner of the resource. The user must already exist, and this
436
- * value must start with "did:privy:". If you provide this, do not specify an
437
- * owner_id as it will be generated automatically.
676
+ * A hex-encoded string prefixed with '0x'.
438
677
  */
439
- interface UserOwner {
440
- user_id: string;
441
- }
678
+ verification_gas_limit: Hex;
679
+ paymaster?: string;
680
+ /**
681
+ * A hex-encoded string prefixed with '0x'.
682
+ */
683
+ paymaster_data?: Hex;
684
+ /**
685
+ * A hex-encoded string prefixed with '0x'.
686
+ */
687
+ paymaster_post_op_gas_limit?: Hex;
688
+ /**
689
+ * A hex-encoded string prefixed with '0x'.
690
+ */
691
+ paymaster_verification_gas_limit?: Hex;
442
692
  }
443
693
  /**
444
- * Request body for batch wallet creation.
694
+ * The domain parameters for EIP-712 typed data signing.
445
695
  */
446
- export interface WalletBatchCreateInput {
696
+ export type TypedDataDomainInputParams = {
697
+ [key: string]: unknown;
698
+ };
699
+ /**
700
+ * A single field definition in an EIP-712 typed data type.
701
+ */
702
+ export interface TypedDataTypeFieldInput {
703
+ name: string;
704
+ type: string;
705
+ }
706
+ /**
707
+ * The type definitions for EIP-712 typed data signing.
708
+ */
709
+ export type TypedDataTypesInputParams = {
710
+ [key: string]: Array<TypedDataTypeFieldInput>;
711
+ };
712
+ /**
713
+ * Parameters for the EVM `personal_sign` RPC.
714
+ */
715
+ export interface EthereumPersonalSignRpcInputParams {
716
+ encoding: 'utf-8' | 'hex';
717
+ message: string;
718
+ }
719
+ /**
720
+ * Executes the EVM `personal_sign` RPC (EIP-191) to sign a message.
721
+ */
722
+ export interface EthereumPersonalSignRpcInput {
723
+ method: 'personal_sign';
447
724
  /**
448
- * Array of wallet creation requests. Minimum 1, maximum 100.
725
+ * Parameters for the EVM `personal_sign` RPC.
449
726
  */
450
- wallets: Array<WalletBatchItemInput>;
727
+ params: EthereumPersonalSignRpcInputParams;
728
+ address?: string;
729
+ chain_type?: 'ethereum';
730
+ wallet_id?: string;
451
731
  }
452
732
  /**
453
- * A single result from a batch wallet creation operation.
733
+ * Parameters for the EVM `eth_signTransaction` RPC.
454
734
  */
455
- export type WalletBatchCreateResult = WalletBatchCreateResult.WalletBatchCreateSuccess | WalletBatchCreateResult.WalletBatchCreateFailure;
456
- export declare namespace WalletBatchCreateResult {
735
+ export interface EthereumSignTransactionRpcInputParams {
457
736
  /**
458
- * A successful wallet creation result within a batch operation.
737
+ * An unsigned Ethereum transaction object.
459
738
  */
460
- interface WalletBatchCreateSuccess {
461
- /**
462
- * The index of the wallet in the original request array.
463
- */
464
- index: number;
465
- success: true;
466
- /**
467
- * A wallet managed by Privy's wallet infrastructure.
468
- */
469
- wallet: WalletsAPI.Wallet;
470
- }
471
- /**
472
- * A failed wallet creation result within a batch operation.
473
- */
474
- interface WalletBatchCreateFailure {
475
- /**
476
- * A PrivyErrorCode string identifying the error type (e.g., "invalid_data",
477
- * "resource_conflict").
478
- */
479
- code: string;
480
- /**
481
- * A human-readable error message with details about what went wrong.
482
- */
483
- error: string;
484
- /**
485
- * The index of the wallet in the original request array.
486
- */
487
- index: number;
488
- success: false;
489
- }
739
+ transaction: UnsignedEthereumTransaction;
490
740
  }
491
741
  /**
492
- * Response for a batch wallet creation request.
742
+ * Executes the EVM `eth_signTransaction` RPC to sign a transaction.
493
743
  */
494
- export interface WalletBatchCreateResponse {
744
+ export interface EthereumSignTransactionRpcInput {
745
+ method: 'eth_signTransaction';
495
746
  /**
496
- * Array of results for each wallet creation request, in the same order as input.
747
+ * Parameters for the EVM `eth_signTransaction` RPC.
497
748
  */
498
- results: Array<WalletBatchCreateResult>;
499
- }
500
- /**
501
- * Executes the EVM `personal_sign` RPC (EIP-191) to sign a message.
502
- */
503
- export interface EthereumPersonalSignRpcInput {
504
- method: 'personal_sign';
505
- params: EthereumPersonalSignRpcInput.Params;
749
+ params: EthereumSignTransactionRpcInputParams;
506
750
  address?: string;
507
751
  chain_type?: 'ethereum';
508
- }
509
- export declare namespace EthereumPersonalSignRpcInput {
510
- interface Params {
511
- encoding: 'utf-8' | 'hex';
512
- message: string;
513
- }
752
+ wallet_id?: string;
514
753
  }
515
754
  /**
516
- * Executes the EVM `eth_signTransaction` RPC to sign a transaction.
755
+ * Parameters for the EVM `eth_sendTransaction` RPC.
517
756
  */
518
- export interface EthereumSignTransactionRpcInput {
519
- method: 'eth_signTransaction';
520
- params: EthereumSignTransactionRpcInput.Params;
521
- address?: string;
522
- chain_type?: 'ethereum';
523
- }
524
- export declare namespace EthereumSignTransactionRpcInput {
525
- interface Params {
526
- transaction: Params.Transaction;
527
- }
528
- namespace Params {
529
- interface Transaction {
530
- authorization_list?: Array<Transaction.AuthorizationList>;
531
- chain_id?: string | number;
532
- data?: string;
533
- from?: string;
534
- gas_limit?: string | number;
535
- gas_price?: string | number;
536
- max_fee_per_gas?: string | number;
537
- max_priority_fee_per_gas?: string | number;
538
- nonce?: string | number;
539
- to?: string;
540
- type?: 0 | 1 | 2 | 4;
541
- value?: string | number;
542
- }
543
- namespace Transaction {
544
- interface AuthorizationList {
545
- chain_id: string | number;
546
- contract: string;
547
- nonce: string | number;
548
- r: string;
549
- s: string;
550
- y_parity: number;
551
- }
552
- }
553
- }
757
+ export interface EthereumSendTransactionRpcInputParams {
758
+ /**
759
+ * An unsigned Ethereum transaction object.
760
+ */
761
+ transaction: UnsignedEthereumTransaction;
554
762
  }
555
763
  /**
556
764
  * Executes the EVM `eth_sendTransaction` RPC to sign and broadcast a transaction.
557
765
  */
558
766
  export interface EthereumSendTransactionRpcInput {
559
- caip2: string;
767
+ /**
768
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
769
+ */
770
+ caip2: AppsAPI.Caip2;
560
771
  method: 'eth_sendTransaction';
561
- params: EthereumSendTransactionRpcInput.Params;
772
+ /**
773
+ * Parameters for the EVM `eth_sendTransaction` RPC.
774
+ */
775
+ params: EthereumSendTransactionRpcInputParams;
562
776
  address?: string;
563
777
  chain_type?: 'ethereum';
778
+ reference_id?: string;
564
779
  sponsor?: boolean;
780
+ wallet_id?: string;
565
781
  }
566
- export declare namespace EthereumSendTransactionRpcInput {
567
- interface Params {
568
- transaction: Params.Transaction;
569
- }
570
- namespace Params {
571
- interface Transaction {
572
- authorization_list?: Array<Transaction.AuthorizationList>;
573
- chain_id?: string | number;
574
- data?: string;
575
- from?: string;
576
- gas_limit?: string | number;
577
- gas_price?: string | number;
578
- max_fee_per_gas?: string | number;
579
- max_priority_fee_per_gas?: string | number;
580
- nonce?: string | number;
581
- to?: string;
582
- type?: 0 | 1 | 2 | 4;
583
- value?: string | number;
584
- }
585
- namespace Transaction {
586
- interface AuthorizationList {
587
- chain_id: string | number;
588
- contract: string;
589
- nonce: string | number;
590
- r: string;
591
- s: string;
592
- y_parity: number;
593
- }
594
- }
595
- }
782
+ /**
783
+ * EIP-712 typed data object.
784
+ */
785
+ export interface EthereumTypedDataInput {
786
+ /**
787
+ * The domain parameters for EIP-712 typed data signing.
788
+ */
789
+ domain: TypedDataDomainInputParams;
790
+ message: {
791
+ [key: string]: unknown;
792
+ };
793
+ primary_type: string;
794
+ /**
795
+ * The type definitions for EIP-712 typed data signing.
796
+ */
797
+ types: TypedDataTypesInputParams;
798
+ }
799
+ /**
800
+ * Parameters for the EVM `eth_signTypedData_v4` RPC.
801
+ */
802
+ export interface EthereumSignTypedDataRpcInputParams {
803
+ /**
804
+ * EIP-712 typed data object.
805
+ */
806
+ typed_data: EthereumTypedDataInput;
596
807
  }
597
808
  /**
598
809
  * Executes the EVM `eth_signTypedData_v4` RPC (EIP-712) to sign a typed data
@@ -600,336 +811,1443 @@ export declare namespace EthereumSendTransactionRpcInput {
600
811
  */
601
812
  export interface EthereumSignTypedDataRpcInput {
602
813
  method: 'eth_signTypedData_v4';
603
- params: EthereumSignTypedDataRpcInput.Params;
814
+ /**
815
+ * Parameters for the EVM `eth_signTypedData_v4` RPC.
816
+ */
817
+ params: EthereumSignTypedDataRpcInputParams;
604
818
  address?: string;
605
819
  chain_type?: 'ethereum';
820
+ wallet_id?: string;
606
821
  }
607
- export declare namespace EthereumSignTypedDataRpcInput {
608
- interface Params {
609
- typed_data: Params.TypedData;
610
- }
611
- namespace Params {
612
- interface TypedData {
613
- domain: {
614
- [key: string]: unknown;
615
- };
616
- message: {
617
- [key: string]: unknown;
618
- };
619
- primary_type: string;
620
- types: {
621
- [key: string]: Array<TypedData.Type>;
622
- };
623
- }
624
- namespace TypedData {
625
- interface Type {
626
- name: string;
627
- type: string;
628
- }
629
- }
630
- }
822
+ /**
823
+ * Parameters for the EVM `secp256k1_sign` RPC.
824
+ */
825
+ export interface EthereumSecp256k1SignRpcInputParams {
826
+ /**
827
+ * A hex-encoded string prefixed with '0x'.
828
+ */
829
+ hash: Hex;
631
830
  }
632
831
  /**
633
- * Executes an RPC method to hash and sign a UserOperation.
832
+ * Signs a raw hash on the secp256k1 curve.
634
833
  */
635
- export interface EthereumSignUserOperationRpcInput {
636
- method: 'eth_signUserOperation';
637
- params: EthereumSignUserOperationRpcInput.Params;
834
+ export interface EthereumSecp256k1SignRpcInput {
835
+ method: 'secp256k1_sign';
836
+ /**
837
+ * Parameters for the EVM `secp256k1_sign` RPC.
838
+ */
839
+ params: EthereumSecp256k1SignRpcInputParams;
638
840
  address?: string;
639
841
  chain_type?: 'ethereum';
842
+ wallet_id?: string;
640
843
  }
641
- export declare namespace EthereumSignUserOperationRpcInput {
642
- interface Params {
643
- chain_id: string | number;
644
- contract: string;
645
- user_operation: Params.UserOperation;
646
- }
647
- namespace Params {
648
- interface UserOperation {
649
- call_data: string;
650
- call_gas_limit: string;
651
- max_fee_per_gas: string;
652
- max_priority_fee_per_gas: string;
653
- nonce: string;
654
- paymaster: string;
655
- paymaster_data: string;
656
- paymaster_post_op_gas_limit: string;
657
- paymaster_verification_gas_limit: string;
658
- pre_verification_gas: string;
659
- sender: string;
660
- verification_gas_limit: string;
661
- }
662
- }
844
+ /**
845
+ * Parameters for the EVM `eth_sign7702Authorization` RPC.
846
+ */
847
+ export interface EthereumSign7702AuthorizationRpcInputParams {
848
+ /**
849
+ * A quantity value that can be either a hex string starting with '0x' or a
850
+ * non-negative integer.
851
+ */
852
+ chain_id: Quantity;
853
+ contract: string;
854
+ executor?: 'self';
855
+ /**
856
+ * A quantity value that can be either a hex string starting with '0x' or a
857
+ * non-negative integer.
858
+ */
859
+ nonce?: Quantity;
663
860
  }
664
861
  /**
665
862
  * Signs an EIP-7702 authorization.
666
863
  */
667
864
  export interface EthereumSign7702AuthorizationRpcInput {
668
865
  method: 'eth_sign7702Authorization';
669
- params: EthereumSign7702AuthorizationRpcInput.Params;
866
+ /**
867
+ * Parameters for the EVM `eth_sign7702Authorization` RPC.
868
+ */
869
+ params: EthereumSign7702AuthorizationRpcInputParams;
670
870
  address?: string;
671
871
  chain_type?: 'ethereum';
872
+ wallet_id?: string;
672
873
  }
673
- export declare namespace EthereumSign7702AuthorizationRpcInput {
674
- interface Params {
675
- chain_id: string | number;
676
- contract: string;
677
- nonce?: string | number;
678
- }
874
+ /**
875
+ * Parameters for the EVM `eth_signUserOperation` RPC.
876
+ */
877
+ export interface EthereumSignUserOperationRpcInputParams {
878
+ /**
879
+ * A quantity value that can be either a hex string starting with '0x' or a
880
+ * non-negative integer.
881
+ */
882
+ chain_id: Quantity;
883
+ contract: string;
884
+ /**
885
+ * An ERC-4337 user operation.
886
+ */
887
+ user_operation: UserOperationInput;
679
888
  }
680
889
  /**
681
- * Signs a raw hash on the secp256k1 curve.
890
+ * Executes an RPC method to hash and sign a UserOperation.
682
891
  */
683
- export interface EthereumSecp256k1SignRpcInput {
684
- method: 'secp256k1_sign';
685
- params: EthereumSecp256k1SignRpcInput.Params;
892
+ export interface EthereumSignUserOperationRpcInput {
893
+ method: 'eth_signUserOperation';
894
+ /**
895
+ * Parameters for the EVM `eth_signUserOperation` RPC.
896
+ */
897
+ params: EthereumSignUserOperationRpcInputParams;
686
898
  address?: string;
687
899
  chain_type?: 'ethereum';
688
- }
689
- export declare namespace EthereumSecp256k1SignRpcInput {
690
- interface Params {
691
- hash: string;
692
- }
900
+ wallet_id?: string;
693
901
  }
694
902
  /**
695
- * Executes the SVM `signTransaction` RPC to sign a transaction.
903
+ * A single call within a batched wallet_sendCalls request.
696
904
  */
697
- export interface SolanaSignTransactionRpcInput {
698
- method: 'signTransaction';
699
- params: SolanaSignTransactionRpcInput.Params;
700
- address?: string;
701
- chain_type?: 'solana';
905
+ export interface EthereumSendCallsCall {
906
+ to: string;
907
+ /**
908
+ * A hex-encoded string prefixed with '0x'.
909
+ */
910
+ data?: Hex;
911
+ /**
912
+ * A quantity value that can be either a hex string starting with '0x' or a
913
+ * non-negative integer.
914
+ */
915
+ value?: Quantity;
702
916
  }
703
- export declare namespace SolanaSignTransactionRpcInput {
704
- interface Params {
705
- encoding: 'base64';
706
- transaction: string;
707
- }
917
+ /**
918
+ * Parameters for the `wallet_sendCalls` RPC.
919
+ */
920
+ export interface EthereumSendCallsRpcInputParams {
921
+ calls: Array<EthereumSendCallsCall>;
708
922
  }
709
923
  /**
710
- * Executes the SVM `signAndSendTransaction` RPC to sign and broadcast a
711
- * transaction.
924
+ * Executes the `wallet_sendCalls` RPC (EIP-5792) to batch multiple calls into a
925
+ * single atomic transaction.
712
926
  */
713
- export interface SolanaSignAndSendTransactionRpcInput {
714
- caip2: string;
715
- method: 'signAndSendTransaction';
716
- params: SolanaSignAndSendTransactionRpcInput.Params;
927
+ export interface EthereumSendCallsRpcInput {
928
+ /**
929
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
930
+ */
931
+ caip2: AppsAPI.Caip2;
932
+ method: 'wallet_sendCalls';
933
+ /**
934
+ * Parameters for the `wallet_sendCalls` RPC.
935
+ */
936
+ params: EthereumSendCallsRpcInputParams;
717
937
  address?: string;
718
- chain_type?: 'solana';
938
+ chain_type?: 'ethereum';
719
939
  sponsor?: boolean;
940
+ wallet_id?: string;
720
941
  }
721
- export declare namespace SolanaSignAndSendTransactionRpcInput {
722
- interface Params {
723
- encoding: 'base64';
724
- transaction: string;
725
- }
942
+ /**
943
+ * Request body for Ethereum wallet RPC operations, discriminated by method.
944
+ */
945
+ export type EthereumRpcInput = EthereumSignTransactionRpcInput | EthereumSendTransactionRpcInput | EthereumPersonalSignRpcInput | EthereumSignTypedDataRpcInput | EthereumSecp256k1SignRpcInput | EthereumSign7702AuthorizationRpcInput | EthereumSignUserOperationRpcInput | EthereumSendCallsRpcInput;
946
+ /**
947
+ * Data returned by the EVM `personal_sign` RPC.
948
+ */
949
+ export interface EthereumPersonalSignRpcResponseData {
950
+ encoding: 'hex';
951
+ signature: string;
726
952
  }
727
953
  /**
728
- * Executes the SVM `signMessage` RPC to sign a message.
954
+ * Response to the EVM `personal_sign` RPC.
729
955
  */
730
- export interface SolanaSignMessageRpcInput {
731
- method: 'signMessage';
732
- params: SolanaSignMessageRpcInput.Params;
733
- address?: string;
734
- chain_type?: 'solana';
956
+ export interface EthereumPersonalSignRpcResponse {
957
+ /**
958
+ * Data returned by the EVM `personal_sign` RPC.
959
+ */
960
+ data: EthereumPersonalSignRpcResponseData;
961
+ method: 'personal_sign';
735
962
  }
736
- export declare namespace SolanaSignMessageRpcInput {
737
- interface Params {
738
- encoding: 'base64';
739
- message: string;
740
- }
963
+ /**
964
+ * Data returned by the EVM `eth_signTransaction` RPC.
965
+ */
966
+ export interface EthereumSignTransactionRpcResponseData {
967
+ encoding: 'rlp';
968
+ signed_transaction: string;
741
969
  }
742
970
  /**
743
971
  * Response to the EVM `eth_signTransaction` RPC.
744
972
  */
745
973
  export interface EthereumSignTransactionRpcResponse {
746
- data: EthereumSignTransactionRpcResponse.Data;
974
+ /**
975
+ * Data returned by the EVM `eth_signTransaction` RPC.
976
+ */
977
+ data: EthereumSignTransactionRpcResponseData;
747
978
  method: 'eth_signTransaction';
748
979
  }
749
- export declare namespace EthereumSignTransactionRpcResponse {
750
- interface Data {
751
- encoding: 'rlp';
752
- signed_transaction: string;
753
- }
980
+ /**
981
+ * Data returned by the EVM `eth_sendTransaction` RPC.
982
+ */
983
+ export interface EthereumSendTransactionRpcResponseData {
984
+ /**
985
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
986
+ */
987
+ caip2: AppsAPI.Caip2;
988
+ hash: string;
989
+ reference_id?: string | null;
990
+ transaction_id?: string;
991
+ /**
992
+ * An unsigned Ethereum transaction object.
993
+ */
994
+ transaction_request?: UnsignedEthereumTransaction;
995
+ user_operation_hash?: string;
754
996
  }
755
997
  /**
756
998
  * Response to the EVM `eth_sendTransaction` RPC.
757
999
  */
758
1000
  export interface EthereumSendTransactionRpcResponse {
759
- data: EthereumSendTransactionRpcResponse.Data;
1001
+ /**
1002
+ * Data returned by the EVM `eth_sendTransaction` RPC.
1003
+ */
1004
+ data: EthereumSendTransactionRpcResponseData;
760
1005
  method: 'eth_sendTransaction';
761
1006
  }
762
- export declare namespace EthereumSendTransactionRpcResponse {
763
- interface Data {
764
- caip2: string;
765
- hash: string;
766
- transaction_id?: string;
767
- transaction_request?: Data.TransactionRequest;
768
- user_operation_hash?: string;
769
- }
770
- namespace Data {
771
- interface TransactionRequest {
772
- authorization_list?: Array<TransactionRequest.AuthorizationList>;
773
- chain_id?: string | number;
774
- data?: string;
775
- from?: string;
776
- gas_limit?: string | number;
777
- gas_price?: string | number;
778
- max_fee_per_gas?: string | number;
779
- max_priority_fee_per_gas?: string | number;
780
- nonce?: string | number;
781
- to?: string;
782
- type?: 0 | 1 | 2 | 4;
783
- value?: string | number;
784
- }
785
- namespace TransactionRequest {
786
- interface AuthorizationList {
787
- chain_id: string | number;
788
- contract: string;
789
- nonce: string | number;
790
- r: string;
791
- s: string;
792
- y_parity: number;
793
- }
794
- }
795
- }
796
- }
797
1007
  /**
798
- * Response to the EVM `personal_sign` RPC.
1008
+ * Data returned by the EVM `eth_signTypedData_v4` RPC.
799
1009
  */
800
- export interface EthereumPersonalSignRpcResponse {
801
- data: EthereumPersonalSignRpcResponse.Data;
802
- method: 'personal_sign';
803
- }
804
- export declare namespace EthereumPersonalSignRpcResponse {
805
- interface Data {
806
- encoding: 'hex';
807
- signature: string;
808
- }
1010
+ export interface EthereumSignTypedDataRpcResponseData {
1011
+ encoding: 'hex';
1012
+ signature: string;
809
1013
  }
810
1014
  /**
811
1015
  * Response to the EVM `eth_signTypedData_v4` RPC.
812
1016
  */
813
1017
  export interface EthereumSignTypedDataRpcResponse {
814
- data: EthereumSignTypedDataRpcResponse.Data;
1018
+ /**
1019
+ * Data returned by the EVM `eth_signTypedData_v4` RPC.
1020
+ */
1021
+ data: EthereumSignTypedDataRpcResponseData;
815
1022
  method: 'eth_signTypedData_v4';
816
1023
  }
817
- export declare namespace EthereumSignTypedDataRpcResponse {
818
- interface Data {
819
- encoding: 'hex';
820
- signature: string;
821
- }
1024
+ /**
1025
+ * Data returned by the EVM `secp256k1_sign` RPC.
1026
+ */
1027
+ export interface EthereumSecp256k1SignRpcResponseData {
1028
+ encoding: 'hex';
1029
+ /**
1030
+ * A hex-encoded string prefixed with '0x'.
1031
+ */
1032
+ signature: Hex;
822
1033
  }
823
1034
  /**
824
- * Response to the EVM `eth_signUserOperation` RPC.
1035
+ * Response to the EVM `secp256k1_sign` RPC.
825
1036
  */
826
- export interface EthereumSignUserOperationRpcResponse {
827
- data: EthereumSignUserOperationRpcResponse.Data;
828
- method: 'eth_signUserOperation';
1037
+ export interface EthereumSecp256k1SignRpcResponse {
1038
+ /**
1039
+ * Data returned by the EVM `secp256k1_sign` RPC.
1040
+ */
1041
+ data: EthereumSecp256k1SignRpcResponseData;
1042
+ method: 'secp256k1_sign';
829
1043
  }
830
- export declare namespace EthereumSignUserOperationRpcResponse {
831
- interface Data {
832
- encoding: 'hex';
833
- signature: string;
834
- }
1044
+ /**
1045
+ * Data returned by the EVM `eth_sign7702Authorization` RPC.
1046
+ */
1047
+ export interface EthereumSign7702AuthorizationRpcResponseData {
1048
+ /**
1049
+ * A signed EIP-7702 authorization that delegates code execution to a contract
1050
+ * address.
1051
+ */
1052
+ authorization: EthereumSign7702Authorization;
835
1053
  }
836
1054
  /**
837
1055
  * Response to the EVM `eth_sign7702Authorization` RPC.
838
1056
  */
839
1057
  export interface EthereumSign7702AuthorizationRpcResponse {
840
- data: EthereumSign7702AuthorizationRpcResponse.Data;
1058
+ /**
1059
+ * Data returned by the EVM `eth_sign7702Authorization` RPC.
1060
+ */
1061
+ data: EthereumSign7702AuthorizationRpcResponseData;
841
1062
  method: 'eth_sign7702Authorization';
842
1063
  }
843
- export declare namespace EthereumSign7702AuthorizationRpcResponse {
844
- interface Data {
845
- authorization: Data.Authorization;
846
- }
847
- namespace Data {
848
- interface Authorization {
849
- chain_id: string | number;
850
- contract: string;
851
- nonce: string | number;
852
- r: string;
853
- s: string;
854
- y_parity: number;
855
- }
856
- }
857
- }
858
1064
  /**
859
- * Response to the EVM `secp256k1_sign` RPC.
1065
+ * Data returned by the EVM `eth_signUserOperation` RPC.
860
1066
  */
861
- export interface EthereumSecp256k1SignRpcResponse {
862
- data: EthereumSecp256k1SignRpcResponse.Data;
863
- method: 'secp256k1_sign';
864
- }
865
- export declare namespace EthereumSecp256k1SignRpcResponse {
866
- interface Data {
867
- encoding: 'hex';
868
- signature: string;
869
- }
1067
+ export interface EthereumSignUserOperationRpcResponseData {
1068
+ encoding: 'hex';
1069
+ signature: string;
870
1070
  }
871
1071
  /**
872
- * Response to the SVM `signTransaction` RPC.
1072
+ * Response to the EVM `eth_signUserOperation` RPC.
873
1073
  */
874
- export interface SolanaSignTransactionRpcResponse {
875
- data: SolanaSignTransactionRpcResponse.Data;
876
- method: 'signTransaction';
877
- }
878
- export declare namespace SolanaSignTransactionRpcResponse {
879
- interface Data {
880
- encoding: 'base64';
881
- signed_transaction: string;
882
- }
1074
+ export interface EthereumSignUserOperationRpcResponse {
1075
+ /**
1076
+ * Data returned by the EVM `eth_signUserOperation` RPC.
1077
+ */
1078
+ data: EthereumSignUserOperationRpcResponseData;
1079
+ method: 'eth_signUserOperation';
883
1080
  }
884
1081
  /**
885
- * Response to the SVM `signAndSendTransaction` RPC.
1082
+ * Data returned by the `wallet_sendCalls` RPC.
886
1083
  */
887
- export interface SolanaSignAndSendTransactionRpcResponse {
888
- data: SolanaSignAndSendTransactionRpcResponse.Data;
889
- method: 'signAndSendTransaction';
1084
+ export interface EthereumSendCallsRpcResponseData {
1085
+ /**
1086
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
1087
+ */
1088
+ caip2: AppsAPI.Caip2;
1089
+ transaction_id: string;
890
1090
  }
891
- export declare namespace SolanaSignAndSendTransactionRpcResponse {
892
- interface Data {
893
- caip2: string;
894
- hash: string;
895
- transaction_id?: string;
896
- }
1091
+ /**
1092
+ * Response to the `wallet_sendCalls` RPC.
1093
+ */
1094
+ export interface EthereumSendCallsRpcResponse {
1095
+ /**
1096
+ * Data returned by the `wallet_sendCalls` RPC.
1097
+ */
1098
+ data: EthereumSendCallsRpcResponseData;
1099
+ method: 'wallet_sendCalls';
897
1100
  }
898
1101
  /**
899
- * Response to the SVM `signMessage` RPC.
1102
+ * Response body for Ethereum wallet RPC operations, discriminated by method.
900
1103
  */
901
- export interface SolanaSignMessageRpcResponse {
902
- data: SolanaSignMessageRpcResponse.Data;
903
- method: 'signMessage';
1104
+ export type EthereumRpcResponse = EthereumPersonalSignRpcResponse | EthereumSignTypedDataRpcResponse | EthereumSignTransactionRpcResponse | EthereumSendTransactionRpcResponse | EthereumSignUserOperationRpcResponse | EthereumSign7702AuthorizationRpcResponse | EthereumSecp256k1SignRpcResponse | EthereumSendCallsRpcResponse;
1105
+ /**
1106
+ * Parameters for the SVM `signTransaction` RPC.
1107
+ */
1108
+ export interface SolanaSignTransactionRpcInputParams {
1109
+ encoding: 'base64';
1110
+ transaction: string;
904
1111
  }
905
- export declare namespace SolanaSignMessageRpcResponse {
906
- interface Data {
907
- encoding: 'base64';
908
- signature: string;
909
- }
1112
+ /**
1113
+ * Executes the SVM `signTransaction` RPC to sign a transaction.
1114
+ */
1115
+ export interface SolanaSignTransactionRpcInput {
1116
+ method: 'signTransaction';
1117
+ /**
1118
+ * Parameters for the SVM `signTransaction` RPC.
1119
+ */
1120
+ params: SolanaSignTransactionRpcInputParams;
1121
+ address?: string;
1122
+ chain_type?: 'solana';
1123
+ wallet_id?: string;
910
1124
  }
911
1125
  /**
912
- * Request body for wallet RPC operations, discriminated by method.
1126
+ * Parameters for the SVM `signAndSendTransaction` RPC.
913
1127
  */
914
- export type WalletRpcRequestBody = EthereumPersonalSignRpcInput | EthereumSignTypedDataRpcInput | EthereumSignTransactionRpcInput | EthereumSignUserOperationRpcInput | EthereumSendTransactionRpcInput | EthereumSign7702AuthorizationRpcInput | EthereumSecp256k1SignRpcInput | SolanaSignMessageRpcInput | SolanaSignTransactionRpcInput | SolanaSignAndSendTransactionRpcInput;
1128
+ export interface SolanaSignAndSendTransactionRpcInputParams {
1129
+ encoding: 'base64';
1130
+ transaction: string;
1131
+ }
915
1132
  /**
916
- * Response body for wallet RPC operations, discriminated by method.
1133
+ * Executes the SVM `signAndSendTransaction` RPC to sign and broadcast a
1134
+ * transaction.
917
1135
  */
918
- export type WalletRpcResponse = EthereumPersonalSignRpcResponse | EthereumSignTypedDataRpcResponse | EthereumSignTransactionRpcResponse | EthereumSendTransactionRpcResponse | EthereumSignUserOperationRpcResponse | EthereumSign7702AuthorizationRpcResponse | EthereumSecp256k1SignRpcResponse | SolanaSignMessageRpcResponse | SolanaSignTransactionRpcResponse | SolanaSignAndSendTransactionRpcResponse;
919
- export interface WalletExportResponse {
1136
+ export interface SolanaSignAndSendTransactionRpcInput {
920
1137
  /**
921
- * The encrypted private key.
1138
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
922
1139
  */
923
- ciphertext: string;
1140
+ caip2: AppsAPI.Caip2;
1141
+ method: 'signAndSendTransaction';
924
1142
  /**
925
- * The base64-encoded encapsulated key that was generated during encryption, for
926
- * use during decryption.
1143
+ * Parameters for the SVM `signAndSendTransaction` RPC.
927
1144
  */
928
- encapsulated_key: string;
1145
+ params: SolanaSignAndSendTransactionRpcInputParams;
1146
+ address?: string;
1147
+ chain_type?: 'solana';
1148
+ reference_id?: string;
1149
+ sponsor?: boolean;
1150
+ wallet_id?: string;
1151
+ }
1152
+ /**
1153
+ * Parameters for the SVM `signMessage` RPC.
1154
+ */
1155
+ export interface SolanaSignMessageRpcInputParams {
1156
+ encoding: 'base64';
1157
+ message: string;
1158
+ }
1159
+ /**
1160
+ * Executes the SVM `signMessage` RPC to sign a message.
1161
+ */
1162
+ export interface SolanaSignMessageRpcInput {
1163
+ method: 'signMessage';
1164
+ /**
1165
+ * Parameters for the SVM `signMessage` RPC.
1166
+ */
1167
+ params: SolanaSignMessageRpcInputParams;
1168
+ address?: string;
1169
+ chain_type?: 'solana';
1170
+ wallet_id?: string;
1171
+ }
1172
+ /**
1173
+ * Request body for Solana wallet RPC operations, discriminated by method.
1174
+ */
1175
+ export type SolanaRpcInput = SolanaSignTransactionRpcInput | SolanaSignAndSendTransactionRpcInput | SolanaSignMessageRpcInput;
1176
+ /**
1177
+ * Data returned by the SVM `signTransaction` RPC.
1178
+ */
1179
+ export interface SolanaSignTransactionRpcResponseData {
1180
+ encoding: 'base64';
1181
+ signed_transaction: string;
1182
+ }
1183
+ /**
1184
+ * Response to the SVM `signTransaction` RPC.
1185
+ */
1186
+ export interface SolanaSignTransactionRpcResponse {
1187
+ /**
1188
+ * Data returned by the SVM `signTransaction` RPC.
1189
+ */
1190
+ data: SolanaSignTransactionRpcResponseData;
1191
+ method: 'signTransaction';
1192
+ }
1193
+ /**
1194
+ * Data returned by the SVM `signAndSendTransaction` RPC.
1195
+ */
1196
+ export interface SolanaSignAndSendTransactionRpcResponseData {
1197
+ /**
1198
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
1199
+ */
1200
+ caip2: AppsAPI.Caip2;
1201
+ hash: string;
1202
+ reference_id?: string | null;
1203
+ transaction_id?: string;
1204
+ }
1205
+ /**
1206
+ * Response to the SVM `signAndSendTransaction` RPC.
1207
+ */
1208
+ export interface SolanaSignAndSendTransactionRpcResponse {
1209
+ /**
1210
+ * Data returned by the SVM `signAndSendTransaction` RPC.
1211
+ */
1212
+ data: SolanaSignAndSendTransactionRpcResponseData;
1213
+ method: 'signAndSendTransaction';
1214
+ }
1215
+ /**
1216
+ * Data returned by the SVM `signMessage` RPC.
1217
+ */
1218
+ export interface SolanaSignMessageRpcResponseData {
1219
+ encoding: 'base64';
1220
+ signature: string;
1221
+ }
1222
+ /**
1223
+ * Response to the SVM `signMessage` RPC.
1224
+ */
1225
+ export interface SolanaSignMessageRpcResponse {
1226
+ /**
1227
+ * Data returned by the SVM `signMessage` RPC.
1228
+ */
1229
+ data: SolanaSignMessageRpcResponseData;
1230
+ method: 'signMessage';
1231
+ }
1232
+ /**
1233
+ * Response body for Solana wallet RPC operations, discriminated by method.
1234
+ */
1235
+ export type SolanaRpcResponse = SolanaSignMessageRpcResponse | SolanaSignTransactionRpcResponse | SolanaSignAndSendTransactionRpcResponse;
1236
+ /**
1237
+ * The Spark network.
1238
+ */
1239
+ export type SparkNetwork = 'MAINNET' | 'REGTEST';
1240
+ /**
1241
+ * A Spark signing keyshare.
1242
+ */
1243
+ export interface SparkSigningKeyshare {
1244
+ owner_identifiers: Array<string>;
1245
+ public_key: string;
1246
+ public_shares: {
1247
+ [key: string]: string;
1248
+ };
1249
+ threshold: number;
1250
+ updated_time: string;
1251
+ }
1252
+ /**
1253
+ * A Spark wallet leaf node.
1254
+ */
1255
+ export interface SparkWalletLeaf {
1256
+ id: string;
1257
+ /**
1258
+ * The Spark network.
1259
+ */
1260
+ network: SparkNetwork;
1261
+ node_tx: string;
1262
+ owner_identity_public_key: string;
1263
+ refund_tx: string;
1264
+ status: string;
1265
+ tree_id: string;
1266
+ value: number;
1267
+ verifying_public_key: string;
1268
+ vout: number;
1269
+ parent_node_id?: string;
1270
+ /**
1271
+ * A Spark signing keyshare.
1272
+ */
1273
+ signing_keyshare?: SparkSigningKeyshare;
1274
+ }
1275
+ /**
1276
+ * A Spark transfer leaf.
1277
+ */
1278
+ export interface SparkTransferLeaf {
1279
+ intermediate_refund_tx: string;
1280
+ secret_cipher: string;
1281
+ signature: string;
1282
+ /**
1283
+ * A Spark wallet leaf node.
1284
+ */
1285
+ leaf?: SparkWalletLeaf;
1286
+ }
1287
+ /**
1288
+ * A Spark transfer.
1289
+ */
1290
+ export interface SparkTransfer {
1291
+ id: string;
1292
+ leaves: Array<SparkTransferLeaf>;
1293
+ receiver_identity_public_key: string;
1294
+ sender_identity_public_key: string;
1295
+ status: string;
1296
+ total_value: number;
1297
+ transfer_direction: string;
1298
+ type: string;
1299
+ created_time?: string;
1300
+ expiry_time?: string;
1301
+ updated_time?: string;
1302
+ }
1303
+ /**
1304
+ * Metadata for a Spark user token.
1305
+ */
1306
+ export interface SparkUserTokenMetadata {
1307
+ decimals: number;
1308
+ max_supply: string;
1309
+ raw_token_identifier: string;
1310
+ token_name: string;
1311
+ token_public_key: string;
1312
+ token_ticker: string;
1313
+ }
1314
+ /**
1315
+ * Balance of a Spark token.
1316
+ */
1317
+ export interface SparkTokenBalance {
1318
+ balance: string;
1319
+ /**
1320
+ * Metadata for a Spark user token.
1321
+ */
1322
+ token_metadata: SparkUserTokenMetadata;
1323
+ }
1324
+ /**
1325
+ * The balance of a Spark wallet.
1326
+ */
1327
+ export interface SparkBalance {
1328
+ balance: string;
1329
+ token_balances: {
1330
+ [key: string]: SparkTokenBalance;
1331
+ };
1332
+ }
1333
+ /**
1334
+ * A Spark token output.
1335
+ */
1336
+ export interface TokenOutput {
1337
+ owner_public_key: string;
1338
+ token_amount: string;
1339
+ id?: string;
1340
+ revocation_commitment?: string;
1341
+ token_identifier?: string;
1342
+ token_public_key?: string;
1343
+ withdraw_bond_sats?: number;
1344
+ withdraw_relative_block_locktime?: number;
1345
+ }
1346
+ /**
1347
+ * A Spark token output with its previous transaction data.
1348
+ */
1349
+ export interface OutputWithPreviousTransactionData {
1350
+ previous_transaction_hash: string;
1351
+ previous_transaction_vout: number;
1352
+ /**
1353
+ * A Spark token output.
1354
+ */
1355
+ output?: TokenOutput;
1356
+ }
1357
+ /**
1358
+ * The fee for a Spark Lightning payment.
1359
+ */
1360
+ export interface SparkLightningFee {
1361
+ original_unit: string;
1362
+ original_value: number;
1363
+ }
1364
+ /**
1365
+ * A Spark Lightning receive request.
1366
+ */
1367
+ export interface SparkLightningReceiveRequest {
1368
+ id: string;
1369
+ created_at: string;
1370
+ network: string;
1371
+ status: string;
1372
+ typename: string;
1373
+ updated_at: string;
1374
+ invoice?: unknown;
1375
+ payment_preimage?: string;
1376
+ receiver_identity_public_key?: string;
1377
+ transfer?: unknown;
1378
+ }
1379
+ /**
1380
+ * A Spark Lightning send request.
1381
+ */
1382
+ export interface SparkLightningSendRequest {
1383
+ id: string;
1384
+ created_at: string;
1385
+ encoded_invoice: string;
1386
+ /**
1387
+ * The fee for a Spark Lightning payment.
1388
+ */
1389
+ fee: SparkLightningFee;
1390
+ idempotency_key: string;
1391
+ network: string;
1392
+ status: string;
1393
+ typename: string;
1394
+ updated_at: string;
1395
+ payment_preimage?: string;
1396
+ transfer?: unknown;
1397
+ }
1398
+ /**
1399
+ * Parameters for the Spark `transfer` RPC.
1400
+ */
1401
+ export interface SparkTransferRpcInputParams {
1402
+ amount_sats: number;
1403
+ receiver_spark_address: string;
1404
+ }
1405
+ /**
1406
+ * Transfers satoshis to a Spark address.
1407
+ */
1408
+ export interface SparkTransferRpcInput {
1409
+ method: 'transfer';
1410
+ /**
1411
+ * Parameters for the Spark `transfer` RPC.
1412
+ */
1413
+ params: SparkTransferRpcInputParams;
1414
+ /**
1415
+ * The Spark network.
1416
+ */
1417
+ network?: SparkNetwork;
1418
+ }
1419
+ /**
1420
+ * Gets the balance of the Spark wallet.
1421
+ */
1422
+ export interface SparkGetBalanceRpcInput {
1423
+ method: 'getBalance';
1424
+ /**
1425
+ * The Spark network.
1426
+ */
1427
+ network?: SparkNetwork;
1428
+ }
1429
+ /**
1430
+ * Strategy for selecting outputs in a Spark token transfer.
1431
+ */
1432
+ export type SparkOutputSelectionStrategy = 'SMALL_FIRST' | 'LARGE_FIRST';
1433
+ /**
1434
+ * Parameters for the Spark `transferTokens` RPC.
1435
+ */
1436
+ export interface SparkTransferTokensRpcInputParams {
1437
+ receiver_spark_address: string;
1438
+ token_amount: number;
1439
+ token_identifier: string;
1440
+ /**
1441
+ * Strategy for selecting outputs in a Spark token transfer.
1442
+ */
1443
+ output_selection_strategy?: SparkOutputSelectionStrategy;
1444
+ selected_outputs?: Array<OutputWithPreviousTransactionData>;
1445
+ }
1446
+ /**
1447
+ * Transfers tokens to a Spark address.
1448
+ */
1449
+ export interface SparkTransferTokensRpcInput {
1450
+ method: 'transferTokens';
1451
+ /**
1452
+ * Parameters for the Spark `transferTokens` RPC.
1453
+ */
1454
+ params: SparkTransferTokensRpcInputParams;
1455
+ /**
1456
+ * The Spark network.
1457
+ */
1458
+ network?: SparkNetwork;
1459
+ }
1460
+ /**
1461
+ * Gets a static deposit address for the Spark wallet.
1462
+ */
1463
+ export interface SparkGetStaticDepositAddressRpcInput {
1464
+ method: 'getStaticDepositAddress';
1465
+ /**
1466
+ * The Spark network.
1467
+ */
1468
+ network?: SparkNetwork;
1469
+ }
1470
+ /**
1471
+ * Parameters for the Spark `getClaimStaticDepositQuote` RPC.
1472
+ */
1473
+ export interface SparkGetClaimStaticDepositQuoteRpcInputParams {
1474
+ transaction_id: string;
1475
+ output_index?: number;
1476
+ }
1477
+ /**
1478
+ * Gets a quote for claiming a static deposit.
1479
+ */
1480
+ export interface SparkGetClaimStaticDepositQuoteRpcInput {
1481
+ method: 'getClaimStaticDepositQuote';
1482
+ /**
1483
+ * Parameters for the Spark `getClaimStaticDepositQuote` RPC.
1484
+ */
1485
+ params: SparkGetClaimStaticDepositQuoteRpcInputParams;
1486
+ /**
1487
+ * The Spark network.
1488
+ */
1489
+ network?: SparkNetwork;
1490
+ }
1491
+ /**
1492
+ * Parameters for the Spark `claimStaticDeposit` RPC.
1493
+ */
1494
+ export interface SparkClaimStaticDepositRpcInputParams {
1495
+ credit_amount_sats: number;
1496
+ signature: string;
1497
+ transaction_id: string;
1498
+ output_index?: number;
1499
+ }
1500
+ /**
1501
+ * Claims a static deposit into the Spark wallet.
1502
+ */
1503
+ export interface SparkClaimStaticDepositRpcInput {
1504
+ method: 'claimStaticDeposit';
1505
+ /**
1506
+ * Parameters for the Spark `claimStaticDeposit` RPC.
1507
+ */
1508
+ params: SparkClaimStaticDepositRpcInputParams;
1509
+ /**
1510
+ * The Spark network.
1511
+ */
1512
+ network?: SparkNetwork;
1513
+ }
1514
+ /**
1515
+ * Parameters for the Spark `createLightningInvoice` RPC.
1516
+ */
1517
+ export interface SparkCreateLightningInvoiceRpcInputParams {
1518
+ amount_sats: number;
1519
+ description_hash?: string;
1520
+ expiry_seconds?: number;
1521
+ include_spark_address?: boolean;
1522
+ memo?: string;
1523
+ receiver_identity_pubkey?: string;
1524
+ }
1525
+ /**
1526
+ * Creates a Lightning invoice for the Spark wallet.
1527
+ */
1528
+ export interface SparkCreateLightningInvoiceRpcInput {
1529
+ method: 'createLightningInvoice';
1530
+ /**
1531
+ * Parameters for the Spark `createLightningInvoice` RPC.
1532
+ */
1533
+ params: SparkCreateLightningInvoiceRpcInputParams;
1534
+ /**
1535
+ * The Spark network.
1536
+ */
1537
+ network?: SparkNetwork;
1538
+ }
1539
+ /**
1540
+ * Parameters for the Spark `payLightningInvoice` RPC.
1541
+ */
1542
+ export interface SparkPayLightningInvoiceRpcInputParams {
1543
+ invoice: string;
1544
+ max_fee_sats: number;
1545
+ amount_sats_to_send?: number;
1546
+ prefer_spark?: boolean;
1547
+ }
1548
+ /**
1549
+ * Pays a Lightning invoice from the Spark wallet.
1550
+ */
1551
+ export interface SparkPayLightningInvoiceRpcInput {
1552
+ method: 'payLightningInvoice';
1553
+ /**
1554
+ * Parameters for the Spark `payLightningInvoice` RPC.
1555
+ */
1556
+ params: SparkPayLightningInvoiceRpcInputParams;
1557
+ /**
1558
+ * The Spark network.
1559
+ */
1560
+ network?: SparkNetwork;
1561
+ }
1562
+ /**
1563
+ * Parameters for the Spark `signMessageWithIdentityKey` RPC.
1564
+ */
1565
+ export interface SparkSignMessageWithIdentityKeyRpcInputParams {
1566
+ message: string;
1567
+ compact?: boolean;
1568
+ }
1569
+ /**
1570
+ * Signs a message with the Spark identity key.
1571
+ */
1572
+ export interface SparkSignMessageWithIdentityKeyRpcInput {
1573
+ method: 'signMessageWithIdentityKey';
1574
+ /**
1575
+ * Parameters for the Spark `signMessageWithIdentityKey` RPC.
1576
+ */
1577
+ params: SparkSignMessageWithIdentityKeyRpcInputParams;
1578
+ /**
1579
+ * The Spark network.
1580
+ */
1581
+ network?: SparkNetwork;
1582
+ }
1583
+ /**
1584
+ * Request body for Spark wallet RPC operations, discriminated by method.
1585
+ */
1586
+ export type SparkRpcInput = SparkTransferRpcInput | SparkGetBalanceRpcInput | SparkTransferTokensRpcInput | SparkGetStaticDepositAddressRpcInput | SparkGetClaimStaticDepositQuoteRpcInput | SparkClaimStaticDepositRpcInput | SparkCreateLightningInvoiceRpcInput | SparkPayLightningInvoiceRpcInput | SparkSignMessageWithIdentityKeyRpcInput;
1587
+ /**
1588
+ * Response to the Spark `transfer` RPC.
1589
+ */
1590
+ export interface SparkTransferRpcResponse {
1591
+ method: 'transfer';
1592
+ /**
1593
+ * A Spark transfer.
1594
+ */
1595
+ data?: SparkTransfer;
1596
+ }
1597
+ /**
1598
+ * Response to the Spark `getBalance` RPC.
1599
+ */
1600
+ export interface SparkGetBalanceRpcResponse {
1601
+ method: 'getBalance';
1602
+ /**
1603
+ * The balance of a Spark wallet.
1604
+ */
1605
+ data?: SparkBalance;
1606
+ }
1607
+ /**
1608
+ * Data returned by the Spark `transferTokens` RPC.
1609
+ */
1610
+ export interface SparkTransferTokensRpcResponseData {
1611
+ id: string;
1612
+ }
1613
+ /**
1614
+ * Response to the Spark `transferTokens` RPC.
1615
+ */
1616
+ export interface SparkTransferTokensRpcResponse {
1617
+ method: 'transferTokens';
1618
+ /**
1619
+ * Data returned by the Spark `transferTokens` RPC.
1620
+ */
1621
+ data?: SparkTransferTokensRpcResponseData;
1622
+ }
1623
+ /**
1624
+ * Data returned by the Spark `getStaticDepositAddress` RPC.
1625
+ */
1626
+ export interface SparkGetStaticDepositAddressRpcResponseData {
1627
+ address: string;
1628
+ }
1629
+ /**
1630
+ * Response to the Spark `getStaticDepositAddress` RPC.
1631
+ */
1632
+ export interface SparkGetStaticDepositAddressRpcResponse {
1633
+ method: 'getStaticDepositAddress';
1634
+ /**
1635
+ * Data returned by the Spark `getStaticDepositAddress` RPC.
1636
+ */
1637
+ data?: SparkGetStaticDepositAddressRpcResponseData;
1638
+ }
1639
+ /**
1640
+ * Data returned by the Spark `getClaimStaticDepositQuote` RPC.
1641
+ */
1642
+ export interface SparkGetClaimStaticDepositQuoteRpcResponseData {
1643
+ credit_amount_sats: number;
1644
+ network: string;
1645
+ output_index: number;
1646
+ signature: string;
1647
+ transaction_id: string;
1648
+ }
1649
+ /**
1650
+ * Response to the Spark `getClaimStaticDepositQuote` RPC.
1651
+ */
1652
+ export interface SparkGetClaimStaticDepositQuoteRpcResponse {
1653
+ method: 'getClaimStaticDepositQuote';
1654
+ /**
1655
+ * Data returned by the Spark `getClaimStaticDepositQuote` RPC.
1656
+ */
1657
+ data?: SparkGetClaimStaticDepositQuoteRpcResponseData;
1658
+ }
1659
+ /**
1660
+ * Data returned by the Spark `claimStaticDeposit` RPC.
1661
+ */
1662
+ export interface SparkClaimStaticDepositRpcResponseData {
1663
+ transfer_id: string;
1664
+ }
1665
+ /**
1666
+ * Response to the Spark `claimStaticDeposit` RPC.
1667
+ */
1668
+ export interface SparkClaimStaticDepositRpcResponse {
1669
+ method: 'claimStaticDeposit';
1670
+ /**
1671
+ * Data returned by the Spark `claimStaticDeposit` RPC.
1672
+ */
1673
+ data?: SparkClaimStaticDepositRpcResponseData;
1674
+ }
1675
+ /**
1676
+ * Response to the Spark `createLightningInvoice` RPC.
1677
+ */
1678
+ export interface SparkCreateLightningInvoiceRpcResponse {
1679
+ method: 'createLightningInvoice';
1680
+ /**
1681
+ * A Spark Lightning receive request.
1682
+ */
1683
+ data?: SparkLightningReceiveRequest;
1684
+ }
1685
+ /**
1686
+ * Response to the Spark `payLightningInvoice` RPC.
1687
+ */
1688
+ export interface SparkPayLightningInvoiceRpcResponse {
1689
+ method: 'payLightningInvoice';
1690
+ /**
1691
+ * A Spark transfer.
1692
+ */
1693
+ data?: SparkTransfer | SparkLightningSendRequest;
1694
+ }
1695
+ /**
1696
+ * Data returned by the Spark `signMessageWithIdentityKey` RPC.
1697
+ */
1698
+ export interface SparkSignMessageWithIdentityKeyRpcResponseData {
1699
+ signature: string;
1700
+ }
1701
+ /**
1702
+ * Response to the Spark `signMessageWithIdentityKey` RPC.
1703
+ */
1704
+ export interface SparkSignMessageWithIdentityKeyRpcResponse {
1705
+ method: 'signMessageWithIdentityKey';
1706
+ /**
1707
+ * Data returned by the Spark `signMessageWithIdentityKey` RPC.
1708
+ */
1709
+ data?: SparkSignMessageWithIdentityKeyRpcResponseData;
1710
+ }
1711
+ /**
1712
+ * Response body for Spark wallet RPC operations, discriminated by method.
1713
+ */
1714
+ export type SparkRpcResponse = SparkTransferRpcResponse | SparkGetBalanceRpcResponse | SparkTransferTokensRpcResponse | SparkGetStaticDepositAddressRpcResponse | SparkGetClaimStaticDepositQuoteRpcResponse | SparkClaimStaticDepositRpcResponse | SparkCreateLightningInvoiceRpcResponse | SparkPayLightningInvoiceRpcResponse | SparkSignMessageWithIdentityKeyRpcResponse;
1715
+ /**
1716
+ * A wallet managed by Privy's wallet infrastructure.
1717
+ */
1718
+ export interface Wallet {
1719
+ /**
1720
+ * Unique ID of the wallet. This will be the primary identifier when using the
1721
+ * wallet in the future.
1722
+ */
1723
+ id: string;
1724
+ /**
1725
+ * Additional signers for the wallet.
1726
+ */
1727
+ additional_signers: WalletAdditionalSigner;
1728
+ /**
1729
+ * Address of the wallet.
1730
+ */
1731
+ address: string;
1732
+ /**
1733
+ * The wallet chain types.
1734
+ */
1735
+ chain_type: WalletChainType;
1736
+ /**
1737
+ * Unix timestamp of when the wallet was created in milliseconds.
1738
+ */
1739
+ created_at: number;
1740
+ /**
1741
+ * Unix timestamp of when the wallet was exported in milliseconds, if the wallet
1742
+ * was exported.
1743
+ */
1744
+ exported_at: number | null;
1745
+ /**
1746
+ * Unix timestamp of when the wallet was imported in milliseconds, if the wallet
1747
+ * was imported.
1748
+ */
1749
+ imported_at: number | null;
1750
+ /**
1751
+ * The key quorum ID of the owner of the wallet.
1752
+ */
1753
+ owner_id: string | null;
1754
+ /**
1755
+ * List of policy IDs for policies that are enforced on the wallet.
1756
+ */
1757
+ policy_ids: Array<string>;
1758
+ /**
1759
+ * The number of keys that must sign for an action to be valid.
1760
+ */
1761
+ authorization_threshold?: number;
1762
+ /**
1763
+ * Information about the custodian managing this wallet.
1764
+ */
1765
+ custody?: WalletCustodian;
1766
+ /**
1767
+ * A human-readable label for the wallet.
1768
+ */
1769
+ display_name?: string;
1770
+ /**
1771
+ * A customer-provided identifier for mapping to external systems. Write-once, set
1772
+ * only at creation.
1773
+ */
1774
+ external_id?: string;
1775
+ /**
1776
+ * The compressed, raw public key for the wallet along the chain cryptographic
1777
+ * curve.
1778
+ */
1779
+ public_key?: string;
1780
+ }
1781
+ /**
1782
+ * Request body for looking up a wallet by its blockchain address.
1783
+ */
1784
+ export interface GetByWalletAddressRequestBody {
1785
+ /**
1786
+ * A blockchain wallet address (Ethereum or Solana).
1787
+ */
1788
+ address: Address;
1789
+ }
1790
+ /**
1791
+ * Request body for updating a wallet.
1792
+ */
1793
+ export interface WalletUpdateRequestBody {
1794
+ /**
1795
+ * Additional signers for the wallet.
1796
+ */
1797
+ additional_signers?: AdditionalSignerInput;
1798
+ /**
1799
+ * A human-readable label for the wallet. Set to null to clear.
1800
+ */
1801
+ display_name?: string | null;
1802
+ /**
1803
+ * The owner of the resource, specified as a Privy user ID, a P-256 public key, or
1804
+ * null to remove the current owner.
1805
+ */
1806
+ owner?: SharedAPI.OwnerInput | null;
1807
+ /**
1808
+ * The key quorum ID to set as the owner of the resource. If you provide this, do
1809
+ * not specify an owner.
1810
+ */
1811
+ owner_id?: SharedAPI.OwnerIDInput | null;
1812
+ /**
1813
+ * New policy IDs to enforce on the wallet. Currently, only one policy is supported
1814
+ * per wallet.
1815
+ */
1816
+ policy_ids?: Array<string>;
1817
+ }
1818
+ /**
1819
+ * Input for a single wallet in a batch creation request.
1820
+ */
1821
+ export interface WalletBatchItemInput {
1822
+ /**
1823
+ * The wallet chain types.
1824
+ */
1825
+ chain_type: WalletChainType;
1826
+ /**
1827
+ * Additional signers for the wallet.
1828
+ */
1829
+ additional_signers?: AdditionalSignerInput;
1830
+ /**
1831
+ * A human-readable label for the wallet.
1832
+ */
1833
+ display_name?: string;
1834
+ /**
1835
+ * A customer-provided identifier for mapping to external systems. URL-safe
1836
+ * characters only ([a-zA-Z0-9_-]), max 64 chars. Write-once: cannot be changed
1837
+ * after creation.
1838
+ */
1839
+ external_id?: string;
1840
+ /**
1841
+ * The owner of the resource, specified as a Privy user ID, a P-256 public key, or
1842
+ * null to remove the current owner.
1843
+ */
1844
+ owner?: SharedAPI.OwnerInput | null;
1845
+ /**
1846
+ * The key quorum ID to set as the owner of the resource. If you provide this, do
1847
+ * not specify an owner.
1848
+ */
1849
+ owner_id?: SharedAPI.OwnerIDInput | null;
1850
+ /**
1851
+ * List of policy IDs for policies that should be enforced on the wallet.
1852
+ * Currently, only one policy is supported per wallet.
1853
+ */
1854
+ policy_ids?: Array<string>;
1855
+ }
1856
+ /**
1857
+ * Request body for batch wallet creation.
1858
+ */
1859
+ export interface WalletBatchCreateInput {
1860
+ /**
1861
+ * Array of wallet creation requests. Minimum 1, maximum 100.
1862
+ */
1863
+ wallets: Array<WalletBatchItemInput>;
1864
+ }
1865
+ /**
1866
+ * A single result from a batch wallet creation operation.
1867
+ */
1868
+ export type WalletBatchCreateResult = WalletBatchCreateResult.WalletBatchCreateSuccess | WalletBatchCreateResult.WalletBatchCreateFailure;
1869
+ export declare namespace WalletBatchCreateResult {
1870
+ /**
1871
+ * A successful wallet creation result within a batch operation.
1872
+ */
1873
+ interface WalletBatchCreateSuccess {
1874
+ /**
1875
+ * The index of the wallet in the original request array.
1876
+ */
1877
+ index: number;
1878
+ success: true;
1879
+ /**
1880
+ * A wallet managed by Privy's wallet infrastructure.
1881
+ */
1882
+ wallet: WalletsAPI.Wallet;
1883
+ }
929
1884
  /**
930
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
1885
+ * A failed wallet creation result within a batch operation.
1886
+ */
1887
+ interface WalletBatchCreateFailure {
1888
+ /**
1889
+ * A PrivyErrorCode string identifying the error type (e.g., "invalid_data",
1890
+ * "resource_conflict").
1891
+ */
1892
+ code: string;
1893
+ /**
1894
+ * A human-readable error message with details about what went wrong.
1895
+ */
1896
+ error: string;
1897
+ /**
1898
+ * The index of the wallet in the original request array.
1899
+ */
1900
+ index: number;
1901
+ success: false;
1902
+ }
1903
+ }
1904
+ /**
1905
+ * Response for a batch wallet creation request.
1906
+ */
1907
+ export interface WalletBatchCreateResponse {
1908
+ /**
1909
+ * Array of results for each wallet creation request, in the same order as input.
1910
+ */
1911
+ results: Array<WalletBatchCreateResult>;
1912
+ }
1913
+ /**
1914
+ * Request body for wallet RPC operations, discriminated by method.
1915
+ */
1916
+ export type WalletRpcRequestBody = EthereumSignTransactionRpcInput | EthereumSendTransactionRpcInput | EthereumPersonalSignRpcInput | EthereumSignTypedDataRpcInput | EthereumSecp256k1SignRpcInput | EthereumSign7702AuthorizationRpcInput | EthereumSignUserOperationRpcInput | EthereumSendCallsRpcInput | SolanaSignTransactionRpcInput | SolanaSignAndSendTransactionRpcInput | SolanaSignMessageRpcInput | SparkTransferRpcInput | SparkGetBalanceRpcInput | SparkTransferTokensRpcInput | SparkGetStaticDepositAddressRpcInput | SparkGetClaimStaticDepositQuoteRpcInput | SparkClaimStaticDepositRpcInput | SparkCreateLightningInvoiceRpcInput | SparkPayLightningInvoiceRpcInput | SparkSignMessageWithIdentityKeyRpcInput | ExportPrivateKeyRpcInput | ExportSeedPhraseRpcInput;
1917
+ /**
1918
+ * Response body for wallet RPC operations, discriminated by method.
1919
+ */
1920
+ export type WalletRpcResponse = EthereumPersonalSignRpcResponse | EthereumSignTypedDataRpcResponse | EthereumSignTransactionRpcResponse | EthereumSendTransactionRpcResponse | EthereumSignUserOperationRpcResponse | EthereumSign7702AuthorizationRpcResponse | EthereumSecp256k1SignRpcResponse | EthereumSendCallsRpcResponse | SolanaSignMessageRpcResponse | SolanaSignTransactionRpcResponse | SolanaSignAndSendTransactionRpcResponse | SparkTransferRpcResponse | SparkGetBalanceRpcResponse | SparkTransferTokensRpcResponse | SparkGetStaticDepositAddressRpcResponse | SparkGetClaimStaticDepositQuoteRpcResponse | SparkClaimStaticDepositRpcResponse | SparkCreateLightningInvoiceRpcResponse | SparkPayLightningInvoiceRpcResponse | SparkSignMessageWithIdentityKeyRpcResponse | ExportPrivateKeyRpcResponse | ExportSeedPhraseRpcResponse;
1921
+ /**
1922
+ * Request body for wallet authentication with HPKE-encrypted response.
1923
+ */
1924
+ export interface WalletAuthenticateRequestBody {
1925
+ /**
1926
+ * The encryption type for the authentication response. Currently only supports
1927
+ * HPKE.
931
1928
  */
932
1929
  encryption_type: 'HPKE';
1930
+ /**
1931
+ * The public key of your ECDH keypair, in base64-encoded, SPKI-format, whose
1932
+ * private key will be able to decrypt the session key.
1933
+ */
1934
+ recipient_public_key: string;
1935
+ /**
1936
+ * The user's JWT, to be used to authenticate the user.
1937
+ */
1938
+ user_jwt: string;
1939
+ }
1940
+ /**
1941
+ * The input for private key wallets.
1942
+ */
1943
+ export interface PrivateKeyInitInput {
1944
+ /**
1945
+ * The address of the wallet to import.
1946
+ */
1947
+ address: string;
1948
+ /**
1949
+ * The chain type of the wallet to import. Currently supports `ethereum` and
1950
+ * `solana`.
1951
+ */
1952
+ chain_type: WalletImportSupportedChains;
1953
+ /**
1954
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1955
+ */
1956
+ encryption_type: HpkeEncryption;
1957
+ entropy_type: 'private-key';
1958
+ }
1959
+ /**
1960
+ * The input for HD wallets.
1961
+ */
1962
+ export interface HDInitInput {
1963
+ /**
1964
+ * The address of the wallet to import.
1965
+ */
1966
+ address: string;
1967
+ /**
1968
+ * The chain type of the wallet to import. Currently supports `ethereum` and
1969
+ * `solana`.
1970
+ */
1971
+ chain_type: WalletImportSupportedChains;
1972
+ /**
1973
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1974
+ */
1975
+ encryption_type: HpkeEncryption;
1976
+ /**
1977
+ * The entropy type of the wallet to import.
1978
+ */
1979
+ entropy_type: 'hd';
1980
+ /**
1981
+ * The index of the wallet to import.
1982
+ */
1983
+ index: number;
1984
+ }
1985
+ /**
1986
+ * The submission input for importing a private key wallet.
1987
+ */
1988
+ export interface PrivateKeySubmitInput {
1989
+ /**
1990
+ * The address of the wallet to import.
1991
+ */
1992
+ address: string;
1993
+ /**
1994
+ * The chain type of the wallet to import. Currently supports `ethereum` and
1995
+ * `solana`.
1996
+ */
1997
+ chain_type: WalletImportSupportedChains;
1998
+ /**
1999
+ * The encrypted entropy of the wallet to import.
2000
+ */
2001
+ ciphertext: string;
2002
+ /**
2003
+ * The base64-encoded encapsulated key that was generated during encryption, for
2004
+ * use during decryption inside the TEE.
2005
+ */
2006
+ encapsulated_key: string;
2007
+ /**
2008
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
2009
+ */
2010
+ encryption_type: HpkeEncryption;
2011
+ entropy_type: 'private-key';
2012
+ /**
2013
+ * Optional HPKE configuration for wallet import decryption. These parameters allow
2014
+ * importing wallets encrypted by external providers that use different HPKE
2015
+ * configurations.
2016
+ */
2017
+ hpke_config?: HpkeImportConfig;
2018
+ }
2019
+ /**
2020
+ * The submission input for importing an HD wallet.
2021
+ */
2022
+ export interface HDSubmitInput {
2023
+ /**
2024
+ * The address of the wallet to import.
2025
+ */
2026
+ address: string;
2027
+ /**
2028
+ * The chain type of the wallet to import. Currently supports `ethereum` and
2029
+ * `solana`.
2030
+ */
2031
+ chain_type: WalletImportSupportedChains;
2032
+ /**
2033
+ * The encrypted entropy of the wallet to import.
2034
+ */
2035
+ ciphertext: string;
2036
+ /**
2037
+ * The base64-encoded encapsulated key that was generated during encryption, for
2038
+ * use during decryption inside the TEE.
2039
+ */
2040
+ encapsulated_key: string;
2041
+ /**
2042
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
2043
+ */
2044
+ encryption_type: HpkeEncryption;
2045
+ /**
2046
+ * The entropy type of the wallet to import.
2047
+ */
2048
+ entropy_type: 'hd';
2049
+ /**
2050
+ * The index of the wallet to import.
2051
+ */
2052
+ index: number;
2053
+ /**
2054
+ * Optional HPKE configuration for wallet import decryption. These parameters allow
2055
+ * importing wallets encrypted by external providers that use different HPKE
2056
+ * configurations.
2057
+ */
2058
+ hpke_config?: HpkeImportConfig;
2059
+ }
2060
+ /**
2061
+ * Request body for exporting a wallet private key.
2062
+ */
2063
+ export interface WalletExportRequestBody {
2064
+ /**
2065
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
2066
+ */
2067
+ encryption_type: HpkeEncryption;
2068
+ /**
2069
+ * The base64-encoded encryption public key to encrypt the wallet private key with.
2070
+ */
2071
+ recipient_public_key: string;
2072
+ export_seed_phrase?: boolean;
2073
+ }
2074
+ /**
2075
+ * Response body containing the encrypted wallet private key.
2076
+ */
2077
+ export interface WalletExportResponseBody {
2078
+ /**
2079
+ * The encrypted private key.
2080
+ */
2081
+ ciphertext: string;
2082
+ /**
2083
+ * The base64-encoded encapsulated key that was generated during encryption, for
2084
+ * use during decryption.
2085
+ */
2086
+ encapsulated_key: string;
2087
+ /**
2088
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
2089
+ */
2090
+ encryption_type: HpkeEncryption;
2091
+ }
2092
+ /**
2093
+ * The source asset, amount, and chain for a token transfer.
2094
+ */
2095
+ export interface TokenTransferSource {
2096
+ /**
2097
+ * Amount as a decimal string in the token's standard unit (e.g. "1.5" for 1.5
2098
+ * USDC, "0.01" for 0.01 ETH). Not in the smallest on-chain unit (wei, lamports,
2099
+ * etc.).
2100
+ */
2101
+ amount: string;
2102
+ /**
2103
+ * The asset to transfer. Supported: 'usdc', 'usdb', 'usdt' (stablecoins), 'eth'
2104
+ * (native Ethereum), 'sol' (native Solana).
2105
+ */
2106
+ asset: string;
2107
+ /**
2108
+ * The blockchain network on which to perform the transfer. Supported chains
2109
+ * include: 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and their
2110
+ * respective testnets.
2111
+ */
2112
+ chain: string;
2113
+ }
2114
+ /**
2115
+ * The destination address for a token transfer.
2116
+ */
2117
+ export interface TokenTransferDestination {
2118
+ /**
2119
+ * Recipient address (hex for EVM, base58 for Solana)
2120
+ */
2121
+ address: string;
2122
+ }
2123
+ /**
2124
+ * Request body for initiating a sponsored token transfer from an embedded wallet.
2125
+ */
2126
+ export interface TransferRequestBody {
2127
+ /**
2128
+ * The destination address for a token transfer.
2129
+ */
2130
+ destination: TokenTransferDestination;
2131
+ /**
2132
+ * The source asset, amount, and chain for a token transfer.
2133
+ */
2134
+ source: TokenTransferSource;
2135
+ }
2136
+ /**
2137
+ * SUI transaction commands allowlist for raw_sign endpoint policy evaluation
2138
+ */
2139
+ export type SuiCommandName = 'TransferObjects' | 'SplitCoins' | 'MergeCoins';
2140
+ /**
2141
+ * A named asset on Ethereum-compatible chains.
2142
+ */
2143
+ export type WalletEthereumAsset = 'usdc' | 'usdc.e' | 'eth' | 'pol' | 'usdt' | 'eurc' | 'usdb';
2144
+ /**
2145
+ * A named asset on Solana.
2146
+ */
2147
+ export type WalletSolanaAsset = 'sol' | 'usdc' | 'eurc' | 'usdb';
2148
+ /**
2149
+ * A named asset supported across all chains.
2150
+ */
2151
+ export type WalletAsset = 'usdc' | 'usdc.e' | 'eth' | 'pol' | 'usdt' | 'eurc' | 'usdb' | 'sol';
2152
+ /**
2153
+ * Details for a sent transfer transaction.
2154
+ */
2155
+ export interface TransferSentTransactionDetail {
2156
+ asset: 'usdc' | 'usdc.e' | 'eth' | 'pol' | 'usdt' | 'eurc' | 'usdb' | 'sol' | (string & {});
2157
+ chain: 'ethereum' | 'arbitrum' | 'base' | 'tempo' | 'linea' | 'optimism' | 'polygon' | 'solana' | 'zksync_era' | 'sepolia' | 'arbitrum_sepolia' | 'base_sepolia' | 'linea_testnet' | 'optimism_sepolia' | 'polygon_amoy' | 'solana_devnet' | 'solana_testnet';
2158
+ display_values: {
2159
+ [key: string]: string;
2160
+ };
2161
+ raw_value: string;
2162
+ raw_value_decimals: number;
2163
+ recipient: string;
2164
+ recipient_privy_user_id: string | null;
2165
+ sender: string;
2166
+ sender_privy_user_id: string | null;
2167
+ type: 'transfer_sent';
2168
+ }
2169
+ /**
2170
+ * Details for a received transfer transaction.
2171
+ */
2172
+ export interface TransferReceivedTransactionDetail {
2173
+ asset: 'usdc' | 'usdc.e' | 'eth' | 'pol' | 'usdt' | 'eurc' | 'usdb' | 'sol' | (string & {});
2174
+ chain: 'ethereum' | 'arbitrum' | 'base' | 'tempo' | 'linea' | 'optimism' | 'polygon' | 'solana' | 'zksync_era' | 'sepolia' | 'arbitrum_sepolia' | 'base_sepolia' | 'linea_testnet' | 'optimism_sepolia' | 'polygon_amoy' | 'solana_devnet' | 'solana_testnet';
2175
+ display_values: {
2176
+ [key: string]: string;
2177
+ };
2178
+ raw_value: string;
2179
+ raw_value_decimals: number;
2180
+ recipient: string;
2181
+ recipient_privy_user_id: string | null;
2182
+ sender: string;
2183
+ sender_privy_user_id: string | null;
2184
+ type: 'transfer_received';
2185
+ }
2186
+ /**
2187
+ * Details of a wallet transaction, varying by transaction type.
2188
+ */
2189
+ export type TransactionDetail = TransferSentTransactionDetail | TransferReceivedTransactionDetail;
2190
+ /**
2191
+ * Input for registering or updating an application public signing key for
2192
+ * API-based wallet actions.
2193
+ */
2194
+ export interface WalletAPIRegisterAuthorizationKeyInput {
2195
+ public_key: string;
2196
+ display_name?: string;
2197
+ /**
2198
+ * The role of an authorization key, controlling what actions it can authorize on a
2199
+ * wallet.
2200
+ */
2201
+ role?: AuthorizationKeyRole | null;
2202
+ }
2203
+ /**
2204
+ * Input for revoking an application authorization key.
2205
+ */
2206
+ export interface WalletAPIRevokeAuthorizationKeyInput {
2207
+ id: string;
2208
+ }
2209
+ /**
2210
+ * Dashboard response for a wallet authorization key (includes role, which is an
2211
+ * internal-only concept).
2212
+ */
2213
+ export interface AuthorizationKeyDashboardResponse {
2214
+ id: string;
2215
+ created_at: number;
2216
+ display_name: string | null;
2217
+ public_key: string;
2218
+ /**
2219
+ * The role of an authorization key, controlling what actions it can authorize on a
2220
+ * wallet.
2221
+ */
2222
+ role: AuthorizationKeyRole | null;
2223
+ }
2224
+ /**
2225
+ * Public-facing response for a wallet authorization key.
2226
+ */
2227
+ export interface AuthorizationKeyResponse {
2228
+ id: string;
2229
+ created_at: number;
2230
+ display_name: string | null;
2231
+ public_key: string;
2232
+ }
2233
+ /**
2234
+ * Headers required to authorize wallet operations.
2235
+ */
2236
+ export interface WalletAuthorizationHeaders {
2237
+ /**
2238
+ * ID of your Privy app.
2239
+ */
2240
+ 'privy-app-id': string;
2241
+ /**
2242
+ * Request authorization signature. If multiple signatures are required, they
2243
+ * should be comma separated.
2244
+ */
2245
+ 'privy-authorization-signature'?: string;
2246
+ /**
2247
+ * Request expiry. Value is a Unix timestamp in milliseconds representing the
2248
+ * deadline by which the request must be processed.
2249
+ */
2250
+ 'privy-request-expiry'?: string;
933
2251
  }
934
2252
  export interface WalletInitImportResponse {
935
2253
  /**
@@ -939,17 +2257,7 @@ export interface WalletInitImportResponse {
939
2257
  /**
940
2258
  * The encryption type of the wallet to import. Currently only supports `HPKE`.
941
2259
  */
942
- encryption_type: 'HPKE';
943
- }
944
- export interface WalletRawSignResponse {
945
- data: WalletRawSignResponse.Data;
946
- method: 'raw_sign';
947
- }
948
- export declare namespace WalletRawSignResponse {
949
- interface Data {
950
- encoding: 'hex';
951
- signature: string;
952
- }
2260
+ encryption_type: HpkeEncryption;
953
2261
  }
954
2262
  export type WalletAuthenticateWithJwtResponse = WalletAuthenticateWithJwtResponse.WithEncryption | WalletAuthenticateWithJwtResponse.WithoutEncryption;
955
2263
  export declare namespace WalletAuthenticateWithJwtResponse {
@@ -1015,55 +2323,37 @@ export interface WalletCreateParams {
1015
2323
  /**
1016
2324
  * Body param: Additional signers for the wallet.
1017
2325
  */
1018
- additional_signers?: Array<WalletCreateParams.AdditionalSigner>;
2326
+ additional_signers?: AdditionalSignerInput;
1019
2327
  /**
1020
- * Body param: The owner of the resource. If you provide this, do not specify an
1021
- * owner_id as it will be generated automatically. When updating a wallet, you can
1022
- * set the owner to null to remove the owner.
2328
+ * Body param: A human-readable label for the wallet.
1023
2329
  */
1024
- owner?: WalletCreateParams.PublicKeyOwner | WalletCreateParams.UserOwner | null;
2330
+ display_name?: string;
2331
+ /**
2332
+ * Body param: A customer-provided identifier for mapping to external systems.
2333
+ * URL-safe characters only ([a-zA-Z0-9_-]), max 64 chars. Write-once: cannot be
2334
+ * changed after creation.
2335
+ */
2336
+ external_id?: string;
2337
+ /**
2338
+ * Body param: The owner of the resource, specified as a Privy user ID, a P-256
2339
+ * public key, or null to remove the current owner.
2340
+ */
2341
+ owner?: SharedAPI.OwnerInput | null;
1025
2342
  /**
1026
2343
  * Body param: The key quorum ID to set as the owner of the resource. If you
1027
2344
  * provide this, do not specify an owner.
1028
2345
  */
1029
- owner_id?: string;
2346
+ owner_id?: SharedAPI.OwnerIDInput | null;
1030
2347
  /**
1031
- * Body param: List of policy IDs for policies that should be enforced on the
1032
- * wallet. Currently, only one policy is supported per wallet.
2348
+ * Body param: An optional list of up to one policy ID to enforce on the wallet.
1033
2349
  */
1034
- policy_ids?: Array<string>;
2350
+ policy_ids?: PolicyInput;
1035
2351
  /**
1036
2352
  * Header param: Idempotency keys ensure API requests are executed only once within
1037
2353
  * a 24-hour window.
1038
2354
  */
1039
2355
  'privy-idempotency-key'?: string;
1040
2356
  }
1041
- export declare namespace WalletCreateParams {
1042
- interface AdditionalSigner {
1043
- signer_id: string;
1044
- /**
1045
- * The array of policy IDs that will be applied to wallet requests. If specified,
1046
- * this will override the base policy IDs set on the wallet.
1047
- */
1048
- override_policy_ids?: Array<string>;
1049
- }
1050
- /**
1051
- * The P-256 public key of the owner of the resource, in base64-encoded DER format.
1052
- * If you provide this, do not specify an owner_id as it will be generated
1053
- * automatically.
1054
- */
1055
- interface PublicKeyOwner {
1056
- public_key: string;
1057
- }
1058
- /**
1059
- * The user ID of the owner of the resource. The user must already exist, and this
1060
- * value must start with "did:privy:". If you provide this, do not specify an
1061
- * owner_id as it will be generated automatically.
1062
- */
1063
- interface UserOwner {
1064
- user_id: string;
1065
- }
1066
- }
1067
2357
  export interface WalletListParams extends CursorParams {
1068
2358
  /**
1069
2359
  * Filter wallets by authorization public key. Returns wallets owned by key quorums
@@ -1075,6 +2365,10 @@ export interface WalletListParams extends CursorParams {
1075
2365
  * The wallet chain types.
1076
2366
  */
1077
2367
  chain_type?: WalletChainType;
2368
+ /**
2369
+ * Filter wallets by external ID.
2370
+ */
2371
+ external_id?: string;
1078
2372
  /**
1079
2373
  * Filter wallets by user ID. Cannot be used together with authorization_key.
1080
2374
  */
@@ -1085,17 +2379,26 @@ export interface WalletExportParams {
1085
2379
  * Body param: The encryption type of the wallet to import. Currently only supports
1086
2380
  * `HPKE`.
1087
2381
  */
1088
- encryption_type: 'HPKE';
2382
+ encryption_type: HpkeEncryption;
1089
2383
  /**
1090
2384
  * Body param: The base64-encoded encryption public key to encrypt the wallet
1091
2385
  * private key with.
1092
2386
  */
1093
2387
  recipient_public_key: string;
2388
+ /**
2389
+ * Body param
2390
+ */
2391
+ export_seed_phrase?: boolean;
1094
2392
  /**
1095
2393
  * Header param: Request authorization signature. If multiple signatures are
1096
2394
  * required, they should be comma separated.
1097
2395
  */
1098
- 'privy-authorization-signature'?: string;
2396
+ 'privy-authorization-signature'?: string;
2397
+ /**
2398
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
2399
+ * representing the deadline by which the request must be processed.
2400
+ */
2401
+ 'privy-request-expiry'?: string;
1099
2402
  }
1100
2403
  export type WalletInitImportParams = WalletInitImportParams.HDInitInput | WalletInitImportParams.PrivateKeyInitInput;
1101
2404
  export declare namespace WalletInitImportParams {
@@ -1108,11 +2411,11 @@ export declare namespace WalletInitImportParams {
1108
2411
  * The chain type of the wallet to import. Currently supports `ethereum` and
1109
2412
  * `solana`.
1110
2413
  */
1111
- chain_type: 'ethereum' | 'solana';
2414
+ chain_type: WalletImportSupportedChains;
1112
2415
  /**
1113
2416
  * The encryption type of the wallet to import. Currently only supports `HPKE`.
1114
2417
  */
1115
- encryption_type: 'HPKE';
2418
+ encryption_type: HpkeEncryption;
1116
2419
  /**
1117
2420
  * The entropy type of the wallet to import.
1118
2421
  */
@@ -1131,19 +2434,19 @@ export declare namespace WalletInitImportParams {
1131
2434
  * The chain type of the wallet to import. Currently supports `ethereum` and
1132
2435
  * `solana`.
1133
2436
  */
1134
- chain_type: 'ethereum' | 'solana';
2437
+ chain_type: WalletImportSupportedChains;
1135
2438
  /**
1136
2439
  * The encryption type of the wallet to import. Currently only supports `HPKE`.
1137
2440
  */
1138
- encryption_type: 'HPKE';
2441
+ encryption_type: HpkeEncryption;
1139
2442
  entropy_type: 'private-key';
1140
2443
  }
1141
2444
  }
1142
2445
  export interface WalletRawSignParams {
1143
2446
  /**
1144
- * Body param: Sign a pre-computed hash
2447
+ * Body param: Parameters for the `raw_sign` RPC.
1145
2448
  */
1146
- params: WalletRawSignParams.Hash | WalletRawSignParams.Bytes;
2449
+ params: RawSignInputParams;
1147
2450
  /**
1148
2451
  * Header param: Request authorization signature. If multiple signatures are
1149
2452
  * required, they should be comma separated.
@@ -1154,46 +2457,339 @@ export interface WalletRawSignParams {
1154
2457
  * a 24-hour window.
1155
2458
  */
1156
2459
  'privy-idempotency-key'?: string;
1157
- }
1158
- export declare namespace WalletRawSignParams {
1159
2460
  /**
1160
- * Sign a pre-computed hash
2461
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
2462
+ * representing the deadline by which the request must be processed.
1161
2463
  */
1162
- interface Hash {
2464
+ 'privy-request-expiry'?: string;
2465
+ }
2466
+ export type WalletRpcParams = WalletRpcParams.EthereumSignTransactionRpcInput | WalletRpcParams.EthereumSendTransactionRpcInput | WalletRpcParams.EthereumPersonalSignRpcInput | WalletRpcParams.EthereumSignTypedDataRpcInput | WalletRpcParams.EthereumSecp256k1SignRpcInput | WalletRpcParams.EthereumSign7702AuthorizationRpcInput | WalletRpcParams.EthereumSignUserOperationRpcInput | WalletRpcParams.EthereumSendCallsRpcInput | WalletRpcParams.SolanaSignTransactionRpcInput | WalletRpcParams.SolanaSignAndSendTransactionRpcInput | WalletRpcParams.SolanaSignMessageRpcInput | WalletRpcParams.SparkTransferRpcInput | WalletRpcParams.SparkGetBalanceRpcInput | WalletRpcParams.SparkTransferTokensRpcInput | WalletRpcParams.SparkGetStaticDepositAddressRpcInput | WalletRpcParams.SparkGetClaimStaticDepositQuoteRpcInput | WalletRpcParams.SparkClaimStaticDepositRpcInput | WalletRpcParams.SparkCreateLightningInvoiceRpcInput | WalletRpcParams.SparkPayLightningInvoiceRpcInput | WalletRpcParams.SparkSignMessageWithIdentityKeyRpcInput | WalletRpcParams.ExportPrivateKeyRpcInput | WalletRpcParams.ExportSeedPhraseRpcInput;
2467
+ export declare namespace WalletRpcParams {
2468
+ interface EthereumSignTransactionRpcInput {
2469
+ /**
2470
+ * Body param
2471
+ */
2472
+ method: 'eth_signTransaction';
2473
+ /**
2474
+ * Body param: Parameters for the EVM `eth_signTransaction` RPC.
2475
+ */
2476
+ params: EthereumSignTransactionRpcInputParams;
2477
+ /**
2478
+ * Body param
2479
+ */
2480
+ address?: string;
2481
+ /**
2482
+ * Body param
2483
+ */
2484
+ chain_type?: 'ethereum';
2485
+ /**
2486
+ * Body param
2487
+ */
2488
+ wallet_id?: string;
2489
+ /**
2490
+ * Header param: Request authorization signature. If multiple signatures are
2491
+ * required, they should be comma separated.
2492
+ */
2493
+ 'privy-authorization-signature'?: string;
2494
+ /**
2495
+ * Header param: Idempotency keys ensure API requests are executed only once within
2496
+ * a 24-hour window.
2497
+ */
2498
+ 'privy-idempotency-key'?: string;
1163
2499
  /**
1164
- * The hash to sign. Must start with `0x`.
2500
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
2501
+ * representing the deadline by which the request must be processed.
1165
2502
  */
1166
- hash: string;
2503
+ 'privy-request-expiry'?: string;
1167
2504
  }
1168
- /**
1169
- * Hash and sign bytes using the specified encoding and hash function.
1170
- */
1171
- interface Bytes {
2505
+ interface EthereumSendTransactionRpcInput {
2506
+ /**
2507
+ * Body param: A valid CAIP-2 chain ID (e.g. 'eip155:1').
2508
+ */
2509
+ caip2: AppsAPI.Caip2;
2510
+ /**
2511
+ * Body param
2512
+ */
2513
+ method: 'eth_sendTransaction';
2514
+ /**
2515
+ * Body param: Parameters for the EVM `eth_sendTransaction` RPC.
2516
+ */
2517
+ params: EthereumSendTransactionRpcInputParams;
2518
+ /**
2519
+ * Body param
2520
+ */
2521
+ address?: string;
2522
+ /**
2523
+ * Body param
2524
+ */
2525
+ chain_type?: 'ethereum';
2526
+ /**
2527
+ * Body param
2528
+ */
2529
+ reference_id?: string;
2530
+ /**
2531
+ * Body param
2532
+ */
2533
+ sponsor?: boolean;
2534
+ /**
2535
+ * Body param
2536
+ */
2537
+ wallet_id?: string;
1172
2538
  /**
1173
- * The bytes to hash and sign.
2539
+ * Header param: Request authorization signature. If multiple signatures are
2540
+ * required, they should be comma separated.
1174
2541
  */
1175
- bytes: string;
2542
+ 'privy-authorization-signature'?: string;
1176
2543
  /**
1177
- * The encoding scheme for the bytes.
2544
+ * Header param: Idempotency keys ensure API requests are executed only once within
2545
+ * a 24-hour window.
1178
2546
  */
1179
- encoding: 'utf-8' | 'hex' | 'base64';
2547
+ 'privy-idempotency-key'?: string;
1180
2548
  /**
1181
- * The hash function to hash the bytes.
2549
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
2550
+ * representing the deadline by which the request must be processed.
1182
2551
  */
1183
- hash_function: 'keccak256' | 'sha256' | 'blake2b256';
2552
+ 'privy-request-expiry'?: string;
1184
2553
  }
1185
- }
1186
- export type WalletRpcParams = WalletRpcParams.EthereumPersonalSignRpcInput | WalletRpcParams.EthereumSignTypedDataRpcInput | WalletRpcParams.EthereumSignTransactionRpcInput | WalletRpcParams.EthereumSignUserOperationRpcInput | WalletRpcParams.EthereumSendTransactionRpcInput | WalletRpcParams.EthereumSign7702AuthorizationRpcInput | WalletRpcParams.EthereumSecp256k1SignRpcInput | WalletRpcParams.SolanaSignMessageRpcInput | WalletRpcParams.SolanaSignTransactionRpcInput | WalletRpcParams.SolanaSignAndSendTransactionRpcInput;
1187
- export declare namespace WalletRpcParams {
1188
2554
  interface EthereumPersonalSignRpcInput {
1189
2555
  /**
1190
2556
  * Body param
1191
2557
  */
1192
- method: 'personal_sign';
2558
+ method: 'personal_sign';
2559
+ /**
2560
+ * Body param: Parameters for the EVM `personal_sign` RPC.
2561
+ */
2562
+ params: EthereumPersonalSignRpcInputParams;
2563
+ /**
2564
+ * Body param
2565
+ */
2566
+ address?: string;
2567
+ /**
2568
+ * Body param
2569
+ */
2570
+ chain_type?: 'ethereum';
2571
+ /**
2572
+ * Body param
2573
+ */
2574
+ wallet_id?: string;
2575
+ /**
2576
+ * Header param: Request authorization signature. If multiple signatures are
2577
+ * required, they should be comma separated.
2578
+ */
2579
+ 'privy-authorization-signature'?: string;
2580
+ /**
2581
+ * Header param: Idempotency keys ensure API requests are executed only once within
2582
+ * a 24-hour window.
2583
+ */
2584
+ 'privy-idempotency-key'?: string;
2585
+ /**
2586
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
2587
+ * representing the deadline by which the request must be processed.
2588
+ */
2589
+ 'privy-request-expiry'?: string;
2590
+ }
2591
+ interface EthereumSignTypedDataRpcInput {
2592
+ /**
2593
+ * Body param
2594
+ */
2595
+ method: 'eth_signTypedData_v4';
2596
+ /**
2597
+ * Body param: Parameters for the EVM `eth_signTypedData_v4` RPC.
2598
+ */
2599
+ params: EthereumSignTypedDataRpcInputParams;
2600
+ /**
2601
+ * Body param
2602
+ */
2603
+ address?: string;
2604
+ /**
2605
+ * Body param
2606
+ */
2607
+ chain_type?: 'ethereum';
2608
+ /**
2609
+ * Body param
2610
+ */
2611
+ wallet_id?: string;
2612
+ /**
2613
+ * Header param: Request authorization signature. If multiple signatures are
2614
+ * required, they should be comma separated.
2615
+ */
2616
+ 'privy-authorization-signature'?: string;
2617
+ /**
2618
+ * Header param: Idempotency keys ensure API requests are executed only once within
2619
+ * a 24-hour window.
2620
+ */
2621
+ 'privy-idempotency-key'?: string;
2622
+ /**
2623
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
2624
+ * representing the deadline by which the request must be processed.
2625
+ */
2626
+ 'privy-request-expiry'?: string;
2627
+ }
2628
+ interface EthereumSecp256k1SignRpcInput {
2629
+ /**
2630
+ * Body param
2631
+ */
2632
+ method: 'secp256k1_sign';
2633
+ /**
2634
+ * Body param: Parameters for the EVM `secp256k1_sign` RPC.
2635
+ */
2636
+ params: EthereumSecp256k1SignRpcInputParams;
2637
+ /**
2638
+ * Body param
2639
+ */
2640
+ address?: string;
2641
+ /**
2642
+ * Body param
2643
+ */
2644
+ chain_type?: 'ethereum';
2645
+ /**
2646
+ * Body param
2647
+ */
2648
+ wallet_id?: string;
2649
+ /**
2650
+ * Header param: Request authorization signature. If multiple signatures are
2651
+ * required, they should be comma separated.
2652
+ */
2653
+ 'privy-authorization-signature'?: string;
2654
+ /**
2655
+ * Header param: Idempotency keys ensure API requests are executed only once within
2656
+ * a 24-hour window.
2657
+ */
2658
+ 'privy-idempotency-key'?: string;
2659
+ /**
2660
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
2661
+ * representing the deadline by which the request must be processed.
2662
+ */
2663
+ 'privy-request-expiry'?: string;
2664
+ }
2665
+ interface EthereumSign7702AuthorizationRpcInput {
2666
+ /**
2667
+ * Body param
2668
+ */
2669
+ method: 'eth_sign7702Authorization';
2670
+ /**
2671
+ * Body param: Parameters for the EVM `eth_sign7702Authorization` RPC.
2672
+ */
2673
+ params: EthereumSign7702AuthorizationRpcInputParams;
2674
+ /**
2675
+ * Body param
2676
+ */
2677
+ address?: string;
2678
+ /**
2679
+ * Body param
2680
+ */
2681
+ chain_type?: 'ethereum';
2682
+ /**
2683
+ * Body param
2684
+ */
2685
+ wallet_id?: string;
2686
+ /**
2687
+ * Header param: Request authorization signature. If multiple signatures are
2688
+ * required, they should be comma separated.
2689
+ */
2690
+ 'privy-authorization-signature'?: string;
2691
+ /**
2692
+ * Header param: Idempotency keys ensure API requests are executed only once within
2693
+ * a 24-hour window.
2694
+ */
2695
+ 'privy-idempotency-key'?: string;
2696
+ /**
2697
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
2698
+ * representing the deadline by which the request must be processed.
2699
+ */
2700
+ 'privy-request-expiry'?: string;
2701
+ }
2702
+ interface EthereumSignUserOperationRpcInput {
2703
+ /**
2704
+ * Body param
2705
+ */
2706
+ method: 'eth_signUserOperation';
2707
+ /**
2708
+ * Body param: Parameters for the EVM `eth_signUserOperation` RPC.
2709
+ */
2710
+ params: EthereumSignUserOperationRpcInputParams;
2711
+ /**
2712
+ * Body param
2713
+ */
2714
+ address?: string;
2715
+ /**
2716
+ * Body param
2717
+ */
2718
+ chain_type?: 'ethereum';
2719
+ /**
2720
+ * Body param
2721
+ */
2722
+ wallet_id?: string;
2723
+ /**
2724
+ * Header param: Request authorization signature. If multiple signatures are
2725
+ * required, they should be comma separated.
2726
+ */
2727
+ 'privy-authorization-signature'?: string;
2728
+ /**
2729
+ * Header param: Idempotency keys ensure API requests are executed only once within
2730
+ * a 24-hour window.
2731
+ */
2732
+ 'privy-idempotency-key'?: string;
2733
+ /**
2734
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
2735
+ * representing the deadline by which the request must be processed.
2736
+ */
2737
+ 'privy-request-expiry'?: string;
2738
+ }
2739
+ interface EthereumSendCallsRpcInput {
2740
+ /**
2741
+ * Body param: A valid CAIP-2 chain ID (e.g. 'eip155:1').
2742
+ */
2743
+ caip2: AppsAPI.Caip2;
2744
+ /**
2745
+ * Body param
2746
+ */
2747
+ method: 'wallet_sendCalls';
2748
+ /**
2749
+ * Body param: Parameters for the `wallet_sendCalls` RPC.
2750
+ */
2751
+ params: EthereumSendCallsRpcInputParams;
2752
+ /**
2753
+ * Body param
2754
+ */
2755
+ address?: string;
2756
+ /**
2757
+ * Body param
2758
+ */
2759
+ chain_type?: 'ethereum';
2760
+ /**
2761
+ * Body param
2762
+ */
2763
+ sponsor?: boolean;
2764
+ /**
2765
+ * Body param
2766
+ */
2767
+ wallet_id?: string;
2768
+ /**
2769
+ * Header param: Request authorization signature. If multiple signatures are
2770
+ * required, they should be comma separated.
2771
+ */
2772
+ 'privy-authorization-signature'?: string;
2773
+ /**
2774
+ * Header param: Idempotency keys ensure API requests are executed only once within
2775
+ * a 24-hour window.
2776
+ */
2777
+ 'privy-idempotency-key'?: string;
2778
+ /**
2779
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
2780
+ * representing the deadline by which the request must be processed.
2781
+ */
2782
+ 'privy-request-expiry'?: string;
2783
+ }
2784
+ interface SolanaSignTransactionRpcInput {
2785
+ /**
2786
+ * Body param
2787
+ */
2788
+ method: 'signTransaction';
1193
2789
  /**
1194
- * Body param
2790
+ * Body param: Parameters for the SVM `signTransaction` RPC.
1195
2791
  */
1196
- params: EthereumPersonalSignRpcInput.Params;
2792
+ params: SolanaSignTransactionRpcInputParams;
1197
2793
  /**
1198
2794
  * Body param
1199
2795
  */
@@ -1201,7 +2797,11 @@ export declare namespace WalletRpcParams {
1201
2797
  /**
1202
2798
  * Body param
1203
2799
  */
1204
- chain_type?: 'ethereum';
2800
+ chain_type?: 'solana';
2801
+ /**
2802
+ * Body param
2803
+ */
2804
+ wallet_id?: string;
1205
2805
  /**
1206
2806
  * Header param: Request authorization signature. If multiple signatures are
1207
2807
  * required, they should be comma separated.
@@ -1212,22 +2812,25 @@ export declare namespace WalletRpcParams {
1212
2812
  * a 24-hour window.
1213
2813
  */
1214
2814
  'privy-idempotency-key'?: string;
2815
+ /**
2816
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
2817
+ * representing the deadline by which the request must be processed.
2818
+ */
2819
+ 'privy-request-expiry'?: string;
1215
2820
  }
1216
- namespace EthereumPersonalSignRpcInput {
1217
- interface Params {
1218
- encoding: 'utf-8' | 'hex';
1219
- message: string;
1220
- }
1221
- }
1222
- interface EthereumSignTypedDataRpcInput {
2821
+ interface SolanaSignAndSendTransactionRpcInput {
1223
2822
  /**
1224
- * Body param
2823
+ * Body param: A valid CAIP-2 chain ID (e.g. 'eip155:1').
1225
2824
  */
1226
- method: 'eth_signTypedData_v4';
2825
+ caip2: AppsAPI.Caip2;
1227
2826
  /**
1228
2827
  * Body param
1229
2828
  */
1230
- params: EthereumSignTypedDataRpcInput.Params;
2829
+ method: 'signAndSendTransaction';
2830
+ /**
2831
+ * Body param: Parameters for the SVM `signAndSendTransaction` RPC.
2832
+ */
2833
+ params: SolanaSignAndSendTransactionRpcInputParams;
1231
2834
  /**
1232
2835
  * Body param
1233
2836
  */
@@ -1235,7 +2838,19 @@ export declare namespace WalletRpcParams {
1235
2838
  /**
1236
2839
  * Body param
1237
2840
  */
1238
- chain_type?: 'ethereum';
2841
+ chain_type?: 'solana';
2842
+ /**
2843
+ * Body param
2844
+ */
2845
+ reference_id?: string;
2846
+ /**
2847
+ * Body param
2848
+ */
2849
+ sponsor?: boolean;
2850
+ /**
2851
+ * Body param
2852
+ */
2853
+ wallet_id?: string;
1239
2854
  /**
1240
2855
  * Header param: Request authorization signature. If multiple signatures are
1241
2856
  * required, they should be comma separated.
@@ -1246,41 +2861,21 @@ export declare namespace WalletRpcParams {
1246
2861
  * a 24-hour window.
1247
2862
  */
1248
2863
  'privy-idempotency-key'?: string;
2864
+ /**
2865
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
2866
+ * representing the deadline by which the request must be processed.
2867
+ */
2868
+ 'privy-request-expiry'?: string;
1249
2869
  }
1250
- namespace EthereumSignTypedDataRpcInput {
1251
- interface Params {
1252
- typed_data: Params.TypedData;
1253
- }
1254
- namespace Params {
1255
- interface TypedData {
1256
- domain: {
1257
- [key: string]: unknown;
1258
- };
1259
- message: {
1260
- [key: string]: unknown;
1261
- };
1262
- primary_type: string;
1263
- types: {
1264
- [key: string]: Array<TypedData.Type>;
1265
- };
1266
- }
1267
- namespace TypedData {
1268
- interface Type {
1269
- name: string;
1270
- type: string;
1271
- }
1272
- }
1273
- }
1274
- }
1275
- interface EthereumSignTransactionRpcInput {
2870
+ interface SolanaSignMessageRpcInput {
1276
2871
  /**
1277
2872
  * Body param
1278
2873
  */
1279
- method: 'eth_signTransaction';
2874
+ method: 'signMessage';
1280
2875
  /**
1281
- * Body param
2876
+ * Body param: Parameters for the SVM `signMessage` RPC.
1282
2877
  */
1283
- params: EthereumSignTransactionRpcInput.Params;
2878
+ params: SolanaSignMessageRpcInputParams;
1284
2879
  /**
1285
2880
  * Body param
1286
2881
  */
@@ -1288,7 +2883,11 @@ export declare namespace WalletRpcParams {
1288
2883
  /**
1289
2884
  * Body param
1290
2885
  */
1291
- chain_type?: 'ethereum';
2886
+ chain_type?: 'solana';
2887
+ /**
2888
+ * Body param
2889
+ */
2890
+ wallet_id?: string;
1292
2891
  /**
1293
2892
  * Header param: Request authorization signature. If multiple signatures are
1294
2893
  * required, they should be comma separated.
@@ -1299,55 +2898,25 @@ export declare namespace WalletRpcParams {
1299
2898
  * a 24-hour window.
1300
2899
  */
1301
2900
  'privy-idempotency-key'?: string;
1302
- }
1303
- namespace EthereumSignTransactionRpcInput {
1304
- interface Params {
1305
- transaction: Params.Transaction;
1306
- }
1307
- namespace Params {
1308
- interface Transaction {
1309
- authorization_list?: Array<Transaction.AuthorizationList>;
1310
- chain_id?: string | number;
1311
- data?: string;
1312
- from?: string;
1313
- gas_limit?: string | number;
1314
- gas_price?: string | number;
1315
- max_fee_per_gas?: string | number;
1316
- max_priority_fee_per_gas?: string | number;
1317
- nonce?: string | number;
1318
- to?: string;
1319
- type?: 0 | 1 | 2 | 4;
1320
- value?: string | number;
1321
- }
1322
- namespace Transaction {
1323
- interface AuthorizationList {
1324
- chain_id: string | number;
1325
- contract: string;
1326
- nonce: string | number;
1327
- r: string;
1328
- s: string;
1329
- y_parity: number;
1330
- }
1331
- }
1332
- }
1333
- }
1334
- interface EthereumSignUserOperationRpcInput {
1335
2901
  /**
1336
- * Body param
2902
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
2903
+ * representing the deadline by which the request must be processed.
1337
2904
  */
1338
- method: 'eth_signUserOperation';
2905
+ 'privy-request-expiry'?: string;
2906
+ }
2907
+ interface SparkTransferRpcInput {
1339
2908
  /**
1340
2909
  * Body param
1341
2910
  */
1342
- params: EthereumSignUserOperationRpcInput.Params;
2911
+ method: 'transfer';
1343
2912
  /**
1344
- * Body param
2913
+ * Body param: Parameters for the Spark `transfer` RPC.
1345
2914
  */
1346
- address?: string;
2915
+ params: SparkTransferRpcInputParams;
1347
2916
  /**
1348
- * Body param
2917
+ * Body param: The Spark network.
1349
2918
  */
1350
- chain_type?: 'ethereum';
2919
+ network?: SparkNetwork;
1351
2920
  /**
1352
2921
  * Header param: Request authorization signature. If multiple signatures are
1353
2922
  * required, they should be comma separated.
@@ -1358,55 +2927,50 @@ export declare namespace WalletRpcParams {
1358
2927
  * a 24-hour window.
1359
2928
  */
1360
2929
  'privy-idempotency-key'?: string;
2930
+ /**
2931
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
2932
+ * representing the deadline by which the request must be processed.
2933
+ */
2934
+ 'privy-request-expiry'?: string;
1361
2935
  }
1362
- namespace EthereumSignUserOperationRpcInput {
1363
- interface Params {
1364
- chain_id: string | number;
1365
- contract: string;
1366
- user_operation: Params.UserOperation;
1367
- }
1368
- namespace Params {
1369
- interface UserOperation {
1370
- call_data: string;
1371
- call_gas_limit: string;
1372
- max_fee_per_gas: string;
1373
- max_priority_fee_per_gas: string;
1374
- nonce: string;
1375
- paymaster: string;
1376
- paymaster_data: string;
1377
- paymaster_post_op_gas_limit: string;
1378
- paymaster_verification_gas_limit: string;
1379
- pre_verification_gas: string;
1380
- sender: string;
1381
- verification_gas_limit: string;
1382
- }
1383
- }
1384
- }
1385
- interface EthereumSendTransactionRpcInput {
2936
+ interface SparkGetBalanceRpcInput {
1386
2937
  /**
1387
2938
  * Body param
1388
2939
  */
1389
- caip2: string;
2940
+ method: 'getBalance';
1390
2941
  /**
1391
- * Body param
2942
+ * Body param: The Spark network.
1392
2943
  */
1393
- method: 'eth_sendTransaction';
2944
+ network?: SparkNetwork;
1394
2945
  /**
1395
- * Body param
2946
+ * Header param: Request authorization signature. If multiple signatures are
2947
+ * required, they should be comma separated.
1396
2948
  */
1397
- params: EthereumSendTransactionRpcInput.Params;
2949
+ 'privy-authorization-signature'?: string;
1398
2950
  /**
1399
- * Body param
2951
+ * Header param: Idempotency keys ensure API requests are executed only once within
2952
+ * a 24-hour window.
1400
2953
  */
1401
- address?: string;
2954
+ 'privy-idempotency-key'?: string;
1402
2955
  /**
1403
- * Body param
2956
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
2957
+ * representing the deadline by which the request must be processed.
1404
2958
  */
1405
- chain_type?: 'ethereum';
2959
+ 'privy-request-expiry'?: string;
2960
+ }
2961
+ interface SparkTransferTokensRpcInput {
1406
2962
  /**
1407
2963
  * Body param
1408
2964
  */
1409
- sponsor?: boolean;
2965
+ method: 'transferTokens';
2966
+ /**
2967
+ * Body param: Parameters for the Spark `transferTokens` RPC.
2968
+ */
2969
+ params: SparkTransferTokensRpcInputParams;
2970
+ /**
2971
+ * Body param: The Spark network.
2972
+ */
2973
+ network?: SparkNetwork;
1410
2974
  /**
1411
2975
  * Header param: Request authorization signature. If multiple signatures are
1412
2976
  * required, they should be comma separated.
@@ -1417,55 +2981,21 @@ export declare namespace WalletRpcParams {
1417
2981
  * a 24-hour window.
1418
2982
  */
1419
2983
  'privy-idempotency-key'?: string;
1420
- }
1421
- namespace EthereumSendTransactionRpcInput {
1422
- interface Params {
1423
- transaction: Params.Transaction;
1424
- }
1425
- namespace Params {
1426
- interface Transaction {
1427
- authorization_list?: Array<Transaction.AuthorizationList>;
1428
- chain_id?: string | number;
1429
- data?: string;
1430
- from?: string;
1431
- gas_limit?: string | number;
1432
- gas_price?: string | number;
1433
- max_fee_per_gas?: string | number;
1434
- max_priority_fee_per_gas?: string | number;
1435
- nonce?: string | number;
1436
- to?: string;
1437
- type?: 0 | 1 | 2 | 4;
1438
- value?: string | number;
1439
- }
1440
- namespace Transaction {
1441
- interface AuthorizationList {
1442
- chain_id: string | number;
1443
- contract: string;
1444
- nonce: string | number;
1445
- r: string;
1446
- s: string;
1447
- y_parity: number;
1448
- }
1449
- }
1450
- }
1451
- }
1452
- interface EthereumSign7702AuthorizationRpcInput {
1453
- /**
1454
- * Body param
1455
- */
1456
- method: 'eth_sign7702Authorization';
1457
2984
  /**
1458
- * Body param
2985
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
2986
+ * representing the deadline by which the request must be processed.
1459
2987
  */
1460
- params: EthereumSign7702AuthorizationRpcInput.Params;
2988
+ 'privy-request-expiry'?: string;
2989
+ }
2990
+ interface SparkGetStaticDepositAddressRpcInput {
1461
2991
  /**
1462
2992
  * Body param
1463
2993
  */
1464
- address?: string;
2994
+ method: 'getStaticDepositAddress';
1465
2995
  /**
1466
- * Body param
2996
+ * Body param: The Spark network.
1467
2997
  */
1468
- chain_type?: 'ethereum';
2998
+ network?: SparkNetwork;
1469
2999
  /**
1470
3000
  * Header param: Request authorization signature. If multiple signatures are
1471
3001
  * required, they should be comma separated.
@@ -1476,31 +3006,25 @@ export declare namespace WalletRpcParams {
1476
3006
  * a 24-hour window.
1477
3007
  */
1478
3008
  'privy-idempotency-key'?: string;
1479
- }
1480
- namespace EthereumSign7702AuthorizationRpcInput {
1481
- interface Params {
1482
- chain_id: string | number;
1483
- contract: string;
1484
- nonce?: string | number;
1485
- }
1486
- }
1487
- interface EthereumSecp256k1SignRpcInput {
1488
3009
  /**
1489
- * Body param
3010
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
3011
+ * representing the deadline by which the request must be processed.
1490
3012
  */
1491
- method: 'secp256k1_sign';
3013
+ 'privy-request-expiry'?: string;
3014
+ }
3015
+ interface SparkGetClaimStaticDepositQuoteRpcInput {
1492
3016
  /**
1493
3017
  * Body param
1494
3018
  */
1495
- params: EthereumSecp256k1SignRpcInput.Params;
3019
+ method: 'getClaimStaticDepositQuote';
1496
3020
  /**
1497
- * Body param
3021
+ * Body param: Parameters for the Spark `getClaimStaticDepositQuote` RPC.
1498
3022
  */
1499
- address?: string;
3023
+ params: SparkGetClaimStaticDepositQuoteRpcInputParams;
1500
3024
  /**
1501
- * Body param
3025
+ * Body param: The Spark network.
1502
3026
  */
1503
- chain_type?: 'ethereum';
3027
+ network?: SparkNetwork;
1504
3028
  /**
1505
3029
  * Header param: Request authorization signature. If multiple signatures are
1506
3030
  * required, they should be comma separated.
@@ -1511,29 +3035,25 @@ export declare namespace WalletRpcParams {
1511
3035
  * a 24-hour window.
1512
3036
  */
1513
3037
  'privy-idempotency-key'?: string;
1514
- }
1515
- namespace EthereumSecp256k1SignRpcInput {
1516
- interface Params {
1517
- hash: string;
1518
- }
1519
- }
1520
- interface SolanaSignMessageRpcInput {
1521
3038
  /**
1522
- * Body param
3039
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
3040
+ * representing the deadline by which the request must be processed.
1523
3041
  */
1524
- method: 'signMessage';
3042
+ 'privy-request-expiry'?: string;
3043
+ }
3044
+ interface SparkClaimStaticDepositRpcInput {
1525
3045
  /**
1526
3046
  * Body param
1527
3047
  */
1528
- params: SolanaSignMessageRpcInput.Params;
3048
+ method: 'claimStaticDeposit';
1529
3049
  /**
1530
- * Body param
3050
+ * Body param: Parameters for the Spark `claimStaticDeposit` RPC.
1531
3051
  */
1532
- address?: string;
3052
+ params: SparkClaimStaticDepositRpcInputParams;
1533
3053
  /**
1534
- * Body param
3054
+ * Body param: The Spark network.
1535
3055
  */
1536
- chain_type?: 'solana';
3056
+ network?: SparkNetwork;
1537
3057
  /**
1538
3058
  * Header param: Request authorization signature. If multiple signatures are
1539
3059
  * required, they should be comma separated.
@@ -1544,30 +3064,25 @@ export declare namespace WalletRpcParams {
1544
3064
  * a 24-hour window.
1545
3065
  */
1546
3066
  'privy-idempotency-key'?: string;
1547
- }
1548
- namespace SolanaSignMessageRpcInput {
1549
- interface Params {
1550
- encoding: 'base64';
1551
- message: string;
1552
- }
1553
- }
1554
- interface SolanaSignTransactionRpcInput {
1555
3067
  /**
1556
- * Body param
3068
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
3069
+ * representing the deadline by which the request must be processed.
1557
3070
  */
1558
- method: 'signTransaction';
3071
+ 'privy-request-expiry'?: string;
3072
+ }
3073
+ interface SparkCreateLightningInvoiceRpcInput {
1559
3074
  /**
1560
3075
  * Body param
1561
3076
  */
1562
- params: SolanaSignTransactionRpcInput.Params;
3077
+ method: 'createLightningInvoice';
1563
3078
  /**
1564
- * Body param
3079
+ * Body param: Parameters for the Spark `createLightningInvoice` RPC.
1565
3080
  */
1566
- address?: string;
3081
+ params: SparkCreateLightningInvoiceRpcInputParams;
1567
3082
  /**
1568
- * Body param
3083
+ * Body param: The Spark network.
1569
3084
  */
1570
- chain_type?: 'solana';
3085
+ network?: SparkNetwork;
1571
3086
  /**
1572
3087
  * Header param: Request authorization signature. If multiple signatures are
1573
3088
  * required, they should be comma separated.
@@ -1578,38 +3093,54 @@ export declare namespace WalletRpcParams {
1578
3093
  * a 24-hour window.
1579
3094
  */
1580
3095
  'privy-idempotency-key'?: string;
3096
+ /**
3097
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
3098
+ * representing the deadline by which the request must be processed.
3099
+ */
3100
+ 'privy-request-expiry'?: string;
1581
3101
  }
1582
- namespace SolanaSignTransactionRpcInput {
1583
- interface Params {
1584
- encoding: 'base64';
1585
- transaction: string;
1586
- }
1587
- }
1588
- interface SolanaSignAndSendTransactionRpcInput {
3102
+ interface SparkPayLightningInvoiceRpcInput {
1589
3103
  /**
1590
3104
  * Body param
1591
3105
  */
1592
- caip2: string;
3106
+ method: 'payLightningInvoice';
1593
3107
  /**
1594
- * Body param
3108
+ * Body param: Parameters for the Spark `payLightningInvoice` RPC.
1595
3109
  */
1596
- method: 'signAndSendTransaction';
3110
+ params: SparkPayLightningInvoiceRpcInputParams;
1597
3111
  /**
1598
- * Body param
3112
+ * Body param: The Spark network.
1599
3113
  */
1600
- params: SolanaSignAndSendTransactionRpcInput.Params;
3114
+ network?: SparkNetwork;
1601
3115
  /**
1602
- * Body param
3116
+ * Header param: Request authorization signature. If multiple signatures are
3117
+ * required, they should be comma separated.
1603
3118
  */
1604
- address?: string;
3119
+ 'privy-authorization-signature'?: string;
1605
3120
  /**
1606
- * Body param
3121
+ * Header param: Idempotency keys ensure API requests are executed only once within
3122
+ * a 24-hour window.
1607
3123
  */
1608
- chain_type?: 'solana';
3124
+ 'privy-idempotency-key'?: string;
3125
+ /**
3126
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
3127
+ * representing the deadline by which the request must be processed.
3128
+ */
3129
+ 'privy-request-expiry'?: string;
3130
+ }
3131
+ interface SparkSignMessageWithIdentityKeyRpcInput {
1609
3132
  /**
1610
3133
  * Body param
1611
3134
  */
1612
- sponsor?: boolean;
3135
+ method: 'signMessageWithIdentityKey';
3136
+ /**
3137
+ * Body param: Parameters for the Spark `signMessageWithIdentityKey` RPC.
3138
+ */
3139
+ params: SparkSignMessageWithIdentityKeyRpcInputParams;
3140
+ /**
3141
+ * Body param: The Spark network.
3142
+ */
3143
+ network?: SparkNetwork;
1613
3144
  /**
1614
3145
  * Header param: Request authorization signature. If multiple signatures are
1615
3146
  * required, they should be comma separated.
@@ -1620,117 +3151,126 @@ export declare namespace WalletRpcParams {
1620
3151
  * a 24-hour window.
1621
3152
  */
1622
3153
  'privy-idempotency-key'?: string;
1623
- }
1624
- namespace SolanaSignAndSendTransactionRpcInput {
1625
- interface Params {
1626
- encoding: 'base64';
1627
- transaction: string;
1628
- }
1629
- }
1630
- }
1631
- export interface WalletSubmitImportParams {
1632
- wallet: WalletSubmitImportParams.HDSubmitInput | WalletSubmitImportParams.PrivateKeySubmitInput;
1633
- additional_signers?: Array<WalletSubmitImportParams.AdditionalSigner>;
1634
- owner?: WalletSubmitImportParams.UserID | WalletSubmitImportParams.PublicKey | null;
1635
- owner_id?: string | null;
1636
- policy_ids?: Array<string>;
1637
- }
1638
- export declare namespace WalletSubmitImportParams {
1639
- interface HDSubmitInput {
1640
- /**
1641
- * The address of the wallet to import.
1642
- */
1643
- address: string;
1644
3154
  /**
1645
- * The chain type of the wallet to import. Currently supports `ethereum` and
1646
- * `solana`.
3155
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
3156
+ * representing the deadline by which the request must be processed.
1647
3157
  */
1648
- chain_type: 'ethereum' | 'solana';
3158
+ 'privy-request-expiry'?: string;
3159
+ }
3160
+ interface ExportPrivateKeyRpcInput {
1649
3161
  /**
1650
- * The encrypted entropy of the wallet to import.
3162
+ * Body param
1651
3163
  */
1652
- ciphertext: string;
3164
+ address: string;
1653
3165
  /**
1654
- * The base64-encoded encapsulated key that was generated during encryption, for
1655
- * use during decryption inside the TEE.
3166
+ * Body param
1656
3167
  */
1657
- encapsulated_key: string;
3168
+ method: 'exportPrivateKey';
1658
3169
  /**
1659
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
3170
+ * Body param: Input for exporting a wallet (private key or seed phrase) with HPKE
3171
+ * encryption.
1660
3172
  */
1661
- encryption_type: 'HPKE';
3173
+ params: PrivateKeyExportInput;
1662
3174
  /**
1663
- * The entropy type of the wallet to import.
3175
+ * Header param: Request authorization signature. If multiple signatures are
3176
+ * required, they should be comma separated.
1664
3177
  */
1665
- entropy_type: 'hd';
3178
+ 'privy-authorization-signature'?: string;
1666
3179
  /**
1667
- * The index of the wallet to import.
3180
+ * Header param: Idempotency keys ensure API requests are executed only once within
3181
+ * a 24-hour window.
1668
3182
  */
1669
- index: number;
3183
+ 'privy-idempotency-key'?: string;
1670
3184
  /**
1671
- * Optional HPKE configuration for wallet import decryption. These parameters allow
1672
- * importing wallets encrypted by external providers that use different HPKE
1673
- * configurations.
3185
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
3186
+ * representing the deadline by which the request must be processed.
1674
3187
  */
1675
- hpke_config?: WalletsAPI.HpkeImportConfig;
3188
+ 'privy-request-expiry'?: string;
1676
3189
  }
1677
- interface PrivateKeySubmitInput {
3190
+ interface ExportSeedPhraseRpcInput {
1678
3191
  /**
1679
- * The address of the wallet to import.
3192
+ * Body param
1680
3193
  */
1681
3194
  address: string;
1682
3195
  /**
1683
- * The chain type of the wallet to import. Currently supports `ethereum` and
1684
- * `solana`.
3196
+ * Body param
1685
3197
  */
1686
- chain_type: 'ethereum' | 'solana';
3198
+ method: 'exportSeedPhrase';
1687
3199
  /**
1688
- * The encrypted entropy of the wallet to import.
3200
+ * Body param: Input for exporting a wallet (private key or seed phrase) with HPKE
3201
+ * encryption.
1689
3202
  */
1690
- ciphertext: string;
3203
+ params: SeedPhraseExportInput;
1691
3204
  /**
1692
- * The base64-encoded encapsulated key that was generated during encryption, for
1693
- * use during decryption inside the TEE.
3205
+ * Header param: Request authorization signature. If multiple signatures are
3206
+ * required, they should be comma separated.
1694
3207
  */
1695
- encapsulated_key: string;
3208
+ 'privy-authorization-signature'?: string;
1696
3209
  /**
1697
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
3210
+ * Header param: Idempotency keys ensure API requests are executed only once within
3211
+ * a 24-hour window.
1698
3212
  */
1699
- encryption_type: 'HPKE';
1700
- entropy_type: 'private-key';
3213
+ 'privy-idempotency-key'?: string;
1701
3214
  /**
1702
- * Optional HPKE configuration for wallet import decryption. These parameters allow
1703
- * importing wallets encrypted by external providers that use different HPKE
1704
- * configurations.
3215
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
3216
+ * representing the deadline by which the request must be processed.
1705
3217
  */
1706
- hpke_config?: WalletsAPI.HpkeImportConfig;
1707
- }
1708
- interface AdditionalSigner {
1709
- signer_id: string;
1710
- override_policy_ids?: Array<string>;
1711
- }
1712
- interface UserID {
1713
- user_id: string;
1714
- }
1715
- interface PublicKey {
1716
- public_key: string;
3218
+ 'privy-request-expiry'?: string;
1717
3219
  }
1718
3220
  }
3221
+ export interface WalletSubmitImportParams {
3222
+ /**
3223
+ * The submission input for importing an HD wallet.
3224
+ */
3225
+ wallet: HDSubmitInput | PrivateKeySubmitInput;
3226
+ /**
3227
+ * Additional signers for the wallet.
3228
+ */
3229
+ additional_signers?: AdditionalSignerInput;
3230
+ /**
3231
+ * A human-readable label for the wallet.
3232
+ */
3233
+ display_name?: string;
3234
+ /**
3235
+ * A customer-provided identifier for mapping to external systems. URL-safe
3236
+ * characters only ([a-zA-Z0-9_-]), max 64 chars. Write-once: cannot be changed
3237
+ * after creation.
3238
+ */
3239
+ external_id?: string;
3240
+ /**
3241
+ * The owner of the resource, specified as a Privy user ID, a P-256 public key, or
3242
+ * null to remove the current owner.
3243
+ */
3244
+ owner?: SharedAPI.OwnerInput | null;
3245
+ /**
3246
+ * The key quorum ID to set as the owner of the resource. If you provide this, do
3247
+ * not specify an owner.
3248
+ */
3249
+ owner_id?: SharedAPI.OwnerIDInput | null;
3250
+ /**
3251
+ * An optional list of up to one policy ID to enforce on the wallet.
3252
+ */
3253
+ policy_ids?: PolicyInput;
3254
+ }
1719
3255
  export interface WalletUpdateParams {
1720
3256
  /**
1721
3257
  * Body param: Additional signers for the wallet.
1722
3258
  */
1723
- additional_signers?: Array<WalletUpdateParams.AdditionalSigner>;
3259
+ additional_signers?: AdditionalSignerInput;
1724
3260
  /**
1725
- * Body param: The owner of the resource. If you provide this, do not specify an
1726
- * owner_id as it will be generated automatically. When updating a wallet, you can
1727
- * set the owner to null to remove the owner.
3261
+ * Body param: A human-readable label for the wallet. Set to null to clear.
1728
3262
  */
1729
- owner?: WalletUpdateParams.PublicKeyOwner | WalletUpdateParams.UserOwner | null;
3263
+ display_name?: string | null;
1730
3264
  /**
1731
- * Body param
3265
+ * Body param: The owner of the resource, specified as a Privy user ID, a P-256
3266
+ * public key, or null to remove the current owner.
3267
+ */
3268
+ owner?: SharedAPI.OwnerInput | null;
3269
+ /**
3270
+ * Body param: The key quorum ID to set as the owner of the resource. If you
3271
+ * provide this, do not specify an owner.
1732
3272
  */
1733
- owner_id?: string | null;
3273
+ owner_id?: SharedAPI.OwnerIDInput | null;
1734
3274
  /**
1735
3275
  * Body param: New policy IDs to enforce on the wallet. Currently, only one policy
1736
3276
  * is supported per wallet.
@@ -1741,48 +3281,27 @@ export interface WalletUpdateParams {
1741
3281
  * required, they should be comma separated.
1742
3282
  */
1743
3283
  'privy-authorization-signature'?: string;
1744
- }
1745
- export declare namespace WalletUpdateParams {
1746
- interface AdditionalSigner {
1747
- signer_id: string;
1748
- /**
1749
- * The array of policy IDs that will be applied to wallet requests. If specified,
1750
- * this will override the base policy IDs set on the wallet.
1751
- */
1752
- override_policy_ids?: Array<string>;
1753
- }
1754
- /**
1755
- * The P-256 public key of the owner of the resource, in base64-encoded DER format.
1756
- * If you provide this, do not specify an owner_id as it will be generated
1757
- * automatically.
1758
- */
1759
- interface PublicKeyOwner {
1760
- public_key: string;
1761
- }
1762
3284
  /**
1763
- * The user ID of the owner of the resource. The user must already exist, and this
1764
- * value must start with "did:privy:". If you provide this, do not specify an
1765
- * owner_id as it will be generated automatically.
3285
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
3286
+ * representing the deadline by which the request must be processed.
1766
3287
  */
1767
- interface UserOwner {
1768
- user_id: string;
1769
- }
3288
+ 'privy-request-expiry'?: string;
1770
3289
  }
1771
3290
  export interface WalletAuthenticateWithJwtParams {
1772
- /**
1773
- * The user's JWT, to be used to authenticate the user.
1774
- */
1775
- user_jwt: string;
1776
3291
  /**
1777
3292
  * The encryption type for the authentication response. Currently only supports
1778
3293
  * HPKE.
1779
3294
  */
1780
- encryption_type?: 'HPKE';
3295
+ encryption_type: 'HPKE';
1781
3296
  /**
1782
3297
  * The public key of your ECDH keypair, in base64-encoded, SPKI-format, whose
1783
3298
  * private key will be able to decrypt the session key.
1784
3299
  */
1785
- recipient_public_key?: string;
3300
+ recipient_public_key: string;
3301
+ /**
3302
+ * The user's JWT, to be used to authenticate the user.
3303
+ */
3304
+ user_jwt: string;
1786
3305
  }
1787
3306
  export interface WalletCreateWalletsWithRecoveryParams {
1788
3307
  primary_signer: WalletCreateWalletsWithRecoveryParams.PrimarySigner;
@@ -1797,23 +3316,7 @@ export declare namespace WalletCreateWalletsWithRecoveryParams {
1797
3316
  subject_id: string;
1798
3317
  }
1799
3318
  interface RecoveryUser {
1800
- linked_accounts: Array<RecoveryUser.UnionMember0 | RecoveryUser.UnionMember1>;
1801
- }
1802
- namespace RecoveryUser {
1803
- interface UnionMember0 {
1804
- /**
1805
- * The email address of the user.
1806
- */
1807
- address: string;
1808
- type: 'email';
1809
- }
1810
- interface UnionMember1 {
1811
- /**
1812
- * The JWT subject ID of the user.
1813
- */
1814
- custom_user_id: string;
1815
- type: 'custom_auth';
1816
- }
3319
+ linked_accounts: Array<UsersAPI.LinkedAccountEmailInput | UsersAPI.LinkedAccountCustomJwtInput>;
1817
3320
  }
1818
3321
  interface Wallet {
1819
3322
  /**
@@ -1821,14 +3324,23 @@ export declare namespace WalletCreateWalletsWithRecoveryParams {
1821
3324
  */
1822
3325
  chain_type: WalletsAPI.WalletChainType;
1823
3326
  /**
1824
- * List of policy IDs for policies that should be enforced on the wallet.
1825
- * Currently, only one policy is supported per wallet.
3327
+ * A human-readable label for the wallet.
3328
+ */
3329
+ display_name?: string;
3330
+ /**
3331
+ * A customer-provided identifier for mapping to external systems. URL-safe
3332
+ * characters only ([a-zA-Z0-9_-]), max 64 chars. Write-once: cannot be changed
3333
+ * after creation.
3334
+ */
3335
+ external_id?: string;
3336
+ /**
3337
+ * An optional list of up to one policy ID to enforce on the wallet.
1826
3338
  */
1827
- policy_ids?: Array<string>;
3339
+ policy_ids?: WalletsAPI.PolicyInput;
1828
3340
  }
1829
3341
  }
1830
3342
  export declare namespace Wallets {
1831
- export { type WalletRevokeResponse as WalletRevokeResponse, type CurveSigningChainType as CurveSigningChainType, type ExtendedChainType as ExtendedChainType, type FirstClassChainType as FirstClassChainType, type WalletChainType as WalletChainType, type WalletCustodian as WalletCustodian, type CustodialWalletProvider as CustodialWalletProvider, type CustodialWalletChainType as CustodialWalletChainType, type CustodialWalletCreateInput as CustodialWalletCreateInput, type CustodialWallet as CustodialWallet, type HpkeImportConfig as HpkeImportConfig, type SuiCommandName as SuiCommandName, type Wallet as Wallet, type WalletUpdateRequestBody as WalletUpdateRequestBody, type WalletBatchItemInput as WalletBatchItemInput, type WalletBatchCreateInput as WalletBatchCreateInput, type WalletBatchCreateResult as WalletBatchCreateResult, type WalletBatchCreateResponse as WalletBatchCreateResponse, type EthereumPersonalSignRpcInput as EthereumPersonalSignRpcInput, type EthereumSignTransactionRpcInput as EthereumSignTransactionRpcInput, type EthereumSendTransactionRpcInput as EthereumSendTransactionRpcInput, type EthereumSignTypedDataRpcInput as EthereumSignTypedDataRpcInput, type EthereumSignUserOperationRpcInput as EthereumSignUserOperationRpcInput, type EthereumSign7702AuthorizationRpcInput as EthereumSign7702AuthorizationRpcInput, type EthereumSecp256k1SignRpcInput as EthereumSecp256k1SignRpcInput, type SolanaSignTransactionRpcInput as SolanaSignTransactionRpcInput, type SolanaSignAndSendTransactionRpcInput as SolanaSignAndSendTransactionRpcInput, type SolanaSignMessageRpcInput as SolanaSignMessageRpcInput, type EthereumSignTransactionRpcResponse as EthereumSignTransactionRpcResponse, type EthereumSendTransactionRpcResponse as EthereumSendTransactionRpcResponse, type EthereumPersonalSignRpcResponse as EthereumPersonalSignRpcResponse, type EthereumSignTypedDataRpcResponse as EthereumSignTypedDataRpcResponse, type EthereumSignUserOperationRpcResponse as EthereumSignUserOperationRpcResponse, type EthereumSign7702AuthorizationRpcResponse as EthereumSign7702AuthorizationRpcResponse, type EthereumSecp256k1SignRpcResponse as EthereumSecp256k1SignRpcResponse, type SolanaSignTransactionRpcResponse as SolanaSignTransactionRpcResponse, type SolanaSignAndSendTransactionRpcResponse as SolanaSignAndSendTransactionRpcResponse, type SolanaSignMessageRpcResponse as SolanaSignMessageRpcResponse, type WalletRpcRequestBody as WalletRpcRequestBody, type WalletRpcResponse as WalletRpcResponse, type WalletExportResponse as WalletExportResponse, type WalletInitImportResponse as WalletInitImportResponse, type WalletRawSignResponse as WalletRawSignResponse, type WalletAuthenticateWithJwtResponse as WalletAuthenticateWithJwtResponse, type WalletCreateWalletsWithRecoveryResponse as WalletCreateWalletsWithRecoveryResponse, type WalletsCursor as WalletsCursor, type WalletCreateParams as WalletCreateParams, type WalletListParams as WalletListParams, type WalletExportParams as WalletExportParams, type WalletInitImportParams as WalletInitImportParams, type WalletRawSignParams as WalletRawSignParams, type WalletRpcParams as WalletRpcParams, type WalletSubmitImportParams as WalletSubmitImportParams, type WalletUpdateParams as WalletUpdateParams, type WalletAuthenticateWithJwtParams as WalletAuthenticateWithJwtParams, type WalletCreateWalletsWithRecoveryParams as WalletCreateWalletsWithRecoveryParams, };
3343
+ export { type WalletRevokeResponse as WalletRevokeResponse, type CurveSigningChainType as CurveSigningChainType, type ExtendedChainType as ExtendedChainType, type FirstClassChainType as FirstClassChainType, type WalletChainType as WalletChainType, type AuthorizationKeyRole as AuthorizationKeyRole, type WalletEntropyType as WalletEntropyType, type SolanaWalletDerivationStrategy as SolanaWalletDerivationStrategy, type PolicyInput as PolicyInput, type AdditionalSignerItemInput as AdditionalSignerItemInput, type AdditionalSignerInput as AdditionalSignerInput, type WalletAdditionalSignerItem as WalletAdditionalSignerItem, type WalletAdditionalSigner as WalletAdditionalSigner, type Address as Address, type WalletCustodian as WalletCustodian, type CustodialWalletProvider as CustodialWalletProvider, type CustodialWalletChainType as CustodialWalletChainType, type CustodialWalletCreateInput as CustodialWalletCreateInput, type CustodialWallet as CustodialWallet, type HpkeEncryption as HpkeEncryption, type RecipientPublicKey as RecipientPublicKey, type ExportType as ExportType, type PrivateKeyExportInput as PrivateKeyExportInput, type PrivateKeyExportResponse as PrivateKeyExportResponse, type SeedPhraseExportInput as SeedPhraseExportInput, type SeedPhraseExportResponse as SeedPhraseExportResponse, type WalletImportSupportedChains as WalletImportSupportedChains, type WalletImportSupportedEntropyTypes as WalletImportSupportedEntropyTypes, type WalletImportInitResponse as WalletImportInitResponse, type HpkeAeadAlgorithm as HpkeAeadAlgorithm, type HpkeImportConfig as HpkeImportConfig, type CurveType as CurveType, type HDPath as HDPath, type SigningAlgorithm as SigningAlgorithm, type Hex as Hex, type Quantity as Quantity, type ExportPrivateKeyRpcInput as ExportPrivateKeyRpcInput, type ExportPrivateKeyRpcResponse as ExportPrivateKeyRpcResponse, type ExportSeedPhraseRpcInput as ExportSeedPhraseRpcInput, type ExportSeedPhraseRpcResponse as ExportSeedPhraseRpcResponse, type RawSignHashParams as RawSignHashParams, type RawSignBytesEncoding as RawSignBytesEncoding, type RawSignBytesHashFunction as RawSignBytesHashFunction, type RawSignBytesParams as RawSignBytesParams, type RawSignInputParams as RawSignInputParams, type RawSignInput as RawSignInput, type RawSignResponseData as RawSignResponseData, type RawSignResponse as RawSignResponse, type EthereumSign7702Authorization as EthereumSign7702Authorization, type UnsignedEthereumTransaction as UnsignedEthereumTransaction, type UserOperationInput as UserOperationInput, type TypedDataDomainInputParams as TypedDataDomainInputParams, type TypedDataTypeFieldInput as TypedDataTypeFieldInput, type TypedDataTypesInputParams as TypedDataTypesInputParams, type EthereumPersonalSignRpcInputParams as EthereumPersonalSignRpcInputParams, type EthereumPersonalSignRpcInput as EthereumPersonalSignRpcInput, type EthereumSignTransactionRpcInputParams as EthereumSignTransactionRpcInputParams, type EthereumSignTransactionRpcInput as EthereumSignTransactionRpcInput, type EthereumSendTransactionRpcInputParams as EthereumSendTransactionRpcInputParams, type EthereumSendTransactionRpcInput as EthereumSendTransactionRpcInput, type EthereumTypedDataInput as EthereumTypedDataInput, type EthereumSignTypedDataRpcInputParams as EthereumSignTypedDataRpcInputParams, type EthereumSignTypedDataRpcInput as EthereumSignTypedDataRpcInput, type EthereumSecp256k1SignRpcInputParams as EthereumSecp256k1SignRpcInputParams, type EthereumSecp256k1SignRpcInput as EthereumSecp256k1SignRpcInput, type EthereumSign7702AuthorizationRpcInputParams as EthereumSign7702AuthorizationRpcInputParams, type EthereumSign7702AuthorizationRpcInput as EthereumSign7702AuthorizationRpcInput, type EthereumSignUserOperationRpcInputParams as EthereumSignUserOperationRpcInputParams, type EthereumSignUserOperationRpcInput as EthereumSignUserOperationRpcInput, type EthereumSendCallsCall as EthereumSendCallsCall, type EthereumSendCallsRpcInputParams as EthereumSendCallsRpcInputParams, type EthereumSendCallsRpcInput as EthereumSendCallsRpcInput, type EthereumRpcInput as EthereumRpcInput, type EthereumPersonalSignRpcResponseData as EthereumPersonalSignRpcResponseData, type EthereumPersonalSignRpcResponse as EthereumPersonalSignRpcResponse, type EthereumSignTransactionRpcResponseData as EthereumSignTransactionRpcResponseData, type EthereumSignTransactionRpcResponse as EthereumSignTransactionRpcResponse, type EthereumSendTransactionRpcResponseData as EthereumSendTransactionRpcResponseData, type EthereumSendTransactionRpcResponse as EthereumSendTransactionRpcResponse, type EthereumSignTypedDataRpcResponseData as EthereumSignTypedDataRpcResponseData, type EthereumSignTypedDataRpcResponse as EthereumSignTypedDataRpcResponse, type EthereumSecp256k1SignRpcResponseData as EthereumSecp256k1SignRpcResponseData, type EthereumSecp256k1SignRpcResponse as EthereumSecp256k1SignRpcResponse, type EthereumSign7702AuthorizationRpcResponseData as EthereumSign7702AuthorizationRpcResponseData, type EthereumSign7702AuthorizationRpcResponse as EthereumSign7702AuthorizationRpcResponse, type EthereumSignUserOperationRpcResponseData as EthereumSignUserOperationRpcResponseData, type EthereumSignUserOperationRpcResponse as EthereumSignUserOperationRpcResponse, type EthereumSendCallsRpcResponseData as EthereumSendCallsRpcResponseData, type EthereumSendCallsRpcResponse as EthereumSendCallsRpcResponse, type EthereumRpcResponse as EthereumRpcResponse, type SolanaSignTransactionRpcInputParams as SolanaSignTransactionRpcInputParams, type SolanaSignTransactionRpcInput as SolanaSignTransactionRpcInput, type SolanaSignAndSendTransactionRpcInputParams as SolanaSignAndSendTransactionRpcInputParams, type SolanaSignAndSendTransactionRpcInput as SolanaSignAndSendTransactionRpcInput, type SolanaSignMessageRpcInputParams as SolanaSignMessageRpcInputParams, type SolanaSignMessageRpcInput as SolanaSignMessageRpcInput, type SolanaRpcInput as SolanaRpcInput, type SolanaSignTransactionRpcResponseData as SolanaSignTransactionRpcResponseData, type SolanaSignTransactionRpcResponse as SolanaSignTransactionRpcResponse, type SolanaSignAndSendTransactionRpcResponseData as SolanaSignAndSendTransactionRpcResponseData, type SolanaSignAndSendTransactionRpcResponse as SolanaSignAndSendTransactionRpcResponse, type SolanaSignMessageRpcResponseData as SolanaSignMessageRpcResponseData, type SolanaSignMessageRpcResponse as SolanaSignMessageRpcResponse, type SolanaRpcResponse as SolanaRpcResponse, type SparkNetwork as SparkNetwork, type SparkSigningKeyshare as SparkSigningKeyshare, type SparkWalletLeaf as SparkWalletLeaf, type SparkTransferLeaf as SparkTransferLeaf, type SparkTransfer as SparkTransfer, type SparkUserTokenMetadata as SparkUserTokenMetadata, type SparkTokenBalance as SparkTokenBalance, type SparkBalance as SparkBalance, type TokenOutput as TokenOutput, type OutputWithPreviousTransactionData as OutputWithPreviousTransactionData, type SparkLightningFee as SparkLightningFee, type SparkLightningReceiveRequest as SparkLightningReceiveRequest, type SparkLightningSendRequest as SparkLightningSendRequest, type SparkTransferRpcInputParams as SparkTransferRpcInputParams, type SparkTransferRpcInput as SparkTransferRpcInput, type SparkGetBalanceRpcInput as SparkGetBalanceRpcInput, type SparkOutputSelectionStrategy as SparkOutputSelectionStrategy, type SparkTransferTokensRpcInputParams as SparkTransferTokensRpcInputParams, type SparkTransferTokensRpcInput as SparkTransferTokensRpcInput, type SparkGetStaticDepositAddressRpcInput as SparkGetStaticDepositAddressRpcInput, type SparkGetClaimStaticDepositQuoteRpcInputParams as SparkGetClaimStaticDepositQuoteRpcInputParams, type SparkGetClaimStaticDepositQuoteRpcInput as SparkGetClaimStaticDepositQuoteRpcInput, type SparkClaimStaticDepositRpcInputParams as SparkClaimStaticDepositRpcInputParams, type SparkClaimStaticDepositRpcInput as SparkClaimStaticDepositRpcInput, type SparkCreateLightningInvoiceRpcInputParams as SparkCreateLightningInvoiceRpcInputParams, type SparkCreateLightningInvoiceRpcInput as SparkCreateLightningInvoiceRpcInput, type SparkPayLightningInvoiceRpcInputParams as SparkPayLightningInvoiceRpcInputParams, type SparkPayLightningInvoiceRpcInput as SparkPayLightningInvoiceRpcInput, type SparkSignMessageWithIdentityKeyRpcInputParams as SparkSignMessageWithIdentityKeyRpcInputParams, type SparkSignMessageWithIdentityKeyRpcInput as SparkSignMessageWithIdentityKeyRpcInput, type SparkRpcInput as SparkRpcInput, type SparkTransferRpcResponse as SparkTransferRpcResponse, type SparkGetBalanceRpcResponse as SparkGetBalanceRpcResponse, type SparkTransferTokensRpcResponseData as SparkTransferTokensRpcResponseData, type SparkTransferTokensRpcResponse as SparkTransferTokensRpcResponse, type SparkGetStaticDepositAddressRpcResponseData as SparkGetStaticDepositAddressRpcResponseData, type SparkGetStaticDepositAddressRpcResponse as SparkGetStaticDepositAddressRpcResponse, type SparkGetClaimStaticDepositQuoteRpcResponseData as SparkGetClaimStaticDepositQuoteRpcResponseData, type SparkGetClaimStaticDepositQuoteRpcResponse as SparkGetClaimStaticDepositQuoteRpcResponse, type SparkClaimStaticDepositRpcResponseData as SparkClaimStaticDepositRpcResponseData, type SparkClaimStaticDepositRpcResponse as SparkClaimStaticDepositRpcResponse, type SparkCreateLightningInvoiceRpcResponse as SparkCreateLightningInvoiceRpcResponse, type SparkPayLightningInvoiceRpcResponse as SparkPayLightningInvoiceRpcResponse, type SparkSignMessageWithIdentityKeyRpcResponseData as SparkSignMessageWithIdentityKeyRpcResponseData, type SparkSignMessageWithIdentityKeyRpcResponse as SparkSignMessageWithIdentityKeyRpcResponse, type SparkRpcResponse as SparkRpcResponse, type Wallet as Wallet, type GetByWalletAddressRequestBody as GetByWalletAddressRequestBody, type WalletUpdateRequestBody as WalletUpdateRequestBody, type WalletBatchItemInput as WalletBatchItemInput, type WalletBatchCreateInput as WalletBatchCreateInput, type WalletBatchCreateResult as WalletBatchCreateResult, type WalletBatchCreateResponse as WalletBatchCreateResponse, type WalletRpcRequestBody as WalletRpcRequestBody, type WalletRpcResponse as WalletRpcResponse, type WalletAuthenticateRequestBody as WalletAuthenticateRequestBody, type PrivateKeyInitInput as PrivateKeyInitInput, type HDInitInput as HDInitInput, type PrivateKeySubmitInput as PrivateKeySubmitInput, type HDSubmitInput as HDSubmitInput, type WalletExportRequestBody as WalletExportRequestBody, type WalletExportResponseBody as WalletExportResponseBody, type TokenTransferSource as TokenTransferSource, type TokenTransferDestination as TokenTransferDestination, type TransferRequestBody as TransferRequestBody, type SuiCommandName as SuiCommandName, type WalletEthereumAsset as WalletEthereumAsset, type WalletSolanaAsset as WalletSolanaAsset, type WalletAsset as WalletAsset, type TransferSentTransactionDetail as TransferSentTransactionDetail, type TransferReceivedTransactionDetail as TransferReceivedTransactionDetail, type TransactionDetail as TransactionDetail, type WalletAPIRegisterAuthorizationKeyInput as WalletAPIRegisterAuthorizationKeyInput, type WalletAPIRevokeAuthorizationKeyInput as WalletAPIRevokeAuthorizationKeyInput, type AuthorizationKeyDashboardResponse as AuthorizationKeyDashboardResponse, type AuthorizationKeyResponse as AuthorizationKeyResponse, type WalletAuthorizationHeaders as WalletAuthorizationHeaders, type WalletInitImportResponse as WalletInitImportResponse, type WalletAuthenticateWithJwtResponse as WalletAuthenticateWithJwtResponse, type WalletCreateWalletsWithRecoveryResponse as WalletCreateWalletsWithRecoveryResponse, type WalletsCursor as WalletsCursor, type WalletCreateParams as WalletCreateParams, type WalletListParams as WalletListParams, type WalletExportParams as WalletExportParams, type WalletInitImportParams as WalletInitImportParams, type WalletRawSignParams as WalletRawSignParams, type WalletRpcParams as WalletRpcParams, type WalletSubmitImportParams as WalletSubmitImportParams, type WalletUpdateParams as WalletUpdateParams, type WalletAuthenticateWithJwtParams as WalletAuthenticateWithJwtParams, type WalletCreateWalletsWithRecoveryParams as WalletCreateWalletsWithRecoveryParams, };
1832
3344
  export { Transactions as Transactions, type TransactionGetResponse as TransactionGetResponse, type TransactionGetParams as TransactionGetParams, };
1833
3345
  export { Balance as Balance, type BalanceGetResponse as BalanceGetResponse, type BalanceGetParams as BalanceGetParams, };
1834
3346
  }