@privy-io/api-types 0.7.0 → 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 (169) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/client.d.mts +37 -28
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +37 -28
  5. package/client.d.ts.map +1 -1
  6. package/client.js +9 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +9 -0
  9. package/client.mjs.map +1 -1
  10. package/package.json +1 -1
  11. package/resources/accounts.d.mts +79 -106
  12. package/resources/accounts.d.mts.map +1 -1
  13. package/resources/accounts.d.ts +79 -106
  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 +139 -70
  24. package/resources/apps.d.mts.map +1 -1
  25. package/resources/apps.d.ts +139 -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 +796 -427
  30. package/resources/client-auth.d.mts.map +1 -1
  31. package/resources/client-auth.d.ts +796 -427
  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 +17 -14
  52. package/resources/index.d.mts.map +1 -1
  53. package/resources/index.d.ts +17 -14
  54. package/resources/index.d.ts.map +1 -1
  55. package/resources/index.js +7 -1
  56. package/resources/index.js.map +1 -1
  57. package/resources/index.mjs +3 -0
  58. package/resources/index.mjs.map +1 -1
  59. package/resources/intents.d.mts +224 -1757
  60. package/resources/intents.d.mts.map +1 -1
  61. package/resources/intents.d.ts +224 -1757
  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 +74 -26
  66. package/resources/key-quorums.d.mts.map +1 -1
  67. package/resources/key-quorums.d.ts +74 -26
  68. package/resources/key-quorums.d.ts.map +1 -1
  69. package/resources/key-quorums.js +8 -8
  70. package/resources/key-quorums.js.map +1 -1
  71. package/resources/key-quorums.mjs +8 -8
  72. package/resources/key-quorums.mjs.map +1 -1
  73. package/resources/policies.d.mts +335 -926
  74. package/resources/policies.d.mts.map +1 -1
  75. package/resources/policies.d.ts +335 -926
  76. package/resources/policies.d.ts.map +1 -1
  77. package/resources/policies.js +48 -41
  78. package/resources/policies.js.map +1 -1
  79. package/resources/policies.mjs +48 -41
  80. package/resources/policies.mjs.map +1 -1
  81. package/resources/shared.d.mts +59 -0
  82. package/resources/shared.d.mts.map +1 -0
  83. package/resources/shared.d.ts +59 -0
  84. package/resources/shared.d.ts.map +1 -0
  85. package/resources/shared.js +9 -0
  86. package/resources/shared.js.map +1 -0
  87. package/resources/shared.mjs +5 -0
  88. package/resources/shared.mjs.map +1 -0
  89. package/resources/swaps.d.mts +108 -0
  90. package/resources/swaps.d.mts.map +1 -0
  91. package/resources/swaps.d.ts +108 -0
  92. package/resources/swaps.d.ts.map +1 -0
  93. package/resources/swaps.js +9 -0
  94. package/resources/swaps.js.map +1 -0
  95. package/resources/swaps.mjs +5 -0
  96. package/resources/swaps.mjs.map +1 -0
  97. package/resources/transactions.d.mts +155 -93
  98. package/resources/transactions.d.mts.map +1 -1
  99. package/resources/transactions.d.ts +155 -93
  100. package/resources/transactions.d.ts.map +1 -1
  101. package/resources/users.d.mts +61 -94
  102. package/resources/users.d.mts.map +1 -1
  103. package/resources/users.d.ts +61 -94
  104. package/resources/users.d.ts.map +1 -1
  105. package/resources/users.js.map +1 -1
  106. package/resources/users.mjs.map +1 -1
  107. package/resources/wallet-actions.d.mts +187 -0
  108. package/resources/wallet-actions.d.mts.map +1 -0
  109. package/resources/wallet-actions.d.ts +187 -0
  110. package/resources/wallet-actions.d.ts.map +1 -0
  111. package/resources/wallet-actions.js +9 -0
  112. package/resources/wallet-actions.js.map +1 -0
  113. package/resources/wallet-actions.mjs +5 -0
  114. package/resources/wallet-actions.mjs.map +1 -0
  115. package/resources/wallets/index.d.mts +1 -1
  116. package/resources/wallets/index.d.mts.map +1 -1
  117. package/resources/wallets/index.d.ts +1 -1
  118. package/resources/wallets/index.d.ts.map +1 -1
  119. package/resources/wallets/index.js.map +1 -1
  120. package/resources/wallets/index.mjs.map +1 -1
  121. package/resources/wallets/transactions.d.mts +1 -0
  122. package/resources/wallets/transactions.d.mts.map +1 -1
  123. package/resources/wallets/transactions.d.ts +1 -0
  124. package/resources/wallets/transactions.d.ts.map +1 -1
  125. package/resources/wallets/wallets.d.mts +2377 -971
  126. package/resources/wallets/wallets.d.mts.map +1 -1
  127. package/resources/wallets/wallets.d.ts +2377 -971
  128. package/resources/wallets/wallets.d.ts.map +1 -1
  129. package/resources/wallets/wallets.js +18 -6
  130. package/resources/wallets/wallets.js.map +1 -1
  131. package/resources/wallets/wallets.mjs +18 -6
  132. package/resources/wallets/wallets.mjs.map +1 -1
  133. package/resources/webhooks.d.mts +438 -33
  134. package/resources/webhooks.d.mts.map +1 -1
  135. package/resources/webhooks.d.ts +438 -33
  136. package/resources/webhooks.d.ts.map +1 -1
  137. package/resources/webhooks.js.map +1 -1
  138. package/resources/webhooks.mjs.map +1 -1
  139. package/resources/yield.d.mts +25 -1
  140. package/resources/yield.d.mts.map +1 -1
  141. package/resources/yield.d.ts +25 -1
  142. package/resources/yield.d.ts.map +1 -1
  143. package/src/client.ts +721 -72
  144. package/src/resources/accounts.ts +93 -120
  145. package/src/resources/aggregations.ts +18 -702
  146. package/src/resources/apps.ts +187 -110
  147. package/src/resources/client-auth.ts +1358 -893
  148. package/src/resources/cross-app.ts +19 -15
  149. package/src/resources/embedded-wallets.ts +219 -123
  150. package/src/resources/funding.ts +263 -173
  151. package/src/resources/index.ts +368 -47
  152. package/src/resources/intents.ts +370 -3100
  153. package/src/resources/key-quorums.ts +100 -32
  154. package/src/resources/policies.ts +583 -1558
  155. package/src/resources/shared.ts +79 -0
  156. package/src/resources/swaps.ts +136 -0
  157. package/src/resources/transactions.ts +185 -91
  158. package/src/resources/users.ts +79 -132
  159. package/src/resources/wallet-actions.ts +251 -0
  160. package/src/resources/wallets/index.ts +144 -16
  161. package/src/resources/wallets/transactions.ts +2 -0
  162. package/src/resources/wallets/wallets.ts +2893 -1023
  163. package/src/resources/webhooks.ts +547 -47
  164. package/src/resources/yield.ts +29 -0
  165. package/src/version.ts +1 -1
  166. package/version.d.mts +1 -1
  167. package/version.d.ts +1 -1
  168. package/version.js +1 -1
  169. package/version.mjs +1 -1
@@ -1,5 +1,7 @@
1
1
  import { APIResource } from "../../core/resource.mjs";
2
2
  import * as WalletsAPI from "./wallets.mjs";
3
+ import * as AppsAPI from "../apps.mjs";
4
+ import * as SharedAPI from "../shared.mjs";
3
5
  import * as BalanceAPI from "./balance.mjs";
4
6
  import { Balance, BalanceGetParams, BalanceGetResponse } from "./balance.mjs";
5
7
  import * as TransactionsAPI from "./transactions.mjs";
@@ -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,7 +78,7 @@ 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
  *
@@ -86,7 +88,12 @@ export declare class Wallets extends APIResource {
86
88
  * 'wallet_id',
87
89
  * {
88
90
  * method: 'eth_sendTransaction',
89
- * params: {},
91
+ * params: {
92
+ * transaction: {
93
+ * to: '0x0000000000000000000000000000000000000000',
94
+ * value: 1,
95
+ * },
96
+ * },
90
97
  * chain_type: 'ethereum',
91
98
  * },
92
99
  * );
