@coinbase/cdp-sdk 1.44.1 → 1.46.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 (282) hide show
  1. package/CHANGELOG.md +28 -2
  2. package/README.md +164 -43
  3. package/_cjs/accounts/evm/eip6492.js +49 -0
  4. package/_cjs/accounts/evm/eip6492.js.map +1 -0
  5. package/_cjs/accounts/evm/toEvmDelegatedAccount.js +27 -0
  6. package/_cjs/accounts/evm/toEvmDelegatedAccount.js.map +1 -0
  7. package/_cjs/accounts/evm/toEvmServerAccount.js +127 -55
  8. package/_cjs/accounts/evm/toEvmServerAccount.js.map +1 -1
  9. package/_cjs/accounts/evm/toEvmSmartAccount.js +115 -45
  10. package/_cjs/accounts/evm/toEvmSmartAccount.js.map +1 -1
  11. package/_cjs/accounts/evm/toNetworkScopedEvmSmartAccount.js +31 -0
  12. package/_cjs/accounts/evm/toNetworkScopedEvmSmartAccount.js.map +1 -1
  13. package/_cjs/accounts/solana/toSolanaAccount.js +49 -19
  14. package/_cjs/accounts/solana/toSolanaAccount.js.map +1 -1
  15. package/_cjs/actions/evm/waitForEvmEip7702DelegationStatus.js +37 -0
  16. package/_cjs/actions/evm/waitForEvmEip7702DelegationStatus.js.map +1 -0
  17. package/_cjs/actions/solana/transfer.js.map +1 -1
  18. package/_cjs/actions/solana/utils.js +9 -9
  19. package/_cjs/actions/solana/utils.js.map +1 -1
  20. package/_cjs/analytics.js +10 -228
  21. package/_cjs/analytics.js.map +1 -1
  22. package/_cjs/auth/utils/http.js +1 -0
  23. package/_cjs/auth/utils/http.js.map +1 -1
  24. package/_cjs/client/cdp.js +4 -7
  25. package/_cjs/client/cdp.js.map +1 -1
  26. package/_cjs/client/end-user/endUser.js +385 -4
  27. package/_cjs/client/end-user/endUser.js.map +1 -1
  28. package/_cjs/client/end-user/toEndUserAccount.js +201 -23
  29. package/_cjs/client/end-user/toEndUserAccount.js.map +1 -1
  30. package/_cjs/client/evm/evm.js +482 -227
  31. package/_cjs/client/evm/evm.js.map +1 -1
  32. package/_cjs/client/policies/policies.js +41 -11
  33. package/_cjs/client/policies/policies.js.map +1 -1
  34. package/_cjs/client/solana/solana.js +215 -118
  35. package/_cjs/client/solana/solana.js.map +1 -1
  36. package/_cjs/index.js +3 -1
  37. package/_cjs/index.js.map +1 -1
  38. package/_cjs/openapi-client/cdpApiClient.js +32 -0
  39. package/_cjs/openapi-client/cdpApiClient.js.map +1 -1
  40. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +178 -9
  41. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  42. package/_cjs/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.js +261 -0
  43. package/_cjs/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.js.map +1 -0
  44. package/_cjs/openapi-client/generated/end-user-accounts/end-user-accounts.js.map +1 -1
  45. package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.js +30 -1
  46. package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.js.map +1 -1
  47. package/_cjs/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js +2 -2
  48. package/_cjs/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js.map +1 -1
  49. package/_cjs/openapi-client/generated/evm-swaps/evm-swaps.js.map +1 -1
  50. package/_cjs/openapi-client/generated/evm-token-balances/evm-token-balances.js.map +1 -1
  51. package/_cjs/openapi-client/generated/faucets/faucets.js +6 -5
  52. package/_cjs/openapi-client/generated/faucets/faucets.js.map +1 -1
  53. package/_cjs/openapi-client/generated/onchain-data/onchain-data.js.map +1 -1
  54. package/_cjs/openapi-client/generated/onramp/onramp.js +15 -1
  55. package/_cjs/openapi-client/generated/onramp/onramp.js.map +1 -1
  56. package/_cjs/openapi-client/generated/policy-engine/policy-engine.js.map +1 -1
  57. package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.js.map +1 -1
  58. package/_cjs/openapi-client/generated/solana-token-balances/solana-token-balances.js.map +1 -1
  59. package/_cjs/openapi-client/generated/sql-api/sql-api.js +75 -0
  60. package/_cjs/openapi-client/generated/sql-api/sql-api.js.map +1 -0
  61. package/_cjs/openapi-client/generated/webhooks/webhooks.js.map +1 -1
  62. package/_cjs/openapi-client/generated/x402-facilitator/x402-facilitator.js.map +1 -1
  63. package/_cjs/openapi-client/index.js +4 -1
  64. package/_cjs/openapi-client/index.js.map +1 -1
  65. package/_cjs/policies/evmSchema.js +127 -1
  66. package/_cjs/policies/evmSchema.js.map +1 -1
  67. package/_cjs/policies/solanaSchema.js +102 -1
  68. package/_cjs/policies/solanaSchema.js.map +1 -1
  69. package/_cjs/policies/types.js +7 -0
  70. package/_cjs/policies/types.js.map +1 -1
  71. package/_cjs/utils/export.js +6 -5
  72. package/_cjs/utils/export.js.map +1 -1
  73. package/_cjs/version.js +1 -1
  74. package/_esm/accounts/evm/eip6492.js +46 -0
  75. package/_esm/accounts/evm/eip6492.js.map +1 -0
  76. package/_esm/accounts/evm/toEvmDelegatedAccount.js +24 -0
  77. package/_esm/accounts/evm/toEvmDelegatedAccount.js.map +1 -0
  78. package/_esm/accounts/evm/toEvmServerAccount.js +127 -55
  79. package/_esm/accounts/evm/toEvmServerAccount.js.map +1 -1
  80. package/_esm/accounts/evm/toEvmSmartAccount.js +115 -45
  81. package/_esm/accounts/evm/toEvmSmartAccount.js.map +1 -1
  82. package/_esm/accounts/evm/toNetworkScopedEvmSmartAccount.js +31 -0
  83. package/_esm/accounts/evm/toNetworkScopedEvmSmartAccount.js.map +1 -1
  84. package/_esm/accounts/solana/toSolanaAccount.js +49 -19
  85. package/_esm/accounts/solana/toSolanaAccount.js.map +1 -1
  86. package/_esm/actions/evm/waitForEvmEip7702DelegationStatus.js +34 -0
  87. package/_esm/actions/evm/waitForEvmEip7702DelegationStatus.js.map +1 -0
  88. package/_esm/actions/solana/transfer.js.map +1 -1
  89. package/_esm/actions/solana/utils.js +9 -9
  90. package/_esm/actions/solana/utils.js.map +1 -1
  91. package/_esm/analytics.js +9 -227
  92. package/_esm/analytics.js.map +1 -1
  93. package/_esm/auth/utils/http.js +1 -0
  94. package/_esm/auth/utils/http.js.map +1 -1
  95. package/_esm/client/cdp.js +4 -7
  96. package/_esm/client/cdp.js.map +1 -1
  97. package/_esm/client/end-user/endUser.js +385 -4
  98. package/_esm/client/end-user/endUser.js.map +1 -1
  99. package/_esm/client/end-user/toEndUserAccount.js +201 -23
  100. package/_esm/client/end-user/toEndUserAccount.js.map +1 -1
  101. package/_esm/client/evm/evm.js +482 -227
  102. package/_esm/client/evm/evm.js.map +1 -1
  103. package/_esm/client/policies/policies.js +41 -11
  104. package/_esm/client/policies/policies.js.map +1 -1
  105. package/_esm/client/solana/solana.js +215 -118
  106. package/_esm/client/solana/solana.js.map +1 -1
  107. package/_esm/index.js +1 -0
  108. package/_esm/index.js.map +1 -1
  109. package/_esm/openapi-client/cdpApiClient.js +32 -0
  110. package/_esm/openapi-client/cdpApiClient.js.map +1 -1
  111. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +175 -7
  112. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  113. package/_esm/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.js +243 -0
  114. package/_esm/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.js.map +1 -0
  115. package/_esm/openapi-client/generated/end-user-accounts/end-user-accounts.js.map +1 -1
  116. package/_esm/openapi-client/generated/evm-accounts/evm-accounts.js +27 -0
  117. package/_esm/openapi-client/generated/evm-accounts/evm-accounts.js.map +1 -1
  118. package/_esm/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js +2 -2
  119. package/_esm/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js.map +1 -1
  120. package/_esm/openapi-client/generated/evm-swaps/evm-swaps.js.map +1 -1
  121. package/_esm/openapi-client/generated/evm-token-balances/evm-token-balances.js.map +1 -1
  122. package/_esm/openapi-client/generated/faucets/faucets.js +6 -5
  123. package/_esm/openapi-client/generated/faucets/faucets.js.map +1 -1
  124. package/_esm/openapi-client/generated/onchain-data/onchain-data.js.map +1 -1
  125. package/_esm/openapi-client/generated/onramp/onramp.js +13 -0
  126. package/_esm/openapi-client/generated/onramp/onramp.js.map +1 -1
  127. package/_esm/openapi-client/generated/policy-engine/policy-engine.js.map +1 -1
  128. package/_esm/openapi-client/generated/solana-accounts/solana-accounts.js.map +1 -1
  129. package/_esm/openapi-client/generated/solana-token-balances/solana-token-balances.js.map +1 -1
  130. package/_esm/openapi-client/generated/sql-api/sql-api.js +70 -0
  131. package/_esm/openapi-client/generated/sql-api/sql-api.js.map +1 -0
  132. package/_esm/openapi-client/generated/webhooks/webhooks.js.map +1 -1
  133. package/_esm/openapi-client/generated/x402-facilitator/x402-facilitator.js.map +1 -1
  134. package/_esm/openapi-client/index.js +4 -1
  135. package/_esm/openapi-client/index.js.map +1 -1
  136. package/_esm/policies/evmSchema.js +126 -0
  137. package/_esm/policies/evmSchema.js.map +1 -1
  138. package/_esm/policies/solanaSchema.js +101 -0
  139. package/_esm/policies/solanaSchema.js.map +1 -1
  140. package/_esm/policies/types.js +9 -2
  141. package/_esm/policies/types.js.map +1 -1
  142. package/_esm/utils/export.js +6 -5
  143. package/_esm/utils/export.js.map +1 -1
  144. package/_esm/version.js +1 -1
  145. package/_types/accounts/evm/eip6492.d.ts +17 -0
  146. package/_types/accounts/evm/eip6492.d.ts.map +1 -0
  147. package/_types/accounts/evm/toEvmDelegatedAccount.d.ts +13 -0
  148. package/_types/accounts/evm/toEvmDelegatedAccount.d.ts.map +1 -0
  149. package/_types/accounts/evm/toEvmServerAccount.d.ts.map +1 -1
  150. package/_types/accounts/evm/toEvmSmartAccount.d.ts.map +1 -1
  151. package/_types/accounts/evm/toNetworkScopedEvmSmartAccount.d.ts +4 -4
  152. package/_types/accounts/evm/toNetworkScopedEvmSmartAccount.d.ts.map +1 -1
  153. package/_types/accounts/evm/types.d.ts +3 -2
  154. package/_types/accounts/evm/types.d.ts.map +1 -1
  155. package/_types/accounts/solana/toSolanaAccount.d.ts.map +1 -1
  156. package/_types/actions/evm/waitForEvmEip7702DelegationStatus.d.ts +32 -0
  157. package/_types/actions/evm/waitForEvmEip7702DelegationStatus.d.ts.map +1 -0
  158. package/_types/actions/solana/transfer.d.ts +3 -4
  159. package/_types/actions/solana/transfer.d.ts.map +1 -1
  160. package/_types/actions/solana/types.d.ts +79 -29
  161. package/_types/actions/solana/types.d.ts.map +1 -1
  162. package/_types/actions/solana/utils.d.ts +10 -9
  163. package/_types/actions/solana/utils.d.ts.map +1 -1
  164. package/_types/analytics.d.ts +5 -38
  165. package/_types/analytics.d.ts.map +1 -1
  166. package/_types/auth/utils/http.d.ts.map +1 -1
  167. package/_types/client/cdp.d.ts +4 -0
  168. package/_types/client/cdp.d.ts.map +1 -1
  169. package/_types/client/end-user/endUser.d.ts +272 -1
  170. package/_types/client/end-user/endUser.d.ts.map +1 -1
  171. package/_types/client/end-user/endUser.types.d.ts +491 -1
  172. package/_types/client/end-user/endUser.types.d.ts.map +1 -1
  173. package/_types/client/end-user/toEndUserAccount.d.ts +4 -1
  174. package/_types/client/end-user/toEndUserAccount.d.ts.map +1 -1
  175. package/_types/client/evm/evm.d.ts +54 -1
  176. package/_types/client/evm/evm.d.ts.map +1 -1
  177. package/_types/client/evm/evm.types.d.ts +29 -2
  178. package/_types/client/evm/evm.types.d.ts.map +1 -1
  179. package/_types/client/policies/policies.d.ts.map +1 -1
  180. package/_types/client/solana/solana.d.ts +38 -12
  181. package/_types/client/solana/solana.d.ts.map +1 -1
  182. package/_types/index.d.ts +3 -1
  183. package/_types/index.d.ts.map +1 -1
  184. package/_types/openapi-client/cdpApiClient.d.ts.map +1 -1
  185. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts +884 -90
  186. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts.map +1 -1
  187. package/_types/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.d.ts +163 -0
  188. package/_types/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.d.ts.map +1 -0
  189. package/_types/openapi-client/generated/end-user-accounts/end-user-accounts.d.ts +9 -9
  190. package/_types/openapi-client/generated/end-user-accounts/end-user-accounts.d.ts.map +1 -1
  191. package/_types/openapi-client/generated/evm-accounts/evm-accounts.d.ts +35 -15
  192. package/_types/openapi-client/generated/evm-accounts/evm-accounts.d.ts.map +1 -1
  193. package/_types/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.d.ts +14 -14
  194. package/_types/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.d.ts.map +1 -1
  195. package/_types/openapi-client/generated/evm-swaps/evm-swaps.d.ts +3 -3
  196. package/_types/openapi-client/generated/evm-swaps/evm-swaps.d.ts.map +1 -1
  197. package/_types/openapi-client/generated/evm-token-balances/evm-token-balances.d.ts +2 -2
  198. package/_types/openapi-client/generated/evm-token-balances/evm-token-balances.d.ts.map +1 -1
  199. package/_types/openapi-client/generated/faucets/faucets.d.ts +9 -8
  200. package/_types/openapi-client/generated/faucets/faucets.d.ts.map +1 -1
  201. package/_types/openapi-client/generated/onchain-data/onchain-data.d.ts +3 -3
  202. package/_types/openapi-client/generated/onchain-data/onchain-data.d.ts.map +1 -1
  203. package/_types/openapi-client/generated/onramp/onramp.d.ts +12 -5
  204. package/_types/openapi-client/generated/onramp/onramp.d.ts.map +1 -1
  205. package/_types/openapi-client/generated/policy-engine/policy-engine.d.ts +6 -6
  206. package/_types/openapi-client/generated/policy-engine/policy-engine.d.ts.map +1 -1
  207. package/_types/openapi-client/generated/solana-accounts/solana-accounts.d.ts +12 -12
  208. package/_types/openapi-client/generated/solana-accounts/solana-accounts.d.ts.map +1 -1
  209. package/_types/openapi-client/generated/solana-token-balances/solana-token-balances.d.ts +2 -2
  210. package/_types/openapi-client/generated/solana-token-balances/solana-token-balances.d.ts.map +1 -1
  211. package/_types/openapi-client/generated/sql-api/sql-api.d.ts +73 -0
  212. package/_types/openapi-client/generated/sql-api/sql-api.d.ts.map +1 -0
  213. package/_types/openapi-client/generated/webhooks/webhooks.d.ts +6 -6
  214. package/_types/openapi-client/generated/webhooks/webhooks.d.ts.map +1 -1
  215. package/_types/openapi-client/generated/x402-facilitator/x402-facilitator.d.ts +4 -4
  216. package/_types/openapi-client/generated/x402-facilitator/x402-facilitator.d.ts.map +1 -1
  217. package/_types/openapi-client/index.d.ts +23 -3
  218. package/_types/openapi-client/index.d.ts.map +1 -1
  219. package/_types/policies/evmSchema.d.ts +3128 -1064
  220. package/_types/policies/evmSchema.d.ts.map +1 -1
  221. package/_types/policies/solanaSchema.d.ts +1411 -47
  222. package/_types/policies/solanaSchema.d.ts.map +1 -1
  223. package/_types/policies/types.d.ts +8427 -2942
  224. package/_types/policies/types.d.ts.map +1 -1
  225. package/_types/types/contract.d.ts.map +1 -1
  226. package/_types/utils/export.d.ts +1 -1
  227. package/_types/utils/export.d.ts.map +1 -1
  228. package/_types/version.d.ts +1 -1
  229. package/accounts/evm/eip6492.ts +60 -0
  230. package/accounts/evm/toEvmDelegatedAccount.ts +26 -0
  231. package/accounts/evm/toEvmServerAccount.ts +115 -67
  232. package/accounts/evm/toEvmSmartAccount.ts +114 -57
  233. package/accounts/evm/toNetworkScopedEvmSmartAccount.ts +44 -5
  234. package/accounts/evm/types.ts +8 -3
  235. package/accounts/solana/toSolanaAccount.ts +44 -24
  236. package/actions/evm/waitForEvmEip7702DelegationStatus.ts +57 -0
  237. package/actions/solana/transfer.ts +3 -3
  238. package/actions/solana/types.ts +79 -29
  239. package/actions/solana/utils.ts +13 -11
  240. package/analytics.ts +8 -294
  241. package/auth/utils/http.ts +1 -0
  242. package/client/cdp.ts +6 -8
  243. package/client/end-user/endUser.ts +513 -4
  244. package/client/end-user/endUser.types.ts +598 -0
  245. package/client/end-user/toEndUserAccount.ts +330 -26
  246. package/client/evm/evm.ts +517 -282
  247. package/client/evm/evm.types.ts +45 -2
  248. package/client/policies/policies.ts +41 -16
  249. package/client/solana/solana.ts +233 -153
  250. package/index.ts +36 -1
  251. package/openapi-client/cdpApiClient.ts +34 -0
  252. package/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.ts +1155 -172
  253. package/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.ts +455 -0
  254. package/openapi-client/generated/end-user-accounts/end-user-accounts.ts +12 -9
  255. package/openapi-client/generated/evm-accounts/evm-accounts.ts +66 -14
  256. package/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.ts +16 -16
  257. package/openapi-client/generated/evm-swaps/evm-swaps.ts +3 -3
  258. package/openapi-client/generated/evm-token-balances/evm-token-balances.ts +2 -2
  259. package/openapi-client/generated/faucets/faucets.ts +9 -8
  260. package/openapi-client/generated/onchain-data/onchain-data.ts +3 -3
  261. package/openapi-client/generated/onramp/onramp.ts +28 -4
  262. package/openapi-client/generated/policy-engine/policy-engine.ts +12 -6
  263. package/openapi-client/generated/solana-accounts/solana-accounts.ts +12 -12
  264. package/openapi-client/generated/solana-token-balances/solana-token-balances.ts +2 -2
  265. package/openapi-client/generated/sql-api/sql-api.ts +92 -0
  266. package/openapi-client/generated/webhooks/webhooks.ts +6 -6
  267. package/openapi-client/generated/x402-facilitator/x402-facilitator.ts +6 -4
  268. package/openapi-client/index.ts +4 -1
  269. package/package.json +7 -8
  270. package/policies/evmSchema.ts +164 -0
  271. package/policies/solanaSchema.ts +130 -0
  272. package/policies/types.ts +14 -0
  273. package/types/contract.ts +2 -4
  274. package/utils/export.ts +6 -5
  275. package/version.ts +1 -1
  276. package/_cjs/openapi-client/generated/sql-api-alpha/sql-api-alpha.js +0 -55
  277. package/_cjs/openapi-client/generated/sql-api-alpha/sql-api-alpha.js.map +0 -1
  278. package/_esm/openapi-client/generated/sql-api-alpha/sql-api-alpha.js +0 -50
  279. package/_esm/openapi-client/generated/sql-api-alpha/sql-api-alpha.js.map +0 -1
  280. package/_types/openapi-client/generated/sql-api-alpha/sql-api-alpha.d.ts +0 -53
  281. package/_types/openapi-client/generated/sql-api-alpha/sql-api-alpha.d.ts.map +0 -1
  282. package/openapi-client/generated/sql-api-alpha/sql-api-alpha.ts +0 -72
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Generated by orval v7.6.0 🍺
2
+ * Generated by orval v7.21.0 🍺
3
3
  * Do not edit manually.
