@coinbase/cdp-sdk 1.43.1 → 1.44.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 (72) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +55 -0
  3. package/_cjs/actions/evm/sendUserOperation.js +23 -10
  4. package/_cjs/actions/evm/sendUserOperation.js.map +1 -1
  5. package/_cjs/actions/evm/transfer/utils.js.map +1 -1
  6. package/_cjs/auth/utils/hash.js +1 -1
  7. package/_cjs/auth/utils/hash.js.map +1 -1
  8. package/_cjs/auth/utils/http.js +4 -1
  9. package/_cjs/auth/utils/http.js.map +1 -1
  10. package/_cjs/client/end-user/endUser.js +87 -4
  11. package/_cjs/client/end-user/endUser.js.map +1 -1
  12. package/_cjs/client/end-user/toEndUserAccount.js +51 -0
  13. package/_cjs/client/end-user/toEndUserAccount.js.map +1 -0
  14. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +4 -2
  15. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  16. package/_cjs/openapi-client/generated/end-user-accounts/end-user-accounts.js +43 -1
  17. package/_cjs/openapi-client/generated/end-user-accounts/end-user-accounts.js.map +1 -1
  18. package/_cjs/openapi-client/generated/webhooks/webhooks.js +8 -1
  19. package/_cjs/openapi-client/generated/webhooks/webhooks.js.map +1 -1
  20. package/_cjs/version.js +1 -1
  21. package/_esm/actions/evm/sendUserOperation.js +23 -10
  22. package/_esm/actions/evm/sendUserOperation.js.map +1 -1
  23. package/_esm/actions/evm/transfer/utils.js.map +1 -1
  24. package/_esm/auth/utils/hash.js +1 -1
  25. package/_esm/auth/utils/hash.js.map +1 -1
  26. package/_esm/auth/utils/http.js +4 -1
  27. package/_esm/auth/utils/http.js.map +1 -1
  28. package/_esm/client/end-user/endUser.js +88 -5
  29. package/_esm/client/end-user/endUser.js.map +1 -1
  30. package/_esm/client/end-user/toEndUserAccount.js +48 -0
  31. package/_esm/client/end-user/toEndUserAccount.js.map +1 -0
  32. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +4 -2
  33. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  34. package/_esm/openapi-client/generated/end-user-accounts/end-user-accounts.js +39 -0
  35. package/_esm/openapi-client/generated/end-user-accounts/end-user-accounts.js.map +1 -1
  36. package/_esm/openapi-client/generated/webhooks/webhooks.js +8 -1
  37. package/_esm/openapi-client/generated/webhooks/webhooks.js.map +1 -1
  38. package/_esm/version.js +1 -1
  39. package/_types/actions/evm/sendUserOperation.d.ts.map +1 -1
  40. package/_types/actions/evm/transfer/utils.d.ts +2 -1
  41. package/_types/actions/evm/transfer/utils.d.ts.map +1 -1
  42. package/_types/auth/utils/http.d.ts.map +1 -1
  43. package/_types/client/end-user/endUser.d.ts +64 -6
  44. package/_types/client/end-user/endUser.d.ts.map +1 -1
  45. package/_types/client/end-user/endUser.types.d.ts +119 -1
  46. package/_types/client/end-user/endUser.types.d.ts.map +1 -1
  47. package/_types/client/end-user/toEndUserAccount.d.ts +20 -0
  48. package/_types/client/end-user/toEndUserAccount.d.ts.map +1 -0
  49. package/_types/index.d.ts +1 -1
  50. package/_types/index.d.ts.map +1 -1
  51. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts +62 -38
  52. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts.map +1 -1
  53. package/_types/openapi-client/generated/end-user-accounts/end-user-accounts.d.ts +22 -1
  54. package/_types/openapi-client/generated/end-user-accounts/end-user-accounts.d.ts.map +1 -1
  55. package/_types/openapi-client/generated/webhooks/webhooks.d.ts +8 -1
  56. package/_types/openapi-client/generated/webhooks/webhooks.d.ts.map +1 -1
  57. package/_types/openapi-client/index.d.ts +3 -0
  58. package/_types/openapi-client/index.d.ts.map +1 -1
  59. package/_types/version.d.ts +1 -1
  60. package/actions/evm/sendUserOperation.ts +45 -11
  61. package/actions/evm/transfer/utils.ts +4 -2
  62. package/auth/utils/hash.ts +1 -1
  63. package/auth/utils/http.ts +5 -2
  64. package/client/end-user/endUser.ts +118 -13
  65. package/client/end-user/endUser.types.ts +135 -0
  66. package/client/end-user/toEndUserAccount.ts +80 -0
  67. package/index.ts +1 -1
  68. package/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.ts +74 -41
  69. package/openapi-client/generated/end-user-accounts/end-user-accounts.ts +75 -0
  70. package/openapi-client/generated/webhooks/webhooks.ts +8 -1
  71. package/package.json +1 -1
  72. package/version.ts +1 -1
