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