4
4
  * Coinbase Developer Platform APIs
5
5
  * The Coinbase Developer Platform APIs - leading the world's transition onchain.
@@ -83,6 +83,8 @@ export const OAuth2ProviderType = {
83
83
  google: "google",
84
84
  apple: "apple",
85
85
  x: "x",
86
+ telegram: "telegram",
87
+ github: "github",
86
88
  } as const;
87
89
 
88
90
  /**
@@ -100,6 +102,25 @@ export interface OAuth2Authentication {
100
102
  username?: string;
101
103
  }
102
104
 
105
+ /**
106
+ * Information about an end user who authenticates using Telegram.
107
+ */
108
+ export interface TelegramAuthentication {
109
+ type: OAuth2ProviderType;
110
+ /** The Telegram ID for the end user. */
111
+ id: number;
112
+ /** The Telegram user's first name. */
113
+ firstName?: string;
114
+ /** The Telegram user's last name. */
115
+ lastName?: string;
116
+ /** The Telegram user's profile picture. */
117
+ photoUrl?: string;
118
+ /** The Telegram user's last login as a Unix timestamp. */
119
+ authDate: number;
120
+ /** The Telegram user's username. */
121
+ username?: string;
122
+ }
123
+
103
124
  /**
104
125
  * Information about how the end user is authenticated.
105
126
  */
@@ -107,7 +128,8 @@ export type AuthenticationMethod =
107
128
  | EmailAuthentication
108
129
  | SmsAuthentication
109
130
  | DeveloperJWTAuthentication
110
- | OAuth2Authentication;
131
+ | OAuth2Authentication
132
+ | TelegramAuthentication;
111
133
 