@@ -130,6 +137,9 @@ export declare class Wallets extends APIResource {
130
137
  * @example
131
138
  * ```ts
132
139
  * const response = await client.wallets.authenticateWithJwt({
140
+ * encryption_type: 'HPKE',
141
+ * recipient_public_key:
142
+ * 'DAQcDQgAEx4aoeD72yykviK+fckqE2CItVIGn1rCnvCXZ1HgpOcMEMialRmTrqIK4oZlYd1',
133
143
  * user_jwt:
134
144
  * 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.KMUFsIDTnFmyG3nMiGM6H9FNFUROf3wh7SmqJp-QV30',
135
145
  * });
@@ -175,6 +185,61 @@ export type FirstClassChainType = 'ethereum' | 'solana';
175
185
  * The wallet chain types.
176
186
  */
177
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;
178
243
  /**
179
244
  * Information about the custodian managing this wallet.
180
245
  */
@@ -195,7 +260,7 @@ export type CustodialWalletProvider = 'bridge';
195
260
  /**
196
261
  * The chain type of the custodial wallet.
197
262
  */
198
- export type CustodialWalletChainType = 'ethereum';
263
+ export type CustodialWalletChainType = 'ethereum' | 'solana';
199
264
  /**
200
265
  * The input for creating a custodial wallet.
201
266
  */
@@ -213,21 +278,19 @@ export interface CustodialWalletCreateInput {
213
278
  * licensing provider.
214
279
  */
215
280
  provider_user_id: string;
216
- additional_signers?: Array<CustodialWalletCreateInput.AdditionalSigner>;
217
- owner?: CustodialWalletCreateInput.UserID | CustodialWalletCreateInput.PublicKey | null;
218
- policy_ids?: Array<string>;
219
- }
220
- export declare namespace CustodialWalletCreateInput {
221
- interface AdditionalSigner {
222
- signer_id: string;
223
- override_policy_ids?: Array<string>;
224
- }
225
- interface UserID {
226
- user_id: string;
227
- }
228
- interface PublicKey {
229
- public_key: string;
230
- }
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;
231
294
  }
232
295
  /**
233
296
  * Information about a custodial wallet.
@@ -244,15 +307,113 @@ export interface CustodialWallet {
244
307
  */
245
308
  custody: WalletCustodian;
246
309
  owner_id: string | null;
247
- additional_signers?: Array<CustodialWallet.AdditionalSigner>;
310
+ /**
311
+ * Additional signers for the wallet.
312
+ */
313
+ additional_signers?: WalletAdditionalSigner;
248
314
  policy_ids?: Array<string>;
249
315
  }
250
- export declare namespace CustodialWallet {
251
- interface AdditionalSigner {
252
- signer_id: string;
253
- override_policy_ids?: Array<string>;
254
- }
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;
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;
255
412
  }
413
+ /**
414
+ * The AEAD algorithm used for HPKE encryption.
415
+ */
416
+ export type HpkeAeadAlgorithm = 'CHACHA20_POLY1305' | 'AES_GCM256';
256
417
  /**
257
418
  * Optional HPKE configuration for wallet import decryption. These parameters allow
258
419
  * importing wallets encrypted by external providers that use different HPKE
@@ -265,10 +426,9 @@ export interface HpkeImportConfig {
265
426
  */
266
427
  aad?: string;
267
428
  /**
268
- * The AEAD algorithm used for encryption. Defaults to CHACHA20_POLY1305 if not
269
- * specified.
429
+ * The AEAD algorithm used for HPKE encryption.
270
430
  */
271
- aead_algorithm?: 'CHACHA20_POLY1305' | 'AES_GCM256';
431
+ aead_algorithm?: HpkeAeadAlgorithm;
272
432
  /**
273
433
  * Application-specific context information (INFO) used during HPKE encryption.
274
434
  * Should be base64-encoded bytes.
@@ -276,323 +436,371 @@ export interface HpkeImportConfig {
276
436
  info?: string;
277
437
  }
278
438
  /**
279
- * SUI transaction commands allowlist for raw_sign endpoint policy evaluation
439
+ * The cryptographic curve type used by the wallet.
280
440
  */
281
- export type SuiCommandName = 'TransferObjects' | 'SplitCoins' | 'MergeCoins';
441
+ export type CurveType = 'secp256k1' | 'ed25519' | 'starknet';
282
442
  /**
283
- * A wallet managed by Privy's wallet infrastructure.
443
+ * A BIP-32 hierarchical deterministic wallet derivation path.
284
444
  */
285
- export interface Wallet {
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';
286
465
  /**
287
- * Unique ID of the wallet. This will be the primary identifier when using the
288
- * wallet in the future.
466
+ * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
289
467
  */
290
- id: string;
468
+ params: PrivateKeyExportInput;
469
+ }
470
+ /**
471
+ * Response to the `exportPrivateKey` RPC.
472
+ */
473
+ export interface ExportPrivateKeyRpcResponse {
291
474
  /**
292
- * Additional signers for the wallet.
475
+ * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
293
476
  */
294
- additional_signers: Array<Wallet.AdditionalSigner>;
477
+ data: PrivateKeyExportInput;
478
+ method: 'exportPrivateKey';
479
+ }
480
+ /**
481
+ * Exports the seed phrase of the wallet.
482
+ */
483
+ export interface ExportSeedPhraseRpcInput {
484
+ address: string;
485
+ method: 'exportSeedPhrase';
295
486
  /**
296
- * Address of the wallet.
487
+ * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
297
488
  */
298
- address: string;
489
+ params: SeedPhraseExportInput;
490
+ }
491
+ /**
492
+ * Response to the `exportSeedPhrase` RPC.
493
+ */
494
+ export interface ExportSeedPhraseRpcResponse {
299
495
  /**
300
- * The wallet chain types.
496
+ * Response containing HPKE-encrypted wallet data (private key or seed phrase).
301
497
  */
302
- chain_type: WalletChainType;
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 {
303
505
  /**
304
- * Unix timestamp of when the wallet was created in milliseconds.
506
+ * A hex-encoded string prefixed with '0x'.
305
507
  */
306
- created_at: number;
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 {
307
522
  /**
308
- * Unix timestamp of when the wallet was exported in milliseconds, if the wallet
309
- * was exported.
523
+ * The bytes to hash and sign.
310
524
  */
311
- exported_at: number | null;
525
+ bytes: string;
312
526
  /**
313
- * Unix timestamp of when the wallet was imported in milliseconds, if the wallet
314
- * was imported.
527
+ * Encoding scheme for bytes in the `raw_sign` RPC.
315
528
  */
316
- imported_at: number | null;
529
+ encoding: RawSignBytesEncoding;
317
530
  /**
318
- * The key quorum ID of the owner of the wallet.
531
+ * Hash function for bytes in the `raw_sign` RPC.
319
532
  */
320
- owner_id: string | null;
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 {
321
544
  /**
322
- * List of policy IDs for policies that are enforced on the wallet.
545
+ * Parameters for the `raw_sign` RPC.
323
546
  */
324
- policy_ids: Array<string>;
547
+ params: RawSignInputParams;
548
+ }
549
+ /**
550
+ * Data returned by the `raw_sign` RPC.
551
+ */
552
+ export interface RawSignResponseData {
553
+ encoding: 'hex';
325
554
  /**
326
- * The compressed, raw public key for the wallet along the chain cryptographic
327
- * curve.
555
+ * A hex-encoded string prefixed with '0x'.
328
556
  */
329
- public_key?: string;
557
+ signature: Hex;
330
558
  }
331
- export declare namespace Wallet {
332
- interface AdditionalSigner {
333
- signer_id: string;
334
- /**
335
- * The array of policy IDs that will be applied to wallet requests. If specified,
336
- * this will override the base policy IDs set on the wallet.
337
- */
338
- override_policy_ids?: Array<string>;
339
- }
559
+ /**
560
+ * Response to the `raw_sign` RPC.
561
+ */
562
+ export interface RawSignResponse {
563
+ /**
564
+ * Data returned by the `raw_sign` RPC.
565
+ */
566
+ data: RawSignResponseData;
567
+ method: 'raw_sign';
340
568
  }
341
569
  /**
342
- * Request body for updating a wallet.
570
+ * A signed EIP-7702 authorization that delegates code execution to a contract
571
+ * address.
343
572
  */
344
- export interface WalletUpdateRequestBody {
573
+ export interface EthereumSign7702Authorization {
345
574
  /**
346
- * 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.
347
577
  */
348
- additional_signers?: Array<WalletUpdateRequestBody.AdditionalSigner>;
578
+ chain_id: Quantity;
579
+ contract: string;
349
580
  /**
350
- * The owner of the resource. If you provide this, do not specify an owner_id as it
351
- * will be generated automatically. When updating a wallet, you can set the owner
352
- * to null to remove the owner.
581
+ * A quantity value that can be either a hex string starting with '0x' or a
582
+ * non-negative integer.
353
583
  */
354
- owner?: WalletUpdateRequestBody.PublicKeyOwner | WalletUpdateRequestBody.UserOwner | null;
355
- owner_id?: string | null;
584
+ nonce: Quantity;
356
585
  /**
357
- * New policy IDs to enforce on the wallet. Currently, only one policy is supported
358
- * per wallet.
586
+ * A hex-encoded string prefixed with '0x'.
359
587
  */
360
- policy_ids?: Array<string>;
588
+ r: Hex;
589
+ /**
590
+ * A hex-encoded string prefixed with '0x'.
591
+ */
592
+ s: Hex;
593
+ y_parity: number;
361
594
  }
362
- export declare namespace WalletUpdateRequestBody {
363
- interface AdditionalSigner {
364
- signer_id: string;
365
- /**
366
- * The array of policy IDs that will be applied to wallet requests. If specified,
367
- * this will override the base policy IDs set on the wallet.
368
- */
369
- override_policy_ids?: Array<string>;
370
- }
595
+ /**
596
+ * An unsigned Ethereum transaction object.
597
+ */
598
+ export interface UnsignedEthereumTransaction {
599
+ authorization_list?: Array<EthereumSign7702Authorization>;
371
600
  /**
372
- * The P-256 public key of the owner of the resource, in base64-encoded DER format.
373
- * If you provide this, do not specify an owner_id as it will be generated
374
- * automatically.
601
+ * A quantity value that can be either a hex string starting with '0x' or a
602
+ * non-negative integer.
375
603
  */
376
- interface PublicKeyOwner {
377
- public_key: string;
378
- }
604
+ chain_id?: Quantity;
379
605
  /**
380
- * The user ID of the owner of the resource. The user must already exist, and this
381
- * value must start with "did:privy:". If you provide this, do not specify an
382
- * owner_id as it will be generated automatically.
606
+ * A hex-encoded string prefixed with '0x'.
383
607
  */
384
- interface UserOwner {
385
- user_id: string;
386
- }
608
+ data?: Hex;
609
+ from?: string;
610
+ /**
611
+ * A quantity value that can be either a hex string starting with '0x' or a
612
+ * non-negative integer.
613
+ */
614
+ gas_limit?: Quantity;
615
+ /**
616
+ * A quantity value that can be either a hex string starting with '0x' or a
617
+ * non-negative integer.
618
+ */
619
+ gas_price?: Quantity;
620
+ /**
621
+ * A quantity value that can be either a hex string starting with '0x' or a
622
+ * non-negative integer.
623
+ */
624
+ max_fee_per_gas?: Quantity;
625
+ /**
626
+ * A quantity value that can be either a hex string starting with '0x' or a
627
+ * non-negative integer.
628
+ */
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;
387
642
  }
388
643
  /**
389
- * Input for a single wallet in a batch creation request.
644
+ * An ERC-4337 user operation.
390
645
  */
391
- export interface WalletBatchItemInput {
646
+ export interface UserOperationInput {
392
647
  /**
393
- * The wallet chain types.
648
+ * A hex-encoded string prefixed with '0x'.
394
649
  */
395
- chain_type: WalletChainType;
650
+ call_data: Hex;
396
651
  /**
397
- * Additional signers for the wallet.
652
+ * A hex-encoded string prefixed with '0x'.
398
653
  */
399
- additional_signers?: Array<WalletBatchItemInput.AdditionalSigner>;
654
+ call_gas_limit: Hex;
400
655
  /**
401
- * The owner of the resource. If you provide this, do not specify an owner_id as it
402
- * will be generated automatically. When updating a wallet, you can set the owner
403
- * to null to remove the owner.
656
+ * A hex-encoded string prefixed with '0x'.
404
657
  */
405
- owner?: WalletBatchItemInput.PublicKeyOwner | WalletBatchItemInput.UserOwner | null;
658
+ max_fee_per_gas: Hex;
406
659
  /**
407
- * The key quorum ID to set as the owner of the resource. If you provide this, do
408
- * not specify an owner.
660
+ * A hex-encoded string prefixed with '0x'.
409
661
  */
410
- owner_id?: string;
662
+ max_priority_fee_per_gas: Hex;
411
663
  /**
412
- * List of policy IDs for policies that should be enforced on the wallet.
413
- * Currently, only one policy is supported per wallet.
664
+ * A hex-encoded string prefixed with '0x'.
414
665
  */
415
- policy_ids?: Array<string>;
416
- }
417
- export declare namespace WalletBatchItemInput {
418
- interface AdditionalSigner {
419
- signer_id: string;
420
- /**
421
- * The array of policy IDs that will be applied to wallet requests. If specified,
422
- * this will override the base policy IDs set on the wallet.
423
- */
424
- override_policy_ids?: Array<string>;
425
- }
666
+ nonce: Hex;
426
667
  /**
427
- * The P-256 public key of the owner of the resource, in base64-encoded DER format.
428
- * If you provide this, do not specify an owner_id as it will be generated
429
- * automatically.
668
+ * A hex-encoded string prefixed with '0x'.
430
669
  */
431
- interface PublicKeyOwner {
432
- public_key: string;
433
- }
670
+ pre_verification_gas: Hex;
671
+ sender: string;
434
672
  /**
435
- * The user ID of the owner of the resource. The user must already exist, and this
436
- * value must start with "did:privy:". If you provide this, do not specify an
437
- * owner_id as it will be generated automatically.
673
+ * A hex-encoded string prefixed with '0x'.
438
674
  */
439
- interface UserOwner {
440
- user_id: string;
441
- }
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;
442
689
  }
443
690
  /**
444
- * Request body for batch wallet creation.
691
+ * The domain parameters for EIP-712 typed data signing.
445
692
  */
446
- export interface WalletBatchCreateInput {
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';
447
721
  /**
448
- * Array of wallet creation requests. Minimum 1, maximum 100.
722
+ * Parameters for the EVM `personal_sign` RPC.
449
723
  */
450
- wallets: Array<WalletBatchItemInput>;
724
+ params: EthereumPersonalSignRpcInputParams;
725
+ address?: string;
726
+ chain_type?: 'ethereum';
727
+ wallet_id?: string;
451
728
  }
452
729
  /**
453
- * A single result from a batch wallet creation operation.
730
+ * Parameters for the EVM `eth_signTransaction` RPC.
454
731
  */
455
- export type WalletBatchCreateResult = WalletBatchCreateResult.WalletBatchCreateSuccess | WalletBatchCreateResult.WalletBatchCreateFailure;
456
- export declare namespace WalletBatchCreateResult {
732
+ export interface EthereumSignTransactionRpcInputParams {
457
733
  /**
458
- * A successful wallet creation result within a batch operation.
734
+ * An unsigned Ethereum transaction object.
459
735
  */
460
- interface WalletBatchCreateSuccess {
461
- /**
462
- * The index of the wallet in the original request array.
463
- */
464
- index: number;
465
- success: true;
466
- /**
467
- * A wallet managed by Privy's wallet infrastructure.
468
- */
469
- wallet: WalletsAPI.Wallet;
470
- }
471
- /**
472
- * A failed wallet creation result within a batch operation.
473
- */
474
- interface WalletBatchCreateFailure {
475
- /**
476
- * A PrivyErrorCode string identifying the error type (e.g., "invalid_data",
477
- * "resource_conflict").
478
- */
479
- code: string;
480
- /**
481
- * A human-readable error message with details about what went wrong.
482
- */
483
- error: string;
484
- /**
485
- * The index of the wallet in the original request array.
486
- */
487
- index: number;
488
- success: false;
489
- }
736
+ transaction: UnsignedEthereumTransaction;
490
737
  }
491
738
  /**
492
- * Response for a batch wallet creation request.
739
+ * Executes the EVM `eth_signTransaction` RPC to sign a transaction.
493
740
  */
494
- export interface WalletBatchCreateResponse {
741
+ export interface EthereumSignTransactionRpcInput {
742
+ method: 'eth_signTransaction';
495
743
  /**
496
- * Array of results for each wallet creation request, in the same order as input.
744
+ * Parameters for the EVM `eth_signTransaction` RPC.
497
745
  */
498
- results: Array<WalletBatchCreateResult>;
499
- }
500
- /**
501
- * Executes the EVM `personal_sign` RPC (EIP-191) to sign a message.
502
- */
503
- export interface EthereumPersonalSignRpcInput {
504
- method: 'personal_sign';
505
- params: EthereumPersonalSignRpcInput.Params;
746
+ params: EthereumSignTransactionRpcInputParams;
506
747
  address?: string;
507
748
  chain_type?: 'ethereum';
508
- }
509
- export declare namespace EthereumPersonalSignRpcInput {
510
- interface Params {
511
- encoding: 'utf-8' | 'hex';
512
- message: string;
513
- }
749
+ wallet_id?: string;
514
750
  }
515
751
  /**
516
- * Executes the EVM `eth_signTransaction` RPC to sign a transaction.
752
+ * Parameters for the EVM `eth_sendTransaction` RPC.
517
753
  */
518
- export interface EthereumSignTransactionRpcInput {
519
- method: 'eth_signTransaction';
520
- params: EthereumSignTransactionRpcInput.Params;
521
- address?: string;
522
- chain_type?: 'ethereum';
523
- }
524
- export declare namespace EthereumSignTransactionRpcInput {
525
- interface Params {
526
- transaction: Params.Transaction;
527
- }
528
- namespace Params {
529
- interface Transaction {
530
- authorization_list?: Array<Transaction.AuthorizationList>;
531
- chain_id?: string | number;
532
- data?: string;
533
- from?: string;
534
- gas_limit?: string | number;
535
- gas_price?: string | number;
536
- max_fee_per_gas?: string | number;
537
- max_priority_fee_per_gas?: string | number;
538
- nonce?: string | number;
539
- to?: string;
540
- type?: 0 | 1 | 2 | 4;
541
- value?: string | number;
542
- }
543
- namespace Transaction {
544
- interface AuthorizationList {
545
- chain_id: string | number;
546
- contract: string;
547
- nonce: string | number;
548
- r: string;
549
- s: string;
550
- y_parity: number;
551
- }
552
- }
553
- }
754
+ export interface EthereumSendTransactionRpcInputParams {
755
+ /**
756
+ * An unsigned Ethereum transaction object.
757
+ */
758
+ transaction: UnsignedEthereumTransaction;
554
759
  }
555
760
  /**
556
761
  * Executes the EVM `eth_sendTransaction` RPC to sign and broadcast a transaction.
557
762
  */
558
763
  export interface EthereumSendTransactionRpcInput {
559
- caip2: string;
764
+ /**
765
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
766
+ */
767
+ caip2: AppsAPI.Caip2;
560
768
  method: 'eth_sendTransaction';
561
- params: EthereumSendTransactionRpcInput.Params;
769
+ /**
770
+ * Parameters for the EVM `eth_sendTransaction` RPC.
771
+ */
772
+ params: EthereumSendTransactionRpcInputParams;
562
773
  address?: string;
563
774
  chain_type?: 'ethereum';
775
+ reference_id?: string;
564
776
  sponsor?: boolean;
777
+ wallet_id?: string;
565
778
  }
566
- export declare namespace EthereumSendTransactionRpcInput {
567
- interface Params {
568
- transaction: Params.Transaction;
569
- }
570
- namespace Params {
571
- interface Transaction {
572
- authorization_list?: Array<Transaction.AuthorizationList>;
573
- chain_id?: string | number;
574
- data?: string;
575
- from?: string;
576
- gas_limit?: string | number;
577
- gas_price?: string | number;
578
- max_fee_per_gas?: string | number;
579
- max_priority_fee_per_gas?: string | number;
580
- nonce?: string | number;
581
- to?: string;
582
- type?: 0 | 1 | 2 | 4;
583
- value?: string | number;
584
- }
585
- namespace Transaction {
586
- interface AuthorizationList {
587
- chain_id: string | number;
588
- contract: string;
589
- nonce: string | number;
590
- r: string;
591
- s: string;
592
- y_parity: number;
593
- }
594
- }
595
- }
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;
596
804
  }
597
805
  /**
598
806
  * Executes the EVM `eth_signTypedData_v4` RPC (EIP-712) to sign a typed data
@@ -600,608 +808,1859 @@ export declare namespace EthereumSendTransactionRpcInput {
600
808
  */
601
809
  export interface EthereumSignTypedDataRpcInput {
602
810
  method: 'eth_signTypedData_v4';
603
- params: EthereumSignTypedDataRpcInput.Params;
811
+ /**
812
+ * Parameters for the EVM `eth_signTypedData_v4` RPC.
813
+ */
814
+ params: EthereumSignTypedDataRpcInputParams;
604
815
  address?: string;
605
816
  chain_type?: 'ethereum';
817
+ wallet_id?: string;
606
818
  }
607
- export declare namespace EthereumSignTypedDataRpcInput {
608
- interface Params {
609
- typed_data: Params.TypedData;
610
- }
611
- namespace Params {
612
- interface TypedData {
613
- domain: {
614
- [key: string]: unknown;
615
- };
616
- message: {
617
- [key: string]: unknown;
618
- };
619
- primary_type: string;
620
- types: {
621
- [key: string]: Array<TypedData.Type>;
622
- };
623
- }
624
- namespace TypedData {
625
- interface Type {
626
- name: string;
627
- type: string;
628
- }
629
- }
630
- }
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;
631
827
  }
632
828
  /**
633
- * Executes an RPC method to hash and sign a UserOperation.
829
+ * Signs a raw hash on the secp256k1 curve.
634
830
  */
635
- export interface EthereumSignUserOperationRpcInput {
636
- method: 'eth_signUserOperation';
637
- params: EthereumSignUserOperationRpcInput.Params;
831
+ export interface EthereumSecp256k1SignRpcInput {
832
+ method: 'secp256k1_sign';
833
+ /**
834
+ * Parameters for the EVM `secp256k1_sign` RPC.
835
+ */
836
+ params: EthereumSecp256k1SignRpcInputParams;
638
837
  address?: string;
639
838
  chain_type?: 'ethereum';
839
+ wallet_id?: string;
640
840
  }
641
- export declare namespace EthereumSignUserOperationRpcInput {
642
- interface Params {
643
- chain_id: string | number;
644
- contract: string;
645
- user_operation: Params.UserOperation;
646
- }
647
- namespace Params {
648
- interface UserOperation {
649
- call_data: string;
650
- call_gas_limit: string;
651
- max_fee_per_gas: string;
652
- max_priority_fee_per_gas: string;
653
- nonce: string;
654
- paymaster: string;
655
- paymaster_data: string;
656
- paymaster_post_op_gas_limit: string;
657
- paymaster_verification_gas_limit: string;
658
- pre_verification_gas: string;
659
- sender: string;
660
- verification_gas_limit: string;
661
- }
662
- }
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;
663
857
  }
664
858
  /**
665
859
  * Signs an EIP-7702 authorization.
666
860
  */
667
861
  export interface EthereumSign7702AuthorizationRpcInput {
668
862
  method: 'eth_sign7702Authorization';
669
- params: EthereumSign7702AuthorizationRpcInput.Params;
863
+ /**
864
+ * Parameters for the EVM `eth_sign7702Authorization` RPC.
865
+ */
866
+ params: EthereumSign7702AuthorizationRpcInputParams;
670
867
  address?: string;
671
868
  chain_type?: 'ethereum';
869
+ wallet_id?: string;
672
870
  }
673
- export declare namespace EthereumSign7702AuthorizationRpcInput {
674
- interface Params {
675
- chain_id: string | number;
676
- contract: string;
677
- nonce?: string | number;
678
- }
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;
679
885
  }
680
886
  /**
681
- * Signs a raw hash on the secp256k1 curve.
887
+ * Executes an RPC method to hash and sign a UserOperation.
682
888
  */
683
- export interface EthereumSecp256k1SignRpcInput {
684
- method: 'secp256k1_sign';
685
- params: EthereumSecp256k1SignRpcInput.Params;
889
+ export interface EthereumSignUserOperationRpcInput {
890
+ method: 'eth_signUserOperation';
891
+ /**
892
+ * Parameters for the EVM `eth_signUserOperation` RPC.
893
+ */
894
+ params: EthereumSignUserOperationRpcInputParams;
686
895
  address?: string;
687
896
  chain_type?: 'ethereum';
688
- }
689
- export declare namespace EthereumSecp256k1SignRpcInput {
690
- interface Params {
691
- hash: string;
692
- }
897
+ wallet_id?: string;
693
898
  }
694
899
  /**
695
- * Executes the SVM `signTransaction` RPC to sign a transaction.
900
+ * A single call within a batched wallet_sendCalls request.
696
901
  */
697
- export interface SolanaSignTransactionRpcInput {
698
- method: 'signTransaction';
699
- params: SolanaSignTransactionRpcInput.Params;
700
- address?: string;
701
- 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;
702
913
  }
703
- export declare namespace SolanaSignTransactionRpcInput {
704
- interface Params {
705
- encoding: 'base64';
706
- transaction: string;
707
- }
914
+ /**
915
+ * Parameters for the `wallet_sendCalls` RPC.
916
+ */
917
+ export interface EthereumSendCallsRpcInputParams {
918
+ calls: Array<EthereumSendCallsCall>;
708
919
  }
709
920
  /**
710
- * Executes the SVM `signAndSendTransaction` RPC to sign and broadcast a
711
- * transaction.
921
+ * Executes the `wallet_sendCalls` RPC (EIP-5792) to batch multiple calls into a
922
+ * single atomic transaction.
712
923
  */
713
- export interface SolanaSignAndSendTransactionRpcInput {
714
- caip2: string;
715
- method: 'signAndSendTransaction';
716
- 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;
717
934
  address?: string;
718
- chain_type?: 'solana';
935
+ chain_type?: 'ethereum';
719
936
  sponsor?: boolean;
937
+ wallet_id?: string;
720
938
  }
721
- export declare namespace SolanaSignAndSendTransactionRpcInput {
722
- interface Params {
723
- encoding: 'base64';
724
- transaction: string;
725
- }
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;
726
949
  }
727
950
  /**
728
- * Executes the SVM `signMessage` RPC to sign a message.
951
+ * Response to the EVM `personal_sign` RPC.
729
952
  */
730
- export interface SolanaSignMessageRpcInput {
731
- method: 'signMessage';
732
- params: SolanaSignMessageRpcInput.Params;
733
- address?: string;
734
- 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';
735
959
  }
736
- export declare namespace SolanaSignMessageRpcInput {
737
- interface Params {
738
- encoding: 'base64';
739
- message: string;
740
- }
960
+ /**
961
+ * Data returned by the EVM `eth_signTransaction` RPC.
962
+ */
963
+ export interface EthereumSignTransactionRpcResponseData {
964
+ encoding: 'rlp';
965
+ signed_transaction: string;
741
966
  }
742
967
  /**
743
968
  * Response to the EVM `eth_signTransaction` RPC.
744
969
  */
745
970
  export interface EthereumSignTransactionRpcResponse {
746
- data: EthereumSignTransactionRpcResponse.Data;
971
+ /**
972
+ * Data returned by the EVM `eth_signTransaction` RPC.
973
+ */
974
+ data: EthereumSignTransactionRpcResponseData;
747
975
  method: 'eth_signTransaction';
748
976
  }
749
- export declare namespace EthereumSignTransactionRpcResponse {
750
- interface Data {
751
- encoding: 'rlp';
752
- signed_transaction: string;
753
- }
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;
754
993
  }
755
994
  /**
756
995
  * Response to the EVM `eth_sendTransaction` RPC.
757
996
  */
758
997
  export interface EthereumSendTransactionRpcResponse {
759
- data: EthereumSendTransactionRpcResponse.Data;
998
+ /**
999
+ * Data returned by the EVM `eth_sendTransaction` RPC.
1000
+ */
1001
+ data: EthereumSendTransactionRpcResponseData;
760
1002
  method: 'eth_sendTransaction';
761
1003
  }
762
- export declare namespace EthereumSendTransactionRpcResponse {
763
- interface Data {
764
- caip2: string;
765
- hash: string;
766
- transaction_id?: string;
767
- transaction_request?: Data.TransactionRequest;
768
- user_operation_hash?: string;
769
- }
770
- namespace Data {
771
- interface TransactionRequest {
772
- authorization_list?: Array<TransactionRequest.AuthorizationList>;
773
- chain_id?: string | number;
774
- data?: string;
775
- from?: string;
776
- gas_limit?: string | number;
777
- gas_price?: string | number;
778
- max_fee_per_gas?: string | number;
779
- max_priority_fee_per_gas?: string | number;
780
- nonce?: string | number;
781
- to?: string;
782
- type?: 0 | 1 | 2 | 4;
783
- value?: string | number;
784
- }
785
- namespace TransactionRequest {
786
- interface AuthorizationList {
787
- chain_id: string | number;
788
- contract: string;
789
- nonce: string | number;
790
- r: string;
791
- s: string;
792
- y_parity: number;
793
- }
794
- }
795
- }
796
- }
797
1004
  /**
798
- * Response to the EVM `personal_sign` RPC.
1005
+ * Data returned by the EVM `eth_signTypedData_v4` RPC.
799
1006
  */
800
- export interface EthereumPersonalSignRpcResponse {
801
- data: EthereumPersonalSignRpcResponse.Data;
802
- method: 'personal_sign';
803
- }
804
- export declare namespace EthereumPersonalSignRpcResponse {
805
- interface Data {
806
- encoding: 'hex';
807
- signature: string;
808
- }
1007
+ export interface EthereumSignTypedDataRpcResponseData {
1008
+ encoding: 'hex';
1009
+ signature: string;
809
1010
  }
810
1011
  /**
811
1012
  * Response to the EVM `eth_signTypedData_v4` RPC.
812
1013
  */
813
1014
  export interface EthereumSignTypedDataRpcResponse {
814
- data: EthereumSignTypedDataRpcResponse.Data;
1015
+ /**
1016
+ * Data returned by the EVM `eth_signTypedData_v4` RPC.
1017
+ */
1018
+ data: EthereumSignTypedDataRpcResponseData;
815
1019
  method: 'eth_signTypedData_v4';
816
1020
  }
817
- export declare namespace EthereumSignTypedDataRpcResponse {
818
- interface Data {
819
- encoding: 'hex';
820
- signature: string;
821
- }
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;
822
1030
  }
823
1031
  /**
824
- * Response to the EVM `eth_signUserOperation` RPC.
1032
+ * Response to the EVM `secp256k1_sign` RPC.
825
1033
  */
826
- export interface EthereumSignUserOperationRpcResponse {
827
- data: EthereumSignUserOperationRpcResponse.Data;
828
- 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';
829
1040
  }
830
- export declare namespace EthereumSignUserOperationRpcResponse {
831
- interface Data {
832
- encoding: 'hex';
833
- signature: string;
834
- }
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;
835
1050
  }
836
1051
  /**
837
1052
  * Response to the EVM `eth_sign7702Authorization` RPC.
838
1053
  */
839
1054
  export interface EthereumSign7702AuthorizationRpcResponse {
840
- data: EthereumSign7702AuthorizationRpcResponse.Data;
1055
+ /**
1056
+ * Data returned by the EVM `eth_sign7702Authorization` RPC.
1057
+ */
1058
+ data: EthereumSign7702AuthorizationRpcResponseData;
841
1059
  method: 'eth_sign7702Authorization';
842
1060
  }
843
- export declare namespace EthereumSign7702AuthorizationRpcResponse {
844
- interface Data {
845
- authorization: Data.Authorization;
846
- }
847
- namespace Data {
848
- interface Authorization {
849
- chain_id: string | number;
850
- contract: string;
851
- nonce: string | number;
852
- r: string;
853
- s: string;
854
- y_parity: number;
855
- }
856
- }
857
- }
858
1061
  /**
859
- * Response to the EVM `secp256k1_sign` RPC.
1062
+ * Data returned by the EVM `eth_signUserOperation` RPC.
860
1063
  */
861
- export interface EthereumSecp256k1SignRpcResponse {
862
- data: EthereumSecp256k1SignRpcResponse.Data;
863
- method: 'secp256k1_sign';
864
- }
865
- export declare namespace EthereumSecp256k1SignRpcResponse {
866
- interface Data {
867
- encoding: 'hex';
868
- signature: string;
869
- }
1064
+ export interface EthereumSignUserOperationRpcResponseData {
1065
+ encoding: 'hex';
1066
+ signature: string;
870
1067
  }
871
1068
  /**
872
- * Response to the SVM `signTransaction` RPC.
1069
+ * Response to the EVM `eth_signUserOperation` RPC.
873
1070
  */
874
- export interface SolanaSignTransactionRpcResponse {
875
- data: SolanaSignTransactionRpcResponse.Data;
876
- method: 'signTransaction';
877
- }
878
- export declare namespace SolanaSignTransactionRpcResponse {
879
- interface Data {
880
- encoding: 'base64';
881
- signed_transaction: string;
882
- }
1071
+ export interface EthereumSignUserOperationRpcResponse {
1072
+ /**
1073
+ * Data returned by the EVM `eth_signUserOperation` RPC.
1074
+ */
1075
+ data: EthereumSignUserOperationRpcResponseData;
1076
+ method: 'eth_signUserOperation';
883
1077
  }
884
1078
  /**
885
- * Response to the SVM `signAndSendTransaction` RPC.
1079
+ * Data returned by the `wallet_sendCalls` RPC.
886
1080
  */
887
- export interface SolanaSignAndSendTransactionRpcResponse {
888
- data: SolanaSignAndSendTransactionRpcResponse.Data;
889
- method: 'signAndSendTransaction';
890
- }
891
- export declare namespace SolanaSignAndSendTransactionRpcResponse {
892
- interface Data {
893
- caip2: string;
894
- hash: string;
895
- transaction_id?: string;
896
- }
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;
897
1087
  }
898
1088
  /**
899
- * Response to the SVM `signMessage` RPC.
1089
+ * Response to the `wallet_sendCalls` RPC.
900
1090
  */
901
- export interface SolanaSignMessageRpcResponse {
902
- data: SolanaSignMessageRpcResponse.Data;
903
- method: 'signMessage';
904
- }
905
- export declare namespace SolanaSignMessageRpcResponse {
906
- interface Data {
907
- encoding: 'base64';
908
- signature: string;
909
- }
1091
+ export interface EthereumSendCallsRpcResponse {
1092
+ /**
1093
+ * Data returned by the `wallet_sendCalls` RPC.
1094
+ */
1095
+ data: EthereumSendCallsRpcResponseData;
1096
+ method: 'wallet_sendCalls';
910
1097
  }
911
1098
  /**
912
- * Request body for wallet RPC operations, discriminated by method.
1099
+ * Response body for Ethereum wallet RPC operations, discriminated by method.
913
1100
  */
914
- export type WalletRpcRequestBody = EthereumPersonalSignRpcInput | EthereumSignTypedDataRpcInput | EthereumSignTransactionRpcInput | EthereumSignUserOperationRpcInput | EthereumSendTransactionRpcInput | EthereumSign7702AuthorizationRpcInput | EthereumSecp256k1SignRpcInput | SolanaSignMessageRpcInput | SolanaSignTransactionRpcInput | SolanaSignAndSendTransactionRpcInput;
1101
+ export type EthereumRpcResponse = EthereumPersonalSignRpcResponse | EthereumSignTypedDataRpcResponse | EthereumSignTransactionRpcResponse | EthereumSendTransactionRpcResponse | EthereumSignUserOperationRpcResponse | EthereumSign7702AuthorizationRpcResponse | EthereumSecp256k1SignRpcResponse | EthereumSendCallsRpcResponse;
915
1102
  /**
916
- * Response body for wallet RPC operations, discriminated by method.
1103
+ * Parameters for the SVM `signTransaction` RPC.
917
1104
  */
918
- export type WalletRpcResponse = EthereumPersonalSignRpcResponse | EthereumSignTypedDataRpcResponse | EthereumSignTransactionRpcResponse | EthereumSendTransactionRpcResponse | EthereumSignUserOperationRpcResponse | EthereumSign7702AuthorizationRpcResponse | EthereumSecp256k1SignRpcResponse | SolanaSignMessageRpcResponse | SolanaSignTransactionRpcResponse | SolanaSignAndSendTransactionRpcResponse;
919
- export interface WalletExportResponse {
1105
+ export interface SolanaSignTransactionRpcInputParams {
1106
+ encoding: 'base64';
1107
+ transaction: string;
1108
+ }
1109
+ /**
1110
+ * Executes the SVM `signTransaction` RPC to sign a transaction.
1111
+ */
1112
+ export interface SolanaSignTransactionRpcInput {
1113
+ method: 'signTransaction';
920
1114
  /**
921
- * The encrypted private key.
1115
+ * Parameters for the SVM `signTransaction` RPC.
922
1116
  */
923
- ciphertext: string;
1117
+ params: SolanaSignTransactionRpcInputParams;
1118
+ address?: string;
1119
+ chain_type?: 'solana';
1120
+ wallet_id?: string;
1121
+ }
1122
+ /**
1123
+ * Parameters for the SVM `signAndSendTransaction` RPC.
1124
+ */
1125
+ export interface SolanaSignAndSendTransactionRpcInputParams {
1126
+ encoding: 'base64';
1127
+ transaction: string;
1128
+ }
1129
+ /**
1130
+ * Executes the SVM `signAndSendTransaction` RPC to sign and broadcast a
1131
+ * transaction.
1132
+ */
1133
+ export interface SolanaSignAndSendTransactionRpcInput {
924
1134
  /**
925
- * The base64-encoded encapsulated key that was generated during encryption, for
926
- * use during decryption.
1135
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
927
1136
  */
928
- encapsulated_key: string;
1137
+ caip2: AppsAPI.Caip2;
1138
+ method: 'signAndSendTransaction';
929
1139
  /**
930
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
1140
+ * Parameters for the SVM `signAndSendTransaction` RPC.
931
1141
  */
932
- encryption_type: 'HPKE';
1142
+ params: SolanaSignAndSendTransactionRpcInputParams;
1143
+ address?: string;
1144
+ chain_type?: 'solana';
1145
+ reference_id?: string;
1146
+ sponsor?: boolean;
1147
+ wallet_id?: string;
933
1148
  }
934
- export interface WalletInitImportResponse {
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';
935
1161
  /**
936
- * The base64-encoded encryption public key to encrypt the wallet entropy with.
1162
+ * Parameters for the SVM `signMessage` RPC.
937
1163
  */
938
- encryption_public_key: string;
1164
+ params: SolanaSignMessageRpcInputParams;
1165
+ address?: string;
1166
+ chain_type?: 'solana';
1167
+ wallet_id?: string;
1168
+ }
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 {
939
1184
  /**
940
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
1185
+ * Data returned by the SVM `signTransaction` RPC.
941
1186
  */
942
- encryption_type: 'HPKE';
1187
+ data: SolanaSignTransactionRpcResponseData;
1188
+ method: 'signTransaction';
943
1189
  }
944
- export interface WalletRawSignResponse {
945
- data: WalletRawSignResponse.Data;
946
- method: 'raw_sign';
1190
+ /**
1191
+ * Data returned by the SVM `signAndSendTransaction` RPC.
1192
+ */
1193
+ export interface SolanaSignAndSendTransactionRpcResponseData {
1194
+ /**
1195
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
1196
+ */
1197
+ caip2: AppsAPI.Caip2;
1198
+ hash: string;
1199
+ reference_id?: string | null;
1200
+ transaction_id?: string;
947
1201
  }
948
- export declare namespace WalletRawSignResponse {
949
- interface Data {
950
- encoding: 'hex';
951
- signature: string;
952
- }
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';
953
1211
  }
954
- export type WalletAuthenticateWithJwtResponse = WalletAuthenticateWithJwtResponse.WithEncryption | WalletAuthenticateWithJwtResponse.WithoutEncryption;
955
- export declare namespace WalletAuthenticateWithJwtResponse {
956
- interface WithEncryption {
957
- /**
958
- * The encrypted authorization key data.
959
- */
960
- encrypted_authorization_key: WithEncryption.EncryptedAuthorizationKey;
961
- /**
962
- * The expiration time of the authorization key in seconds since the epoch.
963
- */
964
- expires_at: number;
965
- wallets: Array<WalletsAPI.Wallet>;
966
- }
967
- namespace WithEncryption {
968
- /**
969
- * The encrypted authorization key data.
970
- */
971
- interface EncryptedAuthorizationKey {
972
- /**
973
- * The encrypted authorization key corresponding to the user's current
974
- * authentication session.
975
- */
976
- ciphertext: string;
977
- /**
978
- * Base64-encoded ephemeral public key used in the HPKE encryption process.
979
- * Required for decryption.
980
- */
981
- encapsulated_key: string;
982
- /**
983
- * The encryption type used. Currently only supports HPKE.
984
- */
985
- encryption_type: 'HPKE';
986
- }
987
- }
988
- interface WithoutEncryption {
989
- /**
990
- * The raw authorization key data.
991
- */
992
- authorization_key: string;
993
- /**
994
- * The expiration time of the authorization key in seconds since the epoch.
995
- */
996
- expires_at: number;
997
- wallets: Array<WalletsAPI.Wallet>;
998
- }
1212
+ /**
1213
+ * Data returned by the SVM `signMessage` RPC.
1214
+ */
1215
+ export interface SolanaSignMessageRpcResponseData {
1216
+ encoding: 'base64';
1217
+ signature: string;
999
1218
  }
1000
- export interface WalletCreateWalletsWithRecoveryResponse {
1219
+ /**
1220
+ * Response to the SVM `signMessage` RPC.
1221
+ */
1222
+ export interface SolanaSignMessageRpcResponse {
1001
1223
  /**
1002
- * The ID of the created user.
1224
+ * Data returned by the SVM `signMessage` RPC.
1003
1225
  */
1004
- recovery_user_id: string;
1226
+ data: SolanaSignMessageRpcResponseData;
1227
+ method: 'signMessage';
1228
+ }
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;
1005
1254
  /**
1006
- * The wallets that were created.
1255
+ * The Spark network.
1007
1256
  */
1008
- wallets: Array<Wallet>;
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;
1267
+ /**
1268
+ * A Spark signing keyshare.
1269
+ */
1270
+ signing_keyshare?: SparkSigningKeyshare;
1009
1271
  }
1010
- 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;
1011
1279
  /**
1012
- * Body param: The wallet chain types.
1280
+ * A Spark wallet leaf node.
1013
1281
  */
1014
- 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;
1015
1316
  /**
1016
- * Body param: Additional signers for the wallet.
1317
+ * Metadata for a Spark user token.
1017
1318
  */
1018
- 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;
1019
1349
  /**
1020
- * Body param: The owner of the resource. If you provide this, do not specify an
1021
- * owner_id as it will be generated automatically. When updating a wallet, you can
1022
- * set the owner to null to remove the owner.
1350
+ * A Spark token output.
1023
1351
  */
1024
- 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;
1025
1383
  /**
1026
- * Body param: The key quorum ID to set as the owner of the resource. If you
1027
- * provide this, do not specify an owner.
1384
+ * The fee for a Spark Lightning payment.
1028
1385
  */
1029
- 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';
1030
1407
  /**
1031
- * Body param: List of policy IDs for policies that should be enforced on the
1032
- * wallet. Currently, only one policy is supported per wallet.
1408
+ * Parameters for the Spark `transfer` RPC.
1033
1409
  */
1034
- policy_ids?: Array<string>;
1410
+ params: SparkTransferRpcInputParams;
1035
1411
  /**
1036
- * Header param: Idempotency keys ensure API requests are executed only once within
1037
- * a 24-hour window.
1412
+ * The Spark network.
1038
1413
  */
1039
- 'privy-idempotency-key'?: string;
1414
+ network?: SparkNetwork;
1040
1415
  }
1041
- export declare namespace WalletCreateParams {
1042
- interface AdditionalSigner {
1043
- signer_id: string;
1044
- /**
1045
- * The array of policy IDs that will be applied to wallet requests. If specified,
1046
- * this will override the base policy IDs set on the wallet.
1047
- */
1048
- override_policy_ids?: Array<string>;
1049
- }
1416
+ /**
1417
+ * Gets the balance of the Spark wallet.
1418
+ */
1419
+ export interface SparkGetBalanceRpcInput {
1420
+ method: 'getBalance';
1050
1421
  /**
1051
- * The P-256 public key of the owner of the resource, in base64-encoded DER format.
1052
- * If you provide this, do not specify an owner_id as it will be generated
1053
- * automatically.
1422
+ * The Spark network.
1054
1423
  */
1055
- interface PublicKeyOwner {
1056
- public_key: string;
1057
- }
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;
1058
1437
  /**
1059
- * The user ID of the owner of the resource. The user must already exist, and this
1060
- * value must start with "did:privy:". If you provide this, do not specify an
1061
- * owner_id as it will be generated automatically.
1438
+ * Strategy for selecting outputs in a Spark token transfer.
1062
1439
  */
1063
- interface UserOwner {
1064
- user_id: string;
1065
- }
1440
+ output_selection_strategy?: SparkOutputSelectionStrategy;
1441
+ selected_outputs?: Array<OutputWithPreviousTransactionData>;
1066
1442
  }
1067
- export interface WalletListParams extends CursorParams {
1443
+ /**
1444
+ * Transfers tokens to a Spark address.
1445
+ */
1446
+ export interface SparkTransferTokensRpcInput {
1447
+ method: 'transferTokens';
1068
1448
  /**
1069
- * Filter wallets by authorization public key. Returns wallets owned by key quorums
1070
- * that include the specified P-256 public key (base64-encoded DER format). Cannot
1071
- * be used together with user_id.
1449
+ * Parameters for the Spark `transferTokens` RPC.
1072
1450
  */
1073
- authorization_key?: string;
1451
+ params: SparkTransferTokensRpcInputParams;
1074
1452
  /**
1075
- * The wallet chain types.
1453
+ * The Spark network.
1076
1454
  */
1077
- 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';
1078
1462
  /**
1079
- * Filter wallets by user ID. Cannot be used together with authorization_key.
1463
+ * The Spark network.
1080
1464
  */
1081
- user_id?: string;
1465
+ network?: SparkNetwork;
1082
1466
  }
1083
- 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';
1084
1479
  /**
1085
- * Body param: The encryption type of the wallet to import. Currently only supports
1086
- * `HPKE`.
1480
+ * Parameters for the Spark `getClaimStaticDepositQuote` RPC.
1087
1481
  */
1088
- encryption_type: 'HPKE';
1482
+ params: SparkGetClaimStaticDepositQuoteRpcInputParams;
1089
1483
  /**
1090
- * Body param: The base64-encoded encryption public key to encrypt the wallet
1091
- * private key with.
1484
+ * The Spark network.
1092
1485
  */
1093
- 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';
1094
1502
  /**
1095
- * Header param: Request authorization signature. If multiple signatures are
1096
- * required, they should be comma separated.
1503
+ * Parameters for the Spark `claimStaticDeposit` RPC.
1097
1504
  */
1098
- 'privy-authorization-signature'?: string;
1505
+ params: SparkClaimStaticDepositRpcInputParams;
1506
+ /**
1507
+ * The Spark network.
1508
+ */
1509
+ network?: SparkNetwork;
1099
1510
  }
1100
- export type WalletInitImportParams = WalletInitImportParams.HDInitInput | WalletInitImportParams.PrivateKeyInitInput;
1101
- export declare namespace WalletInitImportParams {
1102
- interface HDInitInput {
1103
- /**
1104
- * The address of the wallet to import.
1105
- */
1106
- address: string;
1107
- /**
1108
- * The chain type of the wallet to import. Currently supports `ethereum` and
1109
- * `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.
1110
2601
  */
1111
- chain_type: 'ethereum' | 'solana';
2602
+ params: SolanaSignTransactionRpcInputParams;
1112
2603
  /**
1113
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
2604
+ * Body param
1114
2605
  */
1115
- encryption_type: 'HPKE';
2606
+ address?: string;
1116
2607
  /**
1117
- * The entropy type of the wallet to import.
2608
+ * Body param
1118
2609
  */
1119
- entropy_type: 'hd';
2610
+ chain_type?: 'solana';
1120
2611
  /**
1121
- * The index of the wallet to import.
2612
+ * Body param
1122
2613
  */
1123
- index: number;
1124
- }
1125
- interface PrivateKeyInitInput {
2614
+ wallet_id?: string;
1126
2615
  /**
1127
- * The address of the wallet to import.
2616
+ * Header param: Request authorization signature. If multiple signatures are
2617
+ * required, they should be comma separated.
1128
2618
  */
1129
- address: string;
2619
+ 'privy-authorization-signature'?: string;
1130
2620
  /**
1131
- * The chain type of the wallet to import. Currently supports `ethereum` and
1132
- * `solana`.
2621
+ * Header param: Idempotency keys ensure API requests are executed only once within
2622
+ * a 24-hour window.
1133
2623
  */
1134
- chain_type: 'ethereum' | 'solana';
2624
+ 'privy-idempotency-key'?: string;
1135
2625
  /**
1136
- * 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.
1137
2628
  */
1138
- encryption_type: 'HPKE';
1139
- entropy_type: 'private-key';
2629
+ 'privy-request-expiry'?: string;
1140
2630
  }