@@ -270,8 +270,6 @@ export const ErrorType = {
270
270
  mfa_flow_expired: "mfa_flow_expired",
271
271
  mfa_required: "mfa_required",
272
272
  mfa_not_enrolled: "mfa_not_enrolled",
273
- mfa_multiple_methods_available: "mfa_multiple_methods_available",
274
- mfa_invalid_method: "mfa_invalid_method",
275
273
  } as const;
276
274
 
277
275
  /**
@@ -2563,6 +2561,20 @@ export interface AccountTokenAddressesResponse {
2563
2561
  totalCount?: number;
2564
2562
  }
2565
2563
 
2564
+ /**
2565
+ * A human-readable description.
2566
+ * @minLength 0
2567
+ * @maxLength 500
2568
+ */
2569
+ export type Description = string;
2570
+
2571
+ /**
2572
+ * Optional metadata as key-value pairs. Use this to store additional structured information on a resource, such as customer IDs, order references, or any application-specific data. Up to 50 key/value pairs may be provided. Keys and values are both strings. Keys must be ≤ 40 characters; values must be ≤ 500 characters.
2573
+ */
2574
+ export interface Metadata {
2575
+ [key: string]: string;
2576
+ }
2577
+
2566
2578
  /**
2567
2579
  * Additional headers to include in webhook requests.
2568
2580
  */
@@ -2580,10 +2592,7 @@ export interface WebhookTarget {
2580
2592
  headers?: WebhookTargetHeaders;
2581
2593
  }
2582
2594
 