112
134
  /**
113
135
  * The list of valid authentication methods linked to the end user.
@@ -234,6 +256,7 @@ export type ErrorType = (typeof ErrorType)[keyof typeof ErrorType];
234
256
  export const ErrorType = {
235
257
  already_exists: "already_exists",
236
258
  bad_gateway: "bad_gateway",
259
+ client_closed_request: "client_closed_request",
237
260
  faucet_limit_exceeded: "faucet_limit_exceeded",
238
261
  forbidden: "forbidden",
239
262
  idempotency_error: "idempotency_error",
@@ -244,6 +267,8 @@ export const ErrorType = {
244
267
  malformed_transaction: "malformed_transaction",
245
268
  not_found: "not_found",
246
269
  payment_method_required: "payment_method_required",
270
+ payment_required: "payment_required",
271
+ settlement_failed: "settlement_failed",
247
272
  rate_limit_exceeded: "rate_limit_exceeded",
248
273
  request_canceled: "request_canceled",
249
274
  service_unavailable: "service_unavailable",
@@ -262,14 +287,34 @@ export const ErrorType = {
262
287
  recipient_allowlist_violation: "recipient_allowlist_violation",
263
288
  recipient_allowlist_pending: "recipient_allowlist_pending",
264
289
  travel_rules_recipient_violation: "travel_rules_recipient_violation",
265
- transfer_amount_out_of_bounds: "transfer_amount_out_of_bounds",
266
- transfer_recipient_address_invalid: "transfer_recipient_address_invalid",
267
- transfer_quote_expired: "transfer_quote_expired",
290
+ source_account_invalid: "source_account_invalid",
291
+ target_account_invalid: "target_account_invalid",
292
+ source_account_not_found: "source_account_not_found",
293
+ target_account_not_found: "target_account_not_found",
294
+ source_asset_not_supported: "source_asset_not_supported",
295
+ target_asset_not_supported: "target_asset_not_supported",
296
+ target_email_invalid: "target_email_invalid",
297
+ target_onchain_address_invalid: "target_onchain_address_invalid",
298
+ transfer_amount_invalid: "transfer_amount_invalid",
299
+ transfer_asset_not_supported: "transfer_asset_not_supported",
300
+ insufficient_balance: "insufficient_balance",
301
+ metadata_too_many_entries: "metadata_too_many_entries",
302
+ metadata_key_too_long: "metadata_key_too_long",
303
+ metadata_value_too_long: "metadata_value_too_long",
304
+ travel_rules_field_missing: "travel_rules_field_missing",
305
+ asset_mismatch: "asset_mismatch",
268
306
  mfa_already_enrolled: "mfa_already_enrolled",
269
307
  mfa_invalid_code: "mfa_invalid_code",
270
308
  mfa_flow_expired: "mfa_flow_expired",
271
309
  mfa_required: "mfa_required",
272
310
  mfa_not_enrolled: "mfa_not_enrolled",
311
+ order_quote_expired: "order_quote_expired",
312
+ order_already_filled: "order_already_filled",
313
+ order_already_canceled: "order_already_canceled",
314
+ account_not_ready: "account_not_ready",
315
+ insufficient_liquidity: "insufficient_liquidity",
316
+ insufficient_allowance: "insufficient_allowance",
317
+ transaction_simulation_failed: "transaction_simulation_failed",
273
318
  } as const;
274
319
 
275
320
  /**
@@ -293,26 +338,19 @@ export interface Error {
293
338
  errorLink?: Url;
294
339
  }
295
340
 
296
- export interface EvmAccount {
297
- /**
298
- * The 0x-prefixed, checksum EVM address.
299
- * @pattern ^0x[0-9a-fA-F]{40}$
300
- */
301
- address: string;
302
- /**
303
- * An optional name for the account.
304
- Account names can consist of alphanumeric characters and hyphens, and be between 2 and 36 characters long.
305
- Account names are guaranteed to be unique across all EVM accounts in the developer's CDP Project.
306
- * @pattern ^[A-Za-z0-9][A-Za-z0-9-]{0,34}[A-Za-z0-9]$
307
- */
308
- name?: string;
309
- /** The list of policy IDs that apply to the account. This will include both the project-level policy and the account-level policy, if one exists. */
310
- policies?: string[];
311
- /** The UTC ISO 8601 timestamp at which the account was created. */
312
- createdAt?: string;
313
- /** The UTC ISO 8601 timestamp at which the account was last updated. */
314
- updatedAt?: string;
315
- }
341
+ /**
342
+ * A blockchain address. Format varies by network (e.g., 0x-prefixed for EVM, base58 for Solana).
343
+ * @minLength 1
344
+ * @maxLength 128
345
+ */
346
+ export type BlockchainAddress = string;
347
+
348
+ /**
349
+ * The symbol of the asset (e.g., eth, usd, usdc, usdt).
350
+ * @minLength 1
351
+ * @maxLength 42
352
+ */
353
+ export type Asset = string;
316
354
 
317
355
  /**
318
356
  * The domain of the EIP-712 typed data.
@@ -362,28 +400,22 @@ export interface EIP712Message {
362
400
  message: EIP712MessageMessage;
363
401
  }
364
402
 
365
- export interface EvmSmartAccount {
366
- /**
367
- * The 0x-prefixed, checksum address of the Smart Account.
368
- * @pattern ^0x[0-9a-fA-F]{40}$
369
- */
370
- address: string;
371
- /** Today, only a single owner can be set for a Smart Account, but this is an array to allow having multiple owners in the future. The address is a 0x-prefixed, checksum address. */
372
- owners: string[];
373
- /**
374
- * An optional name for the account.
375
- Account names can consist of alphanumeric characters and hyphens, and be between 2 and 36 characters long.
376
- Account names are guaranteed to be unique across all Smart Accounts in the developer's CDP Project.
377
- * @pattern ^[A-Za-z0-9][A-Za-z0-9-]{0,34}[A-Za-z0-9]$
378
- */
379
- name?: string;
380
- /** The list of policy IDs that apply to the smart account. This will include both the project-level policy and the account-level policy, if one exists. */
381
- policies?: string[];
382
- /** The UTC ISO 8601 timestamp at which the account was created. */
383
- createdAt?: string;
384
- /** The UTC ISO 8601 timestamp at which the account was last updated. */
385
- updatedAt?: string;
386
- }
403
+ /**
404
+ * The network for the EIP-7702 delegation.
405
+ */
406
+ export type EvmEip7702DelegationNetwork =
407
+ (typeof EvmEip7702DelegationNetwork)[keyof typeof EvmEip7702DelegationNetwork];
408
+
409
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
410
+ export const EvmEip7702DelegationNetwork = {
411
+ "base-sepolia": "base-sepolia",
412
+ base: "base",
413
+ arbitrum: "arbitrum",
414
+ optimism: "optimism",
415
+ polygon: "polygon",
416
+ ethereum: "ethereum",
417
+ "ethereum-sepolia": "ethereum-sepolia",
418
+ } as const;
387
419
 
388
420
  /**
389
421
  * The network the user operation is for.
@@ -510,6 +542,106 @@ export const SpendPermissionNetwork = {
510
542
  polygon: "polygon",
511
543
  } as const;
512
544
 
545
+ /**
546
+ * Request parameters for revoking a Spend Permission.
547
+ */
548
+ export interface RevokeSpendPermissionRequest {
549
+ /**
550
+ * The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
551
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
552
+ */
553
+ walletSecretId: string;
554
+ network: SpendPermissionNetwork;
555
+ /** The hash of the spend permission to revoke. */
556
+ permissionHash: string;
557
+ /** Whether to use the CDP Paymaster for the user operation. */
558
+ useCdpPaymaster: boolean;
559
+ /** The paymaster URL of the spend permission. */
560
+ paymasterUrl?: Url;
561
+ }
562
+
563
+ export interface EvmAccount {
564
+ /**
565
+ * The 0x-prefixed, checksum EVM address.
566
+ * @pattern ^0x[0-9a-fA-F]{40}$
567
+ */
568
+ address: string;
569
+ /**
570
+ * An optional name for the account.
571
+ Account names can consist of alphanumeric characters and hyphens, and be between 2 and 36 characters long.
572
+ Account names are guaranteed to be unique across all EVM accounts in the developer's CDP Project.
573
+ * @pattern ^[A-Za-z0-9][A-Za-z0-9-]{0,34}[A-Za-z0-9]$
574
+ */
575
+ name?: string;
576
+ /** The list of policy IDs that apply to the account. This will include both the project-level policy and the account-level policy, if one exists. */
577
+ policies?: string[];
578
+ /** The UTC ISO 8601 timestamp at which the account was created. */
579
+ createdAt?: string;
580
+ /** The UTC ISO 8601 timestamp at which the account was last updated. */
581
+ updatedAt?: string;
582
+ }
583
+
584
+ /**
585
+ * The current status of the delegation operation.
586
+ UNSPECIFIED means the status has not been set. PENDING means the operation has been created but not yet submitted. SUBMITTED means the operation has been submitted to the network. COMPLETED means the operation has completed successfully. FAILED means the operation has failed.
587
+ */
588
+ export type EvmEip7702DelegationOperationStatus =
589
+ (typeof EvmEip7702DelegationOperationStatus)[keyof typeof EvmEip7702DelegationOperationStatus];
590
+
591
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
592
+ export const EvmEip7702DelegationOperationStatus = {
593
+ UNSPECIFIED: "UNSPECIFIED",
594
+ PENDING: "PENDING",
595
+ SUBMITTED: "SUBMITTED",
596
+ COMPLETED: "COMPLETED",
597
+ FAILED: "FAILED",
598
+ } as const;
599
+
600
+ /**
601
+ * The status of an EIP-7702 delegation operation.
602
+ */
603
+ export interface EvmEip7702DelegationOperation {
604
+ /** The unique identifier for the delegation operation. */
605
+ delegationOperationId: string;
606
+ /** The current status of the delegation operation.
607
+ UNSPECIFIED means the status has not been set. PENDING means the operation has been created but not yet submitted. SUBMITTED means the operation has been submitted to the network. COMPLETED means the operation has completed successfully. FAILED means the operation has failed. */
608
+ status: EvmEip7702DelegationOperationStatus;
609
+ /**
610
+ * The hash of the delegation transaction, if available. Present once the transaction has been submitted to the network.
611
+ * @pattern ^0x[0-9a-fA-F]{64}$
612
+ */
613
+ transactionHash?: string;
614
+ network: EvmEip7702DelegationNetwork;
615
+ /**
616
+ * The address the account has delegated to, if any. Only present when the account has an active delegation.
617
+ * @pattern ^0x[0-9a-fA-F]{40}$
618
+ */
619
+ delegateAddress?: string;
620
+ }
621
+
622
+ export interface EvmSmartAccount {
623
+ /**
624
+ * The 0x-prefixed, checksum address of the Smart Account.
625
+ * @pattern ^0x[0-9a-fA-F]{40}$
626
+ */
627
+ address: string;
628
+ /** Today, only a single owner can be set for a Smart Account, but this is an array to allow having multiple owners in the future. The address is a 0x-prefixed, checksum address. */
629
+ owners: string[];
630
+ /**
631
+ * An optional name for the account.
632
+ Account names can consist of alphanumeric characters and hyphens, and be between 2 and 36 characters long.
633
+ Account names are guaranteed to be unique across all Smart Accounts in the developer's CDP Project.
634
+ * @pattern ^[A-Za-z0-9][A-Za-z0-9-]{0,34}[A-Za-z0-9]$
635
+ */
636
+ name?: string;
637
+ /** The list of policy IDs that apply to the smart account. This will include both the project-level policy and the account-level policy, if one exists. */
638
+ policies?: string[];
639
+ /** The UTC ISO 8601 timestamp at which the account was created. */
640
+ createdAt?: string;
641
+ /** The UTC ISO 8601 timestamp at which the account was last updated. */
642
+ updatedAt?: string;
643
+ }
644
+
513
645
  /**
514
646
  * Request parameters for creating a Spend Permission.
515
647
  */
