@privy-io/api-types 0.9.0 → 0.11.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 (180) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/client.d.mts +40 -43
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +40 -43
  5. package/client.d.ts.map +1 -1
  6. package/client.js +28 -20
  7. package/client.js.map +1 -1
  8. package/client.mjs +29 -21
  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 +931 -947
  28. package/resources/client-auth.d.mts.map +1 -1
  29. package/resources/client-auth.d.ts +931 -947
  30. package/resources/client-auth.d.ts.map +1 -1
  31. package/resources/client-auth.js.map +1 -1
  32. package/resources/client-auth.mjs.map +1 -1
  33. package/resources/embedded-wallets.d.mts +122 -122
  34. package/resources/embedded-wallets.d.mts.map +1 -1
  35. package/resources/embedded-wallets.d.ts +122 -122
  36. package/resources/embedded-wallets.d.ts.map +1 -1
  37. package/resources/fiat.d.mts +110 -0
  38. package/resources/fiat.d.mts.map +1 -0
  39. package/resources/fiat.d.ts +110 -0
  40. package/resources/fiat.d.ts.map +1 -0
  41. package/resources/fiat.js +9 -0
  42. package/resources/fiat.js.map +1 -0
  43. package/resources/fiat.mjs +5 -0
  44. package/resources/fiat.mjs.map +1 -0
  45. package/resources/funding.d.mts +86 -86
  46. package/resources/funding.d.mts.map +1 -1
  47. package/resources/funding.d.ts +86 -86
  48. package/resources/funding.d.ts.map +1 -1
  49. package/resources/index.d.mts +20 -18
  50. package/resources/index.d.mts.map +1 -1
  51. package/resources/index.d.ts +20 -18
  52. package/resources/index.d.ts.map +1 -1
  53. package/resources/index.js +5 -1
  54. package/resources/index.js.map +1 -1
  55. package/resources/index.mjs +3 -1
  56. package/resources/index.mjs.map +1 -1
  57. package/resources/intents.d.mts +269 -265
  58. package/resources/intents.d.mts.map +1 -1
  59. package/resources/intents.d.ts +269 -265
  60. package/resources/intents.d.ts.map +1 -1
  61. package/resources/key-quorums.d.mts +15 -146
  62. package/resources/key-quorums.d.mts.map +1 -1
  63. package/resources/key-quorums.d.ts +15 -146
  64. package/resources/key-quorums.d.ts.map +1 -1
  65. package/resources/key-quorums.js +0 -92
  66. package/resources/key-quorums.js.map +1 -1
  67. package/resources/key-quorums.mjs +0 -92
  68. package/resources/key-quorums.mjs.map +1 -1
  69. package/resources/kraken-embed.d.mts +12 -20
  70. package/resources/kraken-embed.d.mts.map +1 -1
  71. package/resources/kraken-embed.d.ts +12 -20
  72. package/resources/kraken-embed.d.ts.map +1 -1
  73. package/resources/organizations.d.mts +65 -0
  74. package/resources/organizations.d.mts.map +1 -0
  75. package/resources/organizations.d.ts +65 -0
  76. package/resources/organizations.d.ts.map +1 -0
  77. package/resources/organizations.js +9 -0
  78. package/resources/organizations.js.map +1 -0
  79. package/resources/organizations.mjs +5 -0
  80. package/resources/organizations.mjs.map +1 -0
  81. package/resources/policies.d.mts +261 -553
  82. package/resources/policies.d.mts.map +1 -1
  83. package/resources/policies.d.ts +261 -553
  84. package/resources/policies.d.ts.map +1 -1
  85. package/resources/policies.js +0 -229
  86. package/resources/policies.js.map +1 -1
  87. package/resources/policies.mjs +0 -229
  88. package/resources/policies.mjs.map +1 -1
  89. package/resources/shared.d.mts +28 -28
  90. package/resources/shared.d.mts.map +1 -1
  91. package/resources/shared.d.ts +28 -28
  92. package/resources/shared.d.ts.map +1 -1
  93. package/resources/swaps.d.mts +6 -9
  94. package/resources/swaps.d.mts.map +1 -1
  95. package/resources/swaps.d.ts +6 -9
  96. package/resources/swaps.d.ts.map +1 -1
  97. package/resources/swaps.js.map +1 -1
  98. package/resources/swaps.mjs.map +1 -1
  99. package/resources/transactions.d.mts +80 -96
  100. package/resources/transactions.d.mts.map +1 -1
  101. package/resources/transactions.d.ts +80 -96
  102. package/resources/transactions.d.ts.map +1 -1
  103. package/resources/transactions.js +0 -17
  104. package/resources/transactions.js.map +1 -1
  105. package/resources/transactions.mjs +0 -17
  106. package/resources/transactions.mjs.map +1 -1
  107. package/resources/users.d.mts +480 -815
  108. package/resources/users.d.mts.map +1 -1
  109. package/resources/users.d.ts +480 -815
  110. package/resources/users.d.ts.map +1 -1
  111. package/resources/users.js +0 -272
  112. package/resources/users.js.map +1 -1
  113. package/resources/users.mjs +0 -272
  114. package/resources/users.mjs.map +1 -1
  115. package/resources/wallet-actions.d.mts +302 -145
  116. package/resources/wallet-actions.d.mts.map +1 -1
  117. package/resources/wallet-actions.d.ts +302 -145
  118. package/resources/wallet-actions.d.ts.map +1 -1
  119. package/resources/wallets/index.d.mts +1 -1
  120. package/resources/wallets/index.d.mts.map +1 -1
  121. package/resources/wallets/index.d.ts +1 -1
  122. package/resources/wallets/index.d.ts.map +1 -1
  123. package/resources/wallets/index.js.map +1 -1
  124. package/resources/wallets/index.mjs.map +1 -1
  125. package/resources/wallets/transactions.d.mts +7 -2
  126. package/resources/wallets/transactions.d.mts.map +1 -1
  127. package/resources/wallets/transactions.d.ts +7 -2
  128. package/resources/wallets/transactions.d.ts.map +1 -1
  129. package/resources/wallets/transactions.js +1 -1
  130. package/resources/wallets/transactions.mjs +1 -1
  131. package/resources/wallets/wallets.d.mts +1592 -1580
  132. package/resources/wallets/wallets.d.mts.map +1 -1
  133. package/resources/wallets/wallets.d.ts +1592 -1580
  134. package/resources/wallets/wallets.d.ts.map +1 -1
  135. package/resources/wallets/wallets.js +45 -103
  136. package/resources/wallets/wallets.js.map +1 -1
  137. package/resources/wallets/wallets.mjs +45 -103
  138. package/resources/wallets/wallets.mjs.map +1 -1
  139. package/resources/webhooks.d.mts +935 -877
  140. package/resources/webhooks.d.mts.map +1 -1
  141. package/resources/webhooks.d.ts +935 -877
  142. package/resources/webhooks.d.ts.map +1 -1
  143. package/resources/yield.d.mts +157 -157
  144. package/resources/yield.d.mts.map +1 -1
  145. package/resources/yield.d.ts +157 -157
  146. package/resources/yield.d.ts.map +1 -1
  147. package/src/client.ts +650 -618
  148. package/src/internal/types.ts +6 -8
  149. package/src/resources/accounts.ts +157 -103
  150. package/src/resources/aggregations.ts +55 -55
  151. package/src/resources/apps.ts +221 -178
  152. package/src/resources/client-auth.ts +1271 -1315
  153. package/src/resources/embedded-wallets.ts +160 -160
  154. package/src/resources/fiat.ts +177 -0
  155. package/src/resources/funding.ts +130 -130
  156. package/src/resources/index.ts +551 -542
  157. package/src/resources/intents.ts +326 -322
  158. package/src/resources/key-quorums.ts +16 -218
  159. package/src/resources/kraken-embed.ts +14 -22
  160. package/src/resources/organizations.ts +82 -0
  161. package/src/resources/policies.ts +383 -848
  162. package/src/resources/shared.ts +34 -34
  163. package/src/resources/swaps.ts +5 -10
  164. package/src/resources/transactions.ts +116 -136
  165. package/src/resources/users.ts +693 -1160
  166. package/src/resources/wallet-actions.ts +392 -185
  167. package/src/resources/wallets/index.ts +160 -156
  168. package/src/resources/wallets/transactions.ts +18 -3
  169. package/src/resources/wallets/wallets.ts +2123 -2113
  170. package/src/resources/webhooks.ts +1172 -1100
  171. package/src/resources/yield.ts +188 -188
  172. package/src/version.ts +1 -1
  173. package/version.d.mts +1 -1
  174. package/version.d.mts.map +1 -1
  175. package/version.d.ts +1 -1
  176. package/version.d.ts.map +1 -1
  177. package/version.js +1 -1
  178. package/version.js.map +1 -1
  179. package/version.mjs +1 -1
  180. package/version.mjs.map +1 -1
@@ -2,7 +2,6 @@ import { APIResource } from "../../core/resource.js";
2
2
  import * as WalletsAPI from "./wallets.js";
3
3
  import * as AppsAPI from "../apps.js";
4
4
  import * as SharedAPI from "../shared.js";
5
- import * as UsersAPI from "../users.js";
6
5
  import * as BalanceAPI from "./balance.js";
7
6
  import { Balance, BalanceGetParams, BalanceGetResponse } from "./balance.js";
8
7
  import * as TransactionsAPI from "./transactions.js";
@@ -10,9 +9,12 @@ import { TransactionGetParams, TransactionGetResponse, Transactions } from "./tr
10
9
  import { APIPromise } from "../../core/api-promise.js";
11
10
  import { Cursor, type CursorParams, PagePromise } from "../../core/pagination.js";
12
11
  import { RequestOptions } from "../../internal/request-options.js";
12
+ /**
13
+ * Operations related to wallets
14
+ */
13
15
  export declare class Wallets extends APIResource {
14
- transactions: TransactionsAPI.Transactions;
15
16
  balance: BalanceAPI.Balance;
17
+ transactions: TransactionsAPI.Transactions;
16
18
  /**
17
19
  * Creates a new wallet on the requested chain and for the requested owner.
18
20
  *
@@ -24,6 +26,17 @@ export declare class Wallets extends APIResource {
24
26
  * ```
25
27
  */
26
28
  create(params: WalletCreateParams, options?: RequestOptions): APIPromise<Wallet>;
29
+ /**
30
+ * Update a wallet's policies or authorization key configuration.
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * const wallet = await client.wallets.update('wallet_id', {
35
+ * policy_ids: ['tb54eps4z44ed0jepousxi4n'],
36
+ * });
37
+ * ```
38
+ */
39
+ update(walletID: string, params: WalletUpdateParams, options?: RequestOptions): APIPromise<Wallet>;
27
40
  /**
28
41
  * Get all wallets in your app.
29
42
  *
@@ -42,51 +55,48 @@ export declare class Wallets extends APIResource {
42
55
  * @example
43
56
  * ```ts
44
57
  * const walletExportResponseBody =
45
- * await client.wallets._export('wallet_id', {
58
+ * await client.wallets.export('wallet_id', {
46
59
  * encryption_type: 'HPKE',
47
60
  * recipient_public_key:
48
61
  * 'BDAZLOIdTaPycEYkgG0MvCzbIKJLli/yWkAV5yCa9yOsZ4JsrLweA5MnP8YIiY4k/RRzC+APhhO+P+Hoz/rt7Go=',
49
62
  * });
50
63
  * ```
51
64
  */
52
- _export(walletID: string, params: WalletExportParams, options?: RequestOptions): APIPromise<WalletExportResponseBody>;
65
+ export(walletID: string, params: WalletExportParams, options?: RequestOptions): APIPromise<WalletExportResponseBody>;
53
66
  /**
54
- * Initialize a wallet import. Complete by submitting the import.
67
+ * Get a wallet by wallet ID.
55
68
  *
56
69
  * @example
57
70
  * ```ts
58
- * const response = await client.wallets._initImport({
59
- * address: 'address',
60
- * chain_type: 'ethereum',
61
- * encryption_type: 'HPKE',
62
- * entropy_type: 'hd',
63
- * index: 0,
64
- * });
71
+ * const wallet = await client.wallets.get('wallet_id');
65
72
  * ```
66
73
  */
67
- _initImport(body: WalletInitImportParams, options?: RequestOptions): APIPromise<WalletInitImportResponse>;
74
+ get(walletID: string, options?: RequestOptions): APIPromise<Wallet>;
68
75
  /**
69
76
  * Sign a message with a wallet by wallet ID.
70
77
  *
71
78
  * @example
72
79
  * ```ts
73
- * const rawSignResponse = await client.wallets._rawSign(
80
+ * const rawSignResponse = await client.wallets.rawSign(
74
81
  * 'wallet_id',
75
82
  * {
76
83
  * params: {
77
- * hash: '0x0775aeed9c9ce6e0fbc4db25c5e4e6368029651c905c286f813126a09025a21e',
84
+ * bytes:
85
+ * '0a0234ea220809701d7a17a77e04408093e981a6335a66080112620a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412310a15417009bf59e27d2031a23a61e1590289fc3d21b3cd121541132b98ed6fb80a2d45f177cdef091ae2d9dc115418e80770a0bee581a633',
86
+ * encoding: 'hex',
87
+ * hash_function: 'sha256',
78
88
  * },
79
89
  * },
80
90
  * );
81
91
  * ```
82
92
  */
83
- _rawSign(walletID: string, params: WalletRawSignParams, options?: RequestOptions): APIPromise<RawSignResponse>;
93
+ rawSign(walletID: string, params: WalletRawSignParams, options?: RequestOptions): APIPromise<RawSignResponse>;
84
94
  /**
85
95
  * Sign a message or transaction with a wallet by wallet ID.
86
96
  *
87
97
  * @example
88
98
  * ```ts
89
- * const walletRpcResponse = await client.wallets._rpc(
99
+ * const walletRpcResponse = await client.wallets.rpc(
90
100
  * 'wallet_id',
91
101
  * {
92
102
  * method: 'eth_sendTransaction',
@@ -101,109 +111,13 @@ export declare class Wallets extends APIResource {
101
111
  * );
102
112
  * ```
103
113
  */
104
- _rpc(walletID: string, params: WalletRpcParams, options?: RequestOptions): APIPromise<WalletRpcResponse>;
105
- /**
106
- * Submit a wallet import request.
107
- *
108
- * @example
109
- * ```ts
110
- * const wallet = await client.wallets._submitImport({
111
- * wallet: {
112
- * address: '0xF1DBff66C993EE895C8cb176c30b07A559d76496',
113
- * chain_type: 'ethereum',
114
- * ciphertext:
115
- * 'PRoRXygG+YYSDBXjCopNYZmx8Z6nvdl1D0lpePTYZdZI2VGfK+LkFt+GlEJqdoi9',
116
- * encapsulated_key:
117
- * 'BOhR6xITDt5THJawHHJKrKdI9CBr2M/SDWzZZAaOW4gCMsSpC65U007WyKiwuuOVAo1BNm4YgcBBROuMmyIZXZk=',
118
- * encryption_type: 'HPKE',
119
- * entropy_type: 'private-key',
120
- * },
121
- * });
122
- * ```
123
- */
124
- _submitImport(body: WalletSubmitImportParams, options?: RequestOptions): APIPromise<Wallet>;
125
- /**
126
- * Update a wallet's policies or authorization key configuration.
127
- *
128
- * @example
129
- * ```ts
130
- * const wallet = await client.wallets._update('wallet_id', {
131
- * policy_ids: ['tb54eps4z44ed0jepousxi4n'],
132
- * });
133
- * ```
134
- */
135
- _update(walletID: string, params: WalletUpdateParams, options?: RequestOptions): APIPromise<Wallet>;
136
- /**
137
- * Obtain a session key to enable wallet access.
138
- *
139
- * @example
140
- * ```ts
141
- * const response = await client.wallets.authenticateWithJwt({
142
- * encryption_type: 'HPKE',
143
- * recipient_public_key:
144
- * 'DAQcDQgAEx4aoeD72yykviK+fckqE2CItVIGn1rCnvCXZ1HgpOcMEMialRmTrqIK4oZlYd1',
145
- * user_jwt:
146
- * 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.KMUFsIDTnFmyG3nMiGM6H9FNFUROf3wh7SmqJp-QV30',
147
- * });
148
- * ```
149
- */
150
- authenticateWithJwt(body: WalletAuthenticateWithJwtParams, options?: RequestOptions): APIPromise<WalletAuthenticateWithJwtResponse>;
151
- /**
152
- * Create wallets with an associated recovery user.
153
- *
154
- * @deprecated
155
- */
156
- createWalletsWithRecovery(body: WalletCreateWalletsWithRecoveryParams, options?: RequestOptions): APIPromise<WalletCreateWalletsWithRecoveryResponse>;
157
- /**
158
- * Get a wallet by wallet ID.
159
- *
160
- * @example
161
- * ```ts
162
- * const wallet = await client.wallets.get('wallet_id');
163
- * ```
164
- */
165
- get(walletID: string, options?: RequestOptions): APIPromise<Wallet>;
114
+ rpc(walletID: string, params: WalletRpcParams, options?: RequestOptions): APIPromise<WalletRpcResponse>;
166
115
  }
167
116
  export type WalletsCursor = Cursor<Wallet>;
168
117
  /**
169
- * The response body from revoking a wallet delegation.
170
- */
171
- export interface WalletRevokeResponse {
172
- message: string;
173
- }
174
- /**
175
- * The wallet chain types that support curve-based signing.
176
- */
177
- export type CurveSigningChainType = 'cosmos' | 'stellar' | 'sui' | 'aptos' | 'movement' | 'tron' | 'bitcoin-segwit' | 'bitcoin-taproot' | 'near' | 'ton' | 'starknet';
178
- /**
179
- * The wallet chain types that are not first class chains.
180
- */
181
- export type ExtendedChainType = 'cosmos' | 'stellar' | 'sui' | 'aptos' | 'movement' | 'tron' | 'bitcoin-segwit' | 'bitcoin-taproot' | 'near' | 'ton' | 'starknet' | 'spark';
182
- /**
183
- * The wallet chain types that offer first class support.
184
- */
185
- export type FirstClassChainType = 'ethereum' | 'solana';
186
- /**
187
- * The wallet chain types.
188
- */
189
- export type WalletChainType = 'ethereum' | 'solana' | 'cosmos' | 'stellar' | 'sui' | 'aptos' | 'movement' | 'tron' | 'bitcoin-segwit' | 'bitcoin-taproot' | 'near' | 'ton' | 'starknet' | 'spark';
190
- /**
191
- * The role of an authorization key, controlling what actions it can authorize on a
192
- * wallet.
193
- */
194
- export type AuthorizationKeyRole = 'root' | 'manager' | 'delegated-actions' | null;
195
- /**
196
- * The entropy type of the wallet.
197
- */
198
- export type WalletEntropyType = 'hd' | 'private-key';
199
- /**
200
- * The derivation strategy used for Solana wallets.
201
- */
202
- export type SolanaWalletDerivationStrategy = 'ENTROPY_TO_SEED' | 'ENTROPY_TO_MNEMONIC_TO_SEED';
203
- /**
204
- * An optional list of up to one policy ID to enforce on the wallet.
118
+ * Additional signers for the wallet.
205
119
  */
206
- export type PolicyInput = Array<string>;
120
+ export type AdditionalSignerInput = Array<AdditionalSignerItemInput>;
207
121
  /**
208
122
  * A single additional signer for a wallet, with an optional policy override.
209
123
  */
@@ -218,47 +132,71 @@ export interface AdditionalSignerItemInput {
218
132
  override_policy_ids?: PolicyInput;
219
133
  }
220
134
  /**
221
- * Additional signers for the wallet.
135
+ * A blockchain wallet address (Ethereum or Solana).
222
136
  */
223
- export type AdditionalSignerInput = Array<AdditionalSignerItemInput>;
137
+ export type Address = string;
224
138
  /**
225
- * A single additional signer on a wallet, with an optional policy override.
139
+ * Whether the amount refers to the input token or output token.
226
140
  */