2583
- /**
2584
- * Additional metadata for the subscription.
2585
- */
2586
- export type WebhookSubscriptionResponseMetadata = {
2595
+ export type WebhookSubscriptionResponseMetadataAllOf = {
2587
2596
  /**
2588
2597
  * Use the root-level `secret` field instead. Maintained for backward compatibility only.
2589
2598
  * @deprecated
@@ -2591,6 +2600,12 @@ export type WebhookSubscriptionResponseMetadata = {
2591
2600
  secret?: string;
2592
2601
  };
2593
2602
 
2603
+ /**
2604
+ * Additional metadata for the subscription.
2605
+ */
2606
+ export type WebhookSubscriptionResponseMetadata = Metadata &
2607
+ WebhookSubscriptionResponseMetadataAllOf;
2608
+
2594
2609
  /**
2595
2610
  * Multi-label filters using total overlap logic. Total overlap means the subscription only triggers when events contain ALL these key-value pairs.
2596
2611
  Present when subscription uses multi-label format.
@@ -2605,8 +2620,8 @@ export interface WebhookSubscriptionResponse {
2605
2620
  /** When the subscription was created. */
2606
2621
  createdAt: string;
2607
2622
  /** Description of the webhook subscription. */
2608
- description?: string;
2609
- /** Types of events to subscribe to. Event types follow a three-part dot-separated format:
2623
+ description?: Description;
2624
+ /** Types of events to subscribe to. Event types follow a three-part dot-separated format:
2610
2625
  service.resource.verb (e.g., "onchain.activity.detected", "wallet.activity.detected", "onramp.transaction.created").
2611
2626
  */
2612
2627
  eventTypes: string[];
@@ -2653,11 +2668,6 @@ export type WebhookSubscriptionListResponseAllOf = {
2653
2668
 
2654
2669
  export type WebhookSubscriptionListResponse = WebhookSubscriptionListResponseAllOf & ListResponse;
2655
2670
 
2656
- /**
2657
- * Additional metadata for the subscription.
2658
- */
2659
- export type WebhookSubscriptionRequestMetadata = { [key: string]: unknown };
2660
-
2661
2671
  /**
2662
2672
  * Multi-label filters using total overlap logic. Total overlap means the subscription will only trigger when
2663
2673
  an event contains ALL the key-value pairs specified here. Additional labels on
@@ -2678,8 +2688,8 @@ and multi-label filtering formats.
2678
2688
  export type WebhookSubscriptionRequest =
2679
2689
  | (unknown & {
2680
2690
  /** Description of the webhook subscription. */
2681
- description?: string;
2682
- /** Types of events to subscribe to. Event types follow a three-part dot-separated format:
2691
+ description?: Description;
2692
+ /** Types of events to subscribe to. Event types follow a three-part dot-separated format:
2683
2693
  service.resource.verb (e.g., "onchain.activity.detected", "wallet.activity.detected", "onramp.transaction.created").
2684
2694
  The subscription will only receive events matching these types AND the label filter(s).
2685
2695
  */
@@ -2687,8 +2697,7 @@ The subscription will only receive events matching these types AND the label fil
2687
2697
  /** Whether the subscription is enabled. */
2688
2698
  isEnabled?: boolean;
2689
2699
  target?: WebhookTarget;
2690
- /** Additional metadata for the subscription. */
2691
- metadata?: WebhookSubscriptionRequestMetadata;
2700
+ metadata?: Metadata;
2692
2701
  /**
2693
2702
  * (Deprecated) Use `labels` instead for better filtering capabilities, including filtering on multiple labels simultaneously.
2694
2703
 
@@ -2725,8 +2734,8 @@ See [allowed labels for onchain webhooks](https://docs.cdp.coinbase.com/api-refe
2725
2734
  })
2726
2735
  | (unknown & {
2727
2736
  /** Description of the webhook subscription. */
2728
- description?: string;
2729
- /** Types of events to subscribe to. Event types follow a three-part dot-separated format:
2737
+ description?: Description;
2738
+ /** Types of events to subscribe to. Event types follow a three-part dot-separated format:
2730
2739
  service.resource.verb (e.g., "onchain.activity.detected", "wallet.activity.detected", "onramp.transaction.created").
2731
2740
  The subscription will only receive events matching these types AND the label filter(s).
2732
2741
  */
@@ -2734,8 +2743,7 @@ The subscription will only receive events matching these types AND the label fil
2734
2743
  /** Whether the subscription is enabled. */
2735
2744
  isEnabled?: boolean;
2736
2745
  target?: WebhookTarget;
2737
- /** Additional metadata for the subscription. */
2738
- metadata?: WebhookSubscriptionRequestMetadata;
2746
+ metadata?: Metadata;
2739
2747
  /**
2740
2748
  * (Deprecated) Use `labels` instead for better filtering capabilities, including filtering on multiple labels simultaneously.
2741
2749
 
@@ -2771,11 +2779,6 @@ See [allowed labels for onchain webhooks](https://docs.cdp.coinbase.com/api-refe
2771
2779
  labels?: WebhookSubscriptionRequestLabels;
2772
2780
  });
2773
2781
 
2774
- /**
2775
- * Additional metadata for the subscription.
2776
- */
2777
- export type WebhookSubscriptionUpdateRequestMetadata = { [key: string]: unknown };
2778
-
2779
2782
  /**
2780
2783
  * Multi-label filters that trigger only when an event contains ALL of these key-value pairs.
2781
2784
 
@@ -2794,16 +2797,15 @@ the original subscription format (traditional or multi-label).
2794
2797
  export type WebhookSubscriptionUpdateRequest =
2795
2798
  | (unknown & {
2796
2799
  /** Description of the webhook subscription. */
2797
- description?: string;
2798
- /** Types of events to subscribe to. Event types follow a three-part dot-separated format:
2800
+ description?: Description;
2801
+ /** Types of events to subscribe to. Event types follow a three-part dot-separated format:
2799
2802
  service.resource.verb (e.g., "onchain.activity.detected", "wallet.activity.detected", "onramp.transaction.created").
2800
2803
  */
2801
2804
  eventTypes?: string[];
2802
2805
  /** Whether the subscription is enabled. */
2803
2806
  isEnabled?: boolean;
2804
2807
  target?: WebhookTarget;
2805
- /** Additional metadata for the subscription. */
2806
- metadata?: WebhookSubscriptionUpdateRequestMetadata;
2808
+ metadata?: Metadata;
2807
2809
  /** Multi-label filters that trigger only when an event contains ALL of these key-value pairs.
2808
2810
 
2809
2811
  **Note:** Currently, labels are supported for onchain webhooks only.
@@ -2832,16 +2834,15 @@ Maintained for backward compatibility only.
2832
2834
  })
2833
2835
  | (unknown & {
2834
2836
  /** Description of the webhook subscription. */
2835
- description?: string;
2836
- /** Types of events to subscribe to. Event types follow a three-part dot-separated format:
2837
+ description?: Description;
2838
+ /** Types of events to subscribe to. Event types follow a three-part dot-separated format:
2837
2839
  service.resource.verb (e.g., "onchain.activity.detected", "wallet.activity.detected", "onramp.transaction.created").
2838
2840
  */
2839
2841
  eventTypes?: string[];
2840
2842
  /** Whether the subscription is enabled. */
2841
2843
  isEnabled?: boolean;
2842
2844
  target?: WebhookTarget;
2843
- /** Additional metadata for the subscription. */
2844
- metadata?: WebhookSubscriptionUpdateRequestMetadata;
2845
+ metadata?: Metadata;
2845
2846
  /** Multi-label filters that trigger only when an event contains ALL of these key-value pairs.
2846
2847
 
2847
2848
  **Note:** Currently, labels are supported for onchain webhooks only.
@@ -3021,8 +3022,8 @@ For Solana-based networks, payTo will be a base58-encoded Solana address.
3021
3022
  export interface X402ResourceInfo {
3022
3023
  /** The URL of the resource. */
3023
3024
  url?: string;
3024
- /** The description of the resource. */
3025
- description?: string;
3025
+ /** A human-readable description of the resource. */
3026
+ description?: Description;
3026
3027
  /** The MIME type of the resource response. */
3027
3028
  mimeType?: string;
3028
3029
  }
@@ -3102,8 +3103,8 @@ export interface X402V1PaymentRequirements {
3102
3103
  maxAmountRequired: string;
3103
3104
  /** The URL of the resource to pay for. */
3104
3105
  resource: string;
3105
- /** The description of the resource. */
3106
- description: string;
3106
+ /** A human-readable description of the resource. */
3107
+ description: Description;
3107
3108
  /** The MIME type of the resource response. */
3108
3109
  mimeType: string;
3109
3110
  /** The optional JSON schema describing the resource output. */
@@ -3352,6 +3353,10 @@ export const X402SupportedPaymentKindNetwork = {
3352
3353
  base: "base",
3353
3354
  "solana-devnet": "solana-devnet",
3354
3355
  solana: "solana",
3356
+ "eip155:8453": "eip155:8453",
3357
+ "eip155:84532": "eip155:84532",
3358
+ "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
3359
+ "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1": "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",
3355
3360
  } as const;
3356
3361
 
3357
3362
  /**
@@ -3372,6 +3377,13 @@ export interface X402SupportedPaymentKind {
3372
3377
  extra?: X402SupportedPaymentKindExtra;
3373
3378
  }
3374
3379
 
3380
+ /**
3381
+ * A blockchain address. Format varies by network (e.g., 0x-prefixed for EVM, base58 for Solana).
3382
+ * @minLength 1
3383
+ * @maxLength 128
3384
+ */
3385
+ export type BlockchainAddress = string;
3386
+
3375
3387
  /**
3376
3388
  * The type of payment method to be used to complete an onramp order.
3377
3389
  */
@@ -3442,7 +3454,7 @@ export interface OnrampOrder {
3442
3454
  /** The exchange rate used to convert fiat to crypto i.e. the crypto value of one fiat. */
3443
3455
  exchangeRate: string;
3444
3456
  /** The destination address to send the crypto to. */
3445
- destinationAddress: string;
3457
+ destinationAddress: BlockchainAddress;
3446
3458
  /** The network to send the crypto on. */
3447
3459
  destinationNetwork: string;
3448
3460
  status: OnrampOrderStatus;
@@ -3742,6 +3754,27 @@ export type ValidateEndUserAccessTokenBody = {
3742
3754
  accessToken: string;
3743
3755
  };
3744
3756
 
3757
+ export type AddEndUserEvmAccountBody = { [key: string]: unknown };
3758
+
3759
+ export type AddEndUserEvmAccount201 = {
3760
+ evmAccount: EndUserEvmAccount;
3761
+ };
3762
+
3763
+ export type AddEndUserEvmSmartAccountBody = {
3764
+ /** If true, enables spend permissions for the EVM smart account. */
3765
+ enableSpendPermissions?: boolean;
3766
+ };
3767
+
3768
+ export type AddEndUserEvmSmartAccount201 = {
3769
+ evmSmartAccount: EndUserEvmSmartAccount;
3770
+ };
3771
+
3772
+ export type AddEndUserSolanaAccountBody = { [key: string]: unknown };
3773
+
3774
+ export type AddEndUserSolanaAccount201 = {
3775
+ solanaAccount: EndUserSolanaAccount;
3776
+ };
3777
+
3745
3778
  /**
3746
3779
  * The type of key being imported. Determines what type of account will be associated for the end user.
3747
3780
  */
@@ -4394,7 +4427,7 @@ export type CreateOnrampOrderBody = {
4394
4427
  /** The timestamp of when the user acknowledged that by using Coinbase Onramp they are accepting the Coinbase Terms (https://www.coinbase.com/legal/guest-checkout/us), User Agreement (https://www.coinbase.com/legal/user_agreement), and Privacy Policy (https://www.coinbase.com/legal/privacy). */
4395
4428
  agreementAcceptedAt: string;
4396
4429
  /** The address the purchased crypto will be sent to. */
4397
- destinationAddress: string;
4430
+ destinationAddress: BlockchainAddress;
4398
4431
  /** The name of the crypto network the purchased currency will be sent on.
4399
4432
 
4400
4433
  Use the [Onramp Buy Options API](https://docs.cdp.coinbase.com/api-reference/rest-api/onramp-offramp/get-buy-options) to discover the supported networks for your user's location. */
@@ -4451,7 +4484,7 @@ Use the [Onramp Buy Options API](https://docs.cdp.coinbase.com/api-reference/res
4451
4484
  Use the [Onramp Buy Options API](https://docs.cdp.coinbase.com/api-reference/rest-api/onramp-offramp/get-buy-options) to discover the supported networks for your user's location. */
4452
4485
  destinationNetwork: string;
4453
4486
  /** The address the purchased crypto will be sent to. */
4454
- destinationAddress: string;
4487
+ destinationAddress: BlockchainAddress;
4455
4488
  /** A string representing the amount of fiat the user wishes to pay in exchange for crypto. When using this parameter, the returned quote will be inclusive of fees i.e. the user will pay this exact amount of the payment currency. */
4456
4489
  paymentAmount?: string;
4457
4490
  /** A string representing the amount of crypto the user wishes to purchase. When using this parameter, the returned quote will be exclusive of fees i.e. the user will receive this exact amount of the purchase currency. */
@@ -6,6 +6,12 @@
6
6
  * OpenAPI spec version: 2.0.0
7
7
  */
8
8
  import type {
9
+ AddEndUserEvmAccount201,
10
+ AddEndUserEvmAccountBody,
11
+ AddEndUserEvmSmartAccount201,
12
+ AddEndUserEvmSmartAccountBody,
13
+ AddEndUserSolanaAccount201,
14
+ AddEndUserSolanaAccountBody,
9
15
  CreateEndUserBody,
10
16
  EndUser,
11
17
  ImportEndUserBody,
@@ -77,6 +83,66 @@ This API is intended to be used by the developer's own backend, and is authentic
77
83
  export const getEndUser = (userId: string, options?: SecondParameter<typeof cdpApiClient>) => {
78
84
  return cdpApiClient<EndUser>({ url: `/v2/end-users/${userId}`, method: "GET" }, options);
79
85
  };
86
+ /**
87
+ * Adds a new EVM EOA account to an existing end user. End users can have up to 10 EVM accounts.
88
+ This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.
89
+ * @summary Add an EVM account to an end user
90
+ */
91
+ export const addEndUserEvmAccount = (
92
+ userId: string,
93
+ addEndUserEvmAccountBody?: AddEndUserEvmAccountBody,
94
+ options?: SecondParameter<typeof cdpApiClient>,
95
+ ) => {
96
+ return cdpApiClient<AddEndUserEvmAccount201>(
97
+ {
98
+ url: `/v2/end-users/${userId}/evm`,
99
+ method: "POST",
100
+ headers: { "Content-Type": "application/json" },
101
+ data: addEndUserEvmAccountBody,
102
+ },
103
+ options,
104
+ );
105
+ };
106
+ /**
107
+ * Creates an EVM smart account for an existing end user. The backend will create a new EVM EOA account to serve as the owner of the smart account.
108
+ This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.
109
+ * @summary Add an EVM smart account to an end user
110
+ */
111
+ export const addEndUserEvmSmartAccount = (
112
+ userId: string,
113
+ addEndUserEvmSmartAccountBody?: AddEndUserEvmSmartAccountBody,
114
+ options?: SecondParameter<typeof cdpApiClient>,
115
+ ) => {
116
+ return cdpApiClient<AddEndUserEvmSmartAccount201>(
117
+ {
118
+ url: `/v2/end-users/${userId}/evm-smart-account`,
119
+ method: "POST",
120
+ headers: { "Content-Type": "application/json" },
121
+ data: addEndUserEvmSmartAccountBody,
122
+ },
123
+ options,
124
+ );
125
+ };
126
+ /**
127
+ * Adds a new Solana account to an existing end user. End users can have up to 10 Solana accounts.
128
+ This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.
129
+ * @summary Add a Solana account to an end user
130
+ */
131
+ export const addEndUserSolanaAccount = (
132
+ userId: string,
133
+ addEndUserSolanaAccountBody?: AddEndUserSolanaAccountBody,
134
+ options?: SecondParameter<typeof cdpApiClient>,
135
+ ) => {
136
+ return cdpApiClient<AddEndUserSolanaAccount201>(
137
+ {
138
+ url: `/v2/end-users/${userId}/solana`,
139
+ method: "POST",
140
+ headers: { "Content-Type": "application/json" },
141
+ data: addEndUserSolanaAccountBody,
142
+ },
143
+ options,
144
+ );
145
+ };
80
146
  /**
81
147
  * Imports an existing private key for an end user into the developer's CDP Project. The private key must be encrypted using the CDP SDK's encryption scheme before being sent to this endpoint. This API should be called from the [CDP SDK](https://github.com/coinbase/cdp-sdk) to ensure that the associated private key is properly encrypted.
82
148
 
@@ -103,4 +169,13 @@ export type ValidateEndUserAccessTokenResult = NonNullable<
103
169
  Awaited<ReturnType<typeof validateEndUserAccessToken>>
104
170
  >;
105
171
  export type GetEndUserResult = NonNullable<Awaited<ReturnType<typeof getEndUser>>>;
172
+ export type AddEndUserEvmAccountResult = NonNullable<
173
+ Awaited<ReturnType<typeof addEndUserEvmAccount>>
174
+ >;
175
+ export type AddEndUserEvmSmartAccountResult = NonNullable<
176
+ Awaited<ReturnType<typeof addEndUserEvmSmartAccount>>
177
+ >;
178
+ export type AddEndUserSolanaAccountResult = NonNullable<
179
+ Awaited<ReturnType<typeof addEndUserSolanaAccount>>
180
+ >;
106
181
  export type ImportEndUserResult = NonNullable<Awaited<ReturnType<typeof importEndUser>>>;
@@ -54,12 +54,19 @@ export const listWebhookSubscriptions = (
54
54
  - `offramp.transaction.success`, `offramp.transaction.failed`
55
55
  - **No labels required** - maximum simplicity for transaction monitoring
56
56
 
57
+ **Payments Transfers Events** - Transfer lifecycle notifications:
58
+ - `payments.transfers.quoted`
59
+ - `payments.transfers.processing`
60
+ - `payments.transfers.completed`
61
+ - `payments.transfers.failed`
62
+ - **No labels required** - enable the transfers webhook to monitor status transitions
63
+
57
64
  **Wallet Events** - Wallet activity notifications:
58
65
  - `wallet.activity.detected`
59
66
 
60
67
  ### Webhook Signature Verification
61
68
  All webhooks include cryptographic signatures for security.
62
- The signature secret is returned in `metadata.secret` when creating a subscription.
69
+ The signature secret is returned in `secret` field when creating a subscription.
63
70
 
64
71
  **Note:** Webhooks are in beta and this interface is subject to change.
65
72
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinbase/cdp-sdk",
3
- "version": "1.43.1",
3
+ "version": "1.44.0",
4
4
  "description": "SDK for interacting with the Coinbase Developer Platform Wallet API",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
package/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = "1.43.1";
1
+ export const version = "1.44.0";