1141
- }
1142
- export interface WalletRawSignParams {
1143
- /**
1144
- * Body param: Sign a pre-computed hash
1145
- */
1146
- params: WalletRawSignParams.Hash | WalletRawSignParams.Bytes;
1147
- /**
1148
- * Header param: Request authorization signature. If multiple signatures are
1149
- * required, they should be comma separated.
1150
- */
1151
- 'privy-authorization-signature'?: string;
1152
- /**
1153
- * Header param: Idempotency keys ensure API requests are executed only once within
1154
- * a 24-hour window.
1155
- */
1156
- 'privy-idempotency-key'?: string;
1157
- }
1158
- export declare namespace WalletRawSignParams {
1159
- /**
1160
- * Sign a pre-computed hash
1161
- */
1162
- interface Hash {
2631
+ interface SolanaSignAndSendTransactionRpcInput {
1163
2632
  /**
1164
- * The hash to sign. Must start with `0x`.
2633
+ * Body param: A valid CAIP-2 chain ID (e.g. 'eip155:1').
1165
2634
  */
1166
- hash: string;
1167
- }
1168
- /**
1169
- * Hash and sign bytes using the specified encoding and hash function.
1170
- */
1171
- interface Bytes {
2635
+ caip2: AppsAPI.Caip2;
1172
2636
  /**
1173
- * The bytes to hash and sign.
2637
+ * Body param
1174
2638
  */
1175
- bytes: string;
2639
+ method: 'signAndSendTransaction';
1176
2640
  /**
1177
- * The encoding scheme for the bytes.
2641
+ * Body param: Parameters for the SVM `signAndSendTransaction` RPC.
1178
2642
  */
1179
- encoding: 'utf-8' | 'hex' | 'base64';
2643
+ params: SolanaSignAndSendTransactionRpcInputParams;
1180
2644
  /**
1181
- * The hash function to hash the bytes.
2645
+ * Body param
1182
2646
  */
1183
- hash_function: 'keccak256' | 'sha256' | 'blake2b256';
1184
- }
1185
- }
1186
- export type WalletRpcParams = WalletRpcParams.EthereumPersonalSignRpcInput | WalletRpcParams.EthereumSignTypedDataRpcInput | WalletRpcParams.EthereumSignTransactionRpcInput | WalletRpcParams.EthereumSignUserOperationRpcInput | WalletRpcParams.EthereumSendTransactionRpcInput | WalletRpcParams.EthereumSign7702AuthorizationRpcInput | WalletRpcParams.EthereumSecp256k1SignRpcInput | WalletRpcParams.SolanaSignMessageRpcInput | WalletRpcParams.SolanaSignTransactionRpcInput | WalletRpcParams.SolanaSignAndSendTransactionRpcInput;
1187
- export declare namespace WalletRpcParams {
1188
- interface EthereumPersonalSignRpcInput {
2647
+ address?: string;
1189
2648
  /**
1190
2649
  * Body param
1191
2650
  */
1192
- method: 'personal_sign';
2651
+ chain_type?: 'solana';
1193
2652
  /**
1194
2653
  * Body param
1195
2654
  */
1196
- params: EthereumPersonalSignRpcInput.Params;
2655
+ reference_id?: string;
1197
2656
  /**
1198
2657
  * Body param
1199
2658
  */
1200
- address?: string;
2659
+ sponsor?: boolean;
1201
2660
  /**
1202
2661
  * Body param
1203
2662
  */
1204
- chain_type?: 'ethereum';
2663
+ wallet_id?: string;
1205
2664
  /**
1206
2665
  * Header param: Request authorization signature. If multiple signatures are
1207
2666
  * required, they should be comma separated.
@@ -1212,22 +2671,21 @@ export declare namespace WalletRpcParams {
1212
2671
  * a 24-hour window.
1213
2672
  */
1214
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;
1215
2679
  }
1216
- namespace EthereumPersonalSignRpcInput {
1217
- interface Params {
1218
- encoding: 'utf-8' | 'hex';
1219
- message: string;
1220
- }
1221
- }
1222
- interface EthereumSignTypedDataRpcInput {
2680
+ interface SolanaSignMessageRpcInput {
1223
2681
  /**
1224
2682
  * Body param
1225
2683
  */
1226
- method: 'eth_signTypedData_v4';
2684
+ method: 'signMessage';
1227
2685
  /**
1228
- * Body param
2686
+ * Body param: Parameters for the SVM `signMessage` RPC.
1229
2687
  */
1230
- params: EthereumSignTypedDataRpcInput.Params;
2688
+ params: SolanaSignMessageRpcInputParams;
1231
2689
  /**
1232
2690
  * Body param
1233
2691
  */
@@ -1235,7 +2693,11 @@ export declare namespace WalletRpcParams {
1235
2693
  /**
1236
2694
  * Body param
1237
2695
  */
1238
- chain_type?: 'ethereum';
2696
+ chain_type?: 'solana';
2697
+ /**
2698
+ * Body param
2699
+ */
2700
+ wallet_id?: string;
1239
2701
  /**
1240
2702
  * Header param: Request authorization signature. If multiple signatures are
1241
2703
  * required, they should be comma separated.
@@ -1246,49 +2708,25 @@ export declare namespace WalletRpcParams {
1246
2708
  * a 24-hour window.
1247
2709
  */
1248
2710
  'privy-idempotency-key'?: string;
1249
- }
1250
- namespace EthereumSignTypedDataRpcInput {
1251
- interface Params {
1252
- typed_data: Params.TypedData;
1253
- }
1254
- namespace Params {
1255
- interface TypedData {
1256
- domain: {
1257
- [key: string]: unknown;
1258
- };
1259
- message: {
1260
- [key: string]: unknown;
1261
- };
1262
- primary_type: string;
1263
- types: {
1264
- [key: string]: Array<TypedData.Type>;
1265
- };
1266
- }
1267
- namespace TypedData {
1268
- interface Type {
1269
- name: string;
1270
- type: string;
1271
- }
1272
- }
1273
- }
1274
- }
1275
- interface EthereumSignTransactionRpcInput {
1276
2711
  /**
1277
- * 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.
1278
2714
  */
1279
- method: 'eth_signTransaction';
2715
+ 'privy-request-expiry'?: string;
2716
+ }
2717
+ interface SparkTransferRpcInput {
1280
2718
  /**
1281
2719
  * Body param
1282
2720
  */
1283
- params: EthereumSignTransactionRpcInput.Params;
2721
+ method: 'transfer';
1284
2722
  /**
1285
- * Body param
2723
+ * Body param: Parameters for the Spark `transfer` RPC.
1286
2724
  */
1287
- address?: string;
2725
+ params: SparkTransferRpcInputParams;
1288
2726
  /**
1289
- * Body param
2727
+ * Body param: The Spark network.
1290
2728
  */
1291
- chain_type?: 'ethereum';
2729
+ network?: SparkNetwork;
1292
2730
  /**
1293
2731
  * Header param: Request authorization signature. If multiple signatures are
1294
2732
  * required, they should be comma separated.
@@ -1299,55 +2737,50 @@ export declare namespace WalletRpcParams {
1299
2737
  * a 24-hour window.
1300
2738
  */
1301
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;
1302
2745
  }
1303
- namespace EthereumSignTransactionRpcInput {
1304
- interface Params {
1305
- transaction: Params.Transaction;
1306
- }
1307
- namespace Params {
1308
- interface Transaction {
1309
- authorization_list?: Array<Transaction.AuthorizationList>;
1310
- chain_id?: string | number;
1311
- data?: string;
1312
- from?: string;
1313
- gas_limit?: string | number;
1314
- gas_price?: string | number;
1315
- max_fee_per_gas?: string | number;
1316
- max_priority_fee_per_gas?: string | number;
1317
- nonce?: string | number;
1318
- to?: string;
1319
- type?: 0 | 1 | 2 | 4;
1320
- value?: string | number;
1321
- }
1322
- namespace Transaction {
1323
- interface AuthorizationList {
1324
- chain_id: string | number;
1325
- contract: string;
1326
- nonce: string | number;
1327
- r: string;
1328
- s: string;
1329
- y_parity: number;
1330
- }
1331
- }
1332
- }
1333
- }
1334
- interface EthereumSignUserOperationRpcInput {
2746
+ interface SparkGetBalanceRpcInput {
1335
2747
  /**
1336
2748
  * Body param
1337
2749
  */
1338
- method: 'eth_signUserOperation';
2750
+ method: 'getBalance';
1339
2751
  /**
1340
- * Body param
2752
+ * Body param: The Spark network.
1341
2753
  */
1342
- params: EthereumSignUserOperationRpcInput.Params;
2754
+ network?: SparkNetwork;
1343
2755
  /**
1344
- * Body param
2756
+ * Header param: Request authorization signature. If multiple signatures are
2757
+ * required, they should be comma separated.
1345
2758
  */
1346
- 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 {
1347
2772
  /**
1348
2773
  * Body param
1349
2774
  */
1350
- 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;
1351
2784
  /**
1352
2785
  * Header param: Request authorization signature. If multiple signatures are
1353
2786
  * required, they should be comma separated.
@@ -1358,55 +2791,50 @@ export declare namespace WalletRpcParams {
1358
2791
  * a 24-hour window.
1359
2792
  */
1360
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;
1361
2799
  }
1362
- namespace EthereumSignUserOperationRpcInput {
1363
- interface Params {
1364
- chain_id: string | number;
1365
- contract: string;
1366
- user_operation: Params.UserOperation;
1367
- }
1368
- namespace Params {
1369
- interface UserOperation {
1370
- call_data: string;
1371
- call_gas_limit: string;
1372
- max_fee_per_gas: string;
1373
- max_priority_fee_per_gas: string;
1374
- nonce: string;
1375
- paymaster: string;
1376
- paymaster_data: string;
1377
- paymaster_post_op_gas_limit: string;
1378
- paymaster_verification_gas_limit: string;
1379
- pre_verification_gas: string;
1380
- sender: string;
1381
- verification_gas_limit: string;
1382
- }
1383
- }
1384
- }
1385
- interface EthereumSendTransactionRpcInput {
2800
+ interface SparkGetStaticDepositAddressRpcInput {
1386
2801
  /**
1387
2802
  * Body param
1388
2803
  */
1389
- caip2: string;
2804
+ method: 'getStaticDepositAddress';
1390
2805
  /**
1391
- * Body param
2806
+ * Body param: The Spark network.
1392
2807
  */
1393
- method: 'eth_sendTransaction';
2808
+ network?: SparkNetwork;
1394
2809
  /**
1395
- * Body param
2810
+ * Header param: Request authorization signature. If multiple signatures are
2811
+ * required, they should be comma separated.
1396
2812
  */
1397
- params: EthereumSendTransactionRpcInput.Params;
2813
+ 'privy-authorization-signature'?: string;
1398
2814
  /**
1399
- * Body param
2815
+ * Header param: Idempotency keys ensure API requests are executed only once within
2816
+ * a 24-hour window.
1400
2817
  */
1401
- address?: string;
2818
+ 'privy-idempotency-key'?: string;
1402
2819
  /**
1403
- * 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.
1404
2822
  */
1405
- chain_type?: 'ethereum';
2823
+ 'privy-request-expiry'?: string;
2824
+ }
2825
+ interface SparkGetClaimStaticDepositQuoteRpcInput {
1406
2826
  /**
1407
2827
  * Body param
1408
2828
  */
1409
- 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;
1410
2838
  /**
1411
2839
  * Header param: Request authorization signature. If multiple signatures are
1412
2840
  * required, they should be comma separated.
@@ -1417,55 +2845,25 @@ export declare namespace WalletRpcParams {
1417
2845
  * a 24-hour window.
1418
2846
  */
1419
2847
  'privy-idempotency-key'?: string;
1420
- }
1421
- namespace EthereumSendTransactionRpcInput {
1422
- interface Params {
1423
- transaction: Params.Transaction;
1424
- }
1425
- namespace Params {
1426
- interface Transaction {
1427
- authorization_list?: Array<Transaction.AuthorizationList>;
1428
- chain_id?: string | number;
1429
- data?: string;
1430
- from?: string;
1431
- gas_limit?: string | number;
1432
- gas_price?: string | number;
1433
- max_fee_per_gas?: string | number;
1434
- max_priority_fee_per_gas?: string | number;
1435
- nonce?: string | number;
1436
- to?: string;
1437
- type?: 0 | 1 | 2 | 4;
1438
- value?: string | number;
1439
- }
1440
- namespace Transaction {
1441
- interface AuthorizationList {
1442
- chain_id: string | number;
1443
- contract: string;
1444
- nonce: string | number;
1445
- r: string;
1446
- s: string;
1447
- y_parity: number;
1448
- }
1449
- }
1450
- }
1451
- }
1452
- interface EthereumSign7702AuthorizationRpcInput {
1453
2848
  /**
1454
- * 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.
1455
2851
  */
1456
- method: 'eth_sign7702Authorization';
2852
+ 'privy-request-expiry'?: string;
2853
+ }
2854
+ interface SparkClaimStaticDepositRpcInput {
1457
2855
  /**
1458
2856
  * Body param
1459
2857
  */
1460
- params: EthereumSign7702AuthorizationRpcInput.Params;
2858
+ method: 'claimStaticDeposit';
1461
2859
  /**
1462
- * Body param
2860
+ * Body param: Parameters for the Spark `claimStaticDeposit` RPC.
1463
2861
  */
1464
- address?: string;
2862
+ params: SparkClaimStaticDepositRpcInputParams;
1465
2863
  /**
1466
- * Body param
2864
+ * Body param: The Spark network.
1467
2865
  */
1468
- chain_type?: 'ethereum';
2866
+ network?: SparkNetwork;
1469
2867
  /**
1470
2868
  * Header param: Request authorization signature. If multiple signatures are
1471
2869
  * required, they should be comma separated.
@@ -1476,31 +2874,25 @@ export declare namespace WalletRpcParams {
1476
2874
  * a 24-hour window.
1477
2875
  */
1478
2876
  'privy-idempotency-key'?: string;
1479
- }
1480
- namespace EthereumSign7702AuthorizationRpcInput {
1481
- interface Params {
1482
- chain_id: string | number;
1483
- contract: string;
1484
- nonce?: string | number;
1485
- }
1486
- }
1487
- interface EthereumSecp256k1SignRpcInput {
1488
2877
  /**
1489
- * 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.
1490
2880
  */
1491
- method: 'secp256k1_sign';
2881
+ 'privy-request-expiry'?: string;
2882
+ }
2883
+ interface SparkCreateLightningInvoiceRpcInput {
1492
2884
  /**
1493
2885
  * Body param
1494
2886
  */
1495
- params: EthereumSecp256k1SignRpcInput.Params;
2887
+ method: 'createLightningInvoice';
1496
2888
  /**
1497
- * Body param
2889
+ * Body param: Parameters for the Spark `createLightningInvoice` RPC.
1498
2890
  */
1499
- address?: string;
2891
+ params: SparkCreateLightningInvoiceRpcInputParams;
1500
2892
  /**
1501
- * Body param
2893
+ * Body param: The Spark network.
1502
2894
  */
1503
- chain_type?: 'ethereum';
2895
+ network?: SparkNetwork;
1504
2896
  /**
1505
2897
  * Header param: Request authorization signature. If multiple signatures are
1506
2898
  * required, they should be comma separated.
@@ -1511,29 +2903,25 @@ export declare namespace WalletRpcParams {
1511
2903
  * a 24-hour window.
1512
2904
  */
1513
2905
  'privy-idempotency-key'?: string;
1514
- }
1515
- namespace EthereumSecp256k1SignRpcInput {
1516
- interface Params {
1517
- hash: string;
1518
- }
1519
- }
1520
- interface SolanaSignMessageRpcInput {
1521
2906
  /**
1522
- * 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.
1523
2909
  */
1524
- method: 'signMessage';
2910
+ 'privy-request-expiry'?: string;
2911
+ }
2912
+ interface SparkPayLightningInvoiceRpcInput {
1525
2913
  /**
1526
2914
  * Body param
1527
2915
  */
1528
- params: SolanaSignMessageRpcInput.Params;
2916
+ method: 'payLightningInvoice';
1529
2917
  /**
1530
- * Body param
2918
+ * Body param: Parameters for the Spark `payLightningInvoice` RPC.
1531
2919
  */
1532
- address?: string;
2920
+ params: SparkPayLightningInvoiceRpcInputParams;
1533
2921
  /**
1534
- * Body param
2922
+ * Body param: The Spark network.
1535
2923
  */
1536
- chain_type?: 'solana';
2924
+ network?: SparkNetwork;
1537
2925
  /**
1538
2926
  * Header param: Request authorization signature. If multiple signatures are
1539
2927
  * required, they should be comma separated.
@@ -1544,30 +2932,25 @@ export declare namespace WalletRpcParams {
1544
2932
  * a 24-hour window.
1545
2933
  */
1546
2934
  'privy-idempotency-key'?: string;
1547
- }
1548
- namespace SolanaSignMessageRpcInput {
1549
- interface Params {
1550
- encoding: 'base64';
1551
- message: string;
1552
- }
1553
- }
1554
- interface SolanaSignTransactionRpcInput {
1555
2935
  /**
1556
- * 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.
1557
2938
  */
1558
- method: 'signTransaction';
2939
+ 'privy-request-expiry'?: string;
2940
+ }
2941
+ interface SparkSignMessageWithIdentityKeyRpcInput {
1559
2942
  /**
1560
2943
  * Body param
1561
2944
  */
1562
- params: SolanaSignTransactionRpcInput.Params;
2945
+ method: 'signMessageWithIdentityKey';
1563
2946
  /**
1564
- * Body param
2947
+ * Body param: Parameters for the Spark `signMessageWithIdentityKey` RPC.
1565
2948
  */
1566
- address?: string;
2949
+ params: SparkSignMessageWithIdentityKeyRpcInputParams;
1567
2950
  /**
1568
- * Body param
2951
+ * Body param: The Spark network.
1569
2952
  */
1570
- chain_type?: 'solana';
2953
+ network?: SparkNetwork;
1571
2954
  /**
1572
2955
  * Header param: Request authorization signature. If multiple signatures are
1573
2956
  * required, they should be comma separated.
@@ -1578,38 +2961,56 @@ export declare namespace WalletRpcParams {
1578
2961
  * a 24-hour window.
1579
2962
  */
1580
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;
1581
2969
  }
1582
- namespace SolanaSignTransactionRpcInput {
1583
- interface Params {
1584
- encoding: 'base64';
1585
- transaction: string;
1586
- }
1587
- }
1588
- interface SolanaSignAndSendTransactionRpcInput {
2970
+ interface ExportPrivateKeyRpcInput {
1589
2971
  /**
1590
2972
  * Body param
1591
2973
  */
1592
- caip2: string;
2974
+ address: string;
1593
2975
  /**
1594
2976
  * Body param
1595
2977
  */
1596
- method: 'signAndSendTransaction';
2978
+ method: 'exportPrivateKey';
1597
2979
  /**
1598
- * Body param
2980
+ * Body param: Input for exporting a wallet (private key or seed phrase) with HPKE
2981
+ * encryption.
1599
2982
  */
1600
- params: SolanaSignAndSendTransactionRpcInput.Params;
2983
+ params: PrivateKeyExportInput;
1601
2984
  /**
1602
- * Body param
2985
+ * Header param: Request authorization signature. If multiple signatures are
2986
+ * required, they should be comma separated.
1603
2987
  */
1604
- 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 {
1605
3001
  /**
1606
3002
  * Body param
1607
3003
  */
1608
- chain_type?: 'solana';
3004
+ address: string;
1609
3005
  /**
1610
3006
  * Body param
1611
3007
  */
1612
- 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;
1613
3014
  /**
1614
3015
  * Header param: Request authorization signature. If multiple signatures are
1615
3016
  * required, they should be comma separated.
@@ -1620,20 +3021,43 @@ export declare namespace WalletRpcParams {
1620
3021
  * a 24-hour window.
1621
3022
  */
1622
3023
  'privy-idempotency-key'?: string;
1623
- }
1624
- namespace SolanaSignAndSendTransactionRpcInput {
1625
- interface Params {
1626
- encoding: 'base64';
1627
- transaction: string;
1628
- }
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;
1629
3029
  }
1630
3030
  }
1631
3031
  export interface WalletSubmitImportParams {
1632
3032
  wallet: WalletSubmitImportParams.HDSubmitInput | WalletSubmitImportParams.PrivateKeySubmitInput;
1633
- additional_signers?: Array<WalletSubmitImportParams.AdditionalSigner>;
1634
- owner?: WalletSubmitImportParams.UserID | WalletSubmitImportParams.PublicKey | null;
1635
- owner_id?: string | null;
1636
- policy_ids?: Array<string>;
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;
1637
3061
  }
1638
3062
  export declare namespace WalletSubmitImportParams {
1639
3063
  interface HDSubmitInput {
@@ -1645,7 +3069,7 @@ export declare namespace WalletSubmitImportParams {
1645
3069
  * The chain type of the wallet to import. Currently supports `ethereum` and
1646
3070
  * `solana`.
1647
3071
  */
1648
- chain_type: 'ethereum' | 'solana';
3072
+ chain_type: WalletsAPI.WalletImportSupportedChains;
1649
3073
  /**
1650
3074
  * The encrypted entropy of the wallet to import.
1651
3075
  */
@@ -1658,7 +3082,7 @@ export declare namespace WalletSubmitImportParams {
1658
3082
  /**
1659
3083
  * The encryption type of the wallet to import. Currently only supports `HPKE`.
1660
3084
  */
1661
- encryption_type: 'HPKE';
3085
+ encryption_type: WalletsAPI.HpkeEncryption;
1662
3086
  /**
1663
3087
  * The entropy type of the wallet to import.
1664
3088
  */
@@ -1683,7 +3107,7 @@ export declare namespace WalletSubmitImportParams {
1683
3107
  * The chain type of the wallet to import. Currently supports `ethereum` and
1684
3108
  * `solana`.
1685
3109
  */
1686
- chain_type: 'ethereum' | 'solana';
3110
+ chain_type: WalletsAPI.WalletImportSupportedChains;
1687
3111
  /**
1688
3112
  * The encrypted entropy of the wallet to import.
1689
3113
  */
@@ -1696,7 +3120,7 @@ export declare namespace WalletSubmitImportParams {
1696
3120
  /**
1697
3121
  * The encryption type of the wallet to import. Currently only supports `HPKE`.
1698
3122
  */
1699
- encryption_type: 'HPKE';
3123
+ encryption_type: WalletsAPI.HpkeEncryption;
1700
3124
  entropy_type: 'private-key';
1701
3125
  /**
1702
3126
  * Optional HPKE configuration for wallet import decryption. These parameters allow
@@ -1705,32 +3129,26 @@ export declare namespace WalletSubmitImportParams {
1705
3129
  */
1706
3130
  hpke_config?: WalletsAPI.HpkeImportConfig;
1707
3131
  }
1708
- interface AdditionalSigner {
1709
- signer_id: string;
1710
- override_policy_ids?: Array<string>;
1711
- }
1712
- interface UserID {
1713
- user_id: string;
1714
- }
1715
- interface PublicKey {
1716
- public_key: string;
1717
- }
1718
3132
  }
1719
3133
  export interface WalletUpdateParams {
1720
3134
  /**
1721
3135
  * Body param: Additional signers for the wallet.
1722
3136
  */
1723
- additional_signers?: Array<WalletUpdateParams.AdditionalSigner>;
3137
+ additional_signers?: AdditionalSignerInput;
1724
3138
  /**
1725
- * Body param: The owner of the resource. If you provide this, do not specify an
1726
- * owner_id as it will be generated automatically. When updating a wallet, you can
1727
- * set the owner to null to remove the owner.
3139
+ * Body param: A human-readable label for the wallet. Set to null to clear.
1728
3140
  */
1729
- owner?: WalletUpdateParams.PublicKeyOwner | WalletUpdateParams.UserOwner | null;
3141
+ display_name?: string | null;
1730
3142
  /**
1731
- * 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.
1732
3150
  */
1733
- owner_id?: string | null;
3151
+ owner_id?: SharedAPI.OwnerIDInput | null;
1734
3152
  /**
1735
3153
  * Body param: New policy IDs to enforce on the wallet. Currently, only one policy
1736
3154
  * is supported per wallet.
@@ -1741,48 +3159,27 @@ export interface WalletUpdateParams {
1741
3159
  * required, they should be comma separated.
1742
3160
  */
1743
3161
  'privy-authorization-signature'?: string;
1744
- }
1745
- export declare namespace WalletUpdateParams {
1746
- interface AdditionalSigner {
1747
- signer_id: string;
1748
- /**
1749
- * The array of policy IDs that will be applied to wallet requests. If specified,
1750
- * this will override the base policy IDs set on the wallet.
1751
- */
1752
- override_policy_ids?: Array<string>;
1753
- }
1754
- /**
1755
- * The P-256 public key of the owner of the resource, in base64-encoded DER format.
1756
- * If you provide this, do not specify an owner_id as it will be generated
1757
- * automatically.
1758
- */
1759
- interface PublicKeyOwner {
1760
- public_key: string;
1761
- }
1762
3162
  /**
1763
- * The user ID of the owner of the resource. The user must already exist, and this
1764
- * value must start with "did:privy:". If you provide this, do not specify an
1765
- * owner_id as it will be generated automatically.
3163
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
3164
+ * representing the deadline by which the request must be processed.
1766
3165
  */
1767
- interface UserOwner {
1768
- user_id: string;
1769
- }
3166
+ 'privy-request-expiry'?: string;
1770
3167
  }
1771
3168
  export interface WalletAuthenticateWithJwtParams {
1772
- /**
1773
- * The user's JWT, to be used to authenticate the user.
1774
- */
1775
- user_jwt: string;
1776
3169
  /**
1777
3170
  * The encryption type for the authentication response. Currently only supports
1778
3171
  * HPKE.
1779
3172
  */
1780
- encryption_type?: 'HPKE';
3173
+ encryption_type: 'HPKE';
1781
3174
  /**
1782
3175
  * The public key of your ECDH keypair, in base64-encoded, SPKI-format, whose
1783
3176
  * private key will be able to decrypt the session key.
1784
3177
  */
1785
- 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;
1786
3183
  }
1787
3184
  export interface WalletCreateWalletsWithRecoveryParams {
1788
3185
  primary_signer: WalletCreateWalletsWithRecoveryParams.PrimarySigner;
@@ -1821,14 +3218,23 @@ export declare namespace WalletCreateWalletsWithRecoveryParams {
1821
3218
  */
1822
3219
  chain_type: WalletsAPI.WalletChainType;
1823
3220
  /**
1824
- * List of policy IDs for policies that should be enforced on the wallet.
1825
- * 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.
1826
3232
  */
1827
- policy_ids?: Array<string>;
3233
+ policy_ids?: WalletsAPI.PolicyInput;
1828
3234
  }
1829
3235
  }
1830
3236
  export declare namespace Wallets {
1831
- export { type WalletRevokeResponse as WalletRevokeResponse, type CurveSigningChainType as CurveSigningChainType, type ExtendedChainType as ExtendedChainType, type FirstClassChainType as FirstClassChainType, type WalletChainType as WalletChainType, type WalletCustodian as WalletCustodian, type CustodialWalletProvider as CustodialWalletProvider, type CustodialWalletChainType as CustodialWalletChainType, type CustodialWalletCreateInput as CustodialWalletCreateInput, type CustodialWallet as CustodialWallet, type HpkeImportConfig as HpkeImportConfig, type SuiCommandName as SuiCommandName, type Wallet as Wallet, type WalletUpdateRequestBody as WalletUpdateRequestBody, type WalletBatchItemInput as WalletBatchItemInput, type WalletBatchCreateInput as WalletBatchCreateInput, type WalletBatchCreateResult as WalletBatchCreateResult, type WalletBatchCreateResponse as WalletBatchCreateResponse, type EthereumPersonalSignRpcInput as EthereumPersonalSignRpcInput, type EthereumSignTransactionRpcInput as EthereumSignTransactionRpcInput, type EthereumSendTransactionRpcInput as EthereumSendTransactionRpcInput, type EthereumSignTypedDataRpcInput as EthereumSignTypedDataRpcInput, type EthereumSignUserOperationRpcInput as EthereumSignUserOperationRpcInput, type EthereumSign7702AuthorizationRpcInput as EthereumSign7702AuthorizationRpcInput, type EthereumSecp256k1SignRpcInput as EthereumSecp256k1SignRpcInput, type SolanaSignTransactionRpcInput as SolanaSignTransactionRpcInput, type SolanaSignAndSendTransactionRpcInput as SolanaSignAndSendTransactionRpcInput, type SolanaSignMessageRpcInput as SolanaSignMessageRpcInput, type EthereumSignTransactionRpcResponse as EthereumSignTransactionRpcResponse, type EthereumSendTransactionRpcResponse as EthereumSendTransactionRpcResponse, type EthereumPersonalSignRpcResponse as EthereumPersonalSignRpcResponse, type EthereumSignTypedDataRpcResponse as EthereumSignTypedDataRpcResponse, type EthereumSignUserOperationRpcResponse as EthereumSignUserOperationRpcResponse, type EthereumSign7702AuthorizationRpcResponse as EthereumSign7702AuthorizationRpcResponse, type EthereumSecp256k1SignRpcResponse as EthereumSecp256k1SignRpcResponse, type SolanaSignTransactionRpcResponse as SolanaSignTransactionRpcResponse, type SolanaSignAndSendTransactionRpcResponse as SolanaSignAndSendTransactionRpcResponse, type SolanaSignMessageRpcResponse as SolanaSignMessageRpcResponse, type WalletRpcRequestBody as WalletRpcRequestBody, type WalletRpcResponse as WalletRpcResponse, type WalletExportResponse as WalletExportResponse, type WalletInitImportResponse as WalletInitImportResponse, type WalletRawSignResponse as WalletRawSignResponse, type WalletAuthenticateWithJwtResponse as WalletAuthenticateWithJwtResponse, type WalletCreateWalletsWithRecoveryResponse as WalletCreateWalletsWithRecoveryResponse, type WalletsCursor as WalletsCursor, type WalletCreateParams as WalletCreateParams, type WalletListParams as WalletListParams, type WalletExportParams as WalletExportParams, type WalletInitImportParams as WalletInitImportParams, type WalletRawSignParams as WalletRawSignParams, type WalletRpcParams as WalletRpcParams, type WalletSubmitImportParams as WalletSubmitImportParams, type WalletUpdateParams as WalletUpdateParams, type WalletAuthenticateWithJwtParams as WalletAuthenticateWithJwtParams, type WalletCreateWalletsWithRecoveryParams as WalletCreateWalletsWithRecoveryParams, };
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, };
1832
3238
  export { Transactions as Transactions, type TransactionGetResponse as TransactionGetResponse, type TransactionGetParams as TransactionGetParams, };
1833
3239
  export { Balance as Balance, type BalanceGetResponse as BalanceGetResponse, type BalanceGetParams as BalanceGetParams, };
1834
3240
  }