@@ -590,7 +722,7 @@ export interface SpendPermissionResponseObject {
590
722
  /**
591
723
  * Request parameters for revoking a Spend Permission.
592
724
  */
593
- export interface RevokeSpendPermissionRequest {
725
+ export interface EvmSpendPermissionsRevokeSpendPermissionRequest {
594
726
  network: SpendPermissionNetwork;
595
727
  /** The hash of the spend permission to revoke. */
596
728
  permissionHash: string;
@@ -609,6 +741,7 @@ export const EvmSwapsNetwork = {
609
741
  ethereum: "ethereum",
610
742
  arbitrum: "arbitrum",
611
743
  optimism: "optimism",
744
+ polygon: "polygon",
612
745
  } as const;
613
746
 
614
747
  /**
@@ -968,6 +1101,7 @@ export interface EthValueCriterion {
968
1101
  type: EthValueCriterionType;
969
1102
  /**
970
1103
  * The amount of ETH, in wei, that the transaction's `value` field should be compared to.
1104
+ * @maxLength 78
971
1105
  * @pattern ^[0-9]+$
972
1106
  */
973
1107
  ethValue: string;
@@ -2314,105 +2448,400 @@ export interface SendUserOperationRule {
2314
2448
  criteria: SendUserOperationCriteria;
2315
2449
  }
2316
2450
 
2451
+ export type SignEndUserEvmTransactionCriteriaItem =
2452
+ | EthValueCriterion
2453
+ | EvmAddressCriterion
2454
+ | EvmDataCriterion
2455
+ | NetUSDChangeCriterion;
2456
+
2317
2457
  /**
2318
- * A rule that limits the behavior of an account.
2458
+ * A schema for specifying criteria for the signEndUserEvmTransaction operation.
2319
2459
  */
2320
- export type Rule =
2321
- | SignEvmTransactionRule
2322
- | SendEvmTransactionRule
2323
- | SignEvmMessageRule
2324
- | SignEvmTypedDataRule
2325
- | SignSolTransactionRule
2326
- | SendSolTransactionRule
2327
- | SignSolMessageRule
2328
- | SignEvmHashRule
2329
- | PrepareUserOperationRule
2330
- | SendUserOperationRule;
2460
+ export type SignEndUserEvmTransactionCriteria = SignEndUserEvmTransactionCriteriaItem[];
2331
2461
 
2332
2462
  /**
2333
- * The scope of the policy. Only one project-level policy can exist at any time.
2463
+ * Whether matching the rule will cause the request to be rejected or accepted.
2334
2464
  */
2335
- export type PolicyScope = (typeof PolicyScope)[keyof typeof PolicyScope];
2465
+ export type SignEndUserEvmTransactionRuleAction =
2466
+ (typeof SignEndUserEvmTransactionRuleAction)[keyof typeof SignEndUserEvmTransactionRuleAction];
2336
2467
 
2337
2468
  // eslint-disable-next-line @typescript-eslint/no-redeclare
2338
- export const PolicyScope = {
2339
- project: "project",
2340
- account: "account",
2469
+ export const SignEndUserEvmTransactionRuleAction = {
2470
+ reject: "reject",
2471
+ accept: "accept",
2341
2472
  } as const;
2342
2473
 
2343
- export interface Policy {
2344
- /**
2345
- * The unique identifier for the policy.
2346
- * @pattern ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
2347
- */
2348
- id: string;
2349
- /**
2350
- * An optional human-readable description of the policy.
2351
- Policy descriptions can consist of alphanumeric characters, spaces, commas, and periods, and be 50 characters or less.
2352
- * @pattern ^[A-Za-z0-9 ,.]{1,50}$
2353
- */
2354
- description?: string;
2355
- /** The scope of the policy. Only one project-level policy can exist at any time. */
2356
- scope: PolicyScope;
2357
- /** A list of rules that comprise the policy. */
2358
- rules: Rule[];
2359
- /** The ISO 8601 timestamp at which the Policy was created. */
2360
- createdAt: string;
2361
- /** The ISO 8601 timestamp at which the Policy was last updated. */
2362
- updatedAt: string;
2363
- }
2474
+ /**
2475
+ * The operation to which the rule applies. Every element of the `criteria` array must match the specified operation.
2476
+ */
2477
+ export type SignEndUserEvmTransactionRuleOperation =
2478
+ (typeof SignEndUserEvmTransactionRuleOperation)[keyof typeof SignEndUserEvmTransactionRuleOperation];
2364
2479
 
2365
- export interface SolanaAccount {
2366
- /**
2367
- * The base58 encoded Solana address.
2368
- * @pattern ^[1-9A-HJ-NP-Za-km-z]{32,44}$
2369
- */
2370
- address: string;
2371
- /**
2372
- * An optional name for the account.
2373
- Account names can consist of alphanumeric characters and hyphens, and be between 2 and 36 characters long.
2374
- Account names are guaranteed to be unique across all Solana accounts in the developer's CDP Project.
2375
- * @pattern ^[A-Za-z0-9][A-Za-z0-9-]{0,34}[A-Za-z0-9]$
2376
- */
2377
- name?: string;
2378
- /** The list of policy IDs that apply to the account. This will include both the project-level policy and the account-level policy, if one exists. */
2379
- policies?: string[];
2380
- /** The ISO 8601 UTC timestamp at which the account was created. */
2381
- createdAt?: string;
2382
- /** The ISO 8601 UTC timestamp at which the account was last updated. */
2383
- updatedAt?: string;
2480
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
2481
+ export const SignEndUserEvmTransactionRuleOperation = {
2482
+ signEndUserEvmTransaction: "signEndUserEvmTransaction",
2483
+ } as const;
2484
+
2485
+ export interface SignEndUserEvmTransactionRule {
2486
+ /** Whether matching the rule will cause the request to be rejected or accepted. */
2487
+ action: SignEndUserEvmTransactionRuleAction;
2488
+ /** The operation to which the rule applies. Every element of the `criteria` array must match the specified operation. */
2489
+ operation: SignEndUserEvmTransactionRuleOperation;
2490
+ criteria: SignEndUserEvmTransactionCriteria;
2384
2491
  }
2385
2492
 
2493
+ export type SendEndUserEvmTransactionCriteriaItem =
2494
+ | EthValueCriterion
2495
+ | EvmAddressCriterion
2496
+ | EvmNetworkCriterion
2497
+ | EvmDataCriterion
2498
+ | NetUSDChangeCriterion;
2499
+
2386
2500
  /**
2387
- * The name of the supported Solana networks in human-readable format.
2501
+ * A schema for specifying criteria for the sendEndUserEvmTransaction operation.
2388
2502
  */
2389
- export type ListSolanaTokenBalancesNetwork =
2390
- (typeof ListSolanaTokenBalancesNetwork)[keyof typeof ListSolanaTokenBalancesNetwork];
2503
+ export type SendEndUserEvmTransactionCriteria = SendEndUserEvmTransactionCriteriaItem[];
2504
+
2505
+ /**
2506
+ * Whether matching the rule will cause the request to be rejected or accepted.
2507
+ */
2508
+ export type SendEndUserEvmTransactionRuleAction =
2509
+ (typeof SendEndUserEvmTransactionRuleAction)[keyof typeof SendEndUserEvmTransactionRuleAction];
2391
2510
 
2392
2511
  // eslint-disable-next-line @typescript-eslint/no-redeclare
2393
- export const ListSolanaTokenBalancesNetwork = {
2394
- solana: "solana",
2395
- "solana-devnet": "solana-devnet",
2512
+ export const SendEndUserEvmTransactionRuleAction = {
2513
+ reject: "reject",
2514
+ accept: "accept",
2396
2515
  } as const;
2397
2516
 
2398
2517
  /**
2399
- * Amount of a given Solana token.
2518
+ * The operation to which the rule applies. Every element of the `criteria` array must match the specified operation.
2400
2519
  */
2401
- export interface SolanaTokenAmount {
2402
- /**
2403
- * The amount is denominated in the smallest indivisible unit of the token. For SOL, the smallest indivisible unit is lamports (10^-9 SOL). For SPL tokens, the smallest unit is defined by the token's decimals configuration.
2404
- * @pattern ^[0-9]+$
2405
- */
2406
- amount: string;
2407
- /** 'decimals' is the exponential value N that satisfies the equation `amount * 10^-N = standard_denomination`. The standard denomination is the most commonly used denomination for the token.
2408
- - For native SOL, `decimals` is 9 (1 SOL = 10^9 lamports). - For SPL tokens, `decimals` is defined in the token's mint configuration. */
2409
- decimals: number;
2520
+ export type SendEndUserEvmTransactionRuleOperation =
2521
+ (typeof SendEndUserEvmTransactionRuleOperation)[keyof typeof SendEndUserEvmTransactionRuleOperation];
2522
+
2523
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
2524
+ export const SendEndUserEvmTransactionRuleOperation = {
2525
+ sendEndUserEvmTransaction: "sendEndUserEvmTransaction",
2526
+ } as const;
2527
+
2528
+ export interface SendEndUserEvmTransactionRule {
2529
+ /** Whether matching the rule will cause the request to be rejected or accepted. */
2530
+ action: SendEndUserEvmTransactionRuleAction;
2531
+ /** The operation to which the rule applies. Every element of the `criteria` array must match the specified operation. */
2532
+ operation: SendEndUserEvmTransactionRuleOperation;
2533
+ criteria: SendEndUserEvmTransactionCriteria;
2410
2534
  }
2411
2535
 
2412
2536
  /**
2413
- * General information about a Solana token. Includes the mint address, and other identifying information.
2537
+ * A schema for specifying criteria for the signEndUserEvmMessage operation.
2414
2538
  */
2415
- export interface SolanaToken {
2539
+ export type SignEndUserEvmMessageCriteria = EvmMessageCriterion[];
2540
+
2541
+ /**
2542
+ * Whether matching the rule will cause the request to be rejected or accepted.
2543
+ */
2544
+ export type SignEndUserEvmMessageRuleAction =
2545
+ (typeof SignEndUserEvmMessageRuleAction)[keyof typeof SignEndUserEvmMessageRuleAction];
2546
+
2547
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
2548
+ export const SignEndUserEvmMessageRuleAction = {
2549
+ reject: "reject",
2550
+ accept: "accept",
2551
+ } as const;
2552
+
2553
+ /**
2554
+ * The operation to which the rule applies. Every element of the `criteria` array must match the specified operation.
2555
+ */
2556
+ export type SignEndUserEvmMessageRuleOperation =
2557
+ (typeof SignEndUserEvmMessageRuleOperation)[keyof typeof SignEndUserEvmMessageRuleOperation];
2558
+
2559
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
2560
+ export const SignEndUserEvmMessageRuleOperation = {
2561
+ signEndUserEvmMessage: "signEndUserEvmMessage",
2562
+ } as const;
2563
+
2564
+ export interface SignEndUserEvmMessageRule {
2565
+ /** Whether matching the rule will cause the request to be rejected or accepted. */
2566
+ action: SignEndUserEvmMessageRuleAction;
2567
+ /** The operation to which the rule applies. Every element of the `criteria` array must match the specified operation. */
2568
+ operation: SignEndUserEvmMessageRuleOperation;
2569
+ criteria: SignEndUserEvmMessageCriteria;
2570
+ }
2571
+
2572
+ export type SignEndUserEvmTypedDataCriteriaItem =
2573
+ | SignEvmTypedDataFieldCriterion
2574
+ | SignEvmTypedDataVerifyingContractCriterion;
2575
+
2576
+ /**
2577
+ * A schema for specifying criteria for the signEndUserEvmTypedData operation.
2578
+ */
2579
+ export type SignEndUserEvmTypedDataCriteria = SignEndUserEvmTypedDataCriteriaItem[];
2580
+
2581
+ /**
2582
+ * Whether matching the rule will cause the request to be rejected or accepted.
2583
+ */
2584
+ export type SignEndUserEvmTypedDataRuleAction =
2585
+ (typeof SignEndUserEvmTypedDataRuleAction)[keyof typeof SignEndUserEvmTypedDataRuleAction];
2586
+
2587
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
2588
+ export const SignEndUserEvmTypedDataRuleAction = {
2589
+ reject: "reject",
2590
+ accept: "accept",
2591
+ } as const;
2592
+
2593
+ /**
2594
+ * The operation to which the rule applies. Every element of the `criteria` array must match the specified operation.
2595
+ */
2596
+ export type SignEndUserEvmTypedDataRuleOperation =
2597
+ (typeof SignEndUserEvmTypedDataRuleOperation)[keyof typeof SignEndUserEvmTypedDataRuleOperation];
2598
+
2599
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
2600
+ export const SignEndUserEvmTypedDataRuleOperation = {
2601
+ signEndUserEvmTypedData: "signEndUserEvmTypedData",
2602
+ } as const;
2603
+
2604
+ export interface SignEndUserEvmTypedDataRule {
2605
+ /** Whether matching the rule will cause the request to be rejected or accepted. */
2606
+ action: SignEndUserEvmTypedDataRuleAction;
2607
+ /** The operation to which the rule applies. Every element of the `criteria` array must match the specified operation. */
2608
+ operation: SignEndUserEvmTypedDataRuleOperation;
2609
+ criteria: SignEndUserEvmTypedDataCriteria;
2610
+ }
2611
+
2612
+ export type SignEndUserSolTransactionCriteriaItem =
2613
+ | SolAddressCriterion
2614
+ | SolValueCriterion
2615
+ | SplAddressCriterion
2616
+ | SplValueCriterion
2617
+ | MintAddressCriterion
2618
+ | SolDataCriterion
2619
+ | ProgramIdCriterion;
2620
+
2621
+ /**
2622
+ * A schema for specifying criteria for the signEndUserSolTransaction operation.
2623
+ */
2624
+ export type SignEndUserSolTransactionCriteria = SignEndUserSolTransactionCriteriaItem[];
2625
+
2626
+ /**
2627
+ * Whether matching the rule will cause the request to be rejected or accepted.
2628
+ */
2629
+ export type SignEndUserSolTransactionRuleAction =
2630
+ (typeof SignEndUserSolTransactionRuleAction)[keyof typeof SignEndUserSolTransactionRuleAction];
2631
+
2632
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
2633
+ export const SignEndUserSolTransactionRuleAction = {
2634
+ reject: "reject",
2635
+ accept: "accept",
2636
+ } as const;
2637
+
2638
+ /**
2639
+ * The operation to which the rule applies. Every element of the `criteria` array must match the specified operation.
2640
+ */
2641
+ export type SignEndUserSolTransactionRuleOperation =
2642
+ (typeof SignEndUserSolTransactionRuleOperation)[keyof typeof SignEndUserSolTransactionRuleOperation];
2643
+
2644
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
2645
+ export const SignEndUserSolTransactionRuleOperation = {
2646
+ signEndUserSolTransaction: "signEndUserSolTransaction",
2647
+ } as const;
2648
+
2649
+ export interface SignEndUserSolTransactionRule {
2650
+ /** Whether matching the rule will cause the request to be rejected or accepted. */
2651
+ action: SignEndUserSolTransactionRuleAction;
2652
+ /** The operation to which the rule applies. Every element of the `criteria` array must match the specified operation. */
2653
+ operation: SignEndUserSolTransactionRuleOperation;
2654
+ criteria: SignEndUserSolTransactionCriteria;
2655
+ }
2656
+
2657
+ export type SendEndUserSolTransactionCriteriaItem =
2658
+ | SolAddressCriterion
2659
+ | SolValueCriterion
2660
+ | SplAddressCriterion
2661
+ | SplValueCriterion
2662
+ | MintAddressCriterion
2663
+ | SolDataCriterion
2664
+ | ProgramIdCriterion
2665
+ | SolNetworkCriterion;
2666
+
2667
+ /**
2668
+ * A schema for specifying criteria for the sendEndUserSolTransaction operation.
2669
+ */
2670
+ export type SendEndUserSolTransactionCriteria = SendEndUserSolTransactionCriteriaItem[];
2671
+
2672
+ /**
2673
+ * Whether matching the rule will cause the request to be rejected or accepted.
2674
+ */
2675
+ export type SendEndUserSolTransactionRuleAction =
2676
+ (typeof SendEndUserSolTransactionRuleAction)[keyof typeof SendEndUserSolTransactionRuleAction];
2677
+
2678
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
2679
+ export const SendEndUserSolTransactionRuleAction = {
2680
+ reject: "reject",
2681
+ accept: "accept",
2682
+ } as const;
2683
+
2684
+ /**
2685
+ * The operation to which the rule applies. Every element of the `criteria` array must match the specified operation.
2686
+ */
2687
+ export type SendEndUserSolTransactionRuleOperation =
2688
+ (typeof SendEndUserSolTransactionRuleOperation)[keyof typeof SendEndUserSolTransactionRuleOperation];
2689
+
2690
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
2691
+ export const SendEndUserSolTransactionRuleOperation = {
2692
+ sendEndUserSolTransaction: "sendEndUserSolTransaction",
2693
+ } as const;
2694
+
2695
+ export interface SendEndUserSolTransactionRule {
2696
+ /** Whether matching the rule will cause the request to be rejected or accepted. */
2697
+ action: SendEndUserSolTransactionRuleAction;
2698
+ /** The operation to which the rule applies. Every element of the `criteria` array must match the specified operation. */
2699
+ operation: SendEndUserSolTransactionRuleOperation;
2700
+ criteria: SendEndUserSolTransactionCriteria;
2701
+ }
2702
+
2703
+ /**
2704
+ * A schema for specifying criteria for the signEndUserSolMessage operation.
2705
+ */
2706
+ export type SignEndUserSolMessageCriteria = SolMessageCriterion[];
2707
+
2708
+ /**
2709
+ * Whether matching the rule will cause the request to be rejected or accepted.
2710
+ */
2711
+ export type SignEndUserSolMessageRuleAction =
2712
+ (typeof SignEndUserSolMessageRuleAction)[keyof typeof SignEndUserSolMessageRuleAction];
2713
+
2714
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
2715
+ export const SignEndUserSolMessageRuleAction = {
2716
+ reject: "reject",
2717
+ accept: "accept",
2718
+ } as const;
2719
+
2720
+ /**
2721
+ * The operation to which the rule applies. Every element of the `criteria` array must match the specified operation.
2722
+ */
2723
+ export type SignEndUserSolMessageRuleOperation =
2724
+ (typeof SignEndUserSolMessageRuleOperation)[keyof typeof SignEndUserSolMessageRuleOperation];
2725
+
2726
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
2727
+ export const SignEndUserSolMessageRuleOperation = {
2728
+ signEndUserSolMessage: "signEndUserSolMessage",
2729
+ } as const;
2730
+
2731
+ export interface SignEndUserSolMessageRule {
2732
+ /** Whether matching the rule will cause the request to be rejected or accepted. */
2733
+ action: SignEndUserSolMessageRuleAction;
2734
+ /** The operation to which the rule applies. Every element of the `criteria` array must match the specified operation. */
2735
+ operation: SignEndUserSolMessageRuleOperation;
2736
+ criteria: SignEndUserSolMessageCriteria;
2737
+ }
2738
+
2739
+ /**
2740
+ * A rule that limits the behavior of an account.
2741
+ */
2742
+ export type Rule =
2743
+ | SignEvmTransactionRule
2744
+ | SendEvmTransactionRule
2745
+ | SignEvmMessageRule
2746
+ | SignEvmTypedDataRule
2747
+ | SignSolTransactionRule
2748
+ | SendSolTransactionRule
2749
+ | SignSolMessageRule
2750
+ | SignEvmHashRule
2751
+ | PrepareUserOperationRule
2752
+ | SendUserOperationRule
2753
+ | SignEndUserEvmTransactionRule
2754
+ | SendEndUserEvmTransactionRule
2755
+ | SignEndUserEvmMessageRule
2756
+ | SignEndUserEvmTypedDataRule
2757
+ | SignEndUserSolTransactionRule
2758
+ | SendEndUserSolTransactionRule
2759
+ | SignEndUserSolMessageRule;
2760
+
2761
+ /**
2762
+ * The scope of the policy. Only one project-level policy can exist at any time.
2763
+ */
2764
+ export type PolicyScope = (typeof PolicyScope)[keyof typeof PolicyScope];
2765
+
2766
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
2767
+ export const PolicyScope = {
2768
+ project: "project",
2769
+ account: "account",
2770
+ } as const;
2771
+
2772
+ export interface Policy {
2773
+ /**
2774
+ * The unique identifier for the policy.
2775
+ * @pattern ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
2776
+ */
2777
+ id: string;
2778
+ /**
2779
+ * An optional human-readable description of the policy.
2780
+ Policy descriptions can consist of alphanumeric characters, spaces, commas, and periods, and be 50 characters or less.
2781
+ * @pattern ^[A-Za-z0-9 ,.]{1,50}$
2782
+ */
2783
+ description?: string;
2784
+ /** The scope of the policy. Only one project-level policy can exist at any time. */
2785
+ scope: PolicyScope;
2786
+ /** A list of rules that comprise the policy. */
2787
+ rules: Rule[];
2788
+ /** The ISO 8601 timestamp at which the Policy was created. */
2789
+ createdAt: string;
2790
+ /** The ISO 8601 timestamp at which the Policy was last updated. */
2791
+ updatedAt: string;
2792
+ }
2793
+
2794
+ export interface SolanaAccount {
2795
+ /**
2796
+ * The base58 encoded Solana address.
2797
+ * @pattern ^[1-9A-HJ-NP-Za-km-z]{32,44}$
2798
+ */
2799
+ address: string;
2800
+ /**
2801
+ * An optional name for the account.
2802
+ Account names can consist of alphanumeric characters and hyphens, and be between 2 and 36 characters long.
2803
+ Account names are guaranteed to be unique across all Solana accounts in the developer's CDP Project.
2804
+ * @pattern ^[A-Za-z0-9][A-Za-z0-9-]{0,34}[A-Za-z0-9]$
2805
+ */
2806
+ name?: string;
2807
+ /** The list of policy IDs that apply to the account. This will include both the project-level policy and the account-level policy, if one exists. */
2808
+ policies?: string[];
2809
+ /** The ISO 8601 UTC timestamp at which the account was created. */
2810
+ createdAt?: string;
2811
+ /** The ISO 8601 UTC timestamp at which the account was last updated. */
2812
+ updatedAt?: string;
2813
+ }
2814
+
2815
+ /**
2816
+ * The name of the supported Solana networks in human-readable format.
2817
+ */
2818
+ export type ListSolanaTokenBalancesNetwork =
2819
+ (typeof ListSolanaTokenBalancesNetwork)[keyof typeof ListSolanaTokenBalancesNetwork];
2820
+
2821
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
2822
+ export const ListSolanaTokenBalancesNetwork = {
2823
+ solana: "solana",
2824
+ "solana-devnet": "solana-devnet",
2825
+ } as const;
2826
+
2827
+ /**
2828
+ * Amount of a given Solana token.
2829
+ */
2830
+ export interface SolanaTokenAmount {
2831
+ /**
2832
+ * The amount is denominated in the smallest indivisible unit of the token. For SOL, the smallest indivisible unit is lamports (10^-9 SOL). For SPL tokens, the smallest unit is defined by the token's decimals configuration.
2833
+ * @pattern ^[0-9]+$
2834
+ */
2835
+ amount: string;
2836
+ /** 'decimals' is the exponential value N that satisfies the equation `amount * 10^-N = standard_denomination`. The standard denomination is the most commonly used denomination for the token.
2837
+ - For native SOL, `decimals` is 9 (1 SOL = 10^9 lamports). - For SPL tokens, `decimals` is defined in the token's mint configuration. */
2838
+ decimals: number;
2839
+ }
2840
+
2841
+ /**
2842
+ * General information about a Solana token. Includes the mint address, and other identifying information.
2843
+ */
2844
+ export interface SolanaToken {
2416
2845
  /** The symbol of this token (ex: SOL, USDC, RAY).
2417
2846
  The token symbol is not unique. It is possible for two different tokens to have the same symbol.
2418
2847
  For the native SOL token, this symbol is "SOL". For SPL tokens, this symbol is defined in the token's metadata.
@@ -2619,6 +3048,8 @@ export type WebhookSubscriptionResponseLabels = { [key: string]: string };
2619
3048
  export interface WebhookSubscriptionResponse {
2620
3049
  /** When the subscription was created. */
2621
3050
  createdAt: string;
3051
+ /** When the subscription was last updated. */
3052
+ updatedAt?: string;
2622
3053
  /** Description of the webhook subscription. */
2623
3054
  description?: Description;
2624
3055
  /** Types of events to subscribe to. Event types follow a three-part dot-separated format:
@@ -2756,7 +3187,10 @@ export type X402ExactEvmPayloadAuthorization = {
2756
3187
  validAfter: string;
2757
3188
  /** The unix timestamp before which the payment is valid. */
2758
3189
  validBefore: string;
2759
- /** The hex-encoded nonce of the payment. */
3190
+ /**
3191
+ * The hex-encoded nonce of the payment (bytes32).
3192
+ * @pattern ^0x[0-9a-fA-F]{64}$
3193
+ */
2760
3194
  nonce: string;
2761
3195
  };
2762
3196
 
@@ -2764,61 +3198,92 @@ export type X402ExactEvmPayloadAuthorization = {
2764
3198
  * The x402 protocol exact scheme payload for EVM networks. The scheme is implemented using ERC-3009. For more details, please see [EVM Exact Scheme Details](https://github.com/coinbase/x402/blob/main/specs/schemes/exact/scheme_exact_evm.md).
2765
3199
  */
2766
3200
  export interface X402ExactEvmPayload {
2767
- /** The EIP-712 hex-encoded signature of the ERC-3009 authorization message. */
3201
+ /**
3202
+ * The EIP-712 hex-encoded signature of the ERC-3009 authorization message. Smart account signatures may be longer than 65 bytes.
3203
+ * @pattern ^0x[0-9a-fA-F]{130,}$
3204
+ */
2768
3205
  signature: string;
2769
3206
  /** The authorization data for the ERC-3009 authorization message. */
2770
3207
  authorization: X402ExactEvmPayloadAuthorization;
2771
3208
  }
2772
3209
 
2773
3210
  /**
2774
- * The x402 protocol exact scheme payload for Solana networks. For more details, please see [Solana Exact Scheme Details](https://github.com/coinbase/x402/blob/main/specs/schemes/exact/scheme_exact_svm.md).
3211
+ * The token permissions for the transfer.
2775
3212
  */
2776
- export interface X402ExactSolanaPayload {
2777
- /** The base64-encoded Solana transaction. */
2778
- transaction: string;
2779
- }
3213
+ export type X402ExactEvmPermit2PayloadPermit2AuthorizationPermitted = {
3214
+ /**
3215
+ * The 0x-prefixed, checksum EVM address of the token to transfer.
3216
+ * @pattern ^0x[0-9a-fA-F]{40}$
3217
+ */
3218
+ token: string;
3219
+ /** The amount to transfer in atomic units. */
3220
+ amount: string;
3221
+ };
2780
3222
 
2781
3223
  /**
2782
- * The scheme of the payment protocol to use. Currently, the only supported scheme is `exact`.
3224
+ * The witness data containing payment details.
2783
3225
  */
2784
- export type X402V1PaymentPayloadScheme =
2785
- (typeof X402V1PaymentPayloadScheme)[keyof typeof X402V1PaymentPayloadScheme];
2786
-
2787
- // eslint-disable-next-line @typescript-eslint/no-redeclare
2788
- export const X402V1PaymentPayloadScheme = {
2789
- exact: "exact",
2790
- } as const;
3226
+ export type X402ExactEvmPermit2PayloadPermit2AuthorizationWitness = {
3227
+ /**
3228
+ * The 0x-prefixed, checksum EVM address of the recipient.
3229
+ * @pattern ^0x[0-9a-fA-F]{40}$
3230
+ */
3231
+ to: string;
3232
+ /** The unix timestamp after which the payment is valid. */
3233
+ validAfter: string;
3234
+ /**
3235
+ * Optional hex-encoded extra data.
3236
+ * @pattern ^0x[0-9a-fA-F]*$
3237
+ */
3238
+ extra?: string;
3239
+ };
2791
3240
 
2792
3241
  /**
2793
- * The network of the blockchain to send payment on.
3242
+ * The authorization data for the Permit2 PermitWitnessTransferFrom message.
2794
3243
  */
2795
- export type X402V1PaymentPayloadNetwork =
2796
- (typeof X402V1PaymentPayloadNetwork)[keyof typeof X402V1PaymentPayloadNetwork];
2797
-
2798
- // eslint-disable-next-line @typescript-eslint/no-redeclare
2799
- export const X402V1PaymentPayloadNetwork = {
2800
- "base-sepolia": "base-sepolia",
2801
- base: "base",
2802
- "solana-devnet": "solana-devnet",
2803
- solana: "solana",
2804
- } as const;
3244
+ export type X402ExactEvmPermit2PayloadPermit2Authorization = {
3245
+ /**
3246
+ * The 0x-prefixed, checksum EVM address of the sender of the payment.
3247
+ * @pattern ^0x[0-9a-fA-F]{40}$
3248
+ */
3249
+ from: string;
3250
+ /** The token permissions for the transfer. */
3251
+ permitted: X402ExactEvmPermit2PayloadPermit2AuthorizationPermitted;
3252
+ /**
3253
+ * The 0x-prefixed, checksum EVM address of the spender (x402 Permit2 proxy contract).
3254
+ * @pattern ^0x[0-9a-fA-F]{40}$
3255
+ */
3256
+ spender: string;
3257
+ /**
3258
+ * The Permit2 nonce as a decimal string (uint256).
3259
+ * @pattern ^[0-9]+$
3260
+ */
3261
+ nonce: string;
3262
+ /** The unix timestamp before which the permit is valid. */
3263
+ deadline: string;
3264
+ /** The witness data containing payment details. */
3265
+ witness: X402ExactEvmPermit2PayloadPermit2AuthorizationWitness;
3266
+ };
2805
3267
 
2806
3268
  /**
2807
- * The payload of the payment depending on the x402Version, scheme, and network.
3269
+ * The x402 protocol exact scheme payload for EVM networks using Permit2. Permit2 is a universal token approval mechanism that works with any ERC-20 token, unlike ERC-3009 which requires token-level support.
2808
3270
  */
2809
- export type X402V1PaymentPayloadPayload = X402ExactEvmPayload | X402ExactSolanaPayload;
3271
+ export interface X402ExactEvmPermit2Payload {
3272
+ /**
3273
+ * The EIP-712 hex-encoded signature of the Permit2 PermitWitnessTransferFrom message. Smart account signatures may be longer than 65 bytes.
3274
+ * @pattern ^0x[0-9a-fA-F]{130,}$
3275
+ */
3276
+ signature: string;
3277
+ /** The authorization data for the Permit2 PermitWitnessTransferFrom message. */
3278
+ permit2Authorization: X402ExactEvmPermit2PayloadPermit2Authorization;
3279
+ }
2810
3280
 
2811
3281
  /**
2812
- * The x402 protocol payment payload that the client attaches to x402-paid API requests to the resource server in the X-PAYMENT header.
3282
+ * The x402 protocol exact scheme payload for Solana networks. For more details, please see [Solana Exact Scheme Details](https://github.com/coinbase/x402/blob/main/specs/schemes/exact/scheme_exact_svm.md).
2813
3283
  */
2814
- export interface X402V1PaymentPayload {
2815
- x402Version: X402Version;
2816
- /** The scheme of the payment protocol to use. Currently, the only supported scheme is `exact`. */
2817
- scheme: X402V1PaymentPayloadScheme;
2818
- /** The network of the blockchain to send payment on. */
2819
- network: X402V1PaymentPayloadNetwork;
2820
- /** The payload of the payment depending on the x402Version, scheme, and network. */
2821
- payload: X402V1PaymentPayloadPayload;
3284
+ export interface X402ExactSolanaPayload {
3285
+ /** The base64-encoded Solana transaction. */
3286
+ transaction: string;
2822
3287
  }
2823
3288
 
2824
3289
  /**
@@ -2886,7 +3351,10 @@ export interface X402ResourceInfo {
2886
3351
  /**
2887
3352
  * The payload of the payment depending on the x402Version, scheme, and network.
2888
3353
  */
2889
- export type X402V2PaymentPayloadPayload = X402ExactEvmPayload | X402ExactSolanaPayload;
3354
+ export type X402V2PaymentPayloadPayload =
3355
+ | X402ExactEvmPayload
3356
+ | X402ExactEvmPermit2Payload
3357
+ | X402ExactSolanaPayload;
2890
3358
 
2891
3359
  /**
2892
3360
  * Optional protocol extensions.
@@ -2906,10 +3374,58 @@ export interface X402V2PaymentPayload {
2906
3374
  extensions?: X402V2PaymentPayloadExtensions;
2907
3375
  }
2908
3376
 
3377
+ /**
3378
+ * The scheme of the payment protocol to use. Currently, the only supported scheme is `exact`.
3379
+ */
3380
+ export type X402V1PaymentPayloadScheme =
3381
+ (typeof X402V1PaymentPayloadScheme)[keyof typeof X402V1PaymentPayloadScheme];
3382
+
3383
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
3384
+ export const X402V1PaymentPayloadScheme = {
3385
+ exact: "exact",
3386
+ } as const;
3387
+
3388
+ /**
3389
+ * The network of the blockchain to send payment on.
3390
+ */
3391
+ export type X402V1PaymentPayloadNetwork =
3392
+ (typeof X402V1PaymentPayloadNetwork)[keyof typeof X402V1PaymentPayloadNetwork];
3393
+
3394
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
3395
+ export const X402V1PaymentPayloadNetwork = {
3396
+ "base-sepolia": "base-sepolia",
3397
+ base: "base",
3398
+ "solana-devnet": "solana-devnet",
3399
+ solana: "solana",
3400
+ polygon: "polygon",
3401
+ } as const;
3402
+
3403
+ /**
3404
+ * The payload of the payment depending on the x402Version, scheme, and network.
3405
+ */
3406
+ export type X402V1PaymentPayloadPayload =
3407
+ | X402ExactEvmPayload
3408
+ | X402ExactEvmPermit2Payload
3409
+ | X402ExactSolanaPayload;
3410
+
2909
3411
  /**
2910
3412
  * The x402 protocol payment payload that the client attaches to x402-paid API requests to the resource server in the X-PAYMENT header.
2911
3413
  */
2912
- export type X402PaymentPayload = X402V1PaymentPayload | X402V2PaymentPayload;
3414
+ export interface X402V1PaymentPayload {
3415
+ x402Version: X402Version;
3416
+ /** The scheme of the payment protocol to use. Currently, the only supported scheme is `exact`. */
3417
+ scheme: X402V1PaymentPayloadScheme;
3418
+ /** The network of the blockchain to send payment on. */
3419
+ network: X402V1PaymentPayloadNetwork;
3420
+ /** The payload of the payment depending on the x402Version, scheme, and network. */
3421
+ payload: X402V1PaymentPayloadPayload;
3422
+ }
3423
+
3424
+ /**
3425
+ * The x402 protocol payment payload that the client attaches to x402-paid API requests to the resource server in the X-PAYMENT header.
3426
+ For EVM networks, smart account signatures can be longer than 65 bytes.
3427
+ */
3428
+ export type X402PaymentPayload = X402V2PaymentPayload | X402V1PaymentPayload;
2913
3429
 
2914
3430
  /**
2915
3431
  * The scheme of the payment protocol to use. Currently, the only supported scheme is `exact`.
@@ -2934,6 +3450,7 @@ export const X402V1PaymentRequirementsNetwork = {
2934
3450
  base: "base",
2935
3451
  "solana-devnet": "solana-devnet",
2936
3452
  solana: "solana",
3453
+ polygon: "polygon",
2937
3454
  } as const;
2938
3455
 
2939
3456
  /**
@@ -2991,7 +3508,7 @@ For Solana-based networks, the asset will be a base58-encoded Solana address.
2991
3508
  /**
2992
3509
  * The x402 protocol payment requirements that the resource server expects the client's payment payload to meet.
2993
3510
  */
2994
- export type X402PaymentRequirements = X402V1PaymentRequirements | X402V2PaymentRequirements;
3511
+ export type X402PaymentRequirements = X402V2PaymentRequirements | X402V1PaymentRequirements;
2995
3512
 
2996
3513
  /**
2997
3514
  * The reason the payment is invalid on the x402 protocol.
@@ -3022,6 +3539,14 @@ export const X402VerifyInvalidReason = {
3022
3539
  "invalid_exact_evm_payload_authorization_to_address_kyt",
3023
3540
  invalid_exact_evm_payload_signature: "invalid_exact_evm_payload_signature",
3024
3541
  invalid_exact_evm_payload_signature_address: "invalid_exact_evm_payload_signature_address",
3542
+ invalid_exact_evm_permit2_payload_allowance_required:
3543
+ "invalid_exact_evm_permit2_payload_allowance_required",
3544
+ invalid_exact_evm_permit2_payload_signature: "invalid_exact_evm_permit2_payload_signature",
3545
+ invalid_exact_evm_permit2_payload_deadline: "invalid_exact_evm_permit2_payload_deadline",
3546
+ invalid_exact_evm_permit2_payload_valid_after: "invalid_exact_evm_permit2_payload_valid_after",
3547
+ invalid_exact_evm_permit2_payload_spender: "invalid_exact_evm_permit2_payload_spender",
3548
+ invalid_exact_evm_permit2_payload_recipient: "invalid_exact_evm_permit2_payload_recipient",
3549
+ invalid_exact_evm_permit2_payload_amount: "invalid_exact_evm_permit2_payload_amount",
3025
3550
  invalid_exact_svm_payload_transaction: "invalid_exact_svm_payload_transaction",
3026
3551
  invalid_exact_svm_payload_transaction_amount_mismatch:
3027
3552
  "invalid_exact_svm_payload_transaction_amount_mismatch",
@@ -3113,6 +3638,14 @@ export const X402SettleErrorReason = {
3113
3638
  "invalid_exact_evm_payload_authorization_to_address_kyt",
3114
3639
  invalid_exact_evm_payload_signature: "invalid_exact_evm_payload_signature",
3115
3640
  invalid_exact_evm_payload_signature_address: "invalid_exact_evm_payload_signature_address",
3641
+ invalid_exact_evm_permit2_payload_allowance_required:
3642
+ "invalid_exact_evm_permit2_payload_allowance_required",
3643
+ invalid_exact_evm_permit2_payload_signature: "invalid_exact_evm_permit2_payload_signature",
3644
+ invalid_exact_evm_permit2_payload_deadline: "invalid_exact_evm_permit2_payload_deadline",
3645
+ invalid_exact_evm_permit2_payload_valid_after: "invalid_exact_evm_permit2_payload_valid_after",
3646
+ invalid_exact_evm_permit2_payload_spender: "invalid_exact_evm_permit2_payload_spender",
3647
+ invalid_exact_evm_permit2_payload_recipient: "invalid_exact_evm_permit2_payload_recipient",
3648
+ invalid_exact_evm_permit2_payload_amount: "invalid_exact_evm_permit2_payload_amount",
3116
3649
  invalid_exact_svm_payload_transaction: "invalid_exact_svm_payload_transaction",
3117
3650
  invalid_exact_svm_payload_transaction_amount_mismatch:
3118
3651
  "invalid_exact_svm_payload_transaction_amount_mismatch",
@@ -3214,8 +3747,10 @@ export const X402SupportedPaymentKindNetwork = {
3214
3747
  base: "base",
3215
3748
  "solana-devnet": "solana-devnet",
3216
3749
  solana: "solana",
3750
+ polygon: "polygon",
3217
3751
  "eip155:8453": "eip155:8453",
3218
3752
  "eip155:84532": "eip155:84532",
3753
+ "eip155:137": "eip155:137",
3219
3754
  "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
3220
3755
  "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1": "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",
3221
3756
  } as const;
@@ -3238,13 +3773,6 @@ export interface X402SupportedPaymentKind {
3238
3773
  extra?: X402SupportedPaymentKindExtra;
3239
3774
  }
3240
3775
 
3241
- /**
3242
- * A blockchain address. Format varies by network (e.g., 0x-prefixed for EVM, base58 for Solana).
3243
- * @minLength 1
3244
- * @maxLength 128
3245
- */
3246
- export type BlockchainAddress = string;
3247
-
3248
3776
  /**
3249
3777
  * The type of payment method to be used to complete an onramp order.
3250
3778
  */
@@ -3254,6 +3782,7 @@ export type OnrampOrderPaymentMethodTypeId =
3254
3782
  // eslint-disable-next-line @typescript-eslint/no-redeclare
3255
3783
  export const OnrampOrderPaymentMethodTypeId = {
3256
3784
  GUEST_CHECKOUT_APPLE_PAY: "GUEST_CHECKOUT_APPLE_PAY",
3785
+ GUEST_CHECKOUT_GOOGLE_PAY: "GUEST_CHECKOUT_GOOGLE_PAY",
3257
3786
  } as const;
3258
3787
 
3259
3788
  /**
@@ -3405,6 +3934,49 @@ export interface OnrampQuote {
3405
3934
  exchangeRate: string;
3406
3935
  }
3407
3936
 
3937
+ /**
3938
+ * The type of user identifier:
3939
+ - `phone_number`: A phone number in E.164 format associated with an onramp user.
3940
+
3941
+ */
3942
+ export type OnrampUserIdType = (typeof OnrampUserIdType)[keyof typeof OnrampUserIdType];
3943
+
3944
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
3945
+ export const OnrampUserIdType = {
3946
+ phone_number: "phone_number",
3947
+ } as const;
3948
+
3949
+ /**
3950
+ * The type of limit:
3951
+ - `weekly_spending`: Rolling 7-day spending limit. The limit applies to the sum of all completed transactions
3952
+ within a sliding 168-hour (7-day) window. As time passes, older transactions naturally expire from the window.
3953
+ $500 is the default limit.
3954
+ - `lifetime_transactions`: All-time transaction count limit. Tracks the total number of completed transactions
3955
+ across the user's entire history with no time-based expiration. Once the limit is reached, no further
3956
+ transactions are allowed. 15 is the default limit.
3957
+
3958
+ */
3959
+ export type OnrampLimitType = (typeof OnrampLimitType)[keyof typeof OnrampLimitType];
3960
+
3961
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
3962
+ export const OnrampLimitType = {
3963
+ weekly_spending: "weekly_spending",
3964
+ lifetime_transactions: "lifetime_transactions",
3965
+ } as const;
3966
+
3967
+ /**
3968
+ * A single limit with remaining capacity.
3969
+ */
3970
+ export interface OnrampUserLimit {
3971
+ limitType: OnrampLimitType;
3972
+ /** The currency of the limit amounts. Only present for spending limits, not for count-based limits. */
3973
+ currency?: string;
3974
+ /** The maximum limit value. */
3975
+ limit: string;
3976
+ /** The remaining amount or count available. */
3977
+ remaining: string;
3978
+ }
3979
+
3408
3980
  /**
3409
3981
  * Unauthorized.
3410
3982
  */
@@ -3445,6 +4017,11 @@ export type AlreadyExistsErrorResponse = Error;
3445
4017
  */
3446
4018
  export type InvalidSQLQueryErrorResponse = Error;
3447
4019
 
4020
+ /**
4021
+ * The client closed the connection before the server could send a response.
4022
+ */
4023
+ export type ClientClosedRequestErrorResponse = Error;
4024
+
3448
4025
  /**
3449
4026
  * The request timed out.
3450
4027
  */
@@ -3531,13 +4108,29 @@ section of our Authentication docs for more details on how to generate your Wall
3531
4108
  export type XWalletAuthParameter = string;
3532
4109
 
3533
4110
  /**
3534
- * An optional [UUID v4](https://www.uuidgenerator.net/version4) request header for making requests safely retryable.
3535
- When included, duplicate requests with the same key will return identical responses.
4111
+ * An optional string request header for making requests safely retryable.
4112
+ When included, duplicate requests with the same key will return identical responses.
3536
4113
  Refer to our [Idempotency docs](https://docs.cdp.coinbase.com/api-reference/v2/idempotency) for more information on using idempotency keys.
3537
4114
 
3538
4115
  */
3539
4116
  export type IdempotencyKeyParameter = string;
3540
4117
 
4118
+ /**
4119
+ * A JWT signed using your Wallet Secret, encoded in base64. Refer to the
4120
+ [Generate Wallet Token](https://docs.cdp.coinbase.com/api-reference/v2/authentication#2-generate-wallet-token)
4121
+ section of our Authentication docs for more details on how to generate your Wallet Token.
4122
+
4123
+ */
4124
+ export type XDeveloperAuthParameter = string;
4125
+
4126
+ /**
4127
+ * A JWT signed using your Wallet Secret, encoded in base64. Refer to the
4128
+ [Generate Wallet Token](https://docs.cdp.coinbase.com/api-reference/v2/authentication#2-generate-wallet-token)
4129
+ section of our Authentication docs for more details on how to generate your Wallet Token.
4130
+
4131
+ */
4132
+ export type XWalletAuthOptionalParameter = string;
4133
+
3541
4134
  /**
3542
4135
  * The number of resources to return per page.
3543
4136
  */
@@ -3584,6 +4177,8 @@ If `userId` is not provided in the request, the server will generate a random UU
3584
4177
  export type ListEndUsersParams = {
3585
4178
  /**
3586
4179
  * The number of end users to return per page.
4180
+ * @minimum 1
4181
+ * @maximum 100
3587
4182
  */
3588
4183
  pageSize?: number;
3589
4184
  /**
@@ -3665,6 +4260,368 @@ export type ImportEndUserBody = {
3665
4260
  keyType: ImportEndUserBodyKeyType;
3666
4261
  };
3667
4262
 
4263
+ export type SignEvmHashWithEndUserAccountBody = {
4264
+ /** The arbitrary 32 byte hash to sign. */
4265
+ hash: string;
4266
+ /**
4267
+ * The 0x-prefixed address of the EVM account belonging to the end user.
4268
+ * @pattern ^0x[0-9a-fA-F]{40}$
4269
+ */
4270
+ address: string;
4271
+ /**
4272
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4273
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4274
+ */
4275
+ walletSecretId?: string;
4276
+ };
4277
+
4278
+ export type SignEvmHashWithEndUserAccount200 = {
4279
+ /** The signature of the hash, as a 0x-prefixed hex string. */
4280
+ signature: string;
4281
+ };
4282
+
4283
+ export type SignEvmTransactionWithEndUserAccountBody = {
4284
+ /**
4285
+ * The 0x-prefixed address of the EVM account belonging to the end user.
4286
+ * @pattern ^0x[0-9a-fA-F]{40}$
4287
+ */
4288
+ address: string;
4289
+ /** The RLP-encoded transaction to sign, as a 0x-prefixed hex string. */
4290
+ transaction: string;
4291
+ /**
4292
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4293
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4294
+ */
4295
+ walletSecretId?: string;
4296
+ };
4297
+
4298
+ export type SignEvmTransactionWithEndUserAccount200 = {
4299
+ /** The RLP-encoded signed transaction, as a 0x-prefixed hex string. */
4300
+ signedTransaction: string;
4301
+ };
4302
+
4303
+ /**
4304
+ * The network to send the transaction to.
4305
+ */
4306
+ export type SendEvmTransactionWithEndUserAccountBodyNetwork =
4307
+ (typeof SendEvmTransactionWithEndUserAccountBodyNetwork)[keyof typeof SendEvmTransactionWithEndUserAccountBodyNetwork];
4308
+
4309
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
4310
+ export const SendEvmTransactionWithEndUserAccountBodyNetwork = {
4311
+ base: "base",
4312
+ "base-sepolia": "base-sepolia",
4313
+ ethereum: "ethereum",
4314
+ "ethereum-sepolia": "ethereum-sepolia",
4315
+ avalanche: "avalanche",
4316
+ polygon: "polygon",
4317
+ optimism: "optimism",
4318
+ arbitrum: "arbitrum",
4319
+ } as const;
4320
+
4321
+ export type SendEvmTransactionWithEndUserAccountBody = {
4322
+ /**
4323
+ * The 0x-prefixed address of the EVM account belonging to the end user.
4324
+ * @pattern ^0x[0-9a-fA-F]{40}$
4325
+ */
4326
+ address: string;
4327
+ /** The network to send the transaction to. */
4328
+ network: SendEvmTransactionWithEndUserAccountBodyNetwork;
4329
+ /**
4330
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4331
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4332
+ */
4333
+ walletSecretId?: string;
4334
+ /** The RLP-encoded transaction to sign and send, as a 0x-prefixed hex string. */
4335
+ transaction: string;
4336
+ };
4337
+
4338
+ export type SendEvmTransactionWithEndUserAccount200 = {
4339
+ /** The hash of the transaction, as a 0x-prefixed hex string. */
4340
+ transactionHash: string;
4341
+ };
4342
+
4343
+ /**
4344
+ * The EVM network to send USDC on.
4345
+ */
4346
+ export type SendEvmAssetWithEndUserAccountBodyNetwork =
4347
+ (typeof SendEvmAssetWithEndUserAccountBodyNetwork)[keyof typeof SendEvmAssetWithEndUserAccountBodyNetwork];
4348
+
4349
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
4350
+ export const SendEvmAssetWithEndUserAccountBodyNetwork = {
4351
+ base: "base",
4352
+ "base-sepolia": "base-sepolia",
4353
+ ethereum: "ethereum",
4354
+ "ethereum-sepolia": "ethereum-sepolia",
4355
+ avalanche: "avalanche",
4356
+ polygon: "polygon",
4357
+ optimism: "optimism",
4358
+ arbitrum: "arbitrum",
4359
+ } as const;
4360
+
4361
+ export type SendEvmAssetWithEndUserAccountBody = {
4362
+ /**
4363
+ * The 0x-prefixed address of the recipient.
4364
+ * @pattern ^0x[0-9a-fA-F]{40}$
4365
+ */
4366
+ to: BlockchainAddress;
4367
+ /**
4368
+ * The amount of USDC to send as a decimal string (e.g., "1.5" or "25.50").
4369
+ * @minLength 1
4370
+ * @maxLength 32
4371
+ */
4372
+ amount: string;
4373
+ /** The EVM network to send USDC on. */
4374
+ network: SendEvmAssetWithEndUserAccountBodyNetwork;
4375
+ /** Whether to use CDP Paymaster to sponsor gas fees. Only applicable for EVM Smart Accounts. When true, the transaction gas will be paid by the Paymaster, allowing users to send USDC without holding native gas tokens. Ignored for EOA accounts. Cannot be used together with `paymasterUrl`. */
4376
+ useCdpPaymaster?: boolean;
4377
+ /** Optional custom Paymaster URL to use for gas sponsorship. Only applicable for EVM Smart Accounts. This allows you to use your own Paymaster service instead of CDP's Paymaster. Cannot be used together with `useCdpPaymaster`. */
4378
+ paymasterUrl?: Url;
4379
+ /**
4380
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4381
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4382
+ */
4383
+ walletSecretId?: string;
4384
+ };
4385
+
4386
+ export type SendEvmAssetWithEndUserAccount200 = {
4387
+ /**
4388
+ * The hash of the transaction, as a 0x-prefixed hex string. Populated for EOA accounts. Null for Smart Accounts (use userOpHash instead).
4389
+ * @nullable
4390
+ */
4391
+ transactionHash?: string | null;
4392
+ /**
4393
+ * The hash of the user operation, as a 0x-prefixed hex string. Populated for Smart Accounts. Null for EOA accounts (use transactionHash instead).
4394
+ * @nullable
4395
+ */
4396
+ userOpHash?: string | null;
4397
+ };
4398
+
4399
+ export type SignEvmMessageWithEndUserAccountBody = {
4400
+ /**
4401
+ * The 0x-prefixed address of the EVM account belonging to the end user.
4402
+ * @pattern ^0x[0-9a-fA-F]{40}$
4403
+ */
4404
+ address: string;
4405
+ /** The message to sign. */
4406
+ message: string;
4407
+ /**
4408
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4409
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4410
+ */
4411
+ walletSecretId?: string;
4412
+ };
4413
+
4414
+ export type SignEvmMessageWithEndUserAccount200 = {
4415
+ /** The signature of the message, as a 0x-prefixed hex string. */
4416
+ signature: string;
4417
+ };
4418
+
4419
+ export type SignEvmTypedDataWithEndUserAccountBody = {
4420
+ /**
4421
+ * The 0x-prefixed address of the EVM account belonging to the end user.
4422
+ * @pattern ^0x[0-9a-fA-F]{40}$
4423
+ */
4424
+ address: string;
4425
+ typedData: EIP712Message;
4426
+ /**
4427
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4428
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4429
+ */
4430
+ walletSecretId?: string;
4431
+ };
4432
+
4433
+ export type SignEvmTypedDataWithEndUserAccount200 = {
4434
+ /** The signature of the typed data, as a 0x-prefixed hex string. */
4435
+ signature: string;
4436
+ };
4437
+
4438
+ export type RevokeDelegationForEndUserBody = {
4439
+ /**
4440
+ * When revoking with a wallet authentication scheme, the ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4441
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4442
+ */
4443
+ walletSecretId?: string;
4444
+ };
4445
+
4446
+ export type CreateEvmEip7702DelegationWithEndUserAccountBody = {
4447
+ /**
4448
+ * The 0x-prefixed address of the EVM account to delegate.
4449
+ * @pattern ^0x[0-9a-fA-F]{40}$
4450
+ */
4451
+ address: string;
4452
+ network: EvmEip7702DelegationNetwork;
4453
+ /** Whether to configure spend permissions for the upgraded, delegated account. When enabled, the account can grant permissions for third parties to spend on its behalf. */
4454
+ enableSpendPermissions?: boolean;
4455
+ /**
4456
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4457
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4458
+ */
4459
+ walletSecretId?: string;
4460
+ };
4461
+
4462
+ export type CreateEvmEip7702DelegationWithEndUserAccount201 = {
4463
+ /** The unique identifier for the delegation operation. Use this to poll the operation status. */
4464
+ delegationOperationId: string;
4465
+ };
4466
+
4467
+ export type SendUserOperationWithEndUserAccountBody = {
4468
+ network: EvmUserOperationNetwork;
4469
+ /** The list of calls to make from the Smart Account. */
4470
+ calls: EvmCall[];
4471
+ /** Whether to use the CDP Paymaster for the user operation. */
4472
+ useCdpPaymaster: boolean;
4473
+ /** The URL of the paymaster to use for the user operation. If using the CDP Paymaster, use the `useCdpPaymaster` option. */
4474
+ paymasterUrl?: Url;
4475
+ /**
4476
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4477
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4478
+ */
4479
+ walletSecretId?: string;
4480
+ /**
4481
+ * The EIP-8021 data suffix (hex-encoded) that enables transaction attribution for the user operation.
4482
+ * @pattern ^0x[0-9a-fA-F]+$
4483
+ */
4484
+ dataSuffix?: string;
4485
+ };
4486
+
4487
+ export type SignSolanaHashWithEndUserAccountBody = {
4488
+ /** The arbitrary 32 byte hash to sign as base58 encoded string. */
4489
+ hash: string;
4490
+ /**
4491
+ * The base58 encoded address of the Solana account belonging to the end user.
4492
+ * @pattern ^[1-9A-HJ-NP-Za-km-z]{32,44}$
4493
+ */
4494
+ address: string;
4495
+ /**
4496
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4497
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4498
+ */
4499
+ walletSecretId?: string;
4500
+ };
4501
+
4502
+ export type SignSolanaHashWithEndUserAccount200 = {
4503
+ /** The signature of the hash, as a base58 encoded string. */
4504
+ signature: string;
4505
+ };
4506
+
4507
+ export type SignSolanaMessageWithEndUserAccountBody = {
4508
+ /**
4509
+ * The base58 encoded address of the Solana account belonging to the end user.
4510
+ * @pattern ^[1-9A-HJ-NP-Za-km-z]{32,44}$
4511
+ */
4512
+ address: string;
4513
+ /** The base64 encoded arbitrary message to sign. */
4514
+ message: string;
4515
+ /**
4516
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4517
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4518
+ */
4519
+ walletSecretId?: string;
4520
+ };
4521
+
4522
+ export type SignSolanaMessageWithEndUserAccount200 = {
4523
+ /** The signature of the message, as a base58 encoded string. */
4524
+ signature: string;
4525
+ };
4526
+
4527
+ export type SignSolanaTransactionWithEndUserAccountBody = {
4528
+ /**
4529
+ * The base58 encoded address of the Solana account belonging to the end user.
4530
+ * @pattern ^[1-9A-HJ-NP-Za-km-z]{32,44}$
4531
+ */
4532
+ address: string;
4533
+ /** The base64 encoded transaction to sign. */
4534
+ transaction: string;
4535
+ /**
4536
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4537
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4538
+ */
4539
+ walletSecretId?: string;
4540
+ };
4541
+
4542
+ export type SignSolanaTransactionWithEndUserAccount200 = {
4543
+ /** The base64 encoded signed transaction. */
4544
+ signedTransaction: string;
4545
+ };
4546
+
4547
+ /**
4548
+ * The Solana network to send the transaction to.
4549
+ */
4550
+ export type SendSolanaTransactionWithEndUserAccountBodyNetwork =
4551
+ (typeof SendSolanaTransactionWithEndUserAccountBodyNetwork)[keyof typeof SendSolanaTransactionWithEndUserAccountBodyNetwork];
4552
+
4553
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
4554
+ export const SendSolanaTransactionWithEndUserAccountBodyNetwork = {
4555
+ solana: "solana",
4556
+ "solana-devnet": "solana-devnet",
4557
+ } as const;
4558
+
4559
+ export type SendSolanaTransactionWithEndUserAccountBody = {
4560
+ /**
4561
+ * The base58 encoded address of the Solana account belonging to the end user.
4562
+ * @pattern ^[1-9A-HJ-NP-Za-km-z]{32,44}$
4563
+ */
4564
+ address: string;
4565
+ /** The Solana network to send the transaction to. */
4566
+ network: SendSolanaTransactionWithEndUserAccountBodyNetwork;
4567
+ /**
4568
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4569
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4570
+ */
4571
+ walletSecretId?: string;
4572
+ /** The base64 encoded transaction to sign and send. This transaction can contain multiple instructions for native Solana batching. */
4573
+ transaction: string;
4574
+ /** Whether transaction fees should be sponsored by CDP. When true, CDP sponsors the transaction fees on behalf of the end user. When false, the end user is responsible for paying the transaction fees. */
4575
+ useCdpSponsor?: boolean;
4576
+ };
4577
+
4578
+ export type SendSolanaTransactionWithEndUserAccount200 = {
4579
+ /** The base58 encoded transaction signature. */
4580
+ transactionSignature: string;
4581
+ };
4582
+
4583
+ /**
4584
+ * The Solana network to send USDC on.
4585
+ */
4586
+ export type SendSolanaAssetWithEndUserAccountBodyNetwork =
4587
+ (typeof SendSolanaAssetWithEndUserAccountBodyNetwork)[keyof typeof SendSolanaAssetWithEndUserAccountBodyNetwork];
4588
+
4589
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
4590
+ export const SendSolanaAssetWithEndUserAccountBodyNetwork = {
4591
+ solana: "solana",
4592
+ "solana-devnet": "solana-devnet",
4593
+ } as const;
4594
+
4595
+ export type SendSolanaAssetWithEndUserAccountBody = {
4596
+ /**
4597
+ * The base58 encoded address of the recipient.
4598
+ * @pattern ^[1-9A-HJ-NP-Za-km-z]{32,44}$
4599
+ */
4600
+ to: BlockchainAddress;
4601
+ /**
4602
+ * The amount of USDC to send as a decimal string (e.g., "1.5" or "25.50").
4603
+ * @minLength 1
4604
+ * @maxLength 32
4605
+ */
4606
+ amount: string;
4607
+ /** The Solana network to send USDC on. */
4608
+ network: SendSolanaAssetWithEndUserAccountBodyNetwork;
4609
+ /** Whether to automatically create an Associated Token Account (ATA) for the recipient if it doesn't exist. When true, the sender pays the rent-exempt minimum to create the recipient's USDC ATA. When false, the transaction will fail if the recipient doesn't have a USDC ATA. */
4610
+ createRecipientAta?: boolean;
4611
+ /**
4612
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4613
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4614
+ */
4615
+ walletSecretId?: string;
4616
+ /** Whether transaction fees should be sponsored by CDP. When true, CDP sponsors the transaction fees on behalf of the end user. When false, the end user is responsible for paying the transaction fees. */
4617
+ useCdpSponsor?: boolean;
4618
+ };
4619
+
4620
+ export type SendSolanaAssetWithEndUserAccount200 = {
4621
+ /** The base58 encoded transaction signature. */
4622
+ transactionSignature: string;
4623
+ };
4624
+
3668
4625
  export type ListEvmAccountsParams = {
3669
4626
  /**
3670
4627
  * The number of resources to return per page.
@@ -3778,6 +4735,17 @@ export type SignEvmTypedData200 = {
3778
4735
  signature: string;
3779
4736
  };
3780
4737
 
4738
+ export type CreateEvmEip7702DelegationBody = {
4739
+ network: EvmEip7702DelegationNetwork;
4740
+ /** Whether to configure spend permissions for the upgraded, delegated account. When enabled, the account can grant permissions for third parties to spend on its behalf. */
4741
+ enableSpendPermissions?: boolean;
4742
+ };
4743
+
4744
+ export type CreateEvmEip7702Delegation201 = {
4745
+ /** The unique identifier for the delegation operation. Use this to poll the operation status. */
4746
+ delegationOperationId: string;
4747
+ };
4748
+
3781
4749
  export type ListEvmSmartAccountsParams = {
3782
4750
  /**
3783
4751
  * The number of resources to return per page.
@@ -4212,6 +5180,7 @@ export type RequestSolanaFaucetBodyToken =
4212
5180
  export const RequestSolanaFaucetBodyToken = {
4213
5181
  sol: "sol",
4214
5182
  usdc: "usdc",
5183
+ cbtusd: "cbtusd",
4215
5184
  } as const;
4216
5185
 
4217
5186
  export type RequestSolanaFaucetBody = {
@@ -4268,6 +5237,8 @@ export type ListDataTokenBalances200 = ListDataTokenBalances200AllOf & ListRespo
4268
5237
  export type ListWebhookSubscriptionsParams = {
4269
5238
  /**
4270
5239
  * The number of subscriptions to return per page.
5240
+ * @minimum 1
5241
+ * @maximum 100
4271
5242
  */
4272
5243
  pageSize?: number;
4273
5244
  /**
@@ -4375,3 +5346,15 @@ export type CreateOnrampSession201 = {
4375
5346
  session: OnrampSession;
4376
5347
  quote?: OnrampQuote;
4377
5348
  };
5349
+
5350
+ export type GetOnrampUserLimitsBody = {
5351
+ paymentMethodType: OnrampOrderPaymentMethodTypeId;
5352
+ /** The user identifier value. For `phone_number` type, this must be in E.164 format. */
5353
+ userId: string;
5354
+ userIdType: OnrampUserIdType;
5355
+ };
5356
+
5357
+ export type GetOnrampUserLimits200 = {
5358
+ /** The list of limits applicable to the user. */
5359
+ limits: OnrampUserLimit[];
5360
+ };