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