227
- export interface WalletAdditionalSignerItem {
228
- /**
229
- * A unique identifier for a key quorum.
230
- */
231
- signer_id: SharedAPI.KeyQuorumID;
141
+ export type AmountType = 'exact_input' | 'exact_output';
142
+ /**
143
+ * Dashboard response for a wallet authorization key (includes role, which is an
144
+ * internal-only concept).
145
+ */
146
+ export interface AuthorizationKeyDashboardResponse {
147
+ id: string;
148
+ created_at: number;
149
+ display_name: string | null;
150
+ public_key: string;
232
151
  /**
233
- * An optional list of up to one policy ID to enforce on the wallet.
152
+ * The role of an authorization key, controlling what actions it can authorize on a
153
+ * wallet.
234
154
  */
235
- override_policy_ids?: PolicyInput;
155
+ role: AuthorizationKeyRole | null;
236
156
  }
237
157
  /**
238
- * Additional signers for the wallet.
158
+ * Public-facing response for a wallet authorization key.
239
159
  */
240
- export type WalletAdditionalSigner = Array<WalletAdditionalSignerItem>;
160
+ export interface AuthorizationKeyResponse {
161
+ id: string;
162
+ created_at: number;
163
+ display_name: string | null;
164
+ public_key: string;
165
+ }
241
166
  /**
242
- * A blockchain wallet address (Ethereum or Solana).
167
+ * The role of an authorization key, controlling what actions it can authorize on a
168
+ * wallet.
243
169
  */
244
- export type Address = string;
170
+ export type AuthorizationKeyRole = 'root' | 'manager' | 'delegated-actions' | null;
245
171
  /**
246
- * Information about the custodian managing this wallet.
172
+ * The wallet chain types that support curve-based signing.
247
173
  */
248
- export interface WalletCustodian {
174
+ export type CurveSigningChainType = 'cosmos' | 'stellar' | 'sui' | 'aptos' | 'movement' | 'tron' | 'bitcoin-segwit' | 'bitcoin-taproot' | 'pearl' | 'near' | 'ton' | 'starknet';
175
+ /**
176
+ * The cryptographic curve type used by the wallet.
177
+ */
178
+ export type CurveType = 'secp256k1' | 'ed25519' | 'starknet';
179
+ /**
180
+ * Information about a custodial wallet.
181
+ */
182
+ export interface CustodialWallet {
183
+ id: string;
184
+ address: string;
249
185
  /**
250
- * The custodian responsible for the wallet.
186
+ * The chain type of the custodial wallet.
251
187
  */
252
- provider: string;
188
+ chain_type: CustodialWalletChainType;
253
189
  /**
254
- * The resource ID of the beneficiary of the custodial wallet.
190
+ * Information about the custodian managing this wallet.
255
191
  */
256
- provider_user_id: string;
192
+ custody: WalletCustodian;
193
+ owner_id: string | null;
194
+ /**
195
+ * Additional signers for the wallet.
196
+ */
197
+ additional_signers?: WalletAdditionalSigner;
198
+ policy_ids?: Array<string>;
257
199
  }
258
- /**
259
- * The provider of the custodial wallet.
260
- */
261
- export type CustodialWalletProvider = 'bridge';
262
200
  /**
263
201
  * The chain type of the custodial wallet.
264
202
  */
@@ -295,279 +233,243 @@ export interface CustodialWalletCreateInput {
295
233
  policy_ids?: PolicyInput;
296
234
  }
297
235
  /**
298
- * Information about a custodial wallet.
236
+ * The provider of the custodial wallet.
299
237
  */
300
- export interface CustodialWallet {
301
- id: string;
302
- address: string;
238
+ export type CustodialWalletProvider = 'bridge';
239
+ /**
240
+ * Source for a transfer identified by a token contract address (EVM) or mint
241
+ * address (Solana). Use this variant for tokens that are not first-class assets.
242
+ */
243
+ export interface CustomTokenTransferSource {
303
244
  /**
304
- * The chain type of the custodial wallet.
245
+ * Amount as a decimal string in the token's standard unit (e.g. "1.5" for 1.5
246
+ * USDC, "0.01" for 0.01 ETH). Not in the smallest on-chain unit (wei, lamports,
247
+ * etc.).
305
248
  */
306
- chain_type: CustodialWalletChainType;
249
+ amount: string;
307
250
  /**
308
- * Information about the custodian managing this wallet.
251
+ * The token contract address (EVM) or mint address (Solana) of the asset to
252
+ * transfer.
309
253
  */
310
- custody: WalletCustodian;
311
- owner_id: string | null;
254
+ asset_address: string;
312
255
  /**
313
- * Additional signers for the wallet.
256
+ * The blockchain network on which to perform the transfer. Supported chains
257
+ * include: 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and their
258
+ * respective testnets.
314
259
  */
315
- additional_signers?: WalletAdditionalSigner;
316
- policy_ids?: Array<string>;
260
+ chain: string;
317
261
  }
318
262
  /**
319
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
320
- */
321
- export type HpkeEncryption = 'HPKE';
322
- /**
323
- * The recipient public key for HPKE encryption, in PEM or DER (base64-encoded)
324
- * format.
325
- */
326
- export type RecipientPublicKey = string;
327
- /**
328
- * The export type. 'display' is for showing the key to the user in the UI,
329
- * 'client' is for exporting to the client application.
330
- */
331
- export type ExportType = 'display' | 'client';
332
- /**
333
- * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
263
+ * Executes the EVM `personal_sign` RPC (EIP-191) to sign a message.
334
264
  */
335
- export interface PrivateKeyExportInput {
336
- /**
337
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
338
- */
339
- encryption_type: HpkeEncryption;
340
- /**
341
- * The recipient public key for HPKE encryption, in PEM or DER (base64-encoded)
342
- * format.
343
- */
344
- recipient_public_key: RecipientPublicKey;
345
- export_seed_phrase?: boolean;
265
+ export interface EthereumPersonalSignRpcInput {
266
+ method: 'personal_sign';
346
267
  /**
347
- * The export type. 'display' is for showing the key to the user in the UI,
348
- * 'client' is for exporting to the client application.
268
+ * Parameters for the EVM `personal_sign` RPC.
349
269
  */
350
- export_type?: ExportType;
270
+ params: EthereumPersonalSignRpcInputParams;
271
+ address?: string;
272
+ chain_type?: 'ethereum';
273
+ wallet_id?: string;
351
274
  }
352
275
  /**
353
- * Response containing HPKE-encrypted wallet data (private key or seed phrase).
276
+ * Parameters for the EVM `personal_sign` RPC.
354
277
  */
355
- export interface PrivateKeyExportResponse {
356
- ciphertext: string;
357
- encapsulated_key: string;
358
- /**
359
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
360
- */
361
- encryption_type: HpkeEncryption;
278
+ export interface EthereumPersonalSignRpcInputParams {
279
+ encoding: 'utf-8' | 'hex';
280
+ message: string;
362
281
  }
363
282
  /**
364
- * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
283
+ * Response to the EVM `personal_sign` RPC.
365
284
  */
366
- export interface SeedPhraseExportInput {
367
- /**
368
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
369
- */
370
- encryption_type: HpkeEncryption;
371
- /**
372
- * The recipient public key for HPKE encryption, in PEM or DER (base64-encoded)
373
- * format.
374
- */
375
- recipient_public_key: RecipientPublicKey;
376
- export_seed_phrase?: boolean;
285
+ export interface EthereumPersonalSignRpcResponse {
377
286
  /**
378
- * The export type. 'display' is for showing the key to the user in the UI,
379
- * 'client' is for exporting to the client application.
287
+ * Data returned by the EVM `personal_sign` RPC.
380
288
  */
381
- export_type?: ExportType;
289
+ data: EthereumPersonalSignRpcResponseData;
290
+ method: 'personal_sign';
382
291
  }
383
292
  /**
384
- * Response containing HPKE-encrypted wallet data (private key or seed phrase).
293
+ * Data returned by the EVM `personal_sign` RPC.
385
294
  */
386
- export interface SeedPhraseExportResponse {
387
- ciphertext: string;
388
- encapsulated_key: string;
389
- /**
390
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
391
- */
392
- encryption_type: HpkeEncryption;
295
+ export interface EthereumPersonalSignRpcResponseData {
296
+ encoding: 'hex';
297
+ signature: string;
393
298
  }
394
299
  /**
395
- * The chain type of the wallet to import. Currently supports `ethereum` and
396
- * `solana`.
300
+ * Request body for Ethereum wallet RPC operations, discriminated by method.
397
301
  */
398
- export type WalletImportSupportedChains = 'ethereum' | 'solana';
302
+ export type EthereumRpcInput = EthereumSignTransactionRpcInput | EthereumSendTransactionRpcInput | EthereumPersonalSignRpcInput | EthereumSignTypedDataRpcInput | EthereumSecp256k1SignRpcInput | EthereumSign7702AuthorizationRpcInput | EthereumSignUserOperationRpcInput | EthereumSendCallsRpcInput;
399
303
  /**
400
- * The entropy type of the wallet to import. Supports `private-key` for raw private
401
- * keys and `hd` for HD wallet seed phrases.
304
+ * Response body for Ethereum wallet RPC operations, discriminated by method.
402
305
  */
403
- export type WalletImportSupportedEntropyTypes = 'private-key' | 'hd';
306
+ export type EthereumRpcResponse = EthereumPersonalSignRpcResponse | EthereumSignTypedDataRpcResponse | EthereumSignTransactionRpcResponse | EthereumSendTransactionRpcResponse | EthereumSignUserOperationRpcResponse | EthereumSign7702AuthorizationRpcResponse | EthereumSecp256k1SignRpcResponse | EthereumSendCallsRpcResponse;
404
307
  /**
405
- * Response from initializing a wallet import, containing the encryption public
406
- * key.
308
+ * Signs a raw hash on the secp256k1 curve.
407
309
  */
408
- export interface WalletImportInitResponse {
409
- encryption_public_key: string;
310
+ export interface EthereumSecp256k1SignRpcInput {
311
+ method: 'secp256k1_sign';
410
312
  /**
411
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
313
+ * Parameters for the EVM `secp256k1_sign` RPC.
412
314
  */
413
- encryption_type: HpkeEncryption;
414
- import_id?: string;
315
+ params: EthereumSecp256k1SignRpcInputParams;
316
+ address?: string;
317
+ chain_type?: 'ethereum';
318
+ wallet_id?: string;
415
319
  }
416
320
  /**
417
- * The AEAD algorithm used for HPKE encryption.
418
- */
419
- export type HpkeAeadAlgorithm = 'CHACHA20_POLY1305' | 'AES_GCM256';
420
- /**
421
- * Optional HPKE configuration for wallet import decryption. These parameters allow
422
- * importing wallets encrypted by external providers that use different HPKE
423
- * configurations.
321
+ * Parameters for the EVM `secp256k1_sign` RPC.
424
322
  */
425
- export interface HpkeImportConfig {
426
- /**
427
- * Additional Authenticated Data (AAD) used during encryption. Should be
428
- * base64-encoded bytes.
429
- */
430
- aad?: string;
431
- /**
432
- * The AEAD algorithm used for HPKE encryption.
433
- */
434
- aead_algorithm?: HpkeAeadAlgorithm;
323
+ export interface EthereumSecp256k1SignRpcInputParams {
435
324
  /**
436
- * Application-specific context information (INFO) used during HPKE encryption.
437
- * Should be base64-encoded bytes.
325
+ * A hex-encoded string prefixed with '0x'.
438
326
  */
439
- info?: string;
327
+ hash: Hex;
440
328
  }
441
329
  /**
442
- * The cryptographic curve type used by the wallet.
443
- */
444
- export type CurveType = 'secp256k1' | 'ed25519' | 'starknet';
445
- /**
446
- * A BIP-32 hierarchical deterministic wallet derivation path.
447
- */
448
- export type HDPath = string;
449
- /**
450
- * The signing algorithm used by the wallet.
451
- */
452
- export type SigningAlgorithm = 'ECDSA' | 'EdDSA' | 'Schnorr';
453
- /**
454
- * A hex-encoded string prefixed with '0x'.
455
- */
456
- export type Hex = string;
457
- /**
458
- * A quantity value that can be either a hex string starting with '0x' or a
459
- * non-negative integer.
460
- */
461
- export type Quantity = Hex | number;
462
- /**
463
- * Exports the private key of the wallet.
330
+ * Response to the EVM `secp256k1_sign` RPC.
464
331
  */
465
- export interface ExportPrivateKeyRpcInput {
466
- address: string;
467
- method: 'exportPrivateKey';
332
+ export interface EthereumSecp256k1SignRpcResponse {
468
333
  /**
469
- * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
334
+ * Data returned by the EVM `secp256k1_sign` RPC.
470
335
  */
471
- params: PrivateKeyExportInput;
336
+ data: EthereumSecp256k1SignRpcResponseData;
337
+ method: 'secp256k1_sign';
472
338
  }
473
339
  /**
474
- * Response to the `exportPrivateKey` RPC.
340
+ * Data returned by the EVM `secp256k1_sign` RPC.
475
341
  */
476
- export interface ExportPrivateKeyRpcResponse {
342
+ export interface EthereumSecp256k1SignRpcResponseData {
343
+ encoding: 'hex';
477
344
  /**
478
- * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
345
+ * A hex-encoded string prefixed with '0x'.
479
346
  */
480
- data: PrivateKeyExportInput;
481
- method: 'exportPrivateKey';
347
+ signature: Hex;
482
348
  }
483
349
  /**
484
- * Exports the seed phrase of the wallet.
350
+ * A single call within a batched wallet_sendCalls request.
485
351
  */
486
- export interface ExportSeedPhraseRpcInput {
487
- address: string;
488
- method: 'exportSeedPhrase';
352
+ export interface EthereumSendCallsCall {
353
+ to: string;
489
354
  /**
490
- * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
355
+ * A hex-encoded string prefixed with '0x'.
491
356
  */
492
- params: SeedPhraseExportInput;
493
- }
494
- /**
495
- * Response to the `exportSeedPhrase` RPC.
496
- */
497
- export interface ExportSeedPhraseRpcResponse {
357
+ data?: Hex;
498
358
  /**
499
- * Response containing HPKE-encrypted wallet data (private key or seed phrase).
359
+ * A quantity value that can be either a hex string starting with '0x' or a
360
+ * non-negative integer.
500
361
  */
501
- data: SeedPhraseExportResponse;
502
- method: 'exportSeedPhrase';
362
+ value?: Quantity;
503
363
  }
504
364
  /**
505
- * Parameters for signing a pre-computed hash with the `raw_sign` RPC.
365
+ * Executes the `wallet_sendCalls` RPC (EIP-5792) to batch multiple calls into a
366
+ * single atomic transaction.
506
367
  */
507
- export interface RawSignHashParams {
368
+ export interface EthereumSendCallsRpcInput {
369
+ /**
370
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
371
+ */
372
+ caip2: AppsAPI.Caip2;
373
+ method: 'wallet_sendCalls';
374
+ /**
375
+ * Parameters for the `wallet_sendCalls` RPC.
376
+ */
377
+ params: EthereumSendCallsRpcInputParams;
378
+ address?: string;
379
+ chain_type?: 'ethereum';
508
380
  /**
509
381
  * A hex-encoded string prefixed with '0x'.
510
382
  */
511
- hash: Hex;
383
+ experimental_data_suffix?: Hex;
384
+ sponsor?: boolean;
385
+ wallet_id?: string;
512
386
  }
513
387
  /**
514
- * Encoding scheme for bytes in the `raw_sign` RPC.
388
+ * Parameters for the `wallet_sendCalls` RPC.
515
389
  */
516
- export type RawSignBytesEncoding = 'utf-8' | 'hex' | 'base64';
390
+ export interface EthereumSendCallsRpcInputParams {
391
+ calls: Array<EthereumSendCallsCall>;
392
+ }
517
393
  /**
518
- * Hash function for bytes in the `raw_sign` RPC.
394
+ * Response to the `wallet_sendCalls` RPC.
519
395
  */
520
- export type RawSignBytesHashFunction = 'keccak256' | 'sha256' | 'blake2b256';
396
+ export interface EthereumSendCallsRpcResponse {
397
+ /**
398
+ * Data returned by the `wallet_sendCalls` RPC.
399
+ */
400
+ data: EthereumSendCallsRpcResponseData;
401
+ method: 'wallet_sendCalls';
402
+ }
521
403
  /**
522
- * Parameters for hashing and signing bytes with the `raw_sign` RPC.
404
+ * Data returned by the `wallet_sendCalls` RPC.
523
405
  */
524
- export interface RawSignBytesParams {
406
+ export interface EthereumSendCallsRpcResponseData {
525
407
  /**
526
- * The bytes to hash and sign.
408
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
527
409
  */
528
- bytes: string;
410
+ caip2: AppsAPI.Caip2;
411
+ transaction_id: string;
412
+ }
413
+ /**
414
+ * Executes the EVM `eth_sendTransaction` RPC to sign and broadcast a transaction.
415
+ */
416
+ export interface EthereumSendTransactionRpcInput {
529
417
  /**
530
- * Encoding scheme for bytes in the `raw_sign` RPC.
418
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
531
419
  */
532
- encoding: RawSignBytesEncoding;
420
+ caip2: AppsAPI.Caip2;
421
+ method: 'eth_sendTransaction';
533
422
  /**
534
- * Hash function for bytes in the `raw_sign` RPC.
423
+ * Parameters for the EVM `eth_sendTransaction` RPC.
535
424
  */
536
- hash_function: RawSignBytesHashFunction;
425
+ params: EthereumSendTransactionRpcInputParams;
426
+ address?: string;
427
+ chain_type?: 'ethereum';
428
+ /**
429
+ * A hex-encoded string prefixed with '0x'.
430
+ */
431
+ experimental_data_suffix?: Hex;
432
+ reference_id?: string;
433
+ sponsor?: boolean;
434
+ wallet_id?: string;
537
435
  }
538
436
  /**
539
- * Parameters for the `raw_sign` RPC.
540
- */
541
- export type RawSignInputParams = RawSignHashParams | RawSignBytesParams;
542
- /**
543
- * Provide either `hash` (to sign a pre-computed hash) OR `bytes`, `encoding`, and
544
- * `hash_function` (to hash and then sign). These options are mutually exclusive.
437
+ * Parameters for the EVM `eth_sendTransaction` RPC.
545
438
  */
546
- export interface RawSignInput {
439
+ export interface EthereumSendTransactionRpcInputParams {
547
440
  /**
548
- * Parameters for the `raw_sign` RPC.
441
+ * An unsigned Ethereum transaction object. Supports standard EVM transaction types
442
+ * (0, 1, 2, 4) and Tempo transactions (type 118).
549
443
  */
550
- params: RawSignInputParams;
444
+ transaction: UnsignedEthereumTransaction;
551
445
  }
552
446
  /**
553
- * Data returned by the `raw_sign` RPC.
447
+ * Response to the EVM `eth_sendTransaction` RPC.
554
448
  */
555
- export interface RawSignResponseData {
556
- encoding: 'hex';
449
+ export interface EthereumSendTransactionRpcResponse {
557
450
  /**
558
- * A hex-encoded string prefixed with '0x'.
451
+ * Data returned by the EVM `eth_sendTransaction` RPC.
559
452
  */
560
- signature: Hex;
453
+ data: EthereumSendTransactionRpcResponseData;
454
+ method: 'eth_sendTransaction';
561
455
  }
562
456
  /**
563
- * Response to the `raw_sign` RPC.
457
+ * Data returned by the EVM `eth_sendTransaction` RPC.
564
458
  */
565
- export interface RawSignResponse {
459
+ export interface EthereumSendTransactionRpcResponseData {
566
460
  /**
567
- * Data returned by the `raw_sign` RPC.
461
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
568
462
  */
569
- data: RawSignResponseData;
570
- method: 'raw_sign';
463
+ caip2: AppsAPI.Caip2;
464
+ hash: string;
465
+ reference_id?: string | null;
466
+ transaction_id?: string;
467
+ /**
468
+ * An unsigned Ethereum transaction object. Supports standard EVM transaction types
469
+ * (0, 1, 2, 4) and Tempo transactions (type 118).
470
+ */
471
+ transaction_request?: UnsignedEthereumTransaction;
472
+ user_operation_hash?: string;
571
473
  }
572
474
  /**
573
475
  * A signed EIP-7702 authorization that delegates code execution to a contract
@@ -596,147 +498,54 @@ export interface EthereumSign7702Authorization {
596
498
  y_parity: number;
597
499
  }
598
500
  /**
599
- * An unsigned Ethereum transaction object.
501
+ * Signs an EIP-7702 authorization.
600
502
  */
601
- export interface UnsignedEthereumTransaction {
602
- authorization_list?: Array<EthereumSign7702Authorization>;
603
- /**
604
- * A quantity value that can be either a hex string starting with '0x' or a
605
- * non-negative integer.
606
- */
607
- chain_id?: Quantity;
503
+ export interface EthereumSign7702AuthorizationRpcInput {
504
+ method: 'eth_sign7702Authorization';
608
505
  /**
609
- * A hex-encoded string prefixed with '0x'.
506
+ * Parameters for the EVM `eth_sign7702Authorization` RPC.
610
507
  */
611
- data?: Hex;
612
- from?: string;
508
+ params: EthereumSign7702AuthorizationRpcInputParams;
509
+ address?: string;
510
+ chain_type?: 'ethereum';
511
+ wallet_id?: string;
512
+ }
513
+ /**
514
+ * Parameters for the EVM `eth_sign7702Authorization` RPC.
515
+ */
516
+ export interface EthereumSign7702AuthorizationRpcInputParams {
613
517
  /**
614
518
  * A quantity value that can be either a hex string starting with '0x' or a
615
519
  * non-negative integer.
616
520
  */
617
- gas_limit?: Quantity;
618
- /**
619
- * A quantity value that can be either a hex string starting with '0x' or a
620
- * non-negative integer.
621
- */
622
- gas_price?: Quantity;
623
- /**
624
- * A quantity value that can be either a hex string starting with '0x' or a
625
- * non-negative integer.
626
- */
627
- max_fee_per_gas?: Quantity;
628
- /**
629
- * A quantity value that can be either a hex string starting with '0x' or a
630
- * non-negative integer.
631
- */
632
- max_priority_fee_per_gas?: Quantity;
521
+ chain_id: Quantity;
522
+ contract: string;
523
+ executor?: 'self';
633
524
  /**
634
525
  * A quantity value that can be either a hex string starting with '0x' or a
635
526
  * non-negative integer.
636
527
  */
637
528
  nonce?: Quantity;
638
- to?: string;
639
- type?: 0 | 1 | 2 | 4;
640
- /**
641
- * A quantity value that can be either a hex string starting with '0x' or a
642
- * non-negative integer.
643
- */
644
- value?: Quantity;
645
- }
646
- /**
647
- * An ERC-4337 user operation.
648
- */
649
- export interface UserOperationInput {
650
- /**
651
- * A hex-encoded string prefixed with '0x'.
652
- */
653
- call_data: Hex;
654
- /**
655
- * A hex-encoded string prefixed with '0x'.
656
- */
657
- call_gas_limit: Hex;
658
- /**
659
- * A hex-encoded string prefixed with '0x'.
660
- */
661
- max_fee_per_gas: Hex;
662
- /**
663
- * A hex-encoded string prefixed with '0x'.
664
- */
665
- max_priority_fee_per_gas: Hex;
666
- /**
667
- * A hex-encoded string prefixed with '0x'.
668
- */
669
- nonce: Hex;
670
- /**
671
- * A hex-encoded string prefixed with '0x'.
672
- */
673
- pre_verification_gas: Hex;
674
- sender: string;
675
- /**
676
- * A hex-encoded string prefixed with '0x'.
677
- */
678
- verification_gas_limit: Hex;
679
- paymaster?: string;
680
- /**
681
- * A hex-encoded string prefixed with '0x'.
682
- */
683
- paymaster_data?: Hex;
684
- /**
685
- * A hex-encoded string prefixed with '0x'.
686
- */
687
- paymaster_post_op_gas_limit?: Hex;
688
- /**
689
- * A hex-encoded string prefixed with '0x'.
690
- */
691
- paymaster_verification_gas_limit?: Hex;
692
- }
693
- /**
694
- * The domain parameters for EIP-712 typed data signing.
695
- */
696
- export type TypedDataDomainInputParams = {
697
- [key: string]: unknown;
698
- };
699
- /**
700
- * A single field definition in an EIP-712 typed data type.
701
- */
702
- export interface TypedDataTypeFieldInput {
703
- name: string;
704
- type: string;
705
- }
706
- /**
707
- * The type definitions for EIP-712 typed data signing.
708
- */
709
- export type TypedDataTypesInputParams = {
710
- [key: string]: Array<TypedDataTypeFieldInput>;
711
- };
712
- /**
713
- * Parameters for the EVM `personal_sign` RPC.
714
- */
715
- export interface EthereumPersonalSignRpcInputParams {
716
- encoding: 'utf-8' | 'hex';
717
- message: string;
718
529
  }
719
530
  /**
720
- * Executes the EVM `personal_sign` RPC (EIP-191) to sign a message.
531
+ * Response to the EVM `eth_sign7702Authorization` RPC.
721
532
  */
722
- export interface EthereumPersonalSignRpcInput {
723
- method: 'personal_sign';
533
+ export interface EthereumSign7702AuthorizationRpcResponse {
724
534
  /**
725
- * Parameters for the EVM `personal_sign` RPC.
535
+ * Data returned by the EVM `eth_sign7702Authorization` RPC.
726
536
  */
727
- params: EthereumPersonalSignRpcInputParams;
728
- address?: string;
729
- chain_type?: 'ethereum';
730
- wallet_id?: string;
537
+ data: EthereumSign7702AuthorizationRpcResponseData;
538
+ method: 'eth_sign7702Authorization';
731
539
  }
732
540
  /**
733
- * Parameters for the EVM `eth_signTransaction` RPC.
541
+ * Data returned by the EVM `eth_sign7702Authorization` RPC.
734
542
  */
735
- export interface EthereumSignTransactionRpcInputParams {
543
+ export interface EthereumSign7702AuthorizationRpcResponseData {
736
544
  /**
737
- * An unsigned Ethereum transaction object.
545
+ * A signed EIP-7702 authorization that delegates code execution to a contract
546
+ * address.
738
547
  */
739
- transaction: UnsignedEthereumTransaction;
548
+ authorization: EthereumSign7702Authorization;
740
549
  }
741
550
  /**
742
551
  * Executes the EVM `eth_signTransaction` RPC to sign a transaction.
@@ -752,58 +561,31 @@ export interface EthereumSignTransactionRpcInput {
752
561
  wallet_id?: string;
753
562
  }
754
563
  /**
755
- * Parameters for the EVM `eth_sendTransaction` RPC.
564
+ * Parameters for the EVM `eth_signTransaction` RPC.
756
565
  */
757
- export interface EthereumSendTransactionRpcInputParams {
566
+ export interface EthereumSignTransactionRpcInputParams {
758
567
  /**
759
- * An unsigned Ethereum transaction object.
568
+ * An unsigned Ethereum transaction object. Supports standard EVM transaction types
569
+ * (0, 1, 2, 4) and Tempo transactions (type 118).
760
570
  */
761
571
  transaction: UnsignedEthereumTransaction;
762
572
  }
763
573
  /**
764
- * Executes the EVM `eth_sendTransaction` RPC to sign and broadcast a transaction.
765
- */
766
- export interface EthereumSendTransactionRpcInput {
767
- /**
768
- * A valid CAIP-2 chain ID (e.g. 'eip155:1').
769
- */
770
- caip2: AppsAPI.Caip2;
771
- method: 'eth_sendTransaction';
772
- /**
773
- * Parameters for the EVM `eth_sendTransaction` RPC.
774
- */
775
- params: EthereumSendTransactionRpcInputParams;
776
- address?: string;
777
- chain_type?: 'ethereum';
778
- reference_id?: string;
779
- sponsor?: boolean;
780
- wallet_id?: string;
781
- }
782
- /**
783
- * EIP-712 typed data object.
574
+ * Response to the EVM `eth_signTransaction` RPC.
784
575
  */
785
- export interface EthereumTypedDataInput {
786
- /**
787
- * The domain parameters for EIP-712 typed data signing.
788
- */
789
- domain: TypedDataDomainInputParams;
790
- message: {
791
- [key: string]: unknown;
792
- };
793
- primary_type: string;
576
+ export interface EthereumSignTransactionRpcResponse {
794
577
  /**
795
- * The type definitions for EIP-712 typed data signing.
578
+ * Data returned by the EVM `eth_signTransaction` RPC.
796
579
  */
797
- types: TypedDataTypesInputParams;
580
+ data: EthereumSignTransactionRpcResponseData;
581
+ method: 'eth_signTransaction';
798
582
  }
799
583
  /**
800
- * Parameters for the EVM `eth_signTypedData_v4` RPC.
584
+ * Data returned by the EVM `eth_signTransaction` RPC.
801
585
  */
802
- export interface EthereumSignTypedDataRpcInputParams {
803
- /**
804
- * EIP-712 typed data object.
805
- */
806
- typed_data: EthereumTypedDataInput;
586
+ export interface EthereumSignTransactionRpcResponseData {
587
+ encoding: 'rlp';
588
+ signed_transaction: string;
807
589
  }
808
590
  /**
809
591
  * Executes the EVM `eth_signTypedData_v4` RPC (EIP-712) to sign a typed data
@@ -820,53 +602,40 @@ export interface EthereumSignTypedDataRpcInput {
820
602
  wallet_id?: string;
821
603
  }
822
604
  /**
823
- * Parameters for the EVM `secp256k1_sign` RPC.
605
+ * Parameters for the EVM `eth_signTypedData_v4` RPC.
824
606
  */
825
- export interface EthereumSecp256k1SignRpcInputParams {
607
+ export interface EthereumSignTypedDataRpcInputParams {
826
608
  /**
827
- * A hex-encoded string prefixed with '0x'.
609
+ * EIP-712 typed data object.
828
610
  */
829
- hash: Hex;
611
+ typed_data: EthereumTypedDataInput;
830
612
  }
831
613
  /**
832
- * Signs a raw hash on the secp256k1 curve.
614
+ * Response to the EVM `eth_signTypedData_v4` RPC.
833
615
  */
834
- export interface EthereumSecp256k1SignRpcInput {
835
- method: 'secp256k1_sign';
616
+ export interface EthereumSignTypedDataRpcResponse {
836
617
  /**
837
- * Parameters for the EVM `secp256k1_sign` RPC.
618
+ * Data returned by the EVM `eth_signTypedData_v4` RPC.
838
619
  */
839
- params: EthereumSecp256k1SignRpcInputParams;
840
- address?: string;
841
- chain_type?: 'ethereum';
842
- wallet_id?: string;
620
+ data: EthereumSignTypedDataRpcResponseData;
621
+ method: 'eth_signTypedData_v4';
843
622
  }
844
623
  /**
845
- * Parameters for the EVM `eth_sign7702Authorization` RPC.
624
+ * Data returned by the EVM `eth_signTypedData_v4` RPC.
846
625
  */
847
- export interface EthereumSign7702AuthorizationRpcInputParams {
848
- /**
849
- * A quantity value that can be either a hex string starting with '0x' or a
850
- * non-negative integer.
851
- */
852
- chain_id: Quantity;
853
- contract: string;
854
- executor?: 'self';
855
- /**
856
- * A quantity value that can be either a hex string starting with '0x' or a
857
- * non-negative integer.
858
- */
859
- nonce?: Quantity;
626
+ export interface EthereumSignTypedDataRpcResponseData {
627
+ encoding: 'hex';
628
+ signature: string;
860
629
  }
861
630
  /**
862
- * Signs an EIP-7702 authorization.
631
+ * Executes an RPC method to hash and sign a UserOperation.
863
632
  */
864
- export interface EthereumSign7702AuthorizationRpcInput {
865
- method: 'eth_sign7702Authorization';
633
+ export interface EthereumSignUserOperationRpcInput {
634
+ method: 'eth_signUserOperation';
866
635
  /**
867
- * Parameters for the EVM `eth_sign7702Authorization` RPC.
636
+ * Parameters for the EVM `eth_signUserOperation` RPC.
868
637
  */
869
- params: EthereumSign7702AuthorizationRpcInputParams;
638
+ params: EthereumSignUserOperationRpcInputParams;
870
639
  address?: string;
871
640
  chain_type?: 'ethereum';
872
641
  wallet_id?: string;
@@ -887,615 +656,585 @@ export interface EthereumSignUserOperationRpcInputParams {
887
656
  user_operation: UserOperationInput;
888
657
  }
889
658
  /**
890
- * Executes an RPC method to hash and sign a UserOperation.
659
+ * Response to the EVM `eth_signUserOperation` RPC.
891
660
  */
892
- export interface EthereumSignUserOperationRpcInput {
893
- method: 'eth_signUserOperation';
661
+ export interface EthereumSignUserOperationRpcResponse {
894
662
  /**
895
- * Parameters for the EVM `eth_signUserOperation` RPC.
663
+ * Data returned by the EVM `eth_signUserOperation` RPC.
896
664
  */
897
- params: EthereumSignUserOperationRpcInputParams;
898
- address?: string;
899
- chain_type?: 'ethereum';
900
- wallet_id?: string;
665
+ data: EthereumSignUserOperationRpcResponseData;
666
+ method: 'eth_signUserOperation';
901
667
  }
902
668
  /**
903
- * A single call within a batched wallet_sendCalls request.
669
+ * Data returned by the EVM `eth_signUserOperation` RPC.
904
670
  */
905
- export interface EthereumSendCallsCall {
906
- to: string;
671
+ export interface EthereumSignUserOperationRpcResponseData {
672
+ encoding: 'hex';
673
+ signature: string;
674
+ }
675
+ /**
676
+ * EIP-712 typed data object.
677
+ */
678
+ export interface EthereumTypedDataInput {
907
679
  /**
908
- * A hex-encoded string prefixed with '0x'.
680
+ * The domain parameters for EIP-712 typed data signing.
909
681
  */
910
- data?: Hex;
682
+ domain: TypedDataDomainInputParams;
683
+ message: {
684
+ [key: string]: unknown;
685
+ };
686
+ primary_type: string;
911
687
  /**
912
- * A quantity value that can be either a hex string starting with '0x' or a
913
- * non-negative integer.
688
+ * The type definitions for EIP-712 typed data signing.
914
689
  */
915
- value?: Quantity;
690
+ types: TypedDataTypesInputParams;
916
691
  }
917
692
  /**
918
- * Parameters for the `wallet_sendCalls` RPC.
693
+ * Exports the private key of the wallet.
919
694
  */
920
- export interface EthereumSendCallsRpcInputParams {
921
- calls: Array<EthereumSendCallsCall>;
922
- }
923
- /**
924
- * Executes the `wallet_sendCalls` RPC (EIP-5792) to batch multiple calls into a
925
- * single atomic transaction.
926
- */
927
- export interface EthereumSendCallsRpcInput {
928
- /**
929
- * A valid CAIP-2 chain ID (e.g. 'eip155:1').
930
- */
931
- caip2: AppsAPI.Caip2;
932
- method: 'wallet_sendCalls';
695
+ export interface ExportPrivateKeyRpcInput {
696
+ address: string;
697
+ method: 'exportPrivateKey';
933
698
  /**
934
- * Parameters for the `wallet_sendCalls` RPC.
699
+ * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
935
700
  */
936
- params: EthereumSendCallsRpcInputParams;
937
- address?: string;
938
- chain_type?: 'ethereum';
939
- sponsor?: boolean;
940
- wallet_id?: string;
701
+ params: PrivateKeyExportInput;
941
702
  }
942
703
  /**
943
- * Request body for Ethereum wallet RPC operations, discriminated by method.
704
+ * Response to the `exportPrivateKey` RPC.
944
705
  */
945
- export type EthereumRpcInput = EthereumSignTransactionRpcInput | EthereumSendTransactionRpcInput | EthereumPersonalSignRpcInput | EthereumSignTypedDataRpcInput | EthereumSecp256k1SignRpcInput | EthereumSign7702AuthorizationRpcInput | EthereumSignUserOperationRpcInput | EthereumSendCallsRpcInput;
706
+ export interface ExportPrivateKeyRpcResponse {
707
+ /**
708
+ * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
709
+ */
710
+ data: PrivateKeyExportInput;
711
+ method: 'exportPrivateKey';
712
+ }
946
713
  /**
947
- * Data returned by the EVM `personal_sign` RPC.
714
+ * Exports the seed phrase of the wallet.
948
715
  */
949
- export interface EthereumPersonalSignRpcResponseData {
950
- encoding: 'hex';
951
- signature: string;
716
+ export interface ExportSeedPhraseRpcInput {
717
+ address: string;
718
+ method: 'exportSeedPhrase';
719
+ /**
720
+ * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
721
+ */
722
+ params: SeedPhraseExportInput;
952
723
  }
953
724
  /**
954
- * Response to the EVM `personal_sign` RPC.
725
+ * Response to the `exportSeedPhrase` RPC.
955
726
  */
956
- export interface EthereumPersonalSignRpcResponse {
727
+ export interface ExportSeedPhraseRpcResponse {
957
728
  /**
958
- * Data returned by the EVM `personal_sign` RPC.
729
+ * Response containing HPKE-encrypted wallet data (private key or seed phrase).
959
730
  */
960
- data: EthereumPersonalSignRpcResponseData;
961
- method: 'personal_sign';
731
+ data: SeedPhraseExportResponse;
732
+ method: 'exportSeedPhrase';
962
733
  }
963
734
  /**
964
- * Data returned by the EVM `eth_signTransaction` RPC.
735
+ * The export type. 'display' is for showing the key to the user in the UI,
736
+ * 'client' is for exporting to the client application.
965
737
  */
966
- export interface EthereumSignTransactionRpcResponseData {
967
- encoding: 'rlp';
968
- signed_transaction: string;
969
- }
738
+ export type ExportType = 'display' | 'client';
970
739
  /**
971
- * Response to the EVM `eth_signTransaction` RPC.
740
+ * The wallet chain types that are not first class chains.
972
741
  */
973
- export interface EthereumSignTransactionRpcResponse {
742
+ export type ExtendedChainType = 'cosmos' | 'stellar' | 'sui' | 'aptos' | 'movement' | 'tron' | 'bitcoin-segwit' | 'bitcoin-taproot' | 'pearl' | 'near' | 'ton' | 'starknet' | 'spark';
743
+ /**
744
+ * The wallet chain types that offer first class support.
745
+ */
746
+ export type FirstClassChainType = 'ethereum' | 'solana';
747
+ /**
748
+ * Request body for looking up a wallet by its blockchain address.
749
+ */
750
+ export interface GetByWalletAddressRequestBody {
974
751
  /**
975
- * Data returned by the EVM `eth_signTransaction` RPC.
752
+ * A blockchain wallet address (Ethereum or Solana).
976
753
  */
977
- data: EthereumSignTransactionRpcResponseData;
978
- method: 'eth_signTransaction';
754
+ address: Address;
979
755
  }
980
756
  /**
981
- * Data returned by the EVM `eth_sendTransaction` RPC.
757
+ * The input for HD wallets.
982
758
  */
983
- export interface EthereumSendTransactionRpcResponseData {
759
+ export interface HDInitInput {
984
760
  /**
985
- * A valid CAIP-2 chain ID (e.g. 'eip155:1').
761
+ * The address of the wallet to import.
986
762
  */
987
- caip2: AppsAPI.Caip2;
988
- hash: string;
989
- reference_id?: string | null;
990
- transaction_id?: string;
763
+ address: string;
991
764
  /**
992
- * An unsigned Ethereum transaction object.
765
+ * The chain type of the wallet to import. Currently supports `ethereum` and
766
+ * `solana`.
993
767
  */
994
- transaction_request?: UnsignedEthereumTransaction;
995
- user_operation_hash?: string;
996
- }
997
- /**
998
- * Response to the EVM `eth_sendTransaction` RPC.
999
- */
1000
- export interface EthereumSendTransactionRpcResponse {
768
+ chain_type: WalletImportSupportedChains;
1001
769
  /**
1002
- * Data returned by the EVM `eth_sendTransaction` RPC.
770
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1003
771
  */
1004
- data: EthereumSendTransactionRpcResponseData;
1005
- method: 'eth_sendTransaction';
772
+ encryption_type: HpkeEncryption;
773
+ /**
774
+ * The entropy type of the wallet to import.
775
+ */
776
+ entropy_type: 'hd';
777
+ /**
778
+ * The index of the wallet to import.
779
+ */
780
+ index: number;
1006
781
  }
1007
782
  /**
1008
- * Data returned by the EVM `eth_signTypedData_v4` RPC.
783
+ * A BIP-32 hierarchical deterministic wallet derivation path.
1009
784
  */
1010
- export interface EthereumSignTypedDataRpcResponseData {
1011
- encoding: 'hex';
1012
- signature: string;
1013
- }
785
+ export type HDPath = string;
1014
786
  /**
1015
- * Response to the EVM `eth_signTypedData_v4` RPC.
787
+ * The submission input for importing an HD wallet.
1016
788
  */
1017
- export interface EthereumSignTypedDataRpcResponse {
789
+ export interface HDSubmitInput {
1018
790
  /**
1019
- * Data returned by the EVM `eth_signTypedData_v4` RPC.
791
+ * The address of the wallet to import.
1020
792
  */
1021
- data: EthereumSignTypedDataRpcResponseData;
1022
- method: 'eth_signTypedData_v4';
1023
- }
1024
- /**
1025
- * Data returned by the EVM `secp256k1_sign` RPC.
1026
- */
1027
- export interface EthereumSecp256k1SignRpcResponseData {
1028
- encoding: 'hex';
793
+ address: string;
1029
794
  /**
1030
- * A hex-encoded string prefixed with '0x'.
795
+ * The chain type of the wallet to import. Currently supports `ethereum` and
796
+ * `solana`.
1031
797
  */
1032
- signature: Hex;
1033
- }
1034
- /**
1035
- * Response to the EVM `secp256k1_sign` RPC.
1036
- */
1037
- export interface EthereumSecp256k1SignRpcResponse {
798
+ chain_type: WalletImportSupportedChains;
1038
799
  /**
1039
- * Data returned by the EVM `secp256k1_sign` RPC.
800
+ * The encrypted entropy of the wallet to import.
1040
801
  */
1041
- data: EthereumSecp256k1SignRpcResponseData;
1042
- method: 'secp256k1_sign';
1043
- }
1044
- /**
1045
- * Data returned by the EVM `eth_sign7702Authorization` RPC.
1046
- */
1047
- export interface EthereumSign7702AuthorizationRpcResponseData {
802
+ ciphertext: string;
1048
803
  /**
1049
- * A signed EIP-7702 authorization that delegates code execution to a contract
1050
- * address.
804
+ * The base64-encoded encapsulated key that was generated during encryption, for
805
+ * use during decryption inside the TEE.
1051
806
  */
1052
- authorization: EthereumSign7702Authorization;
1053
- }
1054
- /**
1055
- * Response to the EVM `eth_sign7702Authorization` RPC.
1056
- */
1057
- export interface EthereumSign7702AuthorizationRpcResponse {
807
+ encapsulated_key: string;
1058
808
  /**
1059
- * Data returned by the EVM `eth_sign7702Authorization` RPC.
809
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1060
810
  */
1061
- data: EthereumSign7702AuthorizationRpcResponseData;
1062
- method: 'eth_sign7702Authorization';
1063
- }
1064
- /**
1065
- * Data returned by the EVM `eth_signUserOperation` RPC.
1066
- */
1067
- export interface EthereumSignUserOperationRpcResponseData {
1068
- encoding: 'hex';
1069
- signature: string;
1070
- }
1071
- /**
1072
- * Response to the EVM `eth_signUserOperation` RPC.
1073
- */
1074
- export interface EthereumSignUserOperationRpcResponse {
811
+ encryption_type: HpkeEncryption;
1075
812
  /**
1076
- * Data returned by the EVM `eth_signUserOperation` RPC.
813
+ * The entropy type of the wallet to import.
1077
814
  */
1078
- data: EthereumSignUserOperationRpcResponseData;
1079
- method: 'eth_signUserOperation';
1080
- }
1081
- /**
1082
- * Data returned by the `wallet_sendCalls` RPC.
1083
- */
1084
- export interface EthereumSendCallsRpcResponseData {
815
+ entropy_type: 'hd';
1085
816
  /**
1086
- * A valid CAIP-2 chain ID (e.g. 'eip155:1').
817
+ * The index of the wallet to import.
1087
818
  */
1088
- caip2: AppsAPI.Caip2;
1089
- transaction_id: string;
1090
- }
1091
- /**
1092
- * Response to the `wallet_sendCalls` RPC.
1093
- */
1094
- export interface EthereumSendCallsRpcResponse {
819
+ index: number;
1095
820
  /**
1096
- * Data returned by the `wallet_sendCalls` RPC.
821
+ * Optional HPKE configuration for wallet import decryption. These parameters allow
822
+ * importing wallets encrypted by external providers that use different HPKE
823
+ * configurations.
1097
824
  */
1098
- data: EthereumSendCallsRpcResponseData;
1099
- method: 'wallet_sendCalls';
825
+ hpke_config?: HpkeImportConfig;
1100
826
  }
1101
827
  /**
1102
- * Response body for Ethereum wallet RPC operations, discriminated by method.
828
+ * The AEAD algorithm used for HPKE encryption.
1103
829
  */
1104
- export type EthereumRpcResponse = EthereumPersonalSignRpcResponse | EthereumSignTypedDataRpcResponse | EthereumSignTransactionRpcResponse | EthereumSendTransactionRpcResponse | EthereumSignUserOperationRpcResponse | EthereumSign7702AuthorizationRpcResponse | EthereumSecp256k1SignRpcResponse | EthereumSendCallsRpcResponse;
830
+ export type HpkeAeadAlgorithm = 'CHACHA20_POLY1305' | 'AES_GCM256';
1105
831
  /**
1106
- * Parameters for the SVM `signTransaction` RPC.
832
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1107
833
  */
1108
- export interface SolanaSignTransactionRpcInputParams {
1109
- encoding: 'base64';
1110
- transaction: string;
1111
- }
834
+ export type HpkeEncryption = 'HPKE';
1112
835
  /**
1113
- * Executes the SVM `signTransaction` RPC to sign a transaction.
836
+ * Optional HPKE configuration for wallet import decryption. These parameters allow
837
+ * importing wallets encrypted by external providers that use different HPKE
838
+ * configurations.
1114
839
  */
1115
- export interface SolanaSignTransactionRpcInput {
1116
- method: 'signTransaction';
840
+ export interface HpkeImportConfig {
1117
841
  /**
1118
- * Parameters for the SVM `signTransaction` RPC.
842
+ * Additional Authenticated Data (AAD) used during encryption. Should be
843
+ * base64-encoded bytes.
1119
844
  */
1120
- params: SolanaSignTransactionRpcInputParams;
1121
- address?: string;
1122
- chain_type?: 'solana';
1123
- wallet_id?: string;
845
+ aad?: string;
846
+ /**
847
+ * The AEAD algorithm used for HPKE encryption.
848
+ */
849
+ aead_algorithm?: HpkeAeadAlgorithm;
850
+ /**
851
+ * Application-specific context information (INFO) used during HPKE encryption.
852
+ * Should be base64-encoded bytes.
853
+ */
854
+ info?: string;
1124
855
  }
1125
856
  /**
1126
- * Parameters for the SVM `signAndSendTransaction` RPC.
857
+ * A hex-encoded string prefixed with '0x'.
1127
858
  */
1128
- export interface SolanaSignAndSendTransactionRpcInputParams {
1129
- encoding: 'base64';
1130
- transaction: string;
1131
- }
859
+ export type Hex = string;
1132
860
  /**
1133
- * Executes the SVM `signAndSendTransaction` RPC to sign and broadcast a
1134
- * transaction.
861
+ * Source for a transfer identified by a named asset (e.g. "usdc", "eth"). Use this
862
+ * variant for first-class assets maintained by Privy.
1135
863
  */
1136
- export interface SolanaSignAndSendTransactionRpcInput {
864
+ export interface NamedTokenTransferSource {
1137
865
  /**
1138
- * A valid CAIP-2 chain ID (e.g. 'eip155:1').
866
+ * Amount as a decimal string in the token's standard unit (e.g. "1.5" for 1.5
867
+ * USDC, "0.01" for 0.01 ETH). Not in the smallest on-chain unit (wei, lamports,
868
+ * etc.).
1139
869
  */
1140
- caip2: AppsAPI.Caip2;
1141
- method: 'signAndSendTransaction';
870
+ amount: string;
1142
871
  /**
1143
- * Parameters for the SVM `signAndSendTransaction` RPC.
872
+ * The asset to transfer. Supported: 'usdc', 'usdb', 'usdt' (stablecoins), 'eth'
873
+ * (native Ethereum), 'sol' (native Solana).
1144
874
  */
1145
- params: SolanaSignAndSendTransactionRpcInputParams;
1146
- address?: string;
1147
- chain_type?: 'solana';
1148
- reference_id?: string;
1149
- sponsor?: boolean;
1150
- wallet_id?: string;
1151
- }
1152
- /**
1153
- * Parameters for the SVM `signMessage` RPC.
1154
- */
1155
- export interface SolanaSignMessageRpcInputParams {
1156
- encoding: 'base64';
1157
- message: string;
875
+ asset: string;
876
+ /**
877
+ * The blockchain network on which to perform the transfer. Supported chains
878
+ * include: 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and their
879
+ * respective testnets.
880
+ */
881
+ chain: string;
1158
882
  }
1159
883
  /**
1160
- * Executes the SVM `signMessage` RPC to sign a message.
884
+ * A Spark token output with its previous transaction data.
1161
885
  */
1162
- export interface SolanaSignMessageRpcInput {
1163
- method: 'signMessage';
886
+ export interface OutputWithPreviousTransactionData {
887
+ previous_transaction_hash: string;
888
+ previous_transaction_vout: number;
1164
889
  /**
1165
- * Parameters for the SVM `signMessage` RPC.
890
+ * A Spark token output.
1166
891
  */
1167
- params: SolanaSignMessageRpcInputParams;
1168
- address?: string;
1169
- chain_type?: 'solana';
1170
- wallet_id?: string;
892
+ output?: TokenOutput;
1171
893
  }
1172
894
  /**
1173
- * Request body for Solana wallet RPC operations, discriminated by method.
1174
- */
1175
- export type SolanaRpcInput = SolanaSignTransactionRpcInput | SolanaSignAndSendTransactionRpcInput | SolanaSignMessageRpcInput;
1176
- /**
1177
- * Data returned by the SVM `signTransaction` RPC.
895
+ * An optional list of up to one policy ID to enforce on the wallet.
1178
896
  */
1179
- export interface SolanaSignTransactionRpcResponseData {
1180
- encoding: 'base64';
1181
- signed_transaction: string;
1182
- }
897
+ export type PolicyInput = Array<string>;
1183
898
  /**
1184
- * Response to the SVM `signTransaction` RPC.
899
+ * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
1185
900
  */
1186
- export interface SolanaSignTransactionRpcResponse {
901
+ export interface PrivateKeyExportInput {
1187
902
  /**
1188
- * Data returned by the SVM `signTransaction` RPC.
903
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1189
904
  */
1190
- data: SolanaSignTransactionRpcResponseData;
1191
- method: 'signTransaction';
1192
- }
1193
- /**
1194
- * Data returned by the SVM `signAndSendTransaction` RPC.
1195
- */
1196
- export interface SolanaSignAndSendTransactionRpcResponseData {
905
+ encryption_type: HpkeEncryption;
1197
906
  /**
1198
- * A valid CAIP-2 chain ID (e.g. 'eip155:1').
907
+ * The recipient public key for HPKE encryption, in PEM or DER (base64-encoded)
908
+ * format.
1199
909
  */
1200
- caip2: AppsAPI.Caip2;
1201
- hash: string;
1202
- reference_id?: string | null;
1203
- transaction_id?: string;
910
+ recipient_public_key: RecipientPublicKey;
911
+ export_seed_phrase?: boolean;
912
+ /**
913
+ * The export type. 'display' is for showing the key to the user in the UI,
914
+ * 'client' is for exporting to the client application.
915
+ */
916
+ export_type?: ExportType;
1204
917
  }
1205
918
  /**
1206
- * Response to the SVM `signAndSendTransaction` RPC.
919
+ * Response containing HPKE-encrypted wallet data (private key or seed phrase).
1207
920
  */
1208
- export interface SolanaSignAndSendTransactionRpcResponse {
921
+ export interface PrivateKeyExportResponse {
922
+ ciphertext: string;
923
+ encapsulated_key: string;
1209
924
  /**
1210
- * Data returned by the SVM `signAndSendTransaction` RPC.
925
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1211
926
  */
1212
- data: SolanaSignAndSendTransactionRpcResponseData;
1213
- method: 'signAndSendTransaction';
927
+ encryption_type: HpkeEncryption;
1214
928
  }
1215
929
  /**
1216
- * Data returned by the SVM `signMessage` RPC.
930
+ * The input for private key wallets.
1217
931
  */
1218
- export interface SolanaSignMessageRpcResponseData {
1219
- encoding: 'base64';
1220
- signature: string;
932
+ export interface PrivateKeyInitInput {
933
+ /**
934
+ * The address of the wallet to import.
935
+ */
936
+ address: string;
937
+ /**
938
+ * The chain type of the wallet to import. Currently supports `ethereum` and
939
+ * `solana`.
940
+ */
941
+ chain_type: WalletImportSupportedChains;
942
+ /**
943
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
944
+ */
945
+ encryption_type: HpkeEncryption;
946
+ entropy_type: 'private-key';
1221
947
  }
1222
948
  /**
1223
- * Response to the SVM `signMessage` RPC.
949
+ * The submission input for importing a private key wallet.
1224
950
  */
1225
- export interface SolanaSignMessageRpcResponse {
951
+ export interface PrivateKeySubmitInput {
1226
952
  /**
1227
- * Data returned by the SVM `signMessage` RPC.
953
+ * The address of the wallet to import.
1228
954
  */
1229
- data: SolanaSignMessageRpcResponseData;
1230
- method: 'signMessage';
955
+ address: string;
956
+ /**
957
+ * The chain type of the wallet to import. Currently supports `ethereum` and
958
+ * `solana`.
959
+ */
960
+ chain_type: WalletImportSupportedChains;
961
+ /**
962
+ * The encrypted entropy of the wallet to import.
963
+ */
964
+ ciphertext: string;
965
+ /**
966
+ * The base64-encoded encapsulated key that was generated during encryption, for
967
+ * use during decryption inside the TEE.
968
+ */
969
+ encapsulated_key: string;
970
+ /**
971
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
972
+ */
973
+ encryption_type: HpkeEncryption;
974
+ entropy_type: 'private-key';
975
+ /**
976
+ * Optional HPKE configuration for wallet import decryption. These parameters allow
977
+ * importing wallets encrypted by external providers that use different HPKE
978
+ * configurations.
979
+ */
980
+ hpke_config?: HpkeImportConfig;
1231
981
  }
1232
982
  /**
1233
- * Response body for Solana wallet RPC operations, discriminated by method.
983
+ * A quantity value that can be either a hex string starting with '0x' or a
984
+ * non-negative integer.
1234
985
  */
1235
- export type SolanaRpcResponse = SolanaSignMessageRpcResponse | SolanaSignTransactionRpcResponse | SolanaSignAndSendTransactionRpcResponse;
986
+ export type Quantity = Hex | number;
1236
987
  /**
1237
- * The Spark network.
988
+ * Encoding scheme for bytes in the `raw_sign` RPC.
1238
989
  */
1239
- export type SparkNetwork = 'MAINNET' | 'REGTEST';
990
+ export type RawSignBytesEncoding = 'utf-8' | 'hex' | 'base64';
1240
991
  /**
1241
- * A Spark signing keyshare.
992
+ * Hash function for bytes in the `raw_sign` RPC.
1242
993
  */
1243
- export interface SparkSigningKeyshare {
1244
- owner_identifiers: Array<string>;
1245
- public_key: string;
1246
- public_shares: {
1247
- [key: string]: string;
1248
- };
1249
- threshold: number;
1250
- updated_time: string;
1251
- }
994
+ export type RawSignBytesHashFunction = 'keccak256' | 'sha256' | 'blake2b256';
1252
995
  /**
1253
- * A Spark wallet leaf node.
996
+ * Parameters for hashing and signing bytes with the `raw_sign` RPC.
1254
997
  */
1255
- export interface SparkWalletLeaf {
1256
- id: string;
998
+ export interface RawSignBytesParams {
1257
999
  /**
1258
- * The Spark network.
1000
+ * The bytes to hash and sign.
1259
1001
  */
1260
- network: SparkNetwork;
1261
- node_tx: string;
1262
- owner_identity_public_key: string;
1263
- refund_tx: string;
1264
- status: string;
1265
- tree_id: string;
1266
- value: number;
1267
- verifying_public_key: string;
1268
- vout: number;
1269
- parent_node_id?: string;
1002
+ bytes: string;
1270
1003
  /**
1271
- * A Spark signing keyshare.
1004
+ * Encoding scheme for bytes in the `raw_sign` RPC.
1272
1005
  */
1273
- signing_keyshare?: SparkSigningKeyshare;
1006
+ encoding: RawSignBytesEncoding;
1007
+ /**
1008
+ * Hash function for bytes in the `raw_sign` RPC.
1009
+ */
1010
+ hash_function: RawSignBytesHashFunction;
1274
1011
  }
1275
1012
  /**
1276
- * A Spark transfer leaf.
1013
+ * Parameters for signing a pre-computed hash with the `raw_sign` RPC.
1277
1014
  */
1278
- export interface SparkTransferLeaf {
1279
- intermediate_refund_tx: string;
1280
- secret_cipher: string;
1281
- signature: string;
1015
+ export interface RawSignHashParams {
1282
1016
  /**
1283
- * A Spark wallet leaf node.
1017
+ * A hex-encoded string prefixed with '0x'.
1284
1018
  */
1285
- leaf?: SparkWalletLeaf;
1019
+ hash: Hex;
1286
1020
  }
1287
1021
  /**
1288
- * A Spark transfer.
1022
+ * Provide either `hash` (to sign a pre-computed hash) OR `bytes`, `encoding`, and
1023
+ * `hash_function` (to hash and then sign). These options are mutually exclusive.
1289
1024
  */
1290
- export interface SparkTransfer {
1291
- id: string;
1292
- leaves: Array<SparkTransferLeaf>;
1293
- receiver_identity_public_key: string;
1294
- sender_identity_public_key: string;
1295
- status: string;
1296
- total_value: number;
1297
- transfer_direction: string;
1298
- type: string;
1299
- created_time?: string;
1300
- expiry_time?: string;
1301
- updated_time?: string;
1025
+ export interface RawSignInput {
1026
+ /**
1027
+ * Parameters for the `raw_sign` RPC.
1028
+ */
1029
+ params: RawSignInputParams;
1302
1030
  }
1303
1031
  /**
1304
- * Metadata for a Spark user token.
1032
+ * Parameters for the `raw_sign` RPC.
1305
1033
  */
1306
- export interface SparkUserTokenMetadata {
1307
- decimals: number;
1308
- max_supply: string;
1309
- raw_token_identifier: string;
1310
- token_name: string;
1311
- token_public_key: string;
1312
- token_ticker: string;
1313
- }
1034
+ export type RawSignInputParams = RawSignHashParams | RawSignBytesParams;
1314
1035
  /**
1315
- * Balance of a Spark token.
1036
+ * Response to the `raw_sign` RPC.
1316
1037
  */
1317
- export interface SparkTokenBalance {
1318
- balance: string;
1038
+ export interface RawSignResponse {
1319
1039
  /**
1320
- * Metadata for a Spark user token.
1040
+ * Data returned by the `raw_sign` RPC.
1321
1041
  */
1322
- token_metadata: SparkUserTokenMetadata;
1042
+ data: RawSignResponseData;
1043
+ method: 'raw_sign';
1323
1044
  }
1324
1045
  /**
1325
- * The balance of a Spark wallet.
1046
+ * Data returned by the `raw_sign` RPC.
1326
1047
  */
1327
- export interface SparkBalance {
1328
- balance: string;
1329
- token_balances: {
1330
- [key: string]: SparkTokenBalance;
1331
- };
1048
+ export interface RawSignResponseData {
1049
+ encoding: 'hex';
1050
+ /**
1051
+ * A hex-encoded string prefixed with '0x'.
1052
+ */
1053
+ signature: Hex;
1332
1054
  }
1333
1055
  /**
1334
- * A Spark token output.
1056
+ * The recipient public key for HPKE encryption, in PEM or DER (base64-encoded)
1057
+ * format.
1335
1058
  */
1336
- export interface TokenOutput {
1337
- owner_public_key: string;
1338
- token_amount: string;
1339
- id?: string;
1340
- revocation_commitment?: string;
1341
- token_identifier?: string;
1342
- token_public_key?: string;
1343
- withdraw_bond_sats?: number;
1344
- withdraw_relative_block_locktime?: number;
1345
- }
1059
+ export type RecipientPublicKey = string;
1346
1060
  /**
1347
- * A Spark token output with its previous transaction data.
1061
+ * Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
1348
1062
  */
1349
- export interface OutputWithPreviousTransactionData {
1350
- previous_transaction_hash: string;
1351
- previous_transaction_vout: number;
1063
+ export interface SeedPhraseExportInput {
1352
1064
  /**
1353
- * A Spark token output.
1065
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1354
1066
  */
1355
- output?: TokenOutput;
1067
+ encryption_type: HpkeEncryption;
1068
+ /**
1069
+ * The recipient public key for HPKE encryption, in PEM or DER (base64-encoded)
1070
+ * format.
1071
+ */
1072
+ recipient_public_key: RecipientPublicKey;
1073
+ export_seed_phrase?: boolean;
1074
+ /**
1075
+ * The export type. 'display' is for showing the key to the user in the UI,
1076
+ * 'client' is for exporting to the client application.
1077
+ */
1078
+ export_type?: ExportType;
1356
1079
  }
1357
1080
  /**
1358
- * The fee for a Spark Lightning payment.
1081
+ * Response containing HPKE-encrypted wallet data (private key or seed phrase).
1359
1082
  */
1360
- export interface SparkLightningFee {
1361
- original_unit: string;
1362
- original_value: number;
1083
+ export interface SeedPhraseExportResponse {
1084
+ ciphertext: string;
1085
+ encapsulated_key: string;
1086
+ /**
1087
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
1088
+ */
1089
+ encryption_type: HpkeEncryption;
1363
1090
  }
1364
1091
  /**
1365
- * A Spark Lightning receive request.
1092
+ * The signing algorithm used by the wallet.
1366
1093
  */
1367
- export interface SparkLightningReceiveRequest {
1368
- id: string;
1369
- created_at: string;
1370
- network: string;
1371
- status: string;
1372
- typename: string;
1373
- updated_at: string;
1374
- invoice?: unknown;
1375
- payment_preimage?: string;
1376
- receiver_identity_public_key?: string;
1377
- transfer?: unknown;
1378
- }
1094
+ export type SigningAlgorithm = 'ECDSA' | 'EdDSA' | 'Schnorr';
1379
1095
  /**
1380
- * A Spark Lightning send request.
1096
+ * Request body for Solana wallet RPC operations, discriminated by method.
1381
1097
  */
1382
- export interface SparkLightningSendRequest {
1383
- id: string;
1384
- created_at: string;
1385
- encoded_invoice: string;
1098
+ export type SolanaRpcInput = SolanaSignTransactionRpcInput | SolanaSignAndSendTransactionRpcInput | SolanaSignMessageRpcInput;
1099
+ /**
1100
+ * Response body for Solana wallet RPC operations, discriminated by method.
1101
+ */
1102
+ export type SolanaRpcResponse = SolanaSignMessageRpcResponse | SolanaSignTransactionRpcResponse | SolanaSignAndSendTransactionRpcResponse;
1103
+ /**
1104
+ * Executes the SVM `signAndSendTransaction` RPC to sign and broadcast a
1105
+ * transaction.
1106
+ */
1107
+ export interface SolanaSignAndSendTransactionRpcInput {
1386
1108
  /**
1387
- * The fee for a Spark Lightning payment.
1109
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
1388
1110
  */
1389
- fee: SparkLightningFee;
1390
- idempotency_key: string;
1391
- network: string;
1392
- status: string;
1393
- typename: string;
1394
- updated_at: string;
1395
- payment_preimage?: string;
1396
- transfer?: unknown;
1111
+ caip2: AppsAPI.Caip2;
1112
+ method: 'signAndSendTransaction';
1113
+ /**
1114
+ * Parameters for the SVM `signAndSendTransaction` RPC.
1115
+ */
1116
+ params: SolanaSignAndSendTransactionRpcInputParams;
1117
+ address?: string;
1118
+ chain_type?: 'solana';
1119
+ reference_id?: string;
1120
+ sponsor?: boolean;
1121
+ wallet_id?: string;
1397
1122
  }
1398
1123
  /**
1399
- * Parameters for the Spark `transfer` RPC.
1124
+ * Parameters for the SVM `signAndSendTransaction` RPC.
1400
1125
  */
1401
- export interface SparkTransferRpcInputParams {
1402
- amount_sats: number;
1403
- receiver_spark_address: string;
1126
+ export interface SolanaSignAndSendTransactionRpcInputParams {
1127
+ encoding: 'base64';
1128
+ transaction: string;
1404
1129
  }
1405
1130
  /**
1406
- * Transfers satoshis to a Spark address.
1131
+ * Response to the SVM `signAndSendTransaction` RPC.
1407
1132
  */
1408
- export interface SparkTransferRpcInput {
1409
- method: 'transfer';
1133
+ export interface SolanaSignAndSendTransactionRpcResponse {
1410
1134
  /**
1411
- * Parameters for the Spark `transfer` RPC.
1135
+ * Data returned by the SVM `signAndSendTransaction` RPC.
1412
1136
  */
1413
- params: SparkTransferRpcInputParams;
1137
+ data: SolanaSignAndSendTransactionRpcResponseData;
1138
+ method: 'signAndSendTransaction';
1139
+ }
1140
+ /**
1141
+ * Data returned by the SVM `signAndSendTransaction` RPC.
1142
+ */
1143
+ export interface SolanaSignAndSendTransactionRpcResponseData {
1414
1144
  /**
1415
- * The Spark network.
1145
+ * A valid CAIP-2 chain ID (e.g. 'eip155:1').
1416
1146
  */
1417
- network?: SparkNetwork;
1147
+ caip2: AppsAPI.Caip2;
1148
+ hash: string;
1149
+ reference_id?: string | null;
1150
+ transaction_id?: string;
1418
1151
  }
1419
1152
  /**
1420
- * Gets the balance of the Spark wallet.
1153
+ * Executes the SVM `signMessage` RPC to sign a message.
1421
1154
  */
1422
- export interface SparkGetBalanceRpcInput {
1423
- method: 'getBalance';
1155
+ export interface SolanaSignMessageRpcInput {
1156
+ method: 'signMessage';
1424
1157
  /**
1425
- * The Spark network.
1158
+ * Parameters for the SVM `signMessage` RPC.
1426
1159
  */
1427
- network?: SparkNetwork;
1160
+ params: SolanaSignMessageRpcInputParams;
1161
+ address?: string;
1162
+ chain_type?: 'solana';
1163
+ wallet_id?: string;
1428
1164
  }
1429
1165
  /**
1430
- * Strategy for selecting outputs in a Spark token transfer.
1166
+ * Parameters for the SVM `signMessage` RPC.
1431
1167
  */
1432
- export type SparkOutputSelectionStrategy = 'SMALL_FIRST' | 'LARGE_FIRST';
1168
+ export interface SolanaSignMessageRpcInputParams {
1169
+ encoding: 'base64';
1170
+ message: string;
1171
+ }
1433
1172
  /**
1434
- * Parameters for the Spark `transferTokens` RPC.
1173
+ * Response to the SVM `signMessage` RPC.
1435
1174
  */
1436
- export interface SparkTransferTokensRpcInputParams {
1437
- receiver_spark_address: string;
1438
- token_amount: number;
1439
- token_identifier: string;
1175
+ export interface SolanaSignMessageRpcResponse {
1440
1176
  /**
1441
- * Strategy for selecting outputs in a Spark token transfer.
1177
+ * Data returned by the SVM `signMessage` RPC.
1442
1178
  */
1443
- output_selection_strategy?: SparkOutputSelectionStrategy;
1444
- selected_outputs?: Array<OutputWithPreviousTransactionData>;
1179
+ data: SolanaSignMessageRpcResponseData;
1180
+ method: 'signMessage';
1445
1181
  }
1446
1182
  /**
1447
- * Transfers tokens to a Spark address.
1183
+ * Data returned by the SVM `signMessage` RPC.
1448
1184
  */
1449
- export interface SparkTransferTokensRpcInput {
1450
- method: 'transferTokens';
1451
- /**
1452
- * Parameters for the Spark `transferTokens` RPC.
1453
- */
1454
- params: SparkTransferTokensRpcInputParams;
1455
- /**
1456
- * The Spark network.
1457
- */
1458
- network?: SparkNetwork;
1185
+ export interface SolanaSignMessageRpcResponseData {
1186
+ encoding: 'base64';
1187
+ signature: string;
1459
1188
  }
1460
1189
  /**
1461
- * Gets a static deposit address for the Spark wallet.
1190
+ * Executes the SVM `signTransaction` RPC to sign a transaction.
1462
1191
  */
1463
- export interface SparkGetStaticDepositAddressRpcInput {
1464
- method: 'getStaticDepositAddress';
1192
+ export interface SolanaSignTransactionRpcInput {
1193
+ method: 'signTransaction';
1465
1194
  /**
1466
- * The Spark network.
1195
+ * Parameters for the SVM `signTransaction` RPC.
1467
1196
  */
1468
- network?: SparkNetwork;
1197
+ params: SolanaSignTransactionRpcInputParams;
1198
+ address?: string;
1199
+ chain_type?: 'solana';
1200
+ wallet_id?: string;
1469
1201
  }
1470
1202
  /**
1471
- * Parameters for the Spark `getClaimStaticDepositQuote` RPC.
1203
+ * Parameters for the SVM `signTransaction` RPC.
1472
1204
  */
1473
- export interface SparkGetClaimStaticDepositQuoteRpcInputParams {
1474
- transaction_id: string;
1475
- output_index?: number;
1205
+ export interface SolanaSignTransactionRpcInputParams {
1206
+ encoding: 'base64';
1207
+ transaction: string;
1476
1208
  }
1477
1209
  /**
1478
- * Gets a quote for claiming a static deposit.
1210
+ * Response to the SVM `signTransaction` RPC.
1479
1211
  */
1480
- export interface SparkGetClaimStaticDepositQuoteRpcInput {
1481
- method: 'getClaimStaticDepositQuote';
1482
- /**
1483
- * Parameters for the Spark `getClaimStaticDepositQuote` RPC.
1484
- */
1485
- params: SparkGetClaimStaticDepositQuoteRpcInputParams;
1212
+ export interface SolanaSignTransactionRpcResponse {
1486
1213
  /**
1487
- * The Spark network.
1214
+ * Data returned by the SVM `signTransaction` RPC.
1488
1215
  */
1489
- network?: SparkNetwork;
1216
+ data: SolanaSignTransactionRpcResponseData;
1217
+ method: 'signTransaction';
1490
1218
  }
1491
1219
  /**
1492
- * Parameters for the Spark `claimStaticDeposit` RPC.
1220
+ * Data returned by the SVM `signTransaction` RPC.
1493
1221
  */
1494
- export interface SparkClaimStaticDepositRpcInputParams {
1495
- credit_amount_sats: number;
1496
- signature: string;
1497
- transaction_id: string;
1498
- output_index?: number;
1222
+ export interface SolanaSignTransactionRpcResponseData {
1223
+ encoding: 'base64';
1224
+ signed_transaction: string;
1225
+ }
1226
+ /**
1227
+ * The derivation strategy used for Solana wallets.
1228
+ */
1229
+ export type SolanaWalletDerivationStrategy = 'ENTROPY_TO_SEED' | 'ENTROPY_TO_MNEMONIC_TO_SEED';
1230
+ /**
1231
+ * The balance of a Spark wallet.
1232
+ */
1233
+ export interface SparkBalance {
1234
+ balance: string;
1235
+ token_balances: {
1236
+ [key: string]: SparkTokenBalance;
1237
+ };
1499
1238
  }
1500
1239
  /**
1501
1240
  * Claims a static deposit into the Spark wallet.
@@ -1512,87 +1251,74 @@ export interface SparkClaimStaticDepositRpcInput {
1512
1251
  network?: SparkNetwork;
1513
1252
  }
1514
1253
  /**
1515
- * Parameters for the Spark `createLightningInvoice` RPC.
1254
+ * Parameters for the Spark `claimStaticDeposit` RPC.
1516
1255
  */
1517
- export interface SparkCreateLightningInvoiceRpcInputParams {
1518
- amount_sats: number;
1519
- description_hash?: string;
1520
- expiry_seconds?: number;
1521
- include_spark_address?: boolean;
1522
- memo?: string;
1523
- receiver_identity_pubkey?: string;
1256
+ export interface SparkClaimStaticDepositRpcInputParams {
1257
+ credit_amount_sats: number;
1258
+ signature: string;
1259
+ transaction_id: string;
1260
+ output_index?: number;
1524
1261
  }
1525
1262
  /**
1526
- * Creates a Lightning invoice for the Spark wallet.
1263
+ * Response to the Spark `claimStaticDeposit` RPC.
1527
1264
  */
1528
- export interface SparkCreateLightningInvoiceRpcInput {
1529
- method: 'createLightningInvoice';
1265
+ export interface SparkClaimStaticDepositRpcResponse {
1266
+ method: 'claimStaticDeposit';
1530
1267
  /**
1531
- * Parameters for the Spark `createLightningInvoice` RPC.
1532
- */
1533
- params: SparkCreateLightningInvoiceRpcInputParams;
1534
- /**
1535
- * The Spark network.
1268
+ * Data returned by the Spark `claimStaticDeposit` RPC.
1536
1269
  */
1537
- network?: SparkNetwork;
1270
+ data?: SparkClaimStaticDepositRpcResponseData;
1538
1271
  }
1539
1272
  /**
1540
- * Parameters for the Spark `payLightningInvoice` RPC.
1273
+ * Data returned by the Spark `claimStaticDeposit` RPC.
1541
1274
  */
1542
- export interface SparkPayLightningInvoiceRpcInputParams {
1543
- invoice: string;
1544
- max_fee_sats: number;
1545
- amount_sats_to_send?: number;
1546
- prefer_spark?: boolean;
1275
+ export interface SparkClaimStaticDepositRpcResponseData {
1276
+ transfer_id: string;
1547
1277
  }
1548
1278
  /**
1549
- * Pays a Lightning invoice from the Spark wallet.
1279
+ * Creates a Lightning invoice for the Spark wallet.
1550
1280
  */
1551
- export interface SparkPayLightningInvoiceRpcInput {
1552
- method: 'payLightningInvoice';
1281
+ export interface SparkCreateLightningInvoiceRpcInput {
1282
+ method: 'createLightningInvoice';
1553
1283
  /**
1554
- * Parameters for the Spark `payLightningInvoice` RPC.
1284
+ * Parameters for the Spark `createLightningInvoice` RPC.
1555
1285
  */
1556
- params: SparkPayLightningInvoiceRpcInputParams;
1286
+ params: SparkCreateLightningInvoiceRpcInputParams;
1557
1287
  /**
1558
1288
  * The Spark network.
1559
1289
  */
1560
1290
  network?: SparkNetwork;
1561
1291
  }
1562
1292
  /**
1563
- * Parameters for the Spark `signMessageWithIdentityKey` RPC.
1293
+ * Parameters for the Spark `createLightningInvoice` RPC.
1564
1294
  */
1565
- export interface SparkSignMessageWithIdentityKeyRpcInputParams {
1566
- message: string;
1567
- compact?: boolean;
1295
+ export interface SparkCreateLightningInvoiceRpcInputParams {
1296
+ amount_sats: number;
1297
+ description_hash?: string;
1298
+ expiry_seconds?: number;
1299
+ include_spark_address?: boolean;
1300
+ memo?: string;
1301
+ receiver_identity_pubkey?: string;
1568
1302
  }
1569
1303
  /**
1570
- * Signs a message with the Spark identity key.
1304
+ * Response to the Spark `createLightningInvoice` RPC.
1571
1305
  */
1572
- export interface SparkSignMessageWithIdentityKeyRpcInput {
1573
- method: 'signMessageWithIdentityKey';
1574
- /**
1575
- * Parameters for the Spark `signMessageWithIdentityKey` RPC.
1576
- */
1577
- params: SparkSignMessageWithIdentityKeyRpcInputParams;
1306
+ export interface SparkCreateLightningInvoiceRpcResponse {
1307
+ method: 'createLightningInvoice';
1578
1308
  /**
1579
- * The Spark network.
1309
+ * A Spark Lightning receive request.
1580
1310
  */
1581
- network?: SparkNetwork;
1311
+ data?: SparkLightningReceiveRequest;
1582
1312
  }
1583
1313
  /**
1584
- * Request body for Spark wallet RPC operations, discriminated by method.
1585
- */
1586
- export type SparkRpcInput = SparkTransferRpcInput | SparkGetBalanceRpcInput | SparkTransferTokensRpcInput | SparkGetStaticDepositAddressRpcInput | SparkGetClaimStaticDepositQuoteRpcInput | SparkClaimStaticDepositRpcInput | SparkCreateLightningInvoiceRpcInput | SparkPayLightningInvoiceRpcInput | SparkSignMessageWithIdentityKeyRpcInput;
1587
- /**
1588
- * Response to the Spark `transfer` RPC.
1314
+ * Gets the balance of the Spark wallet.
1589
1315
  */
1590
- export interface SparkTransferRpcResponse {
1591
- method: 'transfer';
1316
+ export interface SparkGetBalanceRpcInput {
1317
+ method: 'getBalance';
1592
1318
  /**
1593
- * A Spark transfer.
1319
+ * The Spark network.
1594
1320
  */
1595
- data?: SparkTransfer;
1321
+ network?: SparkNetwork;
1596
1322
  }
1597
1323
  /**
1598
1324
  * Response to the Spark `getBalance` RPC.
@@ -1605,36 +1331,35 @@ export interface SparkGetBalanceRpcResponse {
1605
1331
  data?: SparkBalance;
1606
1332
  }
1607
1333
  /**
1608
- * Data returned by the Spark `transferTokens` RPC.
1609
- */
1610
- export interface SparkTransferTokensRpcResponseData {
1611
- id: string;
1612
- }
1613
- /**
1614
- * Response to the Spark `transferTokens` RPC.
1334
+ * Gets a quote for claiming a static deposit.
1615
1335
  */
1616
- export interface SparkTransferTokensRpcResponse {
1617
- method: 'transferTokens';
1336
+ export interface SparkGetClaimStaticDepositQuoteRpcInput {
1337
+ method: 'getClaimStaticDepositQuote';
1618
1338
  /**
1619
- * Data returned by the Spark `transferTokens` RPC.
1339
+ * Parameters for the Spark `getClaimStaticDepositQuote` RPC.
1620
1340
  */
1621
- data?: SparkTransferTokensRpcResponseData;
1341
+ params: SparkGetClaimStaticDepositQuoteRpcInputParams;
1342
+ /**
1343
+ * The Spark network.
1344
+ */
1345
+ network?: SparkNetwork;
1622
1346
  }
1623
1347
  /**
1624
- * Data returned by the Spark `getStaticDepositAddress` RPC.
1348
+ * Parameters for the Spark `getClaimStaticDepositQuote` RPC.
1625
1349
  */
1626
- export interface SparkGetStaticDepositAddressRpcResponseData {
1627
- address: string;
1350
+ export interface SparkGetClaimStaticDepositQuoteRpcInputParams {
1351
+ transaction_id: string;
1352
+ output_index?: number;
1628
1353
  }
1629
1354
  /**
1630
- * Response to the Spark `getStaticDepositAddress` RPC.
1355
+ * Response to the Spark `getClaimStaticDepositQuote` RPC.
1631
1356
  */
1632
- export interface SparkGetStaticDepositAddressRpcResponse {
1633
- method: 'getStaticDepositAddress';
1357
+ export interface SparkGetClaimStaticDepositQuoteRpcResponse {
1358
+ method: 'getClaimStaticDepositQuote';
1634
1359
  /**
1635
- * Data returned by the Spark `getStaticDepositAddress` RPC.
1360
+ * Data returned by the Spark `getClaimStaticDepositQuote` RPC.
1636
1361
  */
1637
- data?: SparkGetStaticDepositAddressRpcResponseData;
1362
+ data?: SparkGetClaimStaticDepositQuoteRpcResponseData;
1638
1363
  }
1639
1364
  /**
1640
1365
  * Data returned by the Spark `getClaimStaticDepositQuote` RPC.
@@ -1647,40 +1372,102 @@ export interface SparkGetClaimStaticDepositQuoteRpcResponseData {
1647
1372
  transaction_id: string;
1648
1373
  }
1649
1374
  /**
1650
- * Response to the Spark `getClaimStaticDepositQuote` RPC.
1375
+ * Gets a static deposit address for the Spark wallet.
1651
1376
  */
1652
- export interface SparkGetClaimStaticDepositQuoteRpcResponse {
1653
- method: 'getClaimStaticDepositQuote';
1377
+ export interface SparkGetStaticDepositAddressRpcInput {
1378
+ method: 'getStaticDepositAddress';
1654
1379
  /**
1655
- * Data returned by the Spark `getClaimStaticDepositQuote` RPC.
1380
+ * The Spark network.
1656
1381
  */
1657
- data?: SparkGetClaimStaticDepositQuoteRpcResponseData;
1382
+ network?: SparkNetwork;
1658
1383
  }
1659
1384
  /**
1660
- * Data returned by the Spark `claimStaticDeposit` RPC.
1385
+ * Response to the Spark `getStaticDepositAddress` RPC.
1661
1386
  */
1662
- export interface SparkClaimStaticDepositRpcResponseData {
1663
- transfer_id: string;
1387
+ export interface SparkGetStaticDepositAddressRpcResponse {
1388
+ method: 'getStaticDepositAddress';
1389
+ /**
1390
+ * Data returned by the Spark `getStaticDepositAddress` RPC.
1391
+ */
1392
+ data?: SparkGetStaticDepositAddressRpcResponseData;
1664
1393
  }
1665
1394
  /**
1666
- * Response to the Spark `claimStaticDeposit` RPC.
1395
+ * Data returned by the Spark `getStaticDepositAddress` RPC.
1667
1396
  */
1668
- export interface SparkClaimStaticDepositRpcResponse {
1669
- method: 'claimStaticDeposit';
1397
+ export interface SparkGetStaticDepositAddressRpcResponseData {
1398
+ address: string;
1399
+ }
1400
+ /**
1401
+ * The fee for a Spark Lightning payment.
1402
+ */
1403
+ export interface SparkLightningFee {
1404
+ original_unit: string;
1405
+ original_value: number;
1406
+ }
1407
+ /**
1408
+ * A Spark Lightning receive request.
1409
+ */
1410
+ export interface SparkLightningReceiveRequest {
1411
+ id: string;
1412
+ created_at: string;
1413
+ network: string;
1414
+ status: string;
1415
+ typename: string;
1416
+ updated_at: string;
1417
+ invoice?: unknown;
1418
+ payment_preimage?: string;
1419
+ receiver_identity_public_key?: string;
1420
+ transfer?: unknown;
1421
+ }
1422
+ /**
1423
+ * A Spark Lightning send request.
1424
+ */
1425
+ export interface SparkLightningSendRequest {
1426
+ id: string;
1427
+ created_at: string;
1428
+ encoded_invoice: string;
1670
1429
  /**
1671
- * Data returned by the Spark `claimStaticDeposit` RPC.
1430
+ * The fee for a Spark Lightning payment.
1672
1431
  */
1673
- data?: SparkClaimStaticDepositRpcResponseData;
1432
+ fee: SparkLightningFee;
1433
+ idempotency_key: string;
1434
+ network: string;
1435
+ status: string;
1436
+ typename: string;
1437
+ updated_at: string;
1438
+ payment_preimage?: string;
1439
+ transfer?: unknown;
1674
1440
  }
1675
1441
  /**
1676
- * Response to the Spark `createLightningInvoice` RPC.
1442
+ * The Spark network.
1677
1443
  */
1678
- export interface SparkCreateLightningInvoiceRpcResponse {
1679
- method: 'createLightningInvoice';
1444
+ export type SparkNetwork = 'MAINNET' | 'REGTEST';
1445
+ /**
1446
+ * Strategy for selecting outputs in a Spark token transfer.
1447
+ */
1448
+ export type SparkOutputSelectionStrategy = 'SMALL_FIRST' | 'LARGE_FIRST';
1449
+ /**
1450
+ * Pays a Lightning invoice from the Spark wallet.
1451
+ */
1452
+ export interface SparkPayLightningInvoiceRpcInput {
1453
+ method: 'payLightningInvoice';
1680
1454
  /**
1681
- * A Spark Lightning receive request.
1455
+ * Parameters for the Spark `payLightningInvoice` RPC.
1682
1456
  */
1683
- data?: SparkLightningReceiveRequest;
1457
+ params: SparkPayLightningInvoiceRpcInputParams;
1458
+ /**
1459
+ * The Spark network.
1460
+ */
1461
+ network?: SparkNetwork;
1462
+ }
1463
+ /**
1464
+ * Parameters for the Spark `payLightningInvoice` RPC.
1465
+ */
1466
+ export interface SparkPayLightningInvoiceRpcInputParams {
1467
+ invoice: string;
1468
+ max_fee_sats: number;
1469
+ amount_sats_to_send?: number;
1470
+ prefer_spark?: boolean;
1684
1471
  }
1685
1472
  /**
1686
1473
  * Response to the Spark `payLightningInvoice` RPC.
@@ -1693,10 +1480,33 @@ export interface SparkPayLightningInvoiceRpcResponse {
1693
1480
  data?: SparkTransfer | SparkLightningSendRequest;
1694
1481
  }
1695
1482
  /**
1696
- * Data returned by the Spark `signMessageWithIdentityKey` RPC.
1483
+ * Request body for Spark wallet RPC operations, discriminated by method.
1697
1484
  */
1698
- export interface SparkSignMessageWithIdentityKeyRpcResponseData {
1699
- signature: string;
1485
+ export type SparkRpcInput = SparkTransferRpcInput | SparkGetBalanceRpcInput | SparkTransferTokensRpcInput | SparkGetStaticDepositAddressRpcInput | SparkGetClaimStaticDepositQuoteRpcInput | SparkClaimStaticDepositRpcInput | SparkCreateLightningInvoiceRpcInput | SparkPayLightningInvoiceRpcInput | SparkSignMessageWithIdentityKeyRpcInput;
1486
+ /**
1487
+ * Response body for Spark wallet RPC operations, discriminated by method.
1488
+ */
1489
+ export type SparkRpcResponse = SparkTransferRpcResponse | SparkGetBalanceRpcResponse | SparkTransferTokensRpcResponse | SparkGetStaticDepositAddressRpcResponse | SparkGetClaimStaticDepositQuoteRpcResponse | SparkClaimStaticDepositRpcResponse | SparkCreateLightningInvoiceRpcResponse | SparkPayLightningInvoiceRpcResponse | SparkSignMessageWithIdentityKeyRpcResponse;
1490
+ /**
1491
+ * Signs a message with the Spark identity key.
1492
+ */
1493
+ export interface SparkSignMessageWithIdentityKeyRpcInput {
1494
+ method: 'signMessageWithIdentityKey';
1495
+ /**
1496
+ * Parameters for the Spark `signMessageWithIdentityKey` RPC.
1497
+ */
1498
+ params: SparkSignMessageWithIdentityKeyRpcInputParams;
1499
+ /**
1500
+ * The Spark network.
1501
+ */
1502
+ network?: SparkNetwork;
1503
+ }
1504
+ /**
1505
+ * Parameters for the Spark `signMessageWithIdentityKey` RPC.
1506
+ */
1507
+ export interface SparkSignMessageWithIdentityKeyRpcInputParams {
1508
+ message: string;
1509
+ compact?: boolean;
1700
1510
  }
1701
1511
  /**
1702
1512
  * Response to the Spark `signMessageWithIdentityKey` RPC.
@@ -1704,14 +1514,512 @@ export interface SparkSignMessageWithIdentityKeyRpcResponseData {
1704
1514
  export interface SparkSignMessageWithIdentityKeyRpcResponse {
1705
1515
  method: 'signMessageWithIdentityKey';
1706
1516
  /**
1707
- * Data returned by the Spark `signMessageWithIdentityKey` RPC.
1517
+ * Data returned by the Spark `signMessageWithIdentityKey` RPC.
1518
+ */
1519
+ data?: SparkSignMessageWithIdentityKeyRpcResponseData;
1520
+ }
1521
+ /**
1522
+ * Data returned by the Spark `signMessageWithIdentityKey` RPC.
1523
+ */
1524
+ export interface SparkSignMessageWithIdentityKeyRpcResponseData {
1525
+ signature: string;
1526
+ }
1527
+ /**
1528
+ * A Spark signing keyshare.
1529
+ */
1530
+ export interface SparkSigningKeyshare {
1531
+ owner_identifiers: Array<string>;
1532
+ public_key: string;
1533
+ public_shares: {
1534
+ [key: string]: string;
1535
+ };
1536
+ threshold: number;
1537
+ updated_time: string;
1538
+ }
1539
+ /**
1540
+ * Balance of a Spark token.
1541
+ */
1542
+ export interface SparkTokenBalance {
1543
+ balance: string;
1544
+ /**
1545
+ * Metadata for a Spark user token.
1546
+ */
1547
+ token_metadata: SparkUserTokenMetadata;
1548
+ }
1549
+ /**
1550
+ * A Spark transfer.
1551
+ */
1552
+ export interface SparkTransfer {
1553
+ id: string;
1554
+ leaves: Array<SparkTransferLeaf>;
1555
+ receiver_identity_public_key: string;
1556
+ sender_identity_public_key: string;
1557
+ status: string;
1558
+ total_value: number;
1559
+ transfer_direction: string;
1560
+ type: string;
1561
+ created_time?: string;
1562
+ expiry_time?: string;
1563
+ updated_time?: string;
1564
+ }
1565
+ /**
1566
+ * A Spark transfer leaf.
1567
+ */
1568
+ export interface SparkTransferLeaf {
1569
+ intermediate_refund_tx: string;
1570
+ secret_cipher: string;
1571
+ signature: string;
1572
+ /**
1573
+ * A Spark wallet leaf node.
1574
+ */
1575
+ leaf?: SparkWalletLeaf;
1576
+ }
1577
+ /**
1578
+ * Transfers satoshis to a Spark address.
1579
+ */
1580
+ export interface SparkTransferRpcInput {
1581
+ method: 'transfer';
1582
+ /**
1583
+ * Parameters for the Spark `transfer` RPC.
1584
+ */
1585
+ params: SparkTransferRpcInputParams;
1586
+ /**
1587
+ * The Spark network.
1588
+ */
1589
+ network?: SparkNetwork;
1590
+ }
1591
+ /**
1592
+ * Parameters for the Spark `transfer` RPC.
1593
+ */
1594
+ export interface SparkTransferRpcInputParams {
1595
+ amount_sats: number;
1596
+ receiver_spark_address: string;
1597
+ }
1598
+ /**
1599
+ * Response to the Spark `transfer` RPC.
1600
+ */
1601
+ export interface SparkTransferRpcResponse {
1602
+ method: 'transfer';
1603
+ /**
1604
+ * A Spark transfer.
1605
+ */
1606
+ data?: SparkTransfer;
1607
+ }
1608
+ /**
1609
+ * Transfers tokens to a Spark address.
1610
+ */
1611
+ export interface SparkTransferTokensRpcInput {
1612
+ method: 'transferTokens';
1613
+ /**
1614
+ * Parameters for the Spark `transferTokens` RPC.
1615
+ */
1616
+ params: SparkTransferTokensRpcInputParams;
1617
+ /**
1618
+ * The Spark network.
1619
+ */
1620
+ network?: SparkNetwork;
1621
+ }
1622
+ /**
1623
+ * Parameters for the Spark `transferTokens` RPC.
1624
+ */
1625
+ export interface SparkTransferTokensRpcInputParams {
1626
+ receiver_spark_address: string;
1627
+ token_amount: number;
1628
+ token_identifier: string;
1629
+ /**
1630
+ * Strategy for selecting outputs in a Spark token transfer.
1631
+ */
1632
+ output_selection_strategy?: SparkOutputSelectionStrategy;
1633
+ selected_outputs?: Array<OutputWithPreviousTransactionData>;
1634
+ }
1635
+ /**
1636
+ * Response to the Spark `transferTokens` RPC.
1637
+ */
1638
+ export interface SparkTransferTokensRpcResponse {
1639
+ method: 'transferTokens';
1640
+ /**
1641
+ * Data returned by the Spark `transferTokens` RPC.
1642
+ */
1643
+ data?: SparkTransferTokensRpcResponseData;
1644
+ }
1645
+ /**
1646
+ * Data returned by the Spark `transferTokens` RPC.
1647
+ */
1648
+ export interface SparkTransferTokensRpcResponseData {
1649
+ id: string;
1650
+ }
1651
+ /**
1652
+ * Metadata for a Spark user token.
1653
+ */
1654
+ export interface SparkUserTokenMetadata {
1655
+ decimals: number;
1656
+ max_supply: string;
1657
+ raw_token_identifier: string;
1658
+ token_name: string;
1659
+ token_public_key: string;
1660
+ token_ticker: string;
1661
+ }
1662
+ /**
1663
+ * A Spark wallet leaf node.
1664
+ */
1665
+ export interface SparkWalletLeaf {
1666
+ id: string;
1667
+ /**
1668
+ * The Spark network.
1669
+ */
1670
+ network: SparkNetwork;
1671
+ node_tx: string;
1672
+ owner_identity_public_key: string;
1673
+ refund_tx: string;
1674
+ status: string;
1675
+ tree_id: string;
1676
+ value: number;
1677
+ verifying_public_key: string;
1678
+ vout: number;
1679
+ parent_node_id?: string;
1680
+ /**
1681
+ * A Spark signing keyshare.
1682
+ */
1683
+ signing_keyshare?: SparkSigningKeyshare;
1684
+ }
1685
+ /**
1686
+ * SUI transaction commands allowlist for raw_sign endpoint policy evaluation
1687
+ */
1688
+ export type SuiCommandName = 'TransferObjects' | 'SplitCoins' | 'MergeCoins';
1689
+ /**
1690
+ * An AA authorization for Tempo transactions with P256/WebAuthn signatures.
1691
+ */
1692
+ export interface TempoAaAuthorization {
1693
+ /**
1694
+ * A quantity value that can be either a hex string starting with '0x' or a
1695
+ * non-negative integer.
1696
+ */
1697
+ chain_id: Quantity;
1698
+ contract: string;
1699
+ /**
1700
+ * A quantity value that can be either a hex string starting with '0x' or a
1701
+ * non-negative integer.
1702
+ */
1703
+ nonce: Quantity;
1704
+ /**
1705
+ * A hex-encoded string prefixed with '0x'.
1706
+ */
1707
+ signature: Hex;
1708
+ }
1709
+ /**
1710
+ * A single call within a Tempo batched transaction.
1711
+ */
1712
+ export interface TempoCall {
1713
+ to: string;
1714
+ /**
1715
+ * A hex-encoded string prefixed with '0x'.
1716
+ */
1717
+ data?: Hex;
1718
+ /**
1719
+ * A quantity value that can be either a hex string starting with '0x' or a
1720
+ * non-negative integer.
1721
+ */
1722
+ value?: Quantity;
1723
+ }
1724
+ /**
1725
+ * A fee payer signature for sponsored Tempo transactions (secp256k1 only).
1726
+ */
1727
+ export interface TempoFeePayerSignature {
1728
+ /**
1729
+ * A hex-encoded string prefixed with '0x'.
1730
+ */
1731
+ r: Hex;
1732
+ /**
1733
+ * A hex-encoded string prefixed with '0x'.
1734
+ */
1735
+ s: Hex;
1736
+ y_parity: 0 | 1;
1737
+ }
1738
+ /**
1739
+ * A Spark token output.
1740
+ */
1741
+ export interface TokenOutput {
1742
+ owner_public_key: string;
1743
+ token_amount: string;
1744
+ id?: string;
1745
+ revocation_commitment?: string;
1746
+ token_identifier?: string;
1747
+ token_public_key?: string;
1748
+ withdraw_bond_sats?: number;
1749
+ withdraw_relative_block_locktime?: number;
1750
+ }
1751
+ /**
1752
+ * The destination address for a token transfer. Optionally specify a different
1753
+ * asset or chain for cross-asset or cross-chain transfers.
1754
+ */
1755
+ export interface TokenTransferDestination {
1756
+ /**
1757
+ * Recipient address (hex for EVM, base58 for Solana)
1758
+ */
1759
+ address: string;
1760
+ /**
1761
+ * The destination asset. Required for cross-asset transfers (e.g., source 'usdt'
1762
+ * to destination 'usdc').
1763
+ */
1764
+ asset?: string;
1765
+ /**
1766
+ * The destination blockchain network. Required for cross-chain transfers (e.g.,
1767
+ * source 'base' to destination 'arbitrum').
1768
+ */
1769
+ chain?: string;
1770
+ }
1771
+ /**
1772
+ * The source asset, amount, and chain for a token transfer. Specify either `asset`
1773
+ * (named) or `asset_address` (custom), not both.
1774
+ */
1775
+ export type TokenTransferSource = NamedTokenTransferSource | CustomTokenTransferSource;
1776
+ /**
1777
+ * Details of a wallet transaction, varying by transaction type.
1778
+ */
1779
+ export type TransactionDetail = TransferSentTransactionDetail | TransferReceivedTransactionDetail;
1780
+ /**
1781
+ * Token contract address (EVM: 0x-prefixed hex) or mint address (Solana: base58),
1782
+ * used to filter wallet transactions.
1783
+ */
1784
+ export type TransactionTokenAddressInput = string;
1785
+ /**
1786
+ * Details for a received transfer transaction.
1787
+ */
1788
+ export interface TransferReceivedTransactionDetail {
1789
+ asset: 'usdc' | 'usdc.e' | 'eth' | 'pol' | 'usdt' | 'eurc' | 'usdb' | 'sol' | (string & {});
1790
+ chain: 'ethereum' | 'arbitrum' | 'base' | 'tempo' | 'linea' | 'optimism' | 'polygon' | 'solana' | 'zksync_era' | 'sepolia' | 'arbitrum_sepolia' | 'base_sepolia' | 'linea_testnet' | 'optimism_sepolia' | 'polygon_amoy' | 'solana_devnet' | 'solana_testnet';
1791
+ display_values: {
1792
+ [key: string]: string;
1793
+ };
1794
+ raw_value: string;
1795
+ raw_value_decimals: number;
1796
+ recipient: string;
1797
+ recipient_privy_user_id: string | null;
1798
+ sender: string;
1799
+ sender_privy_user_id: string | null;
1800
+ type: 'transfer_received';
1801
+ }
1802
+ /**
1803
+ * Request body for initiating a sponsored token transfer from an embedded wallet.
1804
+ */
1805
+ export interface TransferRequestBody {
1806
+ /**
1807
+ * The destination address for a token transfer. Optionally specify a different
1808
+ * asset or chain for cross-asset or cross-chain transfers.
1809
+ */
1810
+ destination: TokenTransferDestination;
1811
+ /**
1812
+ * The source asset, amount, and chain for a token transfer. Specify either `asset`
1813
+ * (named) or `asset_address` (custom), not both.
1814
+ */
1815
+ source: TokenTransferSource;
1816
+ /**
1817
+ * Whether the amount refers to the input token or output token.
1818
+ */
1819
+ amount_type?: AmountType;
1820
+ /**
1821
+ * Maximum allowed slippage in basis points (1 bps = 0.01%).
1822
+ */
1823
+ slippage_bps?: number;
1824
+ }
1825
+ /**
1826
+ * Details for a sent transfer transaction.
1827
+ */
1828
+ export interface TransferSentTransactionDetail {
1829
+ asset: 'usdc' | 'usdc.e' | 'eth' | 'pol' | 'usdt' | 'eurc' | 'usdb' | 'sol' | (string & {});
1830
+ chain: 'ethereum' | 'arbitrum' | 'base' | 'tempo' | 'linea' | 'optimism' | 'polygon' | 'solana' | 'zksync_era' | 'sepolia' | 'arbitrum_sepolia' | 'base_sepolia' | 'linea_testnet' | 'optimism_sepolia' | 'polygon_amoy' | 'solana_devnet' | 'solana_testnet';
1831
+ display_values: {
1832
+ [key: string]: string;
1833
+ };
1834
+ raw_value: string;
1835
+ raw_value_decimals: number;
1836
+ recipient: string;
1837
+ recipient_privy_user_id: string | null;
1838
+ sender: string;
1839
+ sender_privy_user_id: string | null;
1840
+ type: 'transfer_sent';
1841
+ }
1842
+ /**
1843
+ * The domain parameters for EIP-712 typed data signing.
1844
+ */
1845
+ export type TypedDataDomainInputParams = {
1846
+ [key: string]: unknown;
1847
+ };
1848
+ /**
1849
+ * A single field definition in an EIP-712 typed data type.
1850
+ */
1851
+ export interface TypedDataTypeFieldInput {
1852
+ name: string;
1853
+ type: string;
1854
+ }
1855
+ /**
1856
+ * The type definitions for EIP-712 typed data signing.
1857
+ */
1858
+ export type TypedDataTypesInputParams = {
1859
+ [key: string]: Array<TypedDataTypeFieldInput>;
1860
+ };
1861
+ /**
1862
+ * An unsigned Ethereum transaction object. Supports standard EVM transaction types
1863
+ * (0, 1, 2, 4) and Tempo transactions (type 118).
1864
+ */
1865
+ export type UnsignedEthereumTransaction = UnsignedStandardEthereumTransaction | UnsignedTempoTransaction;
1866
+ /**
1867
+ * An unsigned standard Ethereum transaction object. Supports EVM transaction types
1868
+ * 0, 1, 2, and 4.
1869
+ */
1870
+ export interface UnsignedStandardEthereumTransaction {
1871
+ authorization_list?: Array<EthereumSign7702Authorization>;
1872
+ /**
1873
+ * A quantity value that can be either a hex string starting with '0x' or a
1874
+ * non-negative integer.
1875
+ */
1876
+ chain_id?: Quantity;
1877
+ /**
1878
+ * A hex-encoded string prefixed with '0x'.
1879
+ */
1880
+ data?: Hex;
1881
+ from?: string;
1882
+ /**
1883
+ * A quantity value that can be either a hex string starting with '0x' or a
1884
+ * non-negative integer.
1885
+ */
1886
+ gas_limit?: Quantity;
1887
+ /**
1888
+ * A quantity value that can be either a hex string starting with '0x' or a
1889
+ * non-negative integer.
1890
+ */
1891
+ gas_price?: Quantity;
1892
+ /**
1893
+ * A quantity value that can be either a hex string starting with '0x' or a
1894
+ * non-negative integer.
1895
+ */
1896
+ max_fee_per_gas?: Quantity;
1897
+ /**
1898
+ * A quantity value that can be either a hex string starting with '0x' or a
1899
+ * non-negative integer.
1900
+ */
1901
+ max_priority_fee_per_gas?: Quantity;
1902
+ /**
1903
+ * A quantity value that can be either a hex string starting with '0x' or a
1904
+ * non-negative integer.
1905
+ */
1906
+ nonce?: Quantity;
1907
+ to?: string;
1908
+ type?: 0 | 1 | 2 | 4;
1909
+ /**
1910
+ * A quantity value that can be either a hex string starting with '0x' or a
1911
+ * non-negative integer.
1912
+ */
1913
+ value?: Quantity;
1914
+ }
1915
+ /**
1916
+ * An unsigned Tempo transaction (type 118) with batched calls.
1917
+ */
1918
+ export interface UnsignedTempoTransaction {
1919
+ calls: Array<TempoCall>;
1920
+ type: 118;
1921
+ aa_authorization_list?: Array<TempoAaAuthorization>;
1922
+ access_list?: Array<UnsignedTempoTransaction.AccessList>;
1923
+ /**
1924
+ * A quantity value that can be either a hex string starting with '0x' or a
1925
+ * non-negative integer.
1926
+ */
1927
+ chain_id?: Quantity;
1928
+ /**
1929
+ * A fee payer signature for sponsored Tempo transactions (secp256k1 only).
1930
+ */
1931
+ fee_payer_signature?: TempoFeePayerSignature;
1932
+ fee_token?: string;
1933
+ from?: string;
1934
+ /**
1935
+ * A quantity value that can be either a hex string starting with '0x' or a
1936
+ * non-negative integer.
1937
+ */
1938
+ gas_limit?: Quantity;
1939
+ /**
1940
+ * A quantity value that can be either a hex string starting with '0x' or a
1941
+ * non-negative integer.
1942
+ */
1943
+ max_fee_per_gas?: Quantity;
1944
+ /**
1945
+ * A quantity value that can be either a hex string starting with '0x' or a
1946
+ * non-negative integer.
1947
+ */
1948
+ max_priority_fee_per_gas?: Quantity;
1949
+ /**
1950
+ * A quantity value that can be either a hex string starting with '0x' or a
1951
+ * non-negative integer.
1952
+ */
1953
+ nonce?: Quantity;
1954
+ /**
1955
+ * A quantity value that can be either a hex string starting with '0x' or a
1956
+ * non-negative integer.
1957
+ */
1958
+ nonce_key?: Quantity;
1959
+ /**
1960
+ * A quantity value that can be either a hex string starting with '0x' or a
1961
+ * non-negative integer.
1962
+ */
1963
+ valid_after?: Quantity;
1964
+ /**
1965
+ * A quantity value that can be either a hex string starting with '0x' or a
1966
+ * non-negative integer.
1967
+ */
1968
+ valid_before?: Quantity;
1969
+ }
1970
+ export declare namespace UnsignedTempoTransaction {
1971
+ interface AccessList {
1972
+ address: string;
1973
+ storage_keys: Array<WalletsAPI.Hex>;
1974
+ }
1975
+ }
1976
+ /**
1977
+ * An ERC-4337 user operation.
1978
+ */
1979
+ export interface UserOperationInput {
1980
+ /**
1981
+ * A hex-encoded string prefixed with '0x'.
1982
+ */
1983
+ call_data: Hex;
1984
+ /**
1985
+ * A hex-encoded string prefixed with '0x'.
1986
+ */
1987
+ call_gas_limit: Hex;
1988
+ /**
1989
+ * A hex-encoded string prefixed with '0x'.
1990
+ */
1991
+ max_fee_per_gas: Hex;
1992
+ /**
1993
+ * A hex-encoded string prefixed with '0x'.
1994
+ */
1995
+ max_priority_fee_per_gas: Hex;
1996
+ /**
1997
+ * A hex-encoded string prefixed with '0x'.
1998
+ */
1999
+ nonce: Hex;
2000
+ /**
2001
+ * A hex-encoded string prefixed with '0x'.
2002
+ */
2003
+ pre_verification_gas: Hex;
2004
+ sender: string;
2005
+ /**
2006
+ * A hex-encoded string prefixed with '0x'.
2007
+ */
2008
+ verification_gas_limit: Hex;
2009
+ paymaster?: string;
2010
+ /**
2011
+ * A hex-encoded string prefixed with '0x'.
1708
2012
  */
1709
- data?: SparkSignMessageWithIdentityKeyRpcResponseData;
2013
+ paymaster_data?: Hex;
2014
+ /**
2015
+ * A hex-encoded string prefixed with '0x'.
2016
+ */
2017
+ paymaster_post_op_gas_limit?: Hex;
2018
+ /**
2019
+ * A hex-encoded string prefixed with '0x'.
2020
+ */
2021
+ paymaster_verification_gas_limit?: Hex;
1710
2022
  }
1711
- /**
1712
- * Response body for Spark wallet RPC operations, discriminated by method.
1713
- */
1714
- export type SparkRpcResponse = SparkTransferRpcResponse | SparkGetBalanceRpcResponse | SparkTransferTokensRpcResponse | SparkGetStaticDepositAddressRpcResponse | SparkGetClaimStaticDepositQuoteRpcResponse | SparkClaimStaticDepositRpcResponse | SparkCreateLightningInvoiceRpcResponse | SparkPayLightningInvoiceRpcResponse | SparkSignMessageWithIdentityKeyRpcResponse;
1715
2023
  /**
1716
2024
  * A wallet managed by Privy's wallet infrastructure.
1717
2025
  */
@@ -1779,145 +2087,45 @@ export interface Wallet {
1779
2087
  public_key?: string;
1780
2088
  }
1781
2089
  /**
1782
- * Request body for looking up a wallet by its blockchain address.
2090
+ * Additional signers for the wallet.
1783
2091
  */
1784
- export interface GetByWalletAddressRequestBody {
1785
- /**
1786
- * A blockchain wallet address (Ethereum or Solana).
1787
- */
1788
- address: Address;
1789
- }
2092
+ export type WalletAdditionalSigner = Array<WalletAdditionalSignerItem>;
1790
2093
  /**
1791
- * Request body for updating a wallet.
2094
+ * A single additional signer on a wallet, with an optional policy override.
1792
2095
  */
1793
- export interface WalletUpdateRequestBody {
1794
- /**
1795
- * Additional signers for the wallet.
1796
- */
1797
- additional_signers?: AdditionalSignerInput;
1798
- /**
1799
- * A human-readable label for the wallet. Set to null to clear.
1800
- */
1801
- display_name?: string | null;
1802
- /**
1803
- * The owner of the resource, specified as a Privy user ID, a P-256 public key, or
1804
- * null to remove the current owner.
1805
- */
1806
- owner?: SharedAPI.OwnerInput | null;
2096
+ export interface WalletAdditionalSignerItem {
1807
2097
  /**
1808
- * The key quorum ID to set as the owner of the resource. If you provide this, do
1809
- * not specify an owner.
2098
+ * A unique identifier for a key quorum.
1810
2099
  */
1811
- owner_id?: SharedAPI.OwnerIDInput | null;
2100
+ signer_id: SharedAPI.KeyQuorumID;
1812
2101
  /**
1813
- * New policy IDs to enforce on the wallet. Currently, only one policy is supported
1814
- * per wallet.
2102
+ * An optional list of up to one policy ID to enforce on the wallet.
1815
2103
  */
1816
- policy_ids?: Array<string>;
2104
+ override_policy_ids?: PolicyInput;
1817
2105
  }
1818
2106
  /**
1819
- * Input for a single wallet in a batch creation request.
2107
+ * Input for registering or updating an application public signing key for
2108
+ * API-based wallet actions.
1820
2109
  */
1821
- export interface WalletBatchItemInput {
1822
- /**
1823
- * The wallet chain types.
1824
- */
1825
- chain_type: WalletChainType;
1826
- /**
1827
- * Additional signers for the wallet.
1828
- */
1829
- additional_signers?: AdditionalSignerInput;
1830
- /**
1831
- * A human-readable label for the wallet.
1832
- */
2110
+ export interface WalletAPIRegisterAuthorizationKeyInput {
2111
+ public_key: string;
1833
2112
  display_name?: string;
1834
2113
  /**
1835
- * A customer-provided identifier for mapping to external systems. URL-safe
1836
- * characters only ([a-zA-Z0-9_-]), max 64 chars. Write-once: cannot be changed
1837
- * after creation.
1838
- */
1839
- external_id?: string;
1840
- /**
1841
- * The owner of the resource, specified as a Privy user ID, a P-256 public key, or
1842
- * null to remove the current owner.
1843
- */
1844
- owner?: SharedAPI.OwnerInput | null;
1845
- /**
1846
- * The key quorum ID to set as the owner of the resource. If you provide this, do
1847
- * not specify an owner.
1848
- */
1849
- owner_id?: SharedAPI.OwnerIDInput | null;
1850
- /**
1851
- * List of policy IDs for policies that should be enforced on the wallet.
1852
- * Currently, only one policy is supported per wallet.
1853
- */
1854
- policy_ids?: Array<string>;
1855
- }
1856
- /**
1857
- * Request body for batch wallet creation.
1858
- */
1859
- export interface WalletBatchCreateInput {
1860
- /**
1861
- * Array of wallet creation requests. Minimum 1, maximum 100.
1862
- */
1863
- wallets: Array<WalletBatchItemInput>;
1864
- }
1865
- /**
1866
- * A single result from a batch wallet creation operation.
1867
- */
1868
- export type WalletBatchCreateResult = WalletBatchCreateResult.WalletBatchCreateSuccess | WalletBatchCreateResult.WalletBatchCreateFailure;
1869
- export declare namespace WalletBatchCreateResult {
1870
- /**
1871
- * A successful wallet creation result within a batch operation.
1872
- */
1873
- interface WalletBatchCreateSuccess {
1874
- /**
1875
- * The index of the wallet in the original request array.
1876
- */
1877
- index: number;
1878
- success: true;
1879
- /**
1880
- * A wallet managed by Privy's wallet infrastructure.
1881
- */
1882
- wallet: WalletsAPI.Wallet;
1883
- }
1884
- /**
1885
- * A failed wallet creation result within a batch operation.
2114
+ * The role of an authorization key, controlling what actions it can authorize on a
2115
+ * wallet.
1886
2116
  */
1887
- interface WalletBatchCreateFailure {
1888
- /**
1889
- * A PrivyErrorCode string identifying the error type (e.g., "invalid_data",
1890
- * "resource_conflict").
1891
- */
1892
- code: string;
1893
- /**
1894
- * A human-readable error message with details about what went wrong.
1895
- */
1896
- error: string;
1897
- /**
1898
- * The index of the wallet in the original request array.
1899
- */
1900
- index: number;
1901
- success: false;
1902
- }
2117
+ role?: AuthorizationKeyRole | null;
1903
2118
  }
1904
2119
  /**
1905
- * Response for a batch wallet creation request.
2120
+ * Input for revoking an application authorization key.
1906
2121
  */
1907
- export interface WalletBatchCreateResponse {
1908
- /**
1909
- * Array of results for each wallet creation request, in the same order as input.
1910
- */
1911
- results: Array<WalletBatchCreateResult>;
2122
+ export interface WalletAPIRevokeAuthorizationKeyInput {
2123
+ id: string;
1912
2124
  }
1913
2125
  /**
1914
- * Request body for wallet RPC operations, discriminated by method.
1915
- */
1916
- export type WalletRpcRequestBody = EthereumSignTransactionRpcInput | EthereumSendTransactionRpcInput | EthereumPersonalSignRpcInput | EthereumSignTypedDataRpcInput | EthereumSecp256k1SignRpcInput | EthereumSign7702AuthorizationRpcInput | EthereumSignUserOperationRpcInput | EthereumSendCallsRpcInput | SolanaSignTransactionRpcInput | SolanaSignAndSendTransactionRpcInput | SolanaSignMessageRpcInput | SparkTransferRpcInput | SparkGetBalanceRpcInput | SparkTransferTokensRpcInput | SparkGetStaticDepositAddressRpcInput | SparkGetClaimStaticDepositQuoteRpcInput | SparkClaimStaticDepositRpcInput | SparkCreateLightningInvoiceRpcInput | SparkPayLightningInvoiceRpcInput | SparkSignMessageWithIdentityKeyRpcInput | ExportPrivateKeyRpcInput | ExportSeedPhraseRpcInput;
1917
- /**
1918
- * Response body for wallet RPC operations, discriminated by method.
2126
+ * A named asset supported across all chains.
1919
2127
  */
1920
- export type WalletRpcResponse = EthereumPersonalSignRpcResponse | EthereumSignTypedDataRpcResponse | EthereumSignTransactionRpcResponse | EthereumSendTransactionRpcResponse | EthereumSignUserOperationRpcResponse | EthereumSign7702AuthorizationRpcResponse | EthereumSecp256k1SignRpcResponse | EthereumSendCallsRpcResponse | SolanaSignMessageRpcResponse | SolanaSignTransactionRpcResponse | SolanaSignAndSendTransactionRpcResponse | SparkTransferRpcResponse | SparkGetBalanceRpcResponse | SparkTransferTokensRpcResponse | SparkGetStaticDepositAddressRpcResponse | SparkGetClaimStaticDepositQuoteRpcResponse | SparkClaimStaticDepositRpcResponse | SparkCreateLightningInvoiceRpcResponse | SparkPayLightningInvoiceRpcResponse | SparkSignMessageWithIdentityKeyRpcResponse | ExportPrivateKeyRpcResponse | ExportSeedPhraseRpcResponse;
2128
+ export type WalletAsset = 'usdc' | 'usdc.e' | 'eth' | 'pol' | 'usdt' | 'eurc' | 'usdb' | 'sol';
1921
2129
  /**
1922
2130
  * Request body for wallet authentication with HPKE-encrypted response.
1923
2131
  */
@@ -1938,125 +2146,207 @@ export interface WalletAuthenticateRequestBody {
1938
2146
  user_jwt: string;
1939
2147
  }
1940
2148
  /**
1941
- * The input for private key wallets.
2149
+ * The response from authenticating a wallet, containing an authorization key and
2150
+ * wallet data.
1942
2151
  */
1943
- export interface PrivateKeyInitInput {
2152
+ export type WalletAuthenticateWithJwtResponse = WalletAuthenticateWithJwtResponse.WithEncryption | WalletAuthenticateWithJwtResponse.WithoutEncryption;
2153
+ export declare namespace WalletAuthenticateWithJwtResponse {
2154
+ interface WithEncryption {
2155
+ /**
2156
+ * The encrypted authorization key data.
2157
+ */
2158
+ encrypted_authorization_key: WithEncryption.EncryptedAuthorizationKey;
2159
+ /**
2160
+ * The expiration time of the authorization key in milliseconds since the epoch.
2161
+ */
2162
+ expires_at: number;
2163
+ wallets: Array<WalletsAPI.Wallet>;
2164
+ }
2165
+ namespace WithEncryption {
2166
+ /**
2167
+ * The encrypted authorization key data.
2168
+ */
2169
+ interface EncryptedAuthorizationKey {
2170
+ /**
2171
+ * The encrypted authorization key corresponding to the user's current
2172
+ * authentication session.
2173
+ */
2174
+ ciphertext: string;
2175
+ /**
2176
+ * Base64-encoded ephemeral public key used in the HPKE encryption process.
2177
+ * Required for decryption.
2178
+ */
2179
+ encapsulated_key: string;
2180
+ /**
2181
+ * The encryption type used. Currently only supports HPKE.
2182
+ */
2183
+ encryption_type: 'HPKE';
2184
+ }
2185
+ }
2186
+ interface WithoutEncryption {
2187
+ /**
2188
+ * The raw authorization key data.
2189
+ */
2190
+ authorization_key: string;
2191
+ /**
2192
+ * The expiration time of the authorization key in milliseconds since the epoch.
2193
+ */
2194
+ expires_at: number;
2195
+ wallets: Array<WalletsAPI.Wallet>;
2196
+ }
2197
+ }
2198
+ /**
2199
+ * Headers required to authorize wallet operations.
2200
+ */
2201
+ export interface WalletAuthorizationHeaders {
1944
2202
  /**
1945
- * The address of the wallet to import.
2203
+ * ID of your Privy app.
1946
2204
  */
1947
- address: string;
2205
+ 'privy-app-id': string;
1948
2206
  /**
1949
- * The chain type of the wallet to import. Currently supports `ethereum` and
1950
- * `solana`.
2207
+ * Request authorization signature. If multiple signatures are required, they
2208
+ * should be comma separated.
1951
2209
  */
1952
- chain_type: WalletImportSupportedChains;
2210
+ 'privy-authorization-signature'?: string;
1953
2211
  /**
1954
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
2212
+ * Request expiry. Value is a Unix timestamp in milliseconds representing the
2213
+ * deadline by which the request must be processed.
1955
2214
  */
1956
- encryption_type: HpkeEncryption;
1957
- entropy_type: 'private-key';
2215
+ 'privy-request-expiry'?: string;
1958
2216
  }
1959
2217
  /**
1960
- * The input for HD wallets.
2218
+ * Request body for batch wallet creation.
1961
2219
  */
1962
- export interface HDInitInput {
1963
- /**
1964
- * The address of the wallet to import.
1965
- */
1966
- address: string;
2220
+ export interface WalletBatchCreateInput {
1967
2221
  /**
1968
- * The chain type of the wallet to import. Currently supports `ethereum` and
1969
- * `solana`.
2222
+ * Array of wallet creation requests. Minimum 1, maximum 100.
1970
2223
  */
1971
- chain_type: WalletImportSupportedChains;
2224
+ wallets: Array<WalletBatchItemInput>;
2225
+ }
2226
+ /**
2227
+ * Response for a batch wallet creation request.
2228
+ */
2229
+ export interface WalletBatchCreateResponse {
1972
2230
  /**
1973
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
2231
+ * Array of results for each wallet creation request, in the same order as input.
1974
2232
  */
1975
- encryption_type: HpkeEncryption;
2233
+ results: Array<WalletBatchCreateResult>;
2234
+ }
2235
+ /**
2236
+ * A single result from a batch wallet creation operation.
2237
+ */
2238
+ export type WalletBatchCreateResult = WalletBatchCreateResult.WalletBatchCreateSuccess | WalletBatchCreateResult.WalletBatchCreateFailure;
2239
+ export declare namespace WalletBatchCreateResult {
1976
2240
  /**
1977
- * The entropy type of the wallet to import.
2241
+ * A successful wallet creation result within a batch operation.
1978
2242
  */
1979
- entropy_type: 'hd';
2243
+ interface WalletBatchCreateSuccess {
2244
+ /**
2245
+ * The index of the wallet in the original request array.
2246
+ */
2247
+ index: number;
2248
+ success: true;
2249
+ /**
2250
+ * A wallet managed by Privy's wallet infrastructure.
2251
+ */
2252
+ wallet: WalletsAPI.Wallet;
2253
+ }
1980
2254
  /**
1981
- * The index of the wallet to import.
2255
+ * A failed wallet creation result within a batch operation.
1982
2256
  */
1983
- index: number;
2257
+ interface WalletBatchCreateFailure {
2258
+ /**
2259
+ * A PrivyErrorCode string identifying the error type (e.g., "invalid_data",
2260
+ * "resource_conflict").
2261
+ */
2262
+ code: string;
2263
+ /**
2264
+ * A human-readable error message with details about what went wrong.
2265
+ */
2266
+ error: string;
2267
+ /**
2268
+ * The index of the wallet in the original request array.
2269
+ */
2270
+ index: number;
2271
+ success: false;
2272
+ }
1984
2273
  }
1985
2274
  /**
1986
- * The submission input for importing a private key wallet.
2275
+ * Input for a single wallet in a batch creation request.
1987
2276
  */
1988
- export interface PrivateKeySubmitInput {
2277
+ export interface WalletBatchItemInput {
1989
2278
  /**
1990
- * The address of the wallet to import.
2279
+ * The wallet chain types.
1991
2280
  */
1992
- address: string;
2281
+ chain_type: WalletChainType;
1993
2282
  /**
1994
- * The chain type of the wallet to import. Currently supports `ethereum` and
1995
- * `solana`.
2283
+ * Additional signers for the wallet.
1996
2284
  */
1997
- chain_type: WalletImportSupportedChains;
2285
+ additional_signers?: AdditionalSignerInput;
1998
2286
  /**
1999
- * The encrypted entropy of the wallet to import.
2287
+ * A human-readable label for the wallet.
2000
2288
  */
2001
- ciphertext: string;
2289
+ display_name?: string;
2002
2290
  /**
2003
- * The base64-encoded encapsulated key that was generated during encryption, for
2004
- * use during decryption inside the TEE.
2291
+ * A customer-provided identifier for mapping to external systems. URL-safe
2292
+ * characters only ([a-zA-Z0-9_-]), max 64 chars. Write-once: cannot be changed
2293
+ * after creation.
2005
2294
  */
2006
- encapsulated_key: string;
2295
+ external_id?: string;
2007
2296
  /**
2008
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
2297
+ * The owner of the resource, specified as a Privy user ID, a P-256 public key, or
2298
+ * null to remove the current owner.
2009
2299
  */
2010
- encryption_type: HpkeEncryption;
2011
- entropy_type: 'private-key';
2300
+ owner?: SharedAPI.OwnerInput | null;
2012
2301
  /**
2013
- * Optional HPKE configuration for wallet import decryption. These parameters allow
2014
- * importing wallets encrypted by external providers that use different HPKE
2015
- * configurations.
2302
+ * The key quorum ID to set as the owner of the resource. If you provide this, do
2303
+ * not specify an owner.
2016
2304
  */
2017
- hpke_config?: HpkeImportConfig;
2305
+ owner_id?: SharedAPI.OwnerIDInput | null;
2306
+ /**
2307
+ * List of policy IDs for policies that should be enforced on the wallet.
2308
+ * Currently, only one policy is supported per wallet.
2309
+ */
2310
+ policy_ids?: Array<string>;
2018
2311
  }
2019
2312
  /**
2020
- * The submission input for importing an HD wallet.
2313
+ * The wallet chain types.
2021
2314
  */
2022
- export interface HDSubmitInput {
2023
- /**
2024
- * The address of the wallet to import.
2025
- */
2026
- address: string;
2027
- /**
2028
- * The chain type of the wallet to import. Currently supports `ethereum` and
2029
- * `solana`.
2030
- */
2031
- chain_type: WalletImportSupportedChains;
2032
- /**
2033
- * The encrypted entropy of the wallet to import.
2034
- */
2035
- ciphertext: string;
2036
- /**
2037
- * The base64-encoded encapsulated key that was generated during encryption, for
2038
- * use during decryption inside the TEE.
2039
- */
2040
- encapsulated_key: string;
2315
+ export type WalletChainType = 'ethereum' | 'solana' | 'cosmos' | 'stellar' | 'sui' | 'aptos' | 'movement' | 'tron' | 'bitcoin-segwit' | 'bitcoin-taproot' | 'pearl' | 'near' | 'ton' | 'starknet' | 'spark';
2316
+ /**
2317
+ * The response from creating wallets with an associated recovery user.
2318
+ */
2319
+ export interface WalletCreateWalletsWithRecoveryResponse {
2041
2320
  /**
2042
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
2321
+ * The ID of the created user.
2043
2322
  */
2044
- encryption_type: HpkeEncryption;
2323
+ recovery_user_id: string;
2045
2324
  /**
2046
- * The entropy type of the wallet to import.
2325
+ * The wallets that were created.
2047
2326
  */
2048
- entropy_type: 'hd';
2327
+ wallets: Array<Wallet>;
2328
+ }
2329
+ /**
2330
+ * Information about the custodian managing this wallet.
2331
+ */
2332
+ export interface WalletCustodian {
2049
2333
  /**
2050
- * The index of the wallet to import.
2334
+ * The custodian responsible for the wallet.
2051
2335
  */
2052
- index: number;
2336
+ provider: string;
2053
2337
  /**
2054
- * Optional HPKE configuration for wallet import decryption. These parameters allow
2055
- * importing wallets encrypted by external providers that use different HPKE
2056
- * configurations.
2338
+ * The resource ID of the beneficiary of the custodial wallet.
2057
2339
  */
2058
- hpke_config?: HpkeImportConfig;
2340
+ provider_user_id: string;
2059
2341
  }
2342
+ /**
2343
+ * The entropy type of the wallet.
2344
+ */
2345
+ export type WalletEntropyType = 'hd' | 'private-key';
2346
+ /**
2347
+ * A named asset on Ethereum-compatible chains.
2348
+ */
2349
+ export type WalletEthereumAsset = 'usdc' | 'usdc.e' | 'eth' | 'pol' | 'usdt' | 'eurc' | 'usdb';
2060
2350
  /**
2061
2351
  * Request body for exporting a wallet private key.
2062
2352
  */
@@ -2090,230 +2380,72 @@ export interface WalletExportResponseBody {
2090
2380
  encryption_type: HpkeEncryption;
2091
2381
  }
2092
2382
  /**
2093
- * The source asset, amount, and chain for a token transfer.
2094
- */
2095
- export interface TokenTransferSource {
2096
- /**
2097
- * Amount as a decimal string in the token's standard unit (e.g. "1.5" for 1.5
2098
- * USDC, "0.01" for 0.01 ETH). Not in the smallest on-chain unit (wei, lamports,
2099
- * etc.).
2100
- */
2101
- amount: string;
2102
- /**
2103
- * The asset to transfer. Supported: 'usdc', 'usdb', 'usdt' (stablecoins), 'eth'
2104
- * (native Ethereum), 'sol' (native Solana).
2105
- */
2106
- asset: string;
2107
- /**
2108
- * The blockchain network on which to perform the transfer. Supported chains
2109
- * include: 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and their
2110
- * respective testnets.
2111
- */
2112
- chain: string;
2113
- }
2114
- /**
2115
- * The destination address for a token transfer.
2116
- */
2117
- export interface TokenTransferDestination {
2118
- /**
2119
- * Recipient address (hex for EVM, base58 for Solana)
2120
- */
2121
- address: string;
2122
- }
2123
- /**
2124
- * Request body for initiating a sponsored token transfer from an embedded wallet.
2383
+ * Response from initializing a wallet import, containing the encryption public
2384
+ * key.
2125
2385
  */
2126
- export interface TransferRequestBody {
2127
- /**
2128
- * The destination address for a token transfer.
2129
- */
2130
- destination: TokenTransferDestination;
2386
+ export interface WalletImportInitResponse {
2387
+ encryption_public_key: string;
2131
2388
  /**
2132
- * The source asset, amount, and chain for a token transfer.
2389
+ * The encryption type of the wallet to import. Currently only supports `HPKE`.
2133
2390
  */
2134
- source: TokenTransferSource;
2135
- }
2136
- /**
2137
- * SUI transaction commands allowlist for raw_sign endpoint policy evaluation
2138
- */
2139
- export type SuiCommandName = 'TransferObjects' | 'SplitCoins' | 'MergeCoins';
2140
- /**
2141
- * A named asset on Ethereum-compatible chains.
2142
- */
2143
- export type WalletEthereumAsset = 'usdc' | 'usdc.e' | 'eth' | 'pol' | 'usdt' | 'eurc' | 'usdb';
2144
- /**
2145
- * A named asset on Solana.
2146
- */
2147
- export type WalletSolanaAsset = 'sol' | 'usdc' | 'eurc' | 'usdb';
2148
- /**
2149
- * A named asset supported across all chains.
2150
- */
2151
- export type WalletAsset = 'usdc' | 'usdc.e' | 'eth' | 'pol' | 'usdt' | 'eurc' | 'usdb' | 'sol';
2152
- /**
2153
- * Details for a sent transfer transaction.
2154
- */
2155
- export interface TransferSentTransactionDetail {
2156
- asset: 'usdc' | 'usdc.e' | 'eth' | 'pol' | 'usdt' | 'eurc' | 'usdb' | 'sol' | (string & {});
2157
- chain: 'ethereum' | 'arbitrum' | 'base' | 'tempo' | 'linea' | 'optimism' | 'polygon' | 'solana' | 'zksync_era' | 'sepolia' | 'arbitrum_sepolia' | 'base_sepolia' | 'linea_testnet' | 'optimism_sepolia' | 'polygon_amoy' | 'solana_devnet' | 'solana_testnet';
2158
- display_values: {
2159
- [key: string]: string;
2160
- };
2161
- raw_value: string;
2162
- raw_value_decimals: number;
2163
- recipient: string;
2164
- recipient_privy_user_id: string | null;
2165
- sender: string;
2166
- sender_privy_user_id: string | null;
2167
- type: 'transfer_sent';
2168
- }
2169
- /**
2170
- * Details for a received transfer transaction.
2171
- */
2172
- export interface TransferReceivedTransactionDetail {
2173
- asset: 'usdc' | 'usdc.e' | 'eth' | 'pol' | 'usdt' | 'eurc' | 'usdb' | 'sol' | (string & {});
2174
- chain: 'ethereum' | 'arbitrum' | 'base' | 'tempo' | 'linea' | 'optimism' | 'polygon' | 'solana' | 'zksync_era' | 'sepolia' | 'arbitrum_sepolia' | 'base_sepolia' | 'linea_testnet' | 'optimism_sepolia' | 'polygon_amoy' | 'solana_devnet' | 'solana_testnet';
2175
- display_values: {
2176
- [key: string]: string;
2177
- };
2178
- raw_value: string;
2179
- raw_value_decimals: number;
2180
- recipient: string;
2181
- recipient_privy_user_id: string | null;
2182
- sender: string;
2183
- sender_privy_user_id: string | null;
2184
- type: 'transfer_received';
2391
+ encryption_type: HpkeEncryption;
2392
+ import_id?: string;
2185
2393
  }
2186
2394
  /**
2187
- * Details of a wallet transaction, varying by transaction type.
2395
+ * The chain type of the wallet to import. Currently supports `ethereum` and
2396
+ * `solana`.
2188
2397
  */
2189
- export type TransactionDetail = TransferSentTransactionDetail | TransferReceivedTransactionDetail;
2398
+ export type WalletImportSupportedChains = 'ethereum' | 'solana';
2190
2399
  /**
2191
- * Input for registering or updating an application public signing key for
2192
- * API-based wallet actions.
2400
+ * The entropy type of the wallet to import. Supports `private-key` for raw private
2401
+ * keys and `hd` for HD wallet seed phrases.
2193
2402
  */
2194
- export interface WalletAPIRegisterAuthorizationKeyInput {
2195
- public_key: string;
2196
- display_name?: string;
2197
- /**
2198
- * The role of an authorization key, controlling what actions it can authorize on a
2199
- * wallet.
2200
- */
2201
- role?: AuthorizationKeyRole | null;
2202
- }
2403
+ export type WalletImportSupportedEntropyTypes = 'private-key' | 'hd';
2203
2404
  /**
2204
- * Input for revoking an application authorization key.
2405
+ * The response body from revoking a wallet delegation.
2205
2406
  */
2206
- export interface WalletAPIRevokeAuthorizationKeyInput {
2207
- id: string;
2407
+ export interface WalletRevokeResponse {
2408
+ message: string;
2208
2409
  }
2209
2410
  /**
2210
- * Dashboard response for a wallet authorization key (includes role, which is an
2211
- * internal-only concept).
2411
+ * Request body for wallet RPC operations, discriminated by method.
2212
2412
  */
2213
- export interface AuthorizationKeyDashboardResponse {
2214
- id: string;
2215
- created_at: number;
2216
- display_name: string | null;
2217
- public_key: string;
2218
- /**
2219
- * The role of an authorization key, controlling what actions it can authorize on a
2220
- * wallet.
2221
- */
2222
- role: AuthorizationKeyRole | null;
2223
- }
2413
+ export type WalletRpcRequestBody = EthereumSignTransactionRpcInput | EthereumSendTransactionRpcInput | EthereumPersonalSignRpcInput | EthereumSignTypedDataRpcInput | EthereumSecp256k1SignRpcInput | EthereumSign7702AuthorizationRpcInput | EthereumSignUserOperationRpcInput | EthereumSendCallsRpcInput | SolanaSignTransactionRpcInput | SolanaSignAndSendTransactionRpcInput | SolanaSignMessageRpcInput | SparkTransferRpcInput | SparkGetBalanceRpcInput | SparkTransferTokensRpcInput | SparkGetStaticDepositAddressRpcInput | SparkGetClaimStaticDepositQuoteRpcInput | SparkClaimStaticDepositRpcInput | SparkCreateLightningInvoiceRpcInput | SparkPayLightningInvoiceRpcInput | SparkSignMessageWithIdentityKeyRpcInput | ExportPrivateKeyRpcInput | ExportSeedPhraseRpcInput;
2224
2414
  /**
2225
- * Public-facing response for a wallet authorization key.
2415
+ * Response body for wallet RPC operations, discriminated by method.
2226
2416
  */
2227
- export interface AuthorizationKeyResponse {
2228
- id: string;
2229
- created_at: number;
2230
- display_name: string | null;
2231
- public_key: string;
2232
- }
2417
+ export type WalletRpcResponse = EthereumPersonalSignRpcResponse | EthereumSignTypedDataRpcResponse | EthereumSignTransactionRpcResponse | EthereumSendTransactionRpcResponse | EthereumSignUserOperationRpcResponse | EthereumSign7702AuthorizationRpcResponse | EthereumSecp256k1SignRpcResponse | EthereumSendCallsRpcResponse | SolanaSignMessageRpcResponse | SolanaSignTransactionRpcResponse | SolanaSignAndSendTransactionRpcResponse | SparkTransferRpcResponse | SparkGetBalanceRpcResponse | SparkTransferTokensRpcResponse | SparkGetStaticDepositAddressRpcResponse | SparkGetClaimStaticDepositQuoteRpcResponse | SparkClaimStaticDepositRpcResponse | SparkCreateLightningInvoiceRpcResponse | SparkPayLightningInvoiceRpcResponse | SparkSignMessageWithIdentityKeyRpcResponse | ExportPrivateKeyRpcResponse | ExportSeedPhraseRpcResponse;
2233
2418
  /**
2234
- * Headers required to authorize wallet operations.
2419
+ * A named asset on Solana.
2235
2420
  */
2236
- export interface WalletAuthorizationHeaders {
2237
- /**
2238
- * ID of your Privy app.
2239
- */
2240
- 'privy-app-id': string;
2241
- /**
2242
- * Request authorization signature. If multiple signatures are required, they
2243
- * should be comma separated.
2244
- */
2245
- 'privy-authorization-signature'?: string;
2421
+ export type WalletSolanaAsset = 'sol' | 'usdc' | 'eurc' | 'usdb';
2422
+ /**
2423
+ * Request body for updating a wallet.
2424
+ */
2425
+ export interface WalletUpdateRequestBody {
2246
2426
  /**
2247
- * Request expiry. Value is a Unix timestamp in milliseconds representing the
2248
- * deadline by which the request must be processed.
2427
+ * Additional signers for the wallet.
2249
2428
  */
2250
- 'privy-request-expiry'?: string;
2251
- }
2252
- export interface WalletInitImportResponse {
2429
+ additional_signers?: AdditionalSignerInput;
2253
2430
  /**
2254
- * The base64-encoded encryption public key to encrypt the wallet entropy with.
2431
+ * A human-readable label for the wallet. Set to null to clear.
2255
2432
  */
2256
- encryption_public_key: string;
2433
+ display_name?: string | null;
2257
2434
  /**
2258
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
2435
+ * The owner of the resource, specified as a Privy user ID, a P-256 public key, or
2436
+ * null to remove the current owner.
2259
2437
  */
2260
- encryption_type: HpkeEncryption;
2261
- }
2262
- export type WalletAuthenticateWithJwtResponse = WalletAuthenticateWithJwtResponse.WithEncryption | WalletAuthenticateWithJwtResponse.WithoutEncryption;
2263
- export declare namespace WalletAuthenticateWithJwtResponse {
2264
- interface WithEncryption {
2265
- /**
2266
- * The encrypted authorization key data.
2267
- */
2268
- encrypted_authorization_key: WithEncryption.EncryptedAuthorizationKey;
2269
- /**
2270
- * The expiration time of the authorization key in seconds since the epoch.
2271
- */
2272
- expires_at: number;
2273
- wallets: Array<WalletsAPI.Wallet>;
2274
- }
2275
- namespace WithEncryption {
2276
- /**
2277
- * The encrypted authorization key data.
2278
- */
2279
- interface EncryptedAuthorizationKey {
2280
- /**
2281
- * The encrypted authorization key corresponding to the user's current
2282
- * authentication session.
2283
- */
2284
- ciphertext: string;
2285
- /**
2286
- * Base64-encoded ephemeral public key used in the HPKE encryption process.
2287
- * Required for decryption.
2288
- */
2289
- encapsulated_key: string;
2290
- /**
2291
- * The encryption type used. Currently only supports HPKE.
2292
- */
2293
- encryption_type: 'HPKE';
2294
- }
2295
- }
2296
- interface WithoutEncryption {
2297
- /**
2298
- * The raw authorization key data.
2299
- */
2300
- authorization_key: string;
2301
- /**
2302
- * The expiration time of the authorization key in seconds since the epoch.
2303
- */
2304
- expires_at: number;
2305
- wallets: Array<WalletsAPI.Wallet>;
2306
- }
2307
- }
2308
- export interface WalletCreateWalletsWithRecoveryResponse {
2438
+ owner?: SharedAPI.OwnerInput | null;
2309
2439
  /**
2310
- * The ID of the created user.
2440
+ * The key quorum ID to set as the owner of the resource. If you provide this, do
2441
+ * not specify an owner.
2311
2442
  */
2312
- recovery_user_id: string;
2443
+ owner_id?: SharedAPI.OwnerIDInput | null;
2313
2444
  /**
2314
- * The wallets that were created.
2445
+ * New policy IDs to enforce on the wallet. Currently, only one policy is supported
2446
+ * per wallet.
2315
2447
  */
2316
- wallets: Array<Wallet>;
2448
+ policy_ids?: Array<string>;
2317
2449
  }
2318
2450
  export interface WalletCreateParams {
2319
2451
  /**
@@ -2354,6 +2486,41 @@ export interface WalletCreateParams {
2354
2486
  */
2355
2487
  'privy-idempotency-key'?: string;
2356
2488
  }
2489
+ export interface WalletUpdateParams {
2490
+ /**
2491
+ * Body param: Additional signers for the wallet.
2492
+ */
2493
+ additional_signers?: AdditionalSignerInput;
2494
+ /**
2495
+ * Body param: A human-readable label for the wallet. Set to null to clear.
2496
+ */
2497
+ display_name?: string | null;
2498
+ /**
2499
+ * Body param: The owner of the resource, specified as a Privy user ID, a P-256
2500
+ * public key, or null to remove the current owner.
2501
+ */
2502
+ owner?: SharedAPI.OwnerInput | null;
2503
+ /**
2504
+ * Body param: The key quorum ID to set as the owner of the resource. If you
2505
+ * provide this, do not specify an owner.
2506
+ */
2507
+ owner_id?: SharedAPI.OwnerIDInput | null;
2508
+ /**
2509
+ * Body param: New policy IDs to enforce on the wallet. Currently, only one policy
2510
+ * is supported per wallet.
2511
+ */
2512
+ policy_ids?: Array<string>;
2513
+ /**
2514
+ * Header param: Request authorization signature. If multiple signatures are
2515
+ * required, they should be comma separated.
2516
+ */
2517
+ 'privy-authorization-signature'?: string;
2518
+ /**
2519
+ * Header param: Request expiry. Value is a Unix timestamp in milliseconds
2520
+ * representing the deadline by which the request must be processed.
2521
+ */
2522
+ 'privy-request-expiry'?: string;
2523
+ }
2357
2524
  export interface WalletListParams extends CursorParams {
2358
2525
  /**
2359
2526
  * Filter wallets by authorization public key. Returns wallets owned by key quorums
@@ -2400,48 +2567,6 @@ export interface WalletExportParams {
2400
2567
  */
2401
2568
  'privy-request-expiry'?: string;
2402
2569
  }
2403
- export type WalletInitImportParams = WalletInitImportParams.HDInitInput | WalletInitImportParams.PrivateKeyInitInput;
2404
- export declare namespace WalletInitImportParams {
2405
- interface HDInitInput {
2406
- /**
2407
- * The address of the wallet to import.
2408
- */
2409
- address: string;
2410
- /**
2411
- * The chain type of the wallet to import. Currently supports `ethereum` and
2412
- * `solana`.
2413
- */
2414
- chain_type: WalletImportSupportedChains;
2415
- /**
2416
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
2417
- */
2418
- encryption_type: HpkeEncryption;
2419
- /**
2420
- * The entropy type of the wallet to import.
2421
- */
2422
- entropy_type: 'hd';
2423
- /**
2424
- * The index of the wallet to import.
2425
- */
2426
- index: number;
2427
- }
2428
- interface PrivateKeyInitInput {
2429
- /**
2430
- * The address of the wallet to import.
2431
- */
2432
- address: string;
2433
- /**
2434
- * The chain type of the wallet to import. Currently supports `ethereum` and
2435
- * `solana`.
2436
- */
2437
- chain_type: WalletImportSupportedChains;
2438
- /**
2439
- * The encryption type of the wallet to import. Currently only supports `HPKE`.
2440
- */
2441
- encryption_type: HpkeEncryption;
2442
- entropy_type: 'private-key';
2443
- }
2444
- }
2445
2570
  export interface WalletRawSignParams {
2446
2571
  /**
2447
2572
  * Body param: Parameters for the `raw_sign` RPC.
@@ -2523,6 +2648,10 @@ export declare namespace WalletRpcParams {
2523
2648
  * Body param
2524
2649
  */
2525
2650
  chain_type?: 'ethereum';
2651
+ /**
2652
+ * Body param: A hex-encoded string prefixed with '0x'.
2653
+ */
2654
+ experimental_data_suffix?: Hex;
2526
2655
  /**
2527
2656
  * Body param
2528
2657
  */
@@ -2757,6 +2886,10 @@ export declare namespace WalletRpcParams {
2757
2886
  * Body param
2758
2887
  */
2759
2888
  chain_type?: 'ethereum';
2889
+ /**
2890
+ * Body param: A hex-encoded string prefixed with '0x'.
2891
+ */
2892
+ experimental_data_suffix?: Hex;
2760
2893
  /**
2761
2894
  * Body param
2762
2895
  */
@@ -3218,130 +3351,9 @@ export declare namespace WalletRpcParams {
3218
3351
  'privy-request-expiry'?: string;
3219
3352
  }
3220
3353
  }
3221
- export interface WalletSubmitImportParams {
3222
- /**
3223
- * The submission input for importing an HD wallet.
3224
- */
3225
- wallet: HDSubmitInput | PrivateKeySubmitInput;
3226
- /**
3227
- * Additional signers for the wallet.
3228
- */
3229
- additional_signers?: AdditionalSignerInput;
3230
- /**
3231
- * A human-readable label for the wallet.
3232
- */
3233
- display_name?: string;
3234
- /**
3235
- * A customer-provided identifier for mapping to external systems. URL-safe
3236
- * characters only ([a-zA-Z0-9_-]), max 64 chars. Write-once: cannot be changed
3237
- * after creation.
3238
- */
3239
- external_id?: string;
3240
- /**
3241
- * The owner of the resource, specified as a Privy user ID, a P-256 public key, or
3242
- * null to remove the current owner.
3243
- */
3244
- owner?: SharedAPI.OwnerInput | null;
3245
- /**
3246
- * The key quorum ID to set as the owner of the resource. If you provide this, do
3247
- * not specify an owner.
3248
- */
3249
- owner_id?: SharedAPI.OwnerIDInput | null;
3250
- /**
3251
- * An optional list of up to one policy ID to enforce on the wallet.
3252
- */
3253
- policy_ids?: PolicyInput;
3254
- }
3255
- export interface WalletUpdateParams {
3256
- /**
3257
- * Body param: Additional signers for the wallet.
3258
- */
3259
- additional_signers?: AdditionalSignerInput;
3260
- /**
3261
- * Body param: A human-readable label for the wallet. Set to null to clear.
3262
- */
3263
- display_name?: string | null;
3264
- /**
3265
- * Body param: The owner of the resource, specified as a Privy user ID, a P-256
3266
- * public key, or null to remove the current owner.
3267
- */
3268
- owner?: SharedAPI.OwnerInput | null;
3269
- /**
3270
- * Body param: The key quorum ID to set as the owner of the resource. If you
3271
- * provide this, do not specify an owner.
3272
- */
3273
- owner_id?: SharedAPI.OwnerIDInput | null;
3274
- /**
3275
- * Body param: New policy IDs to enforce on the wallet. Currently, only one policy
3276
- * is supported per wallet.
3277
- */
3278
- policy_ids?: Array<string>;
3279
- /**
3280
- * Header param: Request authorization signature. If multiple signatures are
3281
- * required, they should be comma separated.
3282
- */
3283
- 'privy-authorization-signature'?: string;
3284
- /**
3285
- * Header param: Request expiry. Value is a Unix timestamp in milliseconds
3286
- * representing the deadline by which the request must be processed.
3287
- */
3288
- 'privy-request-expiry'?: string;
3289
- }
3290
- export interface WalletAuthenticateWithJwtParams {
3291
- /**
3292
- * The encryption type for the authentication response. Currently only supports
3293
- * HPKE.
3294
- */
3295
- encryption_type: 'HPKE';
3296
- /**
3297
- * The public key of your ECDH keypair, in base64-encoded, SPKI-format, whose
3298
- * private key will be able to decrypt the session key.
3299
- */
3300
- recipient_public_key: string;
3301
- /**
3302
- * The user's JWT, to be used to authenticate the user.
3303
- */
3304
- user_jwt: string;
3305
- }
3306
- export interface WalletCreateWalletsWithRecoveryParams {
3307
- primary_signer: WalletCreateWalletsWithRecoveryParams.PrimarySigner;
3308
- recovery_user: WalletCreateWalletsWithRecoveryParams.RecoveryUser;
3309
- wallets: Array<WalletCreateWalletsWithRecoveryParams.Wallet>;
3310
- }
3311
- export declare namespace WalletCreateWalletsWithRecoveryParams {
3312
- interface PrimarySigner {
3313
- /**
3314
- * The JWT subject ID of the user.
3315
- */
3316
- subject_id: string;
3317
- }
3318
- interface RecoveryUser {
3319
- linked_accounts: Array<UsersAPI.LinkedAccountEmailInput | UsersAPI.LinkedAccountCustomJwtInput>;
3320
- }
3321
- interface Wallet {
3322
- /**
3323
- * The wallet chain types.
3324
- */
3325
- chain_type: WalletsAPI.WalletChainType;
3326
- /**
3327
- * A human-readable label for the wallet.
3328
- */
3329
- display_name?: string;
3330
- /**
3331
- * A customer-provided identifier for mapping to external systems. URL-safe
3332
- * characters only ([a-zA-Z0-9_-]), max 64 chars. Write-once: cannot be changed
3333
- * after creation.
3334
- */
3335
- external_id?: string;
3336
- /**
3337
- * An optional list of up to one policy ID to enforce on the wallet.
3338
- */
3339
- policy_ids?: WalletsAPI.PolicyInput;
3340
- }
3341
- }
3342
3354
  export declare namespace Wallets {
3343
- export { type WalletRevokeResponse as WalletRevokeResponse, type CurveSigningChainType as CurveSigningChainType, type ExtendedChainType as ExtendedChainType, type FirstClassChainType as FirstClassChainType, type WalletChainType as WalletChainType, type AuthorizationKeyRole as AuthorizationKeyRole, type WalletEntropyType as WalletEntropyType, type SolanaWalletDerivationStrategy as SolanaWalletDerivationStrategy, type PolicyInput as PolicyInput, type AdditionalSignerItemInput as AdditionalSignerItemInput, type AdditionalSignerInput as AdditionalSignerInput, type WalletAdditionalSignerItem as WalletAdditionalSignerItem, type WalletAdditionalSigner as WalletAdditionalSigner, type Address as Address, type WalletCustodian as WalletCustodian, type CustodialWalletProvider as CustodialWalletProvider, type CustodialWalletChainType as CustodialWalletChainType, type CustodialWalletCreateInput as CustodialWalletCreateInput, type CustodialWallet as CustodialWallet, type HpkeEncryption as HpkeEncryption, type RecipientPublicKey as RecipientPublicKey, type ExportType as ExportType, type PrivateKeyExportInput as PrivateKeyExportInput, type PrivateKeyExportResponse as PrivateKeyExportResponse, type SeedPhraseExportInput as SeedPhraseExportInput, type SeedPhraseExportResponse as SeedPhraseExportResponse, type WalletImportSupportedChains as WalletImportSupportedChains, type WalletImportSupportedEntropyTypes as WalletImportSupportedEntropyTypes, type WalletImportInitResponse as WalletImportInitResponse, type HpkeAeadAlgorithm as HpkeAeadAlgorithm, type HpkeImportConfig as HpkeImportConfig, type CurveType as CurveType, type HDPath as HDPath, type SigningAlgorithm as SigningAlgorithm, type Hex as Hex, type Quantity as Quantity, type ExportPrivateKeyRpcInput as ExportPrivateKeyRpcInput, type ExportPrivateKeyRpcResponse as ExportPrivateKeyRpcResponse, type ExportSeedPhraseRpcInput as ExportSeedPhraseRpcInput, type ExportSeedPhraseRpcResponse as ExportSeedPhraseRpcResponse, type RawSignHashParams as RawSignHashParams, type RawSignBytesEncoding as RawSignBytesEncoding, type RawSignBytesHashFunction as RawSignBytesHashFunction, type RawSignBytesParams as RawSignBytesParams, type RawSignInputParams as RawSignInputParams, type RawSignInput as RawSignInput, type RawSignResponseData as RawSignResponseData, type RawSignResponse as RawSignResponse, type EthereumSign7702Authorization as EthereumSign7702Authorization, type UnsignedEthereumTransaction as UnsignedEthereumTransaction, type UserOperationInput as UserOperationInput, type TypedDataDomainInputParams as TypedDataDomainInputParams, type TypedDataTypeFieldInput as TypedDataTypeFieldInput, type TypedDataTypesInputParams as TypedDataTypesInputParams, type EthereumPersonalSignRpcInputParams as EthereumPersonalSignRpcInputParams, type EthereumPersonalSignRpcInput as EthereumPersonalSignRpcInput, type EthereumSignTransactionRpcInputParams as EthereumSignTransactionRpcInputParams, type EthereumSignTransactionRpcInput as EthereumSignTransactionRpcInput, type EthereumSendTransactionRpcInputParams as EthereumSendTransactionRpcInputParams, type EthereumSendTransactionRpcInput as EthereumSendTransactionRpcInput, type EthereumTypedDataInput as EthereumTypedDataInput, type EthereumSignTypedDataRpcInputParams as EthereumSignTypedDataRpcInputParams, type EthereumSignTypedDataRpcInput as EthereumSignTypedDataRpcInput, type EthereumSecp256k1SignRpcInputParams as EthereumSecp256k1SignRpcInputParams, type EthereumSecp256k1SignRpcInput as EthereumSecp256k1SignRpcInput, type EthereumSign7702AuthorizationRpcInputParams as EthereumSign7702AuthorizationRpcInputParams, type EthereumSign7702AuthorizationRpcInput as EthereumSign7702AuthorizationRpcInput, type EthereumSignUserOperationRpcInputParams as EthereumSignUserOperationRpcInputParams, type EthereumSignUserOperationRpcInput as EthereumSignUserOperationRpcInput, type EthereumSendCallsCall as EthereumSendCallsCall, type EthereumSendCallsRpcInputParams as EthereumSendCallsRpcInputParams, type EthereumSendCallsRpcInput as EthereumSendCallsRpcInput, type EthereumRpcInput as EthereumRpcInput, type EthereumPersonalSignRpcResponseData as EthereumPersonalSignRpcResponseData, type EthereumPersonalSignRpcResponse as EthereumPersonalSignRpcResponse, type EthereumSignTransactionRpcResponseData as EthereumSignTransactionRpcResponseData, type EthereumSignTransactionRpcResponse as EthereumSignTransactionRpcResponse, type EthereumSendTransactionRpcResponseData as EthereumSendTransactionRpcResponseData, type EthereumSendTransactionRpcResponse as EthereumSendTransactionRpcResponse, type EthereumSignTypedDataRpcResponseData as EthereumSignTypedDataRpcResponseData, type EthereumSignTypedDataRpcResponse as EthereumSignTypedDataRpcResponse, type EthereumSecp256k1SignRpcResponseData as EthereumSecp256k1SignRpcResponseData, type EthereumSecp256k1SignRpcResponse as EthereumSecp256k1SignRpcResponse, type EthereumSign7702AuthorizationRpcResponseData as EthereumSign7702AuthorizationRpcResponseData, type EthereumSign7702AuthorizationRpcResponse as EthereumSign7702AuthorizationRpcResponse, type EthereumSignUserOperationRpcResponseData as EthereumSignUserOperationRpcResponseData, type EthereumSignUserOperationRpcResponse as EthereumSignUserOperationRpcResponse, type EthereumSendCallsRpcResponseData as EthereumSendCallsRpcResponseData, type EthereumSendCallsRpcResponse as EthereumSendCallsRpcResponse, type EthereumRpcResponse as EthereumRpcResponse, type SolanaSignTransactionRpcInputParams as SolanaSignTransactionRpcInputParams, type SolanaSignTransactionRpcInput as SolanaSignTransactionRpcInput, type SolanaSignAndSendTransactionRpcInputParams as SolanaSignAndSendTransactionRpcInputParams, type SolanaSignAndSendTransactionRpcInput as SolanaSignAndSendTransactionRpcInput, type SolanaSignMessageRpcInputParams as SolanaSignMessageRpcInputParams, type SolanaSignMessageRpcInput as SolanaSignMessageRpcInput, type SolanaRpcInput as SolanaRpcInput, type SolanaSignTransactionRpcResponseData as SolanaSignTransactionRpcResponseData, type SolanaSignTransactionRpcResponse as SolanaSignTransactionRpcResponse, type SolanaSignAndSendTransactionRpcResponseData as SolanaSignAndSendTransactionRpcResponseData, type SolanaSignAndSendTransactionRpcResponse as SolanaSignAndSendTransactionRpcResponse, type SolanaSignMessageRpcResponseData as SolanaSignMessageRpcResponseData, type SolanaSignMessageRpcResponse as SolanaSignMessageRpcResponse, type SolanaRpcResponse as SolanaRpcResponse, type SparkNetwork as SparkNetwork, type SparkSigningKeyshare as SparkSigningKeyshare, type SparkWalletLeaf as SparkWalletLeaf, type SparkTransferLeaf as SparkTransferLeaf, type SparkTransfer as SparkTransfer, type SparkUserTokenMetadata as SparkUserTokenMetadata, type SparkTokenBalance as SparkTokenBalance, type SparkBalance as SparkBalance, type TokenOutput as TokenOutput, type OutputWithPreviousTransactionData as OutputWithPreviousTransactionData, type SparkLightningFee as SparkLightningFee, type SparkLightningReceiveRequest as SparkLightningReceiveRequest, type SparkLightningSendRequest as SparkLightningSendRequest, type SparkTransferRpcInputParams as SparkTransferRpcInputParams, type SparkTransferRpcInput as SparkTransferRpcInput, type SparkGetBalanceRpcInput as SparkGetBalanceRpcInput, type SparkOutputSelectionStrategy as SparkOutputSelectionStrategy, type SparkTransferTokensRpcInputParams as SparkTransferTokensRpcInputParams, type SparkTransferTokensRpcInput as SparkTransferTokensRpcInput, type SparkGetStaticDepositAddressRpcInput as SparkGetStaticDepositAddressRpcInput, type SparkGetClaimStaticDepositQuoteRpcInputParams as SparkGetClaimStaticDepositQuoteRpcInputParams, type SparkGetClaimStaticDepositQuoteRpcInput as SparkGetClaimStaticDepositQuoteRpcInput, type SparkClaimStaticDepositRpcInputParams as SparkClaimStaticDepositRpcInputParams, type SparkClaimStaticDepositRpcInput as SparkClaimStaticDepositRpcInput, type SparkCreateLightningInvoiceRpcInputParams as SparkCreateLightningInvoiceRpcInputParams, type SparkCreateLightningInvoiceRpcInput as SparkCreateLightningInvoiceRpcInput, type SparkPayLightningInvoiceRpcInputParams as SparkPayLightningInvoiceRpcInputParams, type SparkPayLightningInvoiceRpcInput as SparkPayLightningInvoiceRpcInput, type SparkSignMessageWithIdentityKeyRpcInputParams as SparkSignMessageWithIdentityKeyRpcInputParams, type SparkSignMessageWithIdentityKeyRpcInput as SparkSignMessageWithIdentityKeyRpcInput, type SparkRpcInput as SparkRpcInput, type SparkTransferRpcResponse as SparkTransferRpcResponse, type SparkGetBalanceRpcResponse as SparkGetBalanceRpcResponse, type SparkTransferTokensRpcResponseData as SparkTransferTokensRpcResponseData, type SparkTransferTokensRpcResponse as SparkTransferTokensRpcResponse, type SparkGetStaticDepositAddressRpcResponseData as SparkGetStaticDepositAddressRpcResponseData, type SparkGetStaticDepositAddressRpcResponse as SparkGetStaticDepositAddressRpcResponse, type SparkGetClaimStaticDepositQuoteRpcResponseData as SparkGetClaimStaticDepositQuoteRpcResponseData, type SparkGetClaimStaticDepositQuoteRpcResponse as SparkGetClaimStaticDepositQuoteRpcResponse, type SparkClaimStaticDepositRpcResponseData as SparkClaimStaticDepositRpcResponseData, type SparkClaimStaticDepositRpcResponse as SparkClaimStaticDepositRpcResponse, type SparkCreateLightningInvoiceRpcResponse as SparkCreateLightningInvoiceRpcResponse, type SparkPayLightningInvoiceRpcResponse as SparkPayLightningInvoiceRpcResponse, type SparkSignMessageWithIdentityKeyRpcResponseData as SparkSignMessageWithIdentityKeyRpcResponseData, type SparkSignMessageWithIdentityKeyRpcResponse as SparkSignMessageWithIdentityKeyRpcResponse, type SparkRpcResponse as SparkRpcResponse, type Wallet as Wallet, type GetByWalletAddressRequestBody as GetByWalletAddressRequestBody, type WalletUpdateRequestBody as WalletUpdateRequestBody, type WalletBatchItemInput as WalletBatchItemInput, type WalletBatchCreateInput as WalletBatchCreateInput, type WalletBatchCreateResult as WalletBatchCreateResult, type WalletBatchCreateResponse as WalletBatchCreateResponse, type WalletRpcRequestBody as WalletRpcRequestBody, type WalletRpcResponse as WalletRpcResponse, type WalletAuthenticateRequestBody as WalletAuthenticateRequestBody, type PrivateKeyInitInput as PrivateKeyInitInput, type HDInitInput as HDInitInput, type PrivateKeySubmitInput as PrivateKeySubmitInput, type HDSubmitInput as HDSubmitInput, type WalletExportRequestBody as WalletExportRequestBody, type WalletExportResponseBody as WalletExportResponseBody, type TokenTransferSource as TokenTransferSource, type TokenTransferDestination as TokenTransferDestination, type TransferRequestBody as TransferRequestBody, type SuiCommandName as SuiCommandName, type WalletEthereumAsset as WalletEthereumAsset, type WalletSolanaAsset as WalletSolanaAsset, type WalletAsset as WalletAsset, type TransferSentTransactionDetail as TransferSentTransactionDetail, type TransferReceivedTransactionDetail as TransferReceivedTransactionDetail, type TransactionDetail as TransactionDetail, type WalletAPIRegisterAuthorizationKeyInput as WalletAPIRegisterAuthorizationKeyInput, type WalletAPIRevokeAuthorizationKeyInput as WalletAPIRevokeAuthorizationKeyInput, type AuthorizationKeyDashboardResponse as AuthorizationKeyDashboardResponse, type AuthorizationKeyResponse as AuthorizationKeyResponse, type WalletAuthorizationHeaders as WalletAuthorizationHeaders, type WalletInitImportResponse as WalletInitImportResponse, type WalletAuthenticateWithJwtResponse as WalletAuthenticateWithJwtResponse, type WalletCreateWalletsWithRecoveryResponse as WalletCreateWalletsWithRecoveryResponse, type WalletsCursor as WalletsCursor, type WalletCreateParams as WalletCreateParams, type WalletListParams as WalletListParams, type WalletExportParams as WalletExportParams, type WalletInitImportParams as WalletInitImportParams, type WalletRawSignParams as WalletRawSignParams, type WalletRpcParams as WalletRpcParams, type WalletSubmitImportParams as WalletSubmitImportParams, type WalletUpdateParams as WalletUpdateParams, type WalletAuthenticateWithJwtParams as WalletAuthenticateWithJwtParams, type WalletCreateWalletsWithRecoveryParams as WalletCreateWalletsWithRecoveryParams, };
3344
- export { Transactions as Transactions, type TransactionGetResponse as TransactionGetResponse, type TransactionGetParams as TransactionGetParams, };
3355
+ export { type AdditionalSignerInput as AdditionalSignerInput, type AdditionalSignerItemInput as AdditionalSignerItemInput, type Address as Address, type AmountType as AmountType, type AuthorizationKeyDashboardResponse as AuthorizationKeyDashboardResponse, type AuthorizationKeyResponse as AuthorizationKeyResponse, type AuthorizationKeyRole as AuthorizationKeyRole, type CurveSigningChainType as CurveSigningChainType, type CurveType as CurveType, type CustodialWallet as CustodialWallet, type CustodialWalletChainType as CustodialWalletChainType, type CustodialWalletCreateInput as CustodialWalletCreateInput, type CustodialWalletProvider as CustodialWalletProvider, type CustomTokenTransferSource as CustomTokenTransferSource, type EthereumPersonalSignRpcInput as EthereumPersonalSignRpcInput, type EthereumPersonalSignRpcInputParams as EthereumPersonalSignRpcInputParams, type EthereumPersonalSignRpcResponse as EthereumPersonalSignRpcResponse, type EthereumPersonalSignRpcResponseData as EthereumPersonalSignRpcResponseData, type EthereumRpcInput as EthereumRpcInput, type EthereumRpcResponse as EthereumRpcResponse, type EthereumSecp256k1SignRpcInput as EthereumSecp256k1SignRpcInput, type EthereumSecp256k1SignRpcInputParams as EthereumSecp256k1SignRpcInputParams, type EthereumSecp256k1SignRpcResponse as EthereumSecp256k1SignRpcResponse, type EthereumSecp256k1SignRpcResponseData as EthereumSecp256k1SignRpcResponseData, type EthereumSendCallsCall as EthereumSendCallsCall, type EthereumSendCallsRpcInput as EthereumSendCallsRpcInput, type EthereumSendCallsRpcInputParams as EthereumSendCallsRpcInputParams, type EthereumSendCallsRpcResponse as EthereumSendCallsRpcResponse, type EthereumSendCallsRpcResponseData as EthereumSendCallsRpcResponseData, type EthereumSendTransactionRpcInput as EthereumSendTransactionRpcInput, type EthereumSendTransactionRpcInputParams as EthereumSendTransactionRpcInputParams, type EthereumSendTransactionRpcResponse as EthereumSendTransactionRpcResponse, type EthereumSendTransactionRpcResponseData as EthereumSendTransactionRpcResponseData, type EthereumSign7702Authorization as EthereumSign7702Authorization, type EthereumSign7702AuthorizationRpcInput as EthereumSign7702AuthorizationRpcInput, type EthereumSign7702AuthorizationRpcInputParams as EthereumSign7702AuthorizationRpcInputParams, type EthereumSign7702AuthorizationRpcResponse as EthereumSign7702AuthorizationRpcResponse, type EthereumSign7702AuthorizationRpcResponseData as EthereumSign7702AuthorizationRpcResponseData, type EthereumSignTransactionRpcInput as EthereumSignTransactionRpcInput, type EthereumSignTransactionRpcInputParams as EthereumSignTransactionRpcInputParams, type EthereumSignTransactionRpcResponse as EthereumSignTransactionRpcResponse, type EthereumSignTransactionRpcResponseData as EthereumSignTransactionRpcResponseData, type EthereumSignTypedDataRpcInput as EthereumSignTypedDataRpcInput, type EthereumSignTypedDataRpcInputParams as EthereumSignTypedDataRpcInputParams, type EthereumSignTypedDataRpcResponse as EthereumSignTypedDataRpcResponse, type EthereumSignTypedDataRpcResponseData as EthereumSignTypedDataRpcResponseData, type EthereumSignUserOperationRpcInput as EthereumSignUserOperationRpcInput, type EthereumSignUserOperationRpcInputParams as EthereumSignUserOperationRpcInputParams, type EthereumSignUserOperationRpcResponse as EthereumSignUserOperationRpcResponse, type EthereumSignUserOperationRpcResponseData as EthereumSignUserOperationRpcResponseData, type EthereumTypedDataInput as EthereumTypedDataInput, type ExportPrivateKeyRpcInput as ExportPrivateKeyRpcInput, type ExportPrivateKeyRpcResponse as ExportPrivateKeyRpcResponse, type ExportSeedPhraseRpcInput as ExportSeedPhraseRpcInput, type ExportSeedPhraseRpcResponse as ExportSeedPhraseRpcResponse, type ExportType as ExportType, type ExtendedChainType as ExtendedChainType, type FirstClassChainType as FirstClassChainType, type GetByWalletAddressRequestBody as GetByWalletAddressRequestBody, type HDInitInput as HDInitInput, type HDPath as HDPath, type HDSubmitInput as HDSubmitInput, type HpkeAeadAlgorithm as HpkeAeadAlgorithm, type HpkeEncryption as HpkeEncryption, type HpkeImportConfig as HpkeImportConfig, type Hex as Hex, type NamedTokenTransferSource as NamedTokenTransferSource, type OutputWithPreviousTransactionData as OutputWithPreviousTransactionData, type PolicyInput as PolicyInput, type PrivateKeyExportInput as PrivateKeyExportInput, type PrivateKeyExportResponse as PrivateKeyExportResponse, type PrivateKeyInitInput as PrivateKeyInitInput, type PrivateKeySubmitInput as PrivateKeySubmitInput, type Quantity as Quantity, type RawSignBytesEncoding as RawSignBytesEncoding, type RawSignBytesHashFunction as RawSignBytesHashFunction, type RawSignBytesParams as RawSignBytesParams, type RawSignHashParams as RawSignHashParams, type RawSignInput as RawSignInput, type RawSignInputParams as RawSignInputParams, type RawSignResponse as RawSignResponse, type RawSignResponseData as RawSignResponseData, type RecipientPublicKey as RecipientPublicKey, type SeedPhraseExportInput as SeedPhraseExportInput, type SeedPhraseExportResponse as SeedPhraseExportResponse, type SigningAlgorithm as SigningAlgorithm, type SolanaRpcInput as SolanaRpcInput, type SolanaRpcResponse as SolanaRpcResponse, type SolanaSignAndSendTransactionRpcInput as SolanaSignAndSendTransactionRpcInput, type SolanaSignAndSendTransactionRpcInputParams as SolanaSignAndSendTransactionRpcInputParams, type SolanaSignAndSendTransactionRpcResponse as SolanaSignAndSendTransactionRpcResponse, type SolanaSignAndSendTransactionRpcResponseData as SolanaSignAndSendTransactionRpcResponseData, type SolanaSignMessageRpcInput as SolanaSignMessageRpcInput, type SolanaSignMessageRpcInputParams as SolanaSignMessageRpcInputParams, type SolanaSignMessageRpcResponse as SolanaSignMessageRpcResponse, type SolanaSignMessageRpcResponseData as SolanaSignMessageRpcResponseData, type SolanaSignTransactionRpcInput as SolanaSignTransactionRpcInput, type SolanaSignTransactionRpcInputParams as SolanaSignTransactionRpcInputParams, type SolanaSignTransactionRpcResponse as SolanaSignTransactionRpcResponse, type SolanaSignTransactionRpcResponseData as SolanaSignTransactionRpcResponseData, type SolanaWalletDerivationStrategy as SolanaWalletDerivationStrategy, type SparkBalance as SparkBalance, type SparkClaimStaticDepositRpcInput as SparkClaimStaticDepositRpcInput, type SparkClaimStaticDepositRpcInputParams as SparkClaimStaticDepositRpcInputParams, type SparkClaimStaticDepositRpcResponse as SparkClaimStaticDepositRpcResponse, type SparkClaimStaticDepositRpcResponseData as SparkClaimStaticDepositRpcResponseData, type SparkCreateLightningInvoiceRpcInput as SparkCreateLightningInvoiceRpcInput, type SparkCreateLightningInvoiceRpcInputParams as SparkCreateLightningInvoiceRpcInputParams, type SparkCreateLightningInvoiceRpcResponse as SparkCreateLightningInvoiceRpcResponse, type SparkGetBalanceRpcInput as SparkGetBalanceRpcInput, type SparkGetBalanceRpcResponse as SparkGetBalanceRpcResponse, type SparkGetClaimStaticDepositQuoteRpcInput as SparkGetClaimStaticDepositQuoteRpcInput, type SparkGetClaimStaticDepositQuoteRpcInputParams as SparkGetClaimStaticDepositQuoteRpcInputParams, type SparkGetClaimStaticDepositQuoteRpcResponse as SparkGetClaimStaticDepositQuoteRpcResponse, type SparkGetClaimStaticDepositQuoteRpcResponseData as SparkGetClaimStaticDepositQuoteRpcResponseData, type SparkGetStaticDepositAddressRpcInput as SparkGetStaticDepositAddressRpcInput, type SparkGetStaticDepositAddressRpcResponse as SparkGetStaticDepositAddressRpcResponse, type SparkGetStaticDepositAddressRpcResponseData as SparkGetStaticDepositAddressRpcResponseData, type SparkLightningFee as SparkLightningFee, type SparkLightningReceiveRequest as SparkLightningReceiveRequest, type SparkLightningSendRequest as SparkLightningSendRequest, type SparkNetwork as SparkNetwork, type SparkOutputSelectionStrategy as SparkOutputSelectionStrategy, type SparkPayLightningInvoiceRpcInput as SparkPayLightningInvoiceRpcInput, type SparkPayLightningInvoiceRpcInputParams as SparkPayLightningInvoiceRpcInputParams, type SparkPayLightningInvoiceRpcResponse as SparkPayLightningInvoiceRpcResponse, type SparkRpcInput as SparkRpcInput, type SparkRpcResponse as SparkRpcResponse, type SparkSignMessageWithIdentityKeyRpcInput as SparkSignMessageWithIdentityKeyRpcInput, type SparkSignMessageWithIdentityKeyRpcInputParams as SparkSignMessageWithIdentityKeyRpcInputParams, type SparkSignMessageWithIdentityKeyRpcResponse as SparkSignMessageWithIdentityKeyRpcResponse, type SparkSignMessageWithIdentityKeyRpcResponseData as SparkSignMessageWithIdentityKeyRpcResponseData, type SparkSigningKeyshare as SparkSigningKeyshare, type SparkTokenBalance as SparkTokenBalance, type SparkTransfer as SparkTransfer, type SparkTransferLeaf as SparkTransferLeaf, type SparkTransferRpcInput as SparkTransferRpcInput, type SparkTransferRpcInputParams as SparkTransferRpcInputParams, type SparkTransferRpcResponse as SparkTransferRpcResponse, type SparkTransferTokensRpcInput as SparkTransferTokensRpcInput, type SparkTransferTokensRpcInputParams as SparkTransferTokensRpcInputParams, type SparkTransferTokensRpcResponse as SparkTransferTokensRpcResponse, type SparkTransferTokensRpcResponseData as SparkTransferTokensRpcResponseData, type SparkUserTokenMetadata as SparkUserTokenMetadata, type SparkWalletLeaf as SparkWalletLeaf, type SuiCommandName as SuiCommandName, type TempoAaAuthorization as TempoAaAuthorization, type TempoCall as TempoCall, type TempoFeePayerSignature as TempoFeePayerSignature, type TokenOutput as TokenOutput, type TokenTransferDestination as TokenTransferDestination, type TokenTransferSource as TokenTransferSource, type TransactionDetail as TransactionDetail, type TransactionTokenAddressInput as TransactionTokenAddressInput, type TransferReceivedTransactionDetail as TransferReceivedTransactionDetail, type TransferRequestBody as TransferRequestBody, type TransferSentTransactionDetail as TransferSentTransactionDetail, type TypedDataDomainInputParams as TypedDataDomainInputParams, type TypedDataTypeFieldInput as TypedDataTypeFieldInput, type TypedDataTypesInputParams as TypedDataTypesInputParams, type UnsignedEthereumTransaction as UnsignedEthereumTransaction, type UnsignedStandardEthereumTransaction as UnsignedStandardEthereumTransaction, type UnsignedTempoTransaction as UnsignedTempoTransaction, type UserOperationInput as UserOperationInput, type Wallet as Wallet, type WalletAdditionalSigner as WalletAdditionalSigner, type WalletAdditionalSignerItem as WalletAdditionalSignerItem, type WalletAPIRegisterAuthorizationKeyInput as WalletAPIRegisterAuthorizationKeyInput, type WalletAPIRevokeAuthorizationKeyInput as WalletAPIRevokeAuthorizationKeyInput, type WalletAsset as WalletAsset, type WalletAuthenticateRequestBody as WalletAuthenticateRequestBody, type WalletAuthenticateWithJwtResponse as WalletAuthenticateWithJwtResponse, type WalletAuthorizationHeaders as WalletAuthorizationHeaders, type WalletBatchCreateInput as WalletBatchCreateInput, type WalletBatchCreateResponse as WalletBatchCreateResponse, type WalletBatchCreateResult as WalletBatchCreateResult, type WalletBatchItemInput as WalletBatchItemInput, type WalletChainType as WalletChainType, type WalletCreateWalletsWithRecoveryResponse as WalletCreateWalletsWithRecoveryResponse, type WalletCustodian as WalletCustodian, type WalletEntropyType as WalletEntropyType, type WalletEthereumAsset as WalletEthereumAsset, type WalletExportRequestBody as WalletExportRequestBody, type WalletExportResponseBody as WalletExportResponseBody, type WalletImportInitResponse as WalletImportInitResponse, type WalletImportSupportedChains as WalletImportSupportedChains, type WalletImportSupportedEntropyTypes as WalletImportSupportedEntropyTypes, type WalletRevokeResponse as WalletRevokeResponse, type WalletRpcRequestBody as WalletRpcRequestBody, type WalletRpcResponse as WalletRpcResponse, type WalletSolanaAsset as WalletSolanaAsset, type WalletUpdateRequestBody as WalletUpdateRequestBody, type WalletsCursor as WalletsCursor, type WalletCreateParams as WalletCreateParams, type WalletUpdateParams as WalletUpdateParams, type WalletListParams as WalletListParams, type WalletExportParams as WalletExportParams, type WalletRawSignParams as WalletRawSignParams, type WalletRpcParams as WalletRpcParams, };
3345
3356
  export { Balance as Balance, type BalanceGetResponse as BalanceGetResponse, type BalanceGetParams as BalanceGetParams, };
3357
+ export { Transactions as Transactions, type TransactionGetResponse as TransactionGetResponse, type TransactionGetParams as TransactionGetParams, };
3346
3358
  }
3347
3359
  //# sourceMappingURL=wallets.d.ts.map