@coinbase/cdp-sdk 1.51.1 → 1.51.2

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 (71) hide show
  1. package/_cjs/actions/evm/getUserOperation.js +1 -0
  2. package/_cjs/actions/evm/getUserOperation.js.map +1 -1
  3. package/_cjs/actions/evm/sendUserOperation.js +2 -0
  4. package/_cjs/actions/evm/sendUserOperation.js.map +1 -1
  5. package/_cjs/client/evm/evm.js +5 -0
  6. package/_cjs/client/evm/evm.js.map +1 -1
  7. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +176 -2
  8. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  9. package/_cjs/openapi-client/generated/end-user-account-management/end-user-account-management.js +3 -0
  10. package/_cjs/openapi-client/generated/end-user-account-management/end-user-account-management.js.map +1 -1
  11. package/_cjs/openapi-client/generated/onramp/onramp.js +35 -3
  12. package/_cjs/openapi-client/generated/onramp/onramp.js.map +1 -1
  13. package/_cjs/openapi-client/generated/sql-api/sql-api.js +23 -10
  14. package/_cjs/openapi-client/generated/sql-api/sql-api.js.map +1 -1
  15. package/_cjs/openapi-client/generated/webhooks/webhooks.js +15 -43
  16. package/_cjs/openapi-client/generated/webhooks/webhooks.js.map +1 -1
  17. package/_cjs/openapi-client/generated/x402-facilitator/x402-facilitator.js +17 -1
  18. package/_cjs/openapi-client/generated/x402-facilitator/x402-facilitator.js.map +1 -1
  19. package/_cjs/version.js +1 -1
  20. package/_esm/actions/evm/getUserOperation.js +1 -0
  21. package/_esm/actions/evm/getUserOperation.js.map +1 -1
  22. package/_esm/actions/evm/sendUserOperation.js +2 -0
  23. package/_esm/actions/evm/sendUserOperation.js.map +1 -1
  24. package/_esm/client/evm/evm.js +5 -0
  25. package/_esm/client/evm/evm.js.map +1 -1
  26. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +174 -0
  27. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  28. package/_esm/openapi-client/generated/end-user-account-management/end-user-account-management.js +3 -0
  29. package/_esm/openapi-client/generated/end-user-account-management/end-user-account-management.js.map +1 -1
  30. package/_esm/openapi-client/generated/onramp/onramp.js +32 -2
  31. package/_esm/openapi-client/generated/onramp/onramp.js.map +1 -1
  32. package/_esm/openapi-client/generated/sql-api/sql-api.js +23 -10
  33. package/_esm/openapi-client/generated/sql-api/sql-api.js.map +1 -1
  34. package/_esm/openapi-client/generated/webhooks/webhooks.js +15 -43
  35. package/_esm/openapi-client/generated/webhooks/webhooks.js.map +1 -1
  36. package/_esm/openapi-client/generated/x402-facilitator/x402-facilitator.js +15 -0
  37. package/_esm/openapi-client/generated/x402-facilitator/x402-facilitator.js.map +1 -1
  38. package/_esm/version.js +1 -1
  39. package/_types/actions/evm/getUserOperation.d.ts.map +1 -1
  40. package/_types/actions/evm/sendUserOperation.d.ts +7 -0
  41. package/_types/actions/evm/sendUserOperation.d.ts.map +1 -1
  42. package/_types/client/evm/evm.d.ts +1 -0
  43. package/_types/client/evm/evm.d.ts.map +1 -1
  44. package/_types/client/evm/evm.types.d.ts +7 -1
  45. package/_types/client/evm/evm.types.d.ts.map +1 -1
  46. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts +1064 -83
  47. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts.map +1 -1
  48. package/_types/openapi-client/generated/end-user-account-management/end-user-account-management.d.ts +3 -0
  49. package/_types/openapi-client/generated/end-user-account-management/end-user-account-management.d.ts.map +1 -1
  50. package/_types/openapi-client/generated/onramp/onramp.d.ts +20 -2
  51. package/_types/openapi-client/generated/onramp/onramp.d.ts.map +1 -1
  52. package/_types/openapi-client/generated/sql-api/sql-api.d.ts +23 -10
  53. package/_types/openapi-client/generated/sql-api/sql-api.d.ts.map +1 -1
  54. package/_types/openapi-client/generated/webhooks/webhooks.d.ts +15 -43
  55. package/_types/openapi-client/generated/webhooks/webhooks.d.ts.map +1 -1
  56. package/_types/openapi-client/generated/x402-facilitator/x402-facilitator.d.ts +10 -1
  57. package/_types/openapi-client/generated/x402-facilitator/x402-facilitator.d.ts.map +1 -1
  58. package/_types/openapi-client/index.d.ts.map +1 -1
  59. package/_types/version.d.ts +1 -1
  60. package/package.json +1 -1
  61. package/src/actions/evm/getUserOperation.ts +1 -0
  62. package/src/actions/evm/sendUserOperation.ts +9 -0
  63. package/src/client/evm/evm.ts +5 -0
  64. package/src/client/evm/evm.types.ts +7 -0
  65. package/src/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.ts +1358 -100
  66. package/src/openapi-client/generated/end-user-account-management/end-user-account-management.ts +3 -0
  67. package/src/openapi-client/generated/onramp/onramp.ts +57 -3
  68. package/src/openapi-client/generated/sql-api/sql-api.ts +23 -10
  69. package/src/openapi-client/generated/webhooks/webhooks.ts +15 -43
  70. package/src/openapi-client/generated/x402-facilitator/x402-facilitator.ts +26 -0
  71. package/src/version.ts +1 -1
@@ -96,6 +96,12 @@ export const ErrorType = {
96
96
  guest_transaction_limit: "guest_transaction_limit",
97
97
  guest_transaction_count: "guest_transaction_count",
98
98
  phone_number_verification_expired: "phone_number_verification_expired",
99
+ otp_verification_code_invalid: "otp_verification_code_invalid",
100
+ otp_verification_destination_mismatch: "otp_verification_destination_mismatch",
101
+ otp_verification_expired: "otp_verification_expired",
102
+ otp_verification_invalid: "otp_verification_invalid",
103
+ otp_verification_not_found: "otp_verification_not_found",
104
+ otp_verification_required: "otp_verification_required",
99
105
  document_verification_failed: "document_verification_failed",
100
106
  recipient_allowlist_violation: "recipient_allowlist_violation",
101
107
  recipient_allowlist_pending: "recipient_allowlist_pending",
@@ -137,6 +143,17 @@ export const ErrorType = {
137
143
  delegation_not_enabled: "delegation_not_enabled",
138
144
  network_mismatch: "network_mismatch",
139
145
  already_enabled: "already_enabled",
146
+ payment_session_already_canceled: "payment_session_already_canceled",
147
+ payment_session_already_authorized: "payment_session_already_authorized",
148
+ payment_session_action_pending: "payment_session_action_pending",
149
+ no_capturable_balance: "no_capturable_balance",
150
+ no_voidable_balance: "no_voidable_balance",
151
+ no_refundable_balance: "no_refundable_balance",
152
+ entity_not_configured_for_payment_acceptance: "entity_not_configured_for_payment_acceptance",
153
+ daily_transaction_limit_exceeded: "daily_transaction_limit_exceeded",
154
+ daily_amount_limit_exceeded: "daily_amount_limit_exceeded",
155
+ stale_attestation: "stale_attestation",
156
+ moderation_rejected: "moderation_rejected",
140
157
  } as const;
141
158
 
142
159
  /**
@@ -439,6 +456,7 @@ export const TransferStatus = {
439
456
  /**
440
457
  * An email address. Maximum length 254 characters per [RFC 5321](https://www.rfc-editor.org/rfc/rfc5321).
441
458
  * @maxLength 254
459
+ * @pattern ^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}/-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$
442
460
  */
443
461
  export type Email = string;
444
462
 
@@ -586,21 +604,20 @@ Common examples:
586
604
  export type TransferFees = TransferFee[];
587
605
 
588
606
  /**
589
- * A point-in-time snapshot of estimated values for a transfer where exact amounts cannot be locked in at quote time (e.g., when the executed rate is determined at execution time and moves with the market).
607
+ * Captures estimated values for transfers where amounts can't be guaranteed (e.g., USDC -> EURC).
590
608
 
591
- Present in both pre-execution and post-execution states:
592
- * **Quoted state:** top-level fields whose values cannot be guaranteed are absent;
593
- `estimate` holds their estimated values.
609
+ The values in `estimate` are not modified after a transfer is executed. They are preserved as an immutable record of the original pre-execution snapshot.
594
610
 
595
- * **Completed state:** top-level fields contain the actual executed values;
596
- `estimate` is retained as an immutable audit snapshot of the pre-execution estimate.
611
+ The actual executed values are populated in the `transfer` resource post-execution.
597
612
  */
598
613
  export interface TransferEstimate {
614
+ /** The estimated exchange rate at the time this estimate was captured. */
599
615
  exchangeRate?: TransferExchangeRate;
600
616
  /** Estimated amount of the target asset that will be received, as a decimal string in standard unit denomination. */
601
617
  targetAmount?: string;
602
618
  /** The asset symbol of the estimated target amount. */
603
619
  targetAsset?: Asset;
620
+ /** The estimated fees at the time this estimate was captured. */
604
621
  fees?: TransferFees;
605
622
  /** The date and time when this estimate was captured. */
606
623
  estimatedAt: string;
@@ -668,11 +685,13 @@ export interface Transfer {
668
685
  sourceAmount?: string;
669
686
  /** The asset symbol of the source amount. */
670
687
  sourceAsset?: Asset;
671
- /** The amount of the target asset that will be received, as a decimal string in standard unit denomination. */
688
+ /** The amount of the target asset received, as a decimal string in standard unit denomination. May be omitted in the `quoted` state if the value cannot be guaranteed; see `estimate.targetAmount` for the expected value. Populated with the actual executed amount once the transfer completes. */
672
689
  targetAmount?: string;
673
690
  /** The asset symbol of the target amount. */
674
691
  targetAsset?: Asset;
692
+ /** Exchange rate information for currency conversion. The rate indicates how much of the target asset is equivalent to one unit of the source asset. May be omitted in the `quoted` state if the rate cannot be guaranteed; see `estimate.exchangeRate` for the expected rate. Populated with the actual executed rate once the transfer completes. */
675
693
  exchangeRate?: TransferExchangeRate;
694
+ /** The fees associated with this transfer. Different transfer types have different fee structures. May be omitted in the `quoted` state if the fees cannot be guaranteed; see `estimate.fees` for the expected fees. Populated with the actual fees once the transfer completes. */
676
695
  fees?: TransferFees;
677
696
  estimate?: TransferEstimate;
678
697
  /** The date and time the transfer was completed. */
@@ -729,6 +748,33 @@ export interface TravelRuleParty {
729
748
  address?: PhysicalAddress;
730
749
  }
731
750
 
751
+ /**
752
+ * Date of birth.
753
+ */
754
+ export interface DateOfBirth {
755
+ /**
756
+ * Day of birth (01-31).
757
+ * @minLength 2
758
+ * @maxLength 2
759
+ * @pattern ^[0-9]{2}$
760
+ */
761
+ day?: string;
762
+ /**
763
+ * Month of birth (01-12).
764
+ * @minLength 2
765
+ * @maxLength 2
766
+ * @pattern ^[0-9]{2}$
767
+ */
768
+ month?: string;
769
+ /**
770
+ * Year of birth (four digits).
771
+ * @minLength 4
772
+ * @maxLength 4
773
+ * @pattern ^[0-9]{4}$
774
+ */
775
+ year?: string;
776
+ }
777
+
732
778
  /**
733
779
  * Information about the originating Virtual Asset Service Provider (VASP) that handles cryptocurrency or other virtual assets on behalf of customers.
734
780
  */
@@ -744,6 +790,10 @@ export type TravelRuleOriginatorAllOfVirtualAssetServiceProvider = {
744
790
  export type TravelRuleOriginatorAllOf = {
745
791
  /** Information about the originating Virtual Asset Service Provider (VASP) that handles cryptocurrency or other virtual assets on behalf of customers. */
746
792
  virtualAssetServiceProvider?: TravelRuleOriginatorAllOfVirtualAssetServiceProvider;
793
+ /** Personal identifier for travel rule compliance. For individuals: passport number, national ID, or driver's license. For institutions: LEI (Legal Entity Identifier). */
794
+ personalId?: string;
795
+ /** Date of birth of the originator. Required by certain jurisdictions (such as Coinbase Luxembourg) to satisfy Travel Rule reporting obligations. */
796
+ dateOfBirth?: DateOfBirth;
747
797
  };
748
798
 
749
799
  /**
@@ -796,10 +846,12 @@ The Travel Rule (FATF Recommendation 16) requires VASPs to share originator and
796
846
 
797
847
  **Impact on required fields:**
798
848
 
799
- When `isIntermediary` is `true`, you must provide the `originator` object with details about the original sender, including:
849
+ When `isIntermediary` is `true`, you must provide the `originator` object with details about the **original sender**, including:
800
850
  - Originator name
801
851
  - Originator address
802
852
  - Your VASP information (`virtualAssetServiceProvider` object with `name`, `address`, and `identifier`)
853
+
854
+ For jurisdictions that require them (such as Coinbase Luxembourg), `personalIdentification` and `dateOfBirth` must also reflect the **original sender's** identity — not the intermediary's. These fields will not be auto-populated from any internal KYC data when `isIntermediary` is `true`.
803
855
  */
804
856
  isIntermediary?: boolean;
805
857
  originator?: TravelRuleOriginator;
@@ -843,6 +895,7 @@ export interface TransferRequest {
843
895
  /** Whether to immediately execute the transfer. If false, the transfer will be created in quoted status and must be executed manually via the /execute endpoint. */
844
896
  execute: boolean;
845
897
  metadata?: Metadata;
898
+ /** Travel Rule compliance information for this transfer. Required for transfers to external wallets above regulatory thresholds. Fields required differ by region and Coinbase contracting entity. */
846
899
  travelRule?: TravelRule;
847
900
  }
848
901
 
@@ -856,33 +909,6 @@ export interface DepositTravelRuleVasp {
856
909
  name?: string;
857
910
  }
858
911
 
859
- /**
860
- * Date of birth.
861
- */
862
- export interface DateOfBirth {
863
- /**
864
- * Day of birth (01-31).
865
- * @minLength 2
866
- * @maxLength 2
867
- * @pattern ^[0-9]{2}$
868
- */
869
- day?: string;
870
- /**
871
- * Month of birth (01-12).
872
- * @minLength 2
873
- * @maxLength 2
874
- * @pattern ^[0-9]{2}$
875
- */
876
- month?: string;
877
- /**
878
- * Year of birth (four digits).
879
- * @minLength 4
880
- * @maxLength 4
881
- * @pattern ^[0-9]{4}$
882
- */
883
- year?: string;
884
- }
885
-
886
912
  /**
887
913
  * The type of the originator's wallet.
888
914
  */
@@ -907,8 +933,9 @@ export interface DepositTravelRuleOriginator {
907
933
  /** The type of the originator's wallet. */
908
934
  walletType?: DepositTravelRuleOriginatorWalletType;
909
935
  virtualAssetServiceProvider?: DepositTravelRuleVasp;
910
- /** Government-issued personal identification number for the originator. */
936
+ /** Personal identifier for travel rule compliance. For individuals: passport number, national ID, or driver's license. For institutions: LEI (Legal Entity Identifier). */
911
937
  personalId?: string;
938
+ /** Date of birth of the originator. */
912
939
  dateOfBirth?: DateOfBirth;
913
940
  }
914
941
 
@@ -924,7 +951,9 @@ export interface DepositTravelRuleBeneficiary {
924
951
  * Request body for submitting travel rule information for a deposit transfer. Required fields vary by jurisdiction.
925
952
  */
926
953
  export interface DepositTravelRuleRequest {
954
+ /** Originator information for the travel rule submission. */
927
955
  originator?: DepositTravelRuleOriginator;
956
+ /** Beneficiary information for the travel rule submission. */
928
957
  beneficiary?: DepositTravelRuleBeneficiary;
929
958
  /** Indicates whether the user attests that the originating wallet belongs to them. */
930
959
  isSelf?: boolean;
@@ -1203,6 +1232,13 @@ export interface EndUser {
1203
1232
  createdAt: string;
1204
1233
  }
1205
1234
 
1235
+ /**
1236
+ * The ERC-7677 `context` object forwarded to the paymaster service as part of the `paymasterService` capability. The fields in this object are defined by the paymaster service provider; CDP forwards them to the paymaster unchanged. This field is only valid when a paymaster is configured for the request. Providing `paymasterContext` without a paymaster configured results in an `invalid_request` error.
1237
+ */
1238
+ export interface PaymasterContext {
1239
+ [key: string]: unknown;
1240
+ }
1241
+
1206
1242
  /**
1207
1243
  * The domain of the EIP-712 typed data.
1208
1244
  */
@@ -1373,6 +1409,8 @@ export interface EvmUserOperation {
1373
1409
  transactionHash?: string;
1374
1410
  /** The list of receipts associated with the user operation. */
1375
1411
  receipts?: UserOperationReceipt[];
1412
+ /** The timestamp at which the prepared user operation expires. */
1413
+ expiresAt?: string;
1376
1414
  }
1377
1415
 
1378
1416
  export interface EvmAccount {
@@ -4072,6 +4110,40 @@ export interface AccountTokenAddressesResponse {
4072
4110
  totalCount?: number;
4073
4111
  }
4074
4112
 
4113
+ /**
4114
+ * A webhook event type identifier following dot-separated format:
4115
+ `<domain>.<entity>.<verb>` (e.g., "onchain.activity.detected").
4116
+
4117
+ */
4118
+ export type EventType = (typeof EventType)[keyof typeof EventType];
4119
+
4120
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
4121
+ export const EventType = {
4122
+ onchainactivitydetected: "onchain.activity.detected",
4123
+ walletactivitydetected: "wallet.activity.detected",
4124
+ walletactivitymulti: "wallet.activity.multi",
4125
+ wallettransactioncreated: "wallet.transaction.created",
4126
+ wallettransactionsigned: "wallet.transaction.signed",
4127
+ wallettransactionbroadcast: "wallet.transaction.broadcast",
4128
+ wallettransactionreplaced: "wallet.transaction.replaced",
4129
+ wallettransactionpending: "wallet.transaction.pending",
4130
+ wallettransactionconfirmed: "wallet.transaction.confirmed",
4131
+ wallettransactionfailed: "wallet.transaction.failed",
4132
+ walletdelegationcreated: "wallet.delegation.created",
4133
+ walletdelegationrevoked: "wallet.delegation.revoked",
4134
+ wallettyped_datasigned: "wallet.typed_data.signed",
4135
+ walletmessagesigned: "wallet.message.signed",
4136
+ wallethashsigned: "wallet.hash.signed",
4137
+ onramptransactioncreated: "onramp.transaction.created",
4138
+ onramptransactionupdated: "onramp.transaction.updated",
4139
+ onramptransactionsuccess: "onramp.transaction.success",
4140
+ onramptransactionfailed: "onramp.transaction.failed",
4141
+ offramptransactioncreated: "offramp.transaction.created",
4142
+ offramptransactionupdated: "offramp.transaction.updated",
4143
+ offramptransactionsuccess: "offramp.transaction.success",
4144
+ offramptransactionfailed: "offramp.transaction.failed",
4145
+ } as const;
4146
+
4075
4147
  /**
4076
4148
  * Additional headers to include in webhook requests.
4077
4149
  */
@@ -4124,7 +4196,7 @@ export interface WebhookSubscriptionResponse {
4124
4196
  service.resource.verb (e.g., "onchain.activity.detected", "wallet.activity.detected", "onramp.transaction.created",
4125
4197
  "acceptance.payment_session.authorization_succeeded").
4126
4198
  */
4127
- eventTypes: string[];
4199
+ eventTypes: EventType[];
4128
4200
  /** Whether the subscription is enabled. */
4129
4201
  isEnabled: boolean;
4130
4202
  /** Additional metadata for the subscription. */
@@ -4155,9 +4227,16 @@ export type WebhookSubscriptionListResponse = WebhookSubscriptionListResponseAll
4155
4227
  an event contains ALL the key-value pairs specified here. Additional labels on
4156
4228
  the event are allowed and will not prevent matching. Omit to receive all events for the selected event types.
4157
4229
 
4158
- **Note:** Currently, labels are supported for onchain webhooks only.
4230
+ **Note:** Currently, labels are supported for onchain webhooks only (max 20 labels per subscription).
4159
4231
 
4160
- See [allowed labels for onchain webhooks](https://docs.cdp.coinbase.com/api-reference/v2/rest-api/webhooks/create-webhook-subscription#onchain-label-filtering).
4232
+ **Allowed labels for `onchain.activity.detected`** (all in snake_case format):
4233
+ - `network` (required) — Blockchain network
4234
+ - `contract_address` — Smart contract address
4235
+ - `event_name` — Event name (e.g., "Transfer", "Burn")
4236
+ - `event_signature` — Event signature hash
4237
+ - `transaction_from` — Transaction sender address
4238
+ - `transaction_to` — Transaction recipient address
4239
+ - `params.*` — Any event parameter (e.g., `params.from`, `params.to`, `params.sender`, `params.tokenId`)
4161
4240
 
4162
4241
  */
4163
4242
  export type WebhookSubscriptionRequestLabels = { [key: string]: string };
@@ -4174,7 +4253,7 @@ service.resource.verb (e.g., "onchain.activity.detected", "wallet.activity.detec
4174
4253
  "acceptance.payment_session.authorization_succeeded").
4175
4254
  The subscription will only receive events matching these types AND the label filter(s).
4176
4255
  */
4177
- eventTypes: string[];
4256
+ eventTypes: EventType[];
4178
4257
  /** Whether the subscription is enabled. */
4179
4258
  isEnabled: boolean;
4180
4259
  target: WebhookTarget;
@@ -4183,20 +4262,34 @@ The subscription will only receive events matching these types AND the label fil
4183
4262
  an event contains ALL the key-value pairs specified here. Additional labels on
4184
4263
  the event are allowed and will not prevent matching. Omit to receive all events for the selected event types.
4185
4264
 
4186
- **Note:** Currently, labels are supported for onchain webhooks only.
4265
+ **Note:** Currently, labels are supported for onchain webhooks only (max 20 labels per subscription).
4187
4266
 
4188
- See [allowed labels for onchain webhooks](https://docs.cdp.coinbase.com/api-reference/v2/rest-api/webhooks/create-webhook-subscription#onchain-label-filtering).
4267
+ **Allowed labels for `onchain.activity.detected`** (all in snake_case format):
4268
+ - `network` (required) — Blockchain network
4269
+ - `contract_address` — Smart contract address
4270
+ - `event_name` — Event name (e.g., "Transfer", "Burn")
4271
+ - `event_signature` — Event signature hash
4272
+ - `transaction_from` — Transaction sender address
4273
+ - `transaction_to` — Transaction recipient address
4274
+ - `params.*` — Any event parameter (e.g., `params.from`, `params.to`, `params.sender`, `params.tokenId`)
4189
4275
  */
4190
4276
  labels?: WebhookSubscriptionRequestLabels;
4191
4277
  }
4192
4278
 
4193
4279
  /**
4194
4280
  * Optional. Multi-label filters that trigger only when an event contains ALL of these key-value pairs.
4281
+ Omit to receive all events for the selected event types.
4195
4282
 
4196
- **Note:** Currently, labels are supported for onchain webhooks only.
4283
+ **Note:** Currently, labels are supported for onchain webhooks only (max 20 labels per subscription).
4197
4284
 
4198
- See [allowed labels for onchain webhooks](https://docs.cdp.coinbase.com/api-reference/v2/rest-api/webhooks/create-webhook-subscription#onchain-label-filtering).
4199
- Omit to receive all events for the selected event types.
4285
+ **Allowed labels for `onchain.activity.detected`** (all in snake_case format):
4286
+ - `network` (required) Blockchain network
4287
+ - `contract_address` — Smart contract address
4288
+ - `event_name` — Event name (e.g., "Transfer", "Burn")
4289
+ - `event_signature` — Event signature hash
4290
+ - `transaction_from` — Transaction sender address
4291
+ - `transaction_to` — Transaction recipient address
4292
+ - `params.*` — Any event parameter (e.g., `params.from`, `params.to`, `params.sender`, `params.tokenId`)
4200
4293
 
4201
4294
  */
4202
4295
  export type WebhookSubscriptionUpdateRequestLabels = { [key: string]: string };
@@ -4211,17 +4304,24 @@ export interface WebhookSubscriptionUpdateRequest {
4211
4304
  /** Types of events to subscribe to. Event types follow a three-part dot-separated format:
4212
4305
  service.resource.verb (e.g., "onchain.activity.detected", "wallet.activity.detected", "onramp.transaction.created").
4213
4306
  */
4214
- eventTypes: string[];
4307
+ eventTypes: EventType[];
4215
4308
  /** Whether the subscription is enabled. */
4216
4309
  isEnabled: boolean;
4217
4310
  target: WebhookTarget;
4218
4311
  metadata?: Metadata;
4219
4312
  /** Optional. Multi-label filters that trigger only when an event contains ALL of these key-value pairs.
4313
+ Omit to receive all events for the selected event types.
4220
4314
 
4221
- **Note:** Currently, labels are supported for onchain webhooks only.
4315
+ **Note:** Currently, labels are supported for onchain webhooks only (max 20 labels per subscription).
4222
4316
 
4223
- See [allowed labels for onchain webhooks](https://docs.cdp.coinbase.com/api-reference/v2/rest-api/webhooks/create-webhook-subscription#onchain-label-filtering).
4224
- Omit to receive all events for the selected event types.
4317
+ **Allowed labels for `onchain.activity.detected`** (all in snake_case format):
4318
+ - `network` (required) Blockchain network
4319
+ - `contract_address` — Smart contract address
4320
+ - `event_name` — Event name (e.g., "Transfer", "Burn")
4321
+ - `event_signature` — Event signature hash
4322
+ - `transaction_from` — Transaction sender address
4323
+ - `transaction_to` — Transaction recipient address
4324
+ - `params.*` — Any event parameter (e.g., `params.from`, `params.to`, `params.sender`, `params.tokenId`)
4225
4325
  */
4226
4326
  labels?: WebhookSubscriptionUpdateRequestLabels;
4227
4327
  }
@@ -5782,12 +5882,12 @@ export type X402DiscoveryMerchantResponsePagination = {
5782
5882
  };
5783
5883
 
5784
5884
  /**
5785
- * Response containing x402 resources associated with a merchant payment address.
5885
+ * Response containing x402 resources associated with a merchant payment address. The resources list is empty when no active resources are found.
5786
5886
  */
5787
5887
  export interface X402DiscoveryMerchantResponse {
5788
5888
  x402Version: X402Version;
5789
5889
  payTo: BlockchainAddress;
5790
- /** List of discovered x402 resources associated with the merchant's payTo address. */
5890
+ /** List of discovered x402 resources associated with the merchant's payTo address. This list is empty when no active resources are found. */
5791
5891
  resources: X402DiscoveryResource[];
5792
5892
  /** Pagination information for the response. */
5793
5893
  pagination: X402DiscoveryMerchantResponsePagination;
@@ -5909,6 +6009,235 @@ export interface X402McpResponse {
5909
6009
  error?: X402McpError;
5910
6010
  }
5911
6011
 
6012
+ /**
6013
+ * A valid HTTPS URL.
6014
+ * @minLength 12
6015
+ * @maxLength 2048
6016
+ * @pattern ^https://.*$
6017
+ */
6018
+ export type HttpsUrl = string;
6019
+
6020
+ /**
6021
+ * The HTTP method used to probe the endpoint. Only GET and POST are supported; other verbs are intentionally rejected because x402 resources are expected to respond to these methods.
6022
+ */
6023
+ export type X402ValidateRequestMethod =
6024
+ (typeof X402ValidateRequestMethod)[keyof typeof X402ValidateRequestMethod];
6025
+
6026
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
6027
+ export const X402ValidateRequestMethod = {
6028
+ GET: "GET",
6029
+ POST: "POST",
6030
+ } as const;
6031
+
6032
+ /**
6033
+ * Request to validate an x402 endpoint's bazaar-discovery configuration.
6034
+ */
6035
+ export interface X402ValidateRequest {
6036
+ /** HTTPS URL of the x402 endpoint to validate. Must use the `https://` scheme. */
6037
+ resource: HttpsUrl;
6038
+ /** The HTTP method used to probe the endpoint. Only GET and POST are supported; other verbs are intentionally rejected because x402 resources are expected to respond to these methods. */
6039
+ method?: X402ValidateRequestMethod;
6040
+ }
6041
+
6042
+ /**
6043
+ * The name of the preflight check. New values may be added in future versions; clients should handle unknown values gracefully.
6044
+ */
6045
+ export type X402ValidateCheckCheck =
6046
+ (typeof X402ValidateCheckCheck)[keyof typeof X402ValidateCheckCheck];
6047
+
6048
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
6049
+ export const X402ValidateCheckCheck = {
6050
+ reachable: "reachable",
6051
+ returns_402: "returns_402",
6052
+ has_bazaar_extension: "has_bazaar_extension",
6053
+ parse: "parse",
6054
+ } as const;
6055
+
6056
+ /**
6057
+ * Whether this check is a hard indexing requirement or a quality recommendation. A `required` check affects validity when it fails. An `advisory` check (for example, a missing output schema) is a suggestion to improve discoverability and does not make the endpoint invalid.
6058
+ */
6059
+ export type X402ValidateCheckSeverity =
6060
+ (typeof X402ValidateCheckSeverity)[keyof typeof X402ValidateCheckSeverity];
6061
+
6062
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
6063
+ export const X402ValidateCheckSeverity = {
6064
+ required: "required",
6065
+ advisory: "advisory",
6066
+ } as const;
6067
+
6068
+ /**
6069
+ * The result of a single preflight check performed against the x402 endpoint.
6070
+ */
6071
+ export interface X402ValidateCheck {
6072
+ /** The name of the preflight check. New values may be added in future versions; clients should handle unknown values gracefully. */
6073
+ check: X402ValidateCheckCheck;
6074
+ /** Whether the check passed. */
6075
+ passed: boolean;
6076
+ /** A human-readable explanation of the check result. */
6077
+ detail: string;
6078
+ /** The value the check expected, when applicable. */
6079
+ expected?: string;
6080
+ /** The value the check observed, when applicable. */
6081
+ actual?: string;
6082
+ /** Whether this check is a hard indexing requirement or a quality recommendation. A `required` check affects validity when it fails. An `advisory` check (for example, a missing output schema) is a suggestion to improve discoverability and does not make the endpoint invalid. */
6083
+ severity: X402ValidateCheckSeverity;
6084
+ }
6085
+
6086
+ /**
6087
+ * The simulated facilitator outcome: `accepted` if the facilitator would index the resource, or `rejected` if it would reject it.
6088
+ */
6089
+ export type X402ValidateSimulationOutcome =
6090
+ (typeof X402ValidateSimulationOutcome)[keyof typeof X402ValidateSimulationOutcome];
6091
+
6092
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
6093
+ export const X402ValidateSimulationOutcome = {
6094
+ accepted: "accepted",
6095
+ rejected: "rejected",
6096
+ } as const;
6097
+
6098
+ /**
6099
+ * The simulated facilitator decision for the x402 endpoint.
6100
+ */
6101
+ export interface X402ValidateSimulation {
6102
+ /** The simulated facilitator outcome: `accepted` if the facilitator would index the resource, or `rejected` if it would reject it. */
6103
+ outcome: X402ValidateSimulationOutcome;
6104
+ /** The reason the resource would be rejected, present only when `outcome` is `rejected`. */
6105
+ rejectionReason?: string;
6106
+ }
6107
+
6108
+ /**
6109
+ * Bazaar index status for a validated x402 endpoint.
6110
+ */
6111
+ export interface X402ValidateIndex {
6112
+ /** Whether the indexed resource is active and served in discovery results. */
6113
+ active: boolean;
6114
+ /**
6115
+ * When the endpoint was last crawled, or `null` if it has been indexed but not yet crawled.
6116
+ * @nullable
6117
+ */
6118
+ lastCrawledAt: string | null;
6119
+ /** Quality metrics for the indexed resource, present only when the endpoint has call history. */
6120
+ quality?: X402ResourceQuality;
6121
+ }
6122
+
6123
+ /**
6124
+ * The raw decoded payment requirements returned by the endpoint, or `null` if the endpoint was not reachable or did not return a parseable 402 payload. Lets sellers inspect exactly what their endpoint is advertising.
6125
+ * @nullable
6126
+ */
6127
+ export type X402ValidateResponsePaymentRequirements = X402PaymentRequirements | null;
6128
+
6129
+ /**
6130
+ * The `extensions.bazaar` block from the endpoint's discovery metadata, or `null` if the bazaar extension was absent or the endpoint was not reachable. Lets sellers verify the discovery configuration their endpoint is advertising.
6131
+ * @nullable
6132
+ */
6133
+ export type X402ValidateResponseBazaarExtension = { [key: string]: unknown } | null;
6134
+
6135
+ /**
6136
+ * Bazaar index status for the endpoint, or `null` if the endpoint is not yet indexed. Present on every response regardless of simulation outcome.
6137
+ * @nullable
6138
+ */
6139
+ export type X402ValidateResponseIndex = X402ValidateIndex | null;
6140
+
6141
+ /**
6142
+ * Response from validating an x402 endpoint's bazaar-discovery configuration.
6143
+ */
6144
+ export interface X402ValidateResponse {
6145
+ /** Whether the endpoint is valid: all preflight checks passed and the facilitator would index the resource. */
6146
+ valid: boolean;
6147
+ /**
6148
+ * The HTTP status code returned by the endpoint, or `null` if the endpoint was not reachable.
6149
+ * @nullable
6150
+ */
6151
+ statusCode: number | null;
6152
+ /**
6153
+ * The x402 protocol version advertised by the endpoint, or `null` if it could not be determined. Intentionally a bare integer rather than the `X402Version` enum so the validator can surface unsupported or malformed version values returned by non-conforming endpoints.
6154
+ * @nullable
6155
+ */
6156
+ x402Version: number | null;
6157
+ /** All check results in run order. Well-known check names are `reachable`, `returns_402`, `has_bazaar_extension`, and `parse`. Additional checks may be added in future versions. */
6158
+ preflight: X402ValidateCheck[];
6159
+ /**
6160
+ * The raw decoded payment requirements returned by the endpoint, or `null` if the endpoint was not reachable or did not return a parseable 402 payload. Lets sellers inspect exactly what their endpoint is advertising.
6161
+ * @nullable
6162
+ */
6163
+ paymentRequirements: X402ValidateResponsePaymentRequirements;
6164
+ /**
6165
+ * The `extensions.bazaar` block from the endpoint's discovery metadata, or `null` if the bazaar extension was absent or the endpoint was not reachable. Lets sellers verify the discovery configuration their endpoint is advertising.
6166
+ * @nullable
6167
+ */
6168
+ bazaarExtension: X402ValidateResponseBazaarExtension;
6169
+ simulation: X402ValidateSimulation;
6170
+ /**
6171
+ * Bazaar index status for the endpoint, or `null` if the endpoint is not yet indexed. Present on every response regardless of simulation outcome.
6172
+ * @nullable
6173
+ */
6174
+ index: X402ValidateResponseIndex;
6175
+ }
6176
+
6177
+ /**
6178
+ * The OTP delivery channel.
6179
+ */
6180
+ export type InitiateOnrampVerificationRequestChannel =
6181
+ (typeof InitiateOnrampVerificationRequestChannel)[keyof typeof InitiateOnrampVerificationRequestChannel];
6182
+
6183
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
6184
+ export const InitiateOnrampVerificationRequestChannel = {
6185
+ sms: "sms",
6186
+ email: "email",
6187
+ } as const;
6188
+
6189
+ /**
6190
+ * The phone number or email address to send the OTP to.
6191
+ */
6192
+ export type InitiateOnrampVerificationRequestDestination = PhoneNumber | Email;
6193
+
6194
+ /**
6195
+ * Request body for initiating an onramp OTP verification.
6196
+ */
6197
+ export interface InitiateOnrampVerificationRequest {
6198
+ /** The OTP delivery channel. */
6199
+ channel: InitiateOnrampVerificationRequestChannel;
6200
+ /** The phone number or email address to send the OTP to. */
6201
+ destination: InitiateOnrampVerificationRequestDestination;
6202
+ }
6203
+
6204
+ /**
6205
+ * A unique identifier for an onramp verification record, in the format `onramp_verification_<uuid>`.
6206
+ * @pattern ^onramp_verification_[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$
6207
+ */
6208
+ export type OnrampVerificationId = string;
6209
+
6210
+ /**
6211
+ * The result of initiating an onramp OTP verification.
6212
+ */
6213
+ export interface OnrampVerificationInitiation {
6214
+ /** Identifier returned by this endpoint. Pass to the Submit Onramp Verification endpoint along with the OTP code within 10 minutes. */
6215
+ verificationId: OnrampVerificationId;
6216
+ /** The deadline for submitting the OTP code (10 minutes from now). */
6217
+ otpExpiresAt: string;
6218
+ }
6219
+
6220
+ /**
6221
+ * Request body for submitting an OTP code to complete an onramp verification.
6222
+ */
6223
+ export interface SubmitOnrampVerificationRequest {
6224
+ /**
6225
+ * The 6-digit OTP code the user received.
6226
+ * @pattern ^\d{6}$
6227
+ */
6228
+ otpCode: string;
6229
+ }
6230
+
6231
+ /**
6232
+ * The result of successfully submitting an onramp OTP verification.
6233
+ */
6234
+ export interface OnrampVerificationConfirmation {
6235
+ /** The same verification ID. Store on the user's device and pass to the Create Onramp Order endpoint. Valid for 60 days. */
6236
+ verificationId: OnrampVerificationId;
6237
+ /** The date and time when this verification expires for order placement. */
6238
+ verificationExpiresAt: string;
6239
+ }
6240
+
5912
6241
  /**
5913
6242
  * The type of payment method to be used to complete an onramp order.
5914
6243
  */
@@ -6040,6 +6369,41 @@ export const OnrampQuotePaymentMethodTypeId = {
6040
6369
  */
6041
6370
  export type Uri = string;
6042
6371
 
6372
+ /**
6373
+ * Common request parameters shared by [Create Onramp Session](#operation/createOnrampSession) and [Create Onramp Mobile Challenge](#operation/createOnrampMobileChallenge).
6374
+ */
6375
+ export interface OnrampSessionRequest {
6376
+ /** The ticker (e.g. `BTC`, `USDC`, `SOL`) or the Coinbase UUID (e.g. `d85dce9b-5b73-5c3c-8978-522ce1d1c1b4`) of the crypto asset to be purchased.
6377
+
6378
+ Use the [Onramp Buy Options API](https://docs.cdp.coinbase.com/api-reference/rest-api/onramp-offramp/get-buy-options) to discover the supported purchase currencies for your user's location. */
6379
+ purchaseCurrency: string;
6380
+ /** The name of the crypto network the purchased currency will be sent on.
6381
+
6382
+ 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. */
6383
+ destinationNetwork: string;
6384
+ /** The address the purchased crypto will be sent to. */
6385
+ destinationAddress: BlockchainAddress;
6386
+ /** 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. */
6387
+ paymentAmount?: string;
6388
+ /** 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. */
6389
+ purchaseAmount?: string;
6390
+ /** The fiat currency to be converted to crypto. */
6391
+ paymentCurrency?: string;
6392
+ paymentMethod?: OnrampQuotePaymentMethodTypeId;
6393
+ /** The ISO 3166-1 two letter country code (e.g. US). */
6394
+ country?: string;
6395
+ /** The ISO 3166-2 two letter state code (e.g. NY). Only required for US. */
6396
+ subdivision?: string;
6397
+ /** URI to redirect the user to after they complete or dismiss the transaction. Embedded in the returned onramp URL as a query parameter. */
6398
+ redirectUrl?: Uri;
6399
+ /** The IP address of the end user requesting the onramp transaction. */
6400
+ clientIp?: string;
6401
+ /** A unique string that represents the user in your app. This can be used to link individual transactions together so you can retrieve the transaction history for your users. Prefix this string with "sandbox-" (e.g. "sandbox-user-1234") to perform a sandbox transaction which will allow you to test your integration without any real transfer of funds.
6402
+
6403
+ This value can be used with the [Onramp User Transactions API](https://docs.cdp.coinbase.com/api-reference/rest-api/onramp-offramp/get-onramp-transactions-by-id) to retrieve all transactions created by the user. */
6404
+ partnerUserRef?: string;
6405
+ }
6406
+
6043
6407
  /**
6044
6408
  * An onramp session containing a ready-to-use onramp URL.
6045
6409
  */
@@ -6130,8 +6494,8 @@ export interface OnrampLimitUpgradeRequest {
6130
6494
  /** The user identifier value. For `phone_number` type, this must be in E.164 format. */
6131
6495
  userId: string;
6132
6496
  userIdType: OnrampUserIdType;
6133
- /** Populate the properties that correspond to the `fields` array from the user's `OnrampLimitUpgradeOption`. */
6134
- fields: OnrampLimitUpgradeIdentityFields;
6497
+ /** Populate the properties that correspond to the `fields` array from the user's `OnrampLimitUpgradeOption`. These fields are required; a request without them is rejected. */
6498
+ fields?: OnrampLimitUpgradeIdentityFields;
6135
6499
  }
6136
6500
 
6137
6501
  /**
@@ -6332,42 +6696,949 @@ export type PaymentMethodsPaymentMethod =
6332
6696
  | SepaPaymentMethod;
6333
6697
 
6334
6698
  /**
6335
- * Idempotency key conflict.
6699
+ * Decoded event parameters from the contract event. Keys correspond to the named arguments in the event signature (e.g., `from`, `to`, `value` for an ERC-20 `Transfer`). Values are returned as strings to preserve precision for large integers and to avoid loss for address types. The exact set of keys depends on the contract event.
6336
6700
  */
6337
- export type IdempotencyErrorResponse = Error;
6701
+ export interface OnchainActivityEventParameters {
6702
+ [key: string]: string;
6703
+ }
6338
6704
 
6339
6705
  /**
6340
- * The endpoint cannot serve the request right now, either because the API is in an unintended outage (`service_unavailable` dependency failure, deploy issue) or because an operator has intentionally disabled this specific endpoint via a kill switch (`endpoint_unavailable`). Clients should dispatch on `errorType`: `service_unavailable` is typically transient and safe to retry, while `endpoint_unavailable` may persist until an operator re-enables the endpoint.
6706
+ * The payload delivered when onchain activity matching your subscription filters is detected. Each event corresponds to a single decoded contract log emitted onchain. The set of keys in `parameters` varies by the contract event being decoded (e.g., `Transfer(address,address,uint256)`).
6341
6707
  */
6342
- export type EndpointUnavailableErrorResponse = Error;
6708
+ export interface OnchainActivityDetectedEvent {
6709
+ /** The block number containing the transaction that emitted the event. */
6710
+ block_number: number;
6711
+ /** The contract address that emitted the event. */
6712
+ contract_address: string;
6713
+ /** The name of the decoded contract event. */
6714
+ event_name: string;
6715
+ /** The canonical event signature used to decode the log, including parameter types (e.g., `Transfer(address,address,uint256)`). */
6716
+ event_signature: string;
6717
+ /** The zero-based index of the log within the transaction. */
6718
+ log_index: number;
6719
+ /** The blockchain network where the activity was detected. */
6720
+ network: string;
6721
+ parameters: OnchainActivityEventParameters;
6722
+ /** The block timestamp of the transaction (ISO 8601 format). */
6723
+ timestamp: string;
6724
+ /** The address that initiated the transaction (the transaction sender). */
6725
+ transaction_from: string;
6726
+ /** The hash of the transaction that emitted the event. */
6727
+ transaction_hash: string;
6728
+ /** The address the transaction was sent to (typically a contract address). */
6729
+ transaction_to: string;
6730
+ }
6343
6731
 
6344
6732
  /**
6345
- * Internal server error.
6733
+ * Decoded blockchain event data for the wallet activity webhook. The exact fields depend on the type of onchain activity detected. Common fields include network, block info, and transaction hash. Additional fields are event-specific (e.g., `from`, `to`, `value` for transfers).
6346
6734
  */
6347
- export type InternalServerErrorResponse = Error;
6735
+ export interface OnchainActivityEventData {
6736
+ /** The blockchain network where the activity was detected. */
6737
+ network: string;
6738
+ /** The block number containing the transaction. */
6739
+ blockNumber?: string;
6740
+ /** The timestamp of the block. */
6741
+ blockTimestamp?: string;
6742
+ /** The transaction hash of the detected activity. */
6743
+ transactionHash: string;
6744
+ /** The log index within the transaction. */
6745
+ logIndex?: string;
6746
+ /** The contract address that emitted the event. */
6747
+ contractAddress?: string;
6748
+ /** The name of the decoded contract event. */
6749
+ eventName?: string;
6750
+ [key: string]: unknown;
6751
+ }
6348
6752
 
6349
6753
  /**
6350
- * Bad gateway.
6754
+ * Common fields included in every wallet activity webhook event payload.
6351
6755
  */
6352
- export type BadGatewayErrorResponse = Error;
6756
+ export interface WalletActivityEventBase {
6757
+ /** Unique identifier for this webhook event. Use this for idempotency. */
6758
+ eventId: string;
6759
+ /** When this event occurred (ISO 8601 format). */
6760
+ timestamp: string;
6761
+ data: OnchainActivityEventData;
6762
+ }
6353
6763
 
6354
6764
  /**
6355
- * Service unavailable.
6765
+ * The type of webhook event.
6356
6766
  */
6357
- export type ServiceUnavailableErrorResponse = Error;
6767
+ export type WalletActivityDetectedEventAllOfEventType =
6768
+ (typeof WalletActivityDetectedEventAllOfEventType)[keyof typeof WalletActivityDetectedEventAllOfEventType];
6769
+
6770
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
6771
+ export const WalletActivityDetectedEventAllOfEventType = {
6772
+ walletactivitydetected: "wallet.activity.detected",
6773
+ } as const;
6774
+
6775
+ export type WalletActivityDetectedEventAllOf = {
6776
+ /** The type of webhook event. */
6777
+ eventType: WalletActivityDetectedEventAllOfEventType;
6778
+ };
6779
+
6780
+ export type WalletActivityDetectedEvent = WalletActivityEventBase &
6781
+ WalletActivityDetectedEventAllOf;
6358
6782
 
6359
6783
  /**
6360
- * Unauthorized.
6784
+ * The type of webhook event.
6361
6785
  */
6362
- export type UnauthorizedErrorResponse = Error;
6786
+ export type WalletActivityMultiEventAllOfEventType =
6787
+ (typeof WalletActivityMultiEventAllOfEventType)[keyof typeof WalletActivityMultiEventAllOfEventType];
6788
+
6789
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
6790
+ export const WalletActivityMultiEventAllOfEventType = {
6791
+ walletactivitymulti: "wallet.activity.multi",
6792
+ } as const;
6793
+
6794
+ export type WalletActivityMultiEventAllOf = {
6795
+ /** The type of webhook event. */
6796
+ eventType: WalletActivityMultiEventAllOfEventType;
6797
+ };
6798
+
6799
+ export type WalletActivityMultiEvent = WalletActivityEventBase & WalletActivityMultiEventAllOf;
6363
6800
 
6364
6801
  /**
6365
- * A payment method is required to complete this operation.
6802
+ * Payload for `wallet.transaction.created` on EVM networks. Includes the originating `address`.
6366
6803
  */
6367
- export type PaymentMethodRequiredErrorResponse = Error;
6804
+ export interface WalletEvmTransactionCreatedPayload {
6805
+ /**
6806
+ * The EVM wallet address that created the transaction.
6807
+ * @pattern ^0x[0-9a-fA-F]{40}$
6808
+ */
6809
+ address: BlockchainAddress;
6810
+ /** The blockchain network identifier. */
6811
+ network: Network;
6812
+ /** When the transaction was created (ISO 8601 format). */
6813
+ created_at: string;
6814
+ }
6368
6815
 
6369
6816
  /**
6370
- * The request was rejected due to a delegation issue. The errorType field indicates the specific reason.
6817
+ * Payload for API Key Wallet events. These events carry no end-user payload fields, so neither `user_id` nor `delegation_id` is present.
6818
+ */
6819
+ export interface WalletApiKeyEventPayload {
6820
+ [key: string]: unknown;
6821
+ }
6822
+
6823
+ /**
6824
+ * Payload for `wallet.transaction.created` on Solana. Solana transaction events do not include an `address`.
6825
+ */
6826
+ export interface WalletSolanaTransactionCreatedPayload {
6827
+ /** The blockchain network identifier. */
6828
+ network: Network;
6829
+ /** When the transaction was created (ISO 8601 format). */
6830
+ created_at: string;
6831
+ }
6832
+
6833
+ /**
6834
+ * Payload for User Wallet events. The wallet is owned by an end user, identified by `user_id`. User Wallet actions do not include `delegation_id`.
6835
+ */
6836
+ export interface WalletUserEventPayload {
6837
+ /** The user ID that owns the User Wallet. */
6838
+ user_id: string;
6839
+ }
6840
+
6841
+ /**
6842
+ * Payload for delegated User Wallet events, where a User Wallet action was authorized via a delegation grant. Includes `user_id` and the `delegation_id` of the active grant.
6843
+ */
6844
+ export interface WalletDelegatedEventPayload {
6845
+ /** The user ID that owns the User Wallet. */
6846
+ user_id: string;
6847
+ /** The delegation grant ID used to authorize the action. */
6848
+ delegation_id: string;
6849
+ }
6850
+
6851
+ export type WalletTransactionCreatedEventOneOf = WalletEvmTransactionCreatedPayload &
6852
+ WalletApiKeyEventPayload;
6853
+
6854
+ export type WalletTransactionCreatedEventOneOfTwo = WalletSolanaTransactionCreatedPayload &
6855
+ WalletApiKeyEventPayload;
6856
+
6857
+ export type WalletTransactionCreatedEventOneOfThree = WalletEvmTransactionCreatedPayload &
6858
+ WalletUserEventPayload;
6859
+
6860
+ export type WalletTransactionCreatedEventOneOfFour = WalletSolanaTransactionCreatedPayload &
6861
+ WalletUserEventPayload;
6862
+
6863
+ export type WalletTransactionCreatedEventOneOfFive = WalletEvmTransactionCreatedPayload &
6864
+ WalletDelegatedEventPayload;
6865
+
6866
+ export type WalletTransactionCreatedEventOneOfSix = WalletSolanaTransactionCreatedPayload &
6867
+ WalletDelegatedEventPayload;
6868
+
6869
+ /**
6870
+ * Delivered when a transaction is created. The payload is one of six variants: API Key Wallet, User Wallet, or User Wallet (Delegated Signing), each delivered as an EVM or Solana variant.
6871
+ */
6872
+ export type WalletTransactionCreatedEvent =
6873
+ | WalletTransactionCreatedEventOneOf
6874
+ | WalletTransactionCreatedEventOneOfTwo
6875
+ | WalletTransactionCreatedEventOneOfThree
6876
+ | WalletTransactionCreatedEventOneOfFour
6877
+ | WalletTransactionCreatedEventOneOfFive
6878
+ | WalletTransactionCreatedEventOneOfSix;
6879
+
6880
+ /**
6881
+ * Payload for EVM wallet signing events. Carries the EVM signing `address` and timestamp; no network or transaction identifier.
6882
+ */
6883
+ export interface WalletEvmSigningPayload {
6884
+ /**
6885
+ * The EVM wallet address that performed the signing.
6886
+ * @pattern ^0x[0-9a-fA-F]{40}$
6887
+ */
6888
+ address: BlockchainAddress;
6889
+ /** When the signing occurred (ISO 8601 format). */
6890
+ signed_at: string;
6891
+ }
6892
+
6893
+ /**
6894
+ * Payload for Solana wallet signing events. Carries the Solana signing `address` and timestamp; no network or transaction identifier.
6895
+ */
6896
+ export interface WalletSolanaSigningPayload {
6897
+ /**
6898
+ * The Solana wallet address that performed the signing.
6899
+ * @pattern ^[1-9A-HJ-NP-Za-km-z]{32,44}$
6900
+ */
6901
+ address: BlockchainAddress;
6902
+ /** When the signing occurred (ISO 8601 format). */
6903
+ signed_at: string;
6904
+ }
6905
+
6906
+ export type WalletTransactionSignedEventOneOf = WalletEvmSigningPayload & WalletApiKeyEventPayload;
6907
+
6908
+ export type WalletTransactionSignedEventOneOfTwo = WalletSolanaSigningPayload &
6909
+ WalletApiKeyEventPayload;
6910
+
6911
+ export type WalletTransactionSignedEventOneOfThree = WalletEvmSigningPayload &
6912
+ WalletUserEventPayload;
6913
+
6914
+ export type WalletTransactionSignedEventOneOfFour = WalletSolanaSigningPayload &
6915
+ WalletUserEventPayload;
6916
+
6917
+ export type WalletTransactionSignedEventOneOfFive = WalletEvmSigningPayload &
6918
+ WalletDelegatedEventPayload;
6919
+
6920
+ export type WalletTransactionSignedEventOneOfSix = WalletSolanaSigningPayload &
6921
+ WalletDelegatedEventPayload;
6922
+
6923
+ /**
6924
+ * Delivered when a transaction is signed. Emitted for both EVM and Solana wallets. The payload is one of six variants: API Key Wallet, User Wallet, or User Wallet (Delegated Signing), each delivered as an EVM or Solana variant.
6925
+ */
6926
+ export type WalletTransactionSignedEvent =
6927
+ | WalletTransactionSignedEventOneOf
6928
+ | WalletTransactionSignedEventOneOfTwo
6929
+ | WalletTransactionSignedEventOneOfThree
6930
+ | WalletTransactionSignedEventOneOfFour
6931
+ | WalletTransactionSignedEventOneOfFive
6932
+ | WalletTransactionSignedEventOneOfSix;
6933
+
6934
+ /**
6935
+ * Payload for `wallet.transaction.broadcast` on EVM networks. Includes `transaction_hash` and `address`.
6936
+ */
6937
+ export interface WalletEvmTransactionBroadcastPayload {
6938
+ /** The onchain transaction hash. */
6939
+ transaction_hash: string;
6940
+ /**
6941
+ * The EVM wallet address that broadcast the transaction.
6942
+ * @pattern ^0x[0-9a-fA-F]{40}$
6943
+ */
6944
+ address: BlockchainAddress;
6945
+ /** The blockchain network identifier. */
6946
+ network: Network;
6947
+ /** When the transaction was broadcast (ISO 8601 format). */
6948
+ broadcast_at: string;
6949
+ }
6950
+
6951
+ /**
6952
+ * Payload for `wallet.transaction.broadcast` on Solana. Includes `transaction_signature` and omits `address`.
6953
+ */
6954
+ export interface WalletSolanaTransactionBroadcastPayload {
6955
+ /** The Solana transaction signature. */
6956
+ transaction_signature: string;
6957
+ /** The blockchain network identifier. */
6958
+ network: Network;
6959
+ /** When the transaction was broadcast (ISO 8601 format). */
6960
+ broadcast_at: string;
6961
+ }
6962
+
6963
+ export type WalletTransactionBroadcastEventOneOf = WalletEvmTransactionBroadcastPayload &
6964
+ WalletApiKeyEventPayload;
6965
+
6966
+ export type WalletTransactionBroadcastEventOneOfTwo = WalletSolanaTransactionBroadcastPayload &
6967
+ WalletApiKeyEventPayload;
6968
+
6969
+ export type WalletTransactionBroadcastEventOneOfThree = WalletEvmTransactionBroadcastPayload &
6970
+ WalletUserEventPayload;
6971
+
6972
+ export type WalletTransactionBroadcastEventOneOfFour = WalletSolanaTransactionBroadcastPayload &
6973
+ WalletUserEventPayload;
6974
+
6975
+ export type WalletTransactionBroadcastEventOneOfFive = WalletEvmTransactionBroadcastPayload &
6976
+ WalletDelegatedEventPayload;
6977
+
6978
+ export type WalletTransactionBroadcastEventOneOfSix = WalletSolanaTransactionBroadcastPayload &
6979
+ WalletDelegatedEventPayload;
6980
+
6981
+ /**
6982
+ * Delivered when a transaction is broadcast to the network. The payload is one of six variants: API Key Wallet, User Wallet, or User Wallet (Delegated Signing), each delivered as an EVM or Solana variant.
6983
+ */
6984
+ export type WalletTransactionBroadcastEvent =
6985
+ | WalletTransactionBroadcastEventOneOf
6986
+ | WalletTransactionBroadcastEventOneOfTwo
6987
+ | WalletTransactionBroadcastEventOneOfThree
6988
+ | WalletTransactionBroadcastEventOneOfFour
6989
+ | WalletTransactionBroadcastEventOneOfFive
6990
+ | WalletTransactionBroadcastEventOneOfSix;
6991
+
6992
+ /**
6993
+ * Payload for `wallet.transaction.replaced`. EVM-only; Solana transactions are not replaceable.
6994
+ */
6995
+ export interface WalletTransactionReplacedPayload {
6996
+ /** The onchain transaction hash of the replaced transaction. */
6997
+ transaction_hash: string;
6998
+ /**
6999
+ * The EVM wallet address whose transaction was replaced.
7000
+ * @pattern ^0x[0-9a-fA-F]{40}$
7001
+ */
7002
+ address: BlockchainAddress;
7003
+ /** The blockchain network identifier. */
7004
+ network: Network;
7005
+ /** When the transaction was replaced (ISO 8601 format). */
7006
+ replaced_at: string;
7007
+ }
7008
+
7009
+ export type WalletTransactionReplacedEventOneOf = WalletTransactionReplacedPayload &
7010
+ WalletApiKeyEventPayload;
7011
+
7012
+ export type WalletTransactionReplacedEventOneOfTwo = WalletTransactionReplacedPayload &
7013
+ WalletUserEventPayload;
7014
+
7015
+ export type WalletTransactionReplacedEventOneOfThree = WalletTransactionReplacedPayload &
7016
+ WalletDelegatedEventPayload;
7017
+
7018
+ /**
7019
+ * Delivered when a pending transaction is replaced (e.g. a fee bump). EVM-only. The payload is one of three EVM wallet-type variants: API Key Wallet, User Wallet, or User Wallet (Delegated Signing).
7020
+ */
7021
+ export type WalletTransactionReplacedEvent =
7022
+ | WalletTransactionReplacedEventOneOf
7023
+ | WalletTransactionReplacedEventOneOfTwo
7024
+ | WalletTransactionReplacedEventOneOfThree;
7025
+
7026
+ /**
7027
+ * Payload for `wallet.transaction.pending`. EVM-only. EIP-1559 fee fields are included.
7028
+ */
7029
+ export interface WalletTransactionPendingPayload {
7030
+ /** The onchain transaction hash. */
7031
+ transaction_hash: string;
7032
+ /**
7033
+ * The EVM wallet address whose transaction is pending.
7034
+ * @pattern ^0x[0-9a-fA-F]{40}$
7035
+ */
7036
+ address: BlockchainAddress;
7037
+ /** The blockchain network identifier. */
7038
+ network: Network;
7039
+ /** When the transaction entered the pending state (ISO 8601 format). */
7040
+ pending_since: string;
7041
+ /** EIP-1559 max fee per gas in wei. */
7042
+ max_fee_per_gas: string;
7043
+ /** EIP-1559 max priority fee per gas in wei. */
7044
+ max_priority_fee_per_gas: string;
7045
+ }
7046
+
7047
+ export type WalletTransactionPendingEventOneOf = WalletTransactionPendingPayload &
7048
+ WalletApiKeyEventPayload;
7049
+
7050
+ export type WalletTransactionPendingEventOneOfTwo = WalletTransactionPendingPayload &
7051
+ WalletUserEventPayload;
7052
+
7053
+ export type WalletTransactionPendingEventOneOfThree = WalletTransactionPendingPayload &
7054
+ WalletDelegatedEventPayload;
7055
+
7056
+ /**
7057
+ * Delivered when a transaction enters the pending state. EVM-only. The payload is one of three EVM wallet-type variants: API Key Wallet, User Wallet, or User Wallet (Delegated Signing).
7058
+ */
7059
+ export type WalletTransactionPendingEvent =
7060
+ | WalletTransactionPendingEventOneOf
7061
+ | WalletTransactionPendingEventOneOfTwo
7062
+ | WalletTransactionPendingEventOneOfThree;
7063
+
7064
+ /**
7065
+ * Payload for `wallet.transaction.confirmed` on EVM networks. Includes `transaction_hash` and `address`.
7066
+ */
7067
+ export interface WalletEvmTransactionConfirmedPayload {
7068
+ /** The onchain transaction hash. */
7069
+ transaction_hash: string;
7070
+ /**
7071
+ * The EVM wallet address that submitted the transaction.
7072
+ * @pattern ^0x[0-9a-fA-F]{40}$
7073
+ */
7074
+ address: BlockchainAddress;
7075
+ /** The blockchain network identifier. */
7076
+ network: Network;
7077
+ /** When the transaction was confirmed (ISO 8601 format). */
7078
+ confirmed_at: string;
7079
+ }
7080
+
7081
+ /**
7082
+ * Payload for `wallet.transaction.confirmed` on Solana. Includes `transaction_signature` and omits `address`.
7083
+ */
7084
+ export interface WalletSolanaTransactionConfirmedPayload {
7085
+ /** The Solana transaction signature. */
7086
+ transaction_signature: string;
7087
+ /** The blockchain network identifier. */
7088
+ network: Network;
7089
+ /** When the transaction was confirmed (ISO 8601 format). */
7090
+ confirmed_at: string;
7091
+ }
7092
+
7093
+ export type WalletTransactionConfirmedEventOneOf = WalletEvmTransactionConfirmedPayload &
7094
+ WalletApiKeyEventPayload;
7095
+
7096
+ export type WalletTransactionConfirmedEventOneOfTwo = WalletSolanaTransactionConfirmedPayload &
7097
+ WalletApiKeyEventPayload;
7098
+
7099
+ export type WalletTransactionConfirmedEventOneOfThree = WalletEvmTransactionConfirmedPayload &
7100
+ WalletUserEventPayload;
7101
+
7102
+ export type WalletTransactionConfirmedEventOneOfFour = WalletSolanaTransactionConfirmedPayload &
7103
+ WalletUserEventPayload;
7104
+
7105
+ export type WalletTransactionConfirmedEventOneOfFive = WalletEvmTransactionConfirmedPayload &
7106
+ WalletDelegatedEventPayload;
7107
+
7108
+ export type WalletTransactionConfirmedEventOneOfSix = WalletSolanaTransactionConfirmedPayload &
7109
+ WalletDelegatedEventPayload;
7110
+
7111
+ /**
7112
+ * Delivered when a transaction is confirmed onchain. The payload is one of six variants: API Key Wallet, User Wallet, or User Wallet (Delegated Signing), each delivered as an EVM or Solana variant.
7113
+ */
7114
+ export type WalletTransactionConfirmedEvent =
7115
+ | WalletTransactionConfirmedEventOneOf
7116
+ | WalletTransactionConfirmedEventOneOfTwo
7117
+ | WalletTransactionConfirmedEventOneOfThree
7118
+ | WalletTransactionConfirmedEventOneOfFour
7119
+ | WalletTransactionConfirmedEventOneOfFive
7120
+ | WalletTransactionConfirmedEventOneOfSix;
7121
+
7122
+ /**
7123
+ * Payload for `wallet.transaction.failed` on EVM networks. Includes `transaction_hash` and `address`.
7124
+ */
7125
+ export interface WalletEvmTransactionFailedPayload {
7126
+ /** The onchain transaction hash. */
7127
+ transaction_hash: string;
7128
+ /**
7129
+ * The EVM wallet address that submitted the transaction.
7130
+ * @pattern ^0x[0-9a-fA-F]{40}$
7131
+ */
7132
+ address: BlockchainAddress;
7133
+ /** The blockchain network identifier. */
7134
+ network: Network;
7135
+ /** When the transaction failed (ISO 8601 format). */
7136
+ failed_at: string;
7137
+ }
7138
+
7139
+ /**
7140
+ * Payload for `wallet.transaction.failed` on Solana. Includes `transaction_signature` and omits `address`.
7141
+ */
7142
+ export interface WalletSolanaTransactionFailedPayload {
7143
+ /** The Solana transaction signature. */
7144
+ transaction_signature: string;
7145
+ /** The blockchain network identifier. */
7146
+ network: Network;
7147
+ /** When the transaction failed (ISO 8601 format). */
7148
+ failed_at: string;
7149
+ }
7150
+
7151
+ export type WalletTransactionFailedEventOneOf = WalletEvmTransactionFailedPayload &
7152
+ WalletApiKeyEventPayload;
7153
+
7154
+ export type WalletTransactionFailedEventOneOfTwo = WalletSolanaTransactionFailedPayload &
7155
+ WalletApiKeyEventPayload;
7156
+
7157
+ export type WalletTransactionFailedEventOneOfThree = WalletEvmTransactionFailedPayload &
7158
+ WalletUserEventPayload;
7159
+
7160
+ export type WalletTransactionFailedEventOneOfFour = WalletSolanaTransactionFailedPayload &
7161
+ WalletUserEventPayload;
7162
+
7163
+ export type WalletTransactionFailedEventOneOfFive = WalletEvmTransactionFailedPayload &
7164
+ WalletDelegatedEventPayload;
7165
+
7166
+ export type WalletTransactionFailedEventOneOfSix = WalletSolanaTransactionFailedPayload &
7167
+ WalletDelegatedEventPayload;
7168
+
7169
+ /**
7170
+ * Delivered when a transaction fails. The payload is one of six variants: API Key Wallet, User Wallet, or User Wallet (Delegated Signing), each delivered as an EVM or Solana variant.
7171
+ */
7172
+ export type WalletTransactionFailedEvent =
7173
+ | WalletTransactionFailedEventOneOf
7174
+ | WalletTransactionFailedEventOneOfTwo
7175
+ | WalletTransactionFailedEventOneOfThree
7176
+ | WalletTransactionFailedEventOneOfFour
7177
+ | WalletTransactionFailedEventOneOfFive
7178
+ | WalletTransactionFailedEventOneOfSix;
7179
+
7180
+ /**
7181
+ * Delivered when a delegation grant is created for a User Wallet.
7182
+ */
7183
+ export interface WalletDelegationCreatedEvent {
7184
+ /** The unique identifier for the delegation grant. */
7185
+ delegation_id: string;
7186
+ /** The user ID that owns the delegation. */
7187
+ user_id: string;
7188
+ /** When the delegation expires (ISO 8601 format). */
7189
+ expires_at: string;
7190
+ /** When the delegation was created (ISO 8601 format). */
7191
+ created_at: string;
7192
+ }
7193
+
7194
+ /**
7195
+ * Delivered when a delegation grant is revoked.
7196
+ */
7197
+ export interface WalletDelegationRevokedEvent {
7198
+ /** The unique identifier for the delegation grant. */
7199
+ delegation_id: string;
7200
+ /** The user ID that owns the delegation. */
7201
+ user_id: string;
7202
+ /** When the delegation was revoked (ISO 8601 format). */
7203
+ revoked_at: string;
7204
+ }
7205
+
7206
+ export type WalletTypedDataSignedEventOneOf = WalletEvmSigningPayload & WalletApiKeyEventPayload;
7207
+
7208
+ export type WalletTypedDataSignedEventOneOfTwo = WalletEvmSigningPayload & WalletUserEventPayload;
7209
+
7210
+ export type WalletTypedDataSignedEventOneOfThree = WalletEvmSigningPayload &
7211
+ WalletDelegatedEventPayload;
7212
+
7213
+ /**
7214
+ * Delivered when EIP-712 typed data is signed. EVM-only. Uses the EVM signing payload. The payload is one of three EVM wallet-type variants: API Key Wallet, User Wallet, or User Wallet (Delegated Signing).
7215
+ */
7216
+ export type WalletTypedDataSignedEvent =
7217
+ | WalletTypedDataSignedEventOneOf
7218
+ | WalletTypedDataSignedEventOneOfTwo
7219
+ | WalletTypedDataSignedEventOneOfThree;
7220
+
7221
+ export type WalletMessageSignedEventOneOf = WalletEvmSigningPayload & WalletApiKeyEventPayload;
7222
+
7223
+ export type WalletMessageSignedEventOneOfTwo = WalletSolanaSigningPayload &
7224
+ WalletApiKeyEventPayload;
7225
+
7226
+ export type WalletMessageSignedEventOneOfThree = WalletEvmSigningPayload & WalletUserEventPayload;
7227
+
7228
+ export type WalletMessageSignedEventOneOfFour = WalletSolanaSigningPayload & WalletUserEventPayload;
7229
+
7230
+ export type WalletMessageSignedEventOneOfFive = WalletEvmSigningPayload &
7231
+ WalletDelegatedEventPayload;
7232
+
7233
+ export type WalletMessageSignedEventOneOfSix = WalletSolanaSigningPayload &
7234
+ WalletDelegatedEventPayload;
7235
+
7236
+ /**
7237
+ * Delivered when a message is signed. Emitted for both EVM and Solana wallets. The payload is one of six variants: API Key Wallet, User Wallet, or User Wallet (Delegated Signing), each delivered as an EVM or Solana variant.
7238
+ */
7239
+ export type WalletMessageSignedEvent =
7240
+ | WalletMessageSignedEventOneOf
7241
+ | WalletMessageSignedEventOneOfTwo
7242
+ | WalletMessageSignedEventOneOfThree
7243
+ | WalletMessageSignedEventOneOfFour
7244
+ | WalletMessageSignedEventOneOfFive
7245
+ | WalletMessageSignedEventOneOfSix;
7246
+
7247
+ export type WalletHashSignedEventOneOf = WalletEvmSigningPayload & WalletApiKeyEventPayload;
7248
+
7249
+ export type WalletHashSignedEventOneOfTwo = WalletSolanaSigningPayload & WalletApiKeyEventPayload;
7250
+
7251
+ export type WalletHashSignedEventOneOfThree = WalletEvmSigningPayload & WalletUserEventPayload;
7252
+
7253
+ export type WalletHashSignedEventOneOfFour = WalletSolanaSigningPayload & WalletUserEventPayload;
7254
+
7255
+ export type WalletHashSignedEventOneOfFive = WalletEvmSigningPayload & WalletDelegatedEventPayload;
7256
+
7257
+ export type WalletHashSignedEventOneOfSix = WalletSolanaSigningPayload &
7258
+ WalletDelegatedEventPayload;
7259
+
7260
+ /**
7261
+ * Delivered when a raw hash is signed. Emitted for both EVM and Solana wallets. The payload is one of six variants: API Key Wallet, User Wallet, or User Wallet (Delegated Signing), each delivered as an EVM or Solana variant.
7262
+ */
7263
+ export type WalletHashSignedEvent =
7264
+ | WalletHashSignedEventOneOf
7265
+ | WalletHashSignedEventOneOfTwo
7266
+ | WalletHashSignedEventOneOfThree
7267
+ | WalletHashSignedEventOneOfFour
7268
+ | WalletHashSignedEventOneOfFive
7269
+ | WalletHashSignedEventOneOfSix;
7270
+
7271
+ /**
7272
+ * A monetary amount with currency.
7273
+ */
7274
+ export interface MoneyAmount {
7275
+ /** Currency code (e.g., "USD", "USDC", "ETH"). */
7276
+ currency: string;
7277
+ /** The amount as a string. */
7278
+ value: string;
7279
+ }
7280
+
7281
+ /**
7282
+ * Current status of the transaction.
7283
+ */
7284
+ export type OnrampTransactionPayloadStatus =
7285
+ (typeof OnrampTransactionPayloadStatus)[keyof typeof OnrampTransactionPayloadStatus];
7286
+
7287
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
7288
+ export const OnrampTransactionPayloadStatus = {
7289
+ ONRAMP_TRANSACTION_STATUS_UNSPECIFIED: "ONRAMP_TRANSACTION_STATUS_UNSPECIFIED",
7290
+ ONRAMP_TRANSACTION_STATUS_CREATED: "ONRAMP_TRANSACTION_STATUS_CREATED",
7291
+ ONRAMP_TRANSACTION_STATUS_IN_PROGRESS: "ONRAMP_TRANSACTION_STATUS_IN_PROGRESS",
7292
+ ONRAMP_TRANSACTION_STATUS_SUCCESS: "ONRAMP_TRANSACTION_STATUS_SUCCESS",
7293
+ ONRAMP_TRANSACTION_STATUS_FAILED: "ONRAMP_TRANSACTION_STATUS_FAILED",
7294
+ ONRAMP_TRANSACTION_STATUS_AWAITING_AUTH: "ONRAMP_TRANSACTION_STATUS_AWAITING_AUTH",
7295
+ ONRAMP_TRANSACTION_STATUS_AWAITING_PAYMENT: "ONRAMP_TRANSACTION_STATUS_AWAITING_PAYMENT",
7296
+ } as const;
7297
+
7298
+ /**
7299
+ * The payment method used.
7300
+ */
7301
+ export type OnrampTransactionPayloadPaymentMethod =
7302
+ (typeof OnrampTransactionPayloadPaymentMethod)[keyof typeof OnrampTransactionPayloadPaymentMethod];
7303
+
7304
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
7305
+ export const OnrampTransactionPayloadPaymentMethod = {
7306
+ UNSPECIFIED: "UNSPECIFIED",
7307
+ CARD: "CARD",
7308
+ ACH_BANK_ACCOUNT: "ACH_BANK_ACCOUNT",
7309
+ APPLE_PAY: "APPLE_PAY",
7310
+ FIAT_WALLET: "FIAT_WALLET",
7311
+ CRYPTO_ACCOUNT: "CRYPTO_ACCOUNT",
7312
+ GUEST_CHECKOUT_CARD: "GUEST_CHECKOUT_CARD",
7313
+ PAYPAL: "PAYPAL",
7314
+ RTP: "RTP",
7315
+ GUEST_CHECKOUT_APPLE_PAY: "GUEST_CHECKOUT_APPLE_PAY",
7316
+ GUEST_CHECKOUT_GOOGLE_PAY: "GUEST_CHECKOUT_GOOGLE_PAY",
7317
+ } as const;
7318
+
7319
+ /**
7320
+ * The type of onramp transaction.
7321
+ */
7322
+ export type OnrampTransactionPayloadType =
7323
+ (typeof OnrampTransactionPayloadType)[keyof typeof OnrampTransactionPayloadType];
7324
+
7325
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
7326
+ export const OnrampTransactionPayloadType = {
7327
+ ONRAMP_TRANSACTION_TYPE_UNSPECIFIED: "ONRAMP_TRANSACTION_TYPE_UNSPECIFIED",
7328
+ ONRAMP_TRANSACTION_TYPE_BUY_AND_SEND: "ONRAMP_TRANSACTION_TYPE_BUY_AND_SEND",
7329
+ ONRAMP_TRANSACTION_TYPE_SEND: "ONRAMP_TRANSACTION_TYPE_SEND",
7330
+ } as const;
7331
+
7332
+ /**
7333
+ * Whether the user is authed or guest.
7334
+ */
7335
+ export type OnrampTransactionPayloadUserType =
7336
+ (typeof OnrampTransactionPayloadUserType)[keyof typeof OnrampTransactionPayloadUserType];
7337
+
7338
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
7339
+ export const OnrampTransactionPayloadUserType = {
7340
+ USER_TYPE_UNSPECIFIED: "USER_TYPE_UNSPECIFIED",
7341
+ USER_TYPE_AUTHED: "USER_TYPE_AUTHED",
7342
+ USER_TYPE_GUEST: "USER_TYPE_GUEST",
7343
+ } as const;
7344
+
7345
+ /**
7346
+ * The reason for failure (if applicable).
7347
+ */
7348
+ export type OnrampTransactionPayloadFailureReason =
7349
+ (typeof OnrampTransactionPayloadFailureReason)[keyof typeof OnrampTransactionPayloadFailureReason];
7350
+
7351
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
7352
+ export const OnrampTransactionPayloadFailureReason = {
7353
+ FAILURE_REASON_UNSPECIFIED: "FAILURE_REASON_UNSPECIFIED",
7354
+ FAILURE_REASON_BUY_FAILED: "FAILURE_REASON_BUY_FAILED",
7355
+ FAILURE_REASON_SEND_FAILED: "FAILURE_REASON_SEND_FAILED",
7356
+ } as const;
7357
+
7358
+ /**
7359
+ * Webhook payload for standard onramp transactions (guest checkout and authed flow). Serialized from the OnrampTransaction proto via protojson with eventType appended.
7360
+ */
7361
+ export interface OnrampTransactionPayload {
7362
+ /** The webhook event type. */
7363
+ eventType: string;
7364
+ /** Unique transaction identifier. */
7365
+ transactionId: string;
7366
+ /** Current status of the transaction. */
7367
+ status: OnrampTransactionPayloadStatus;
7368
+ /** The crypto currency purchased (e.g., "USDC", "ETH"). */
7369
+ purchaseCurrency?: string;
7370
+ /** The blockchain network for the purchase (e.g., "ethereum", "base"). */
7371
+ purchaseNetwork?: string;
7372
+ purchaseAmount?: MoneyAmount;
7373
+ paymentTotal?: MoneyAmount;
7374
+ paymentTotalUsd?: MoneyAmount;
7375
+ paymentSubtotal?: MoneyAmount;
7376
+ coinbaseFee?: MoneyAmount;
7377
+ networkFee?: MoneyAmount;
7378
+ exchangeRate?: MoneyAmount;
7379
+ /** The onchain transaction hash of the send (0x-prefixed for EVM). */
7380
+ txHash?: string;
7381
+ /** When the transaction was created. */
7382
+ createdAt?: string;
7383
+ /** When the transaction completed (uses send_started_at for early success). */
7384
+ completedAt?: string;
7385
+ /** The user's country code. */
7386
+ country?: string;
7387
+ /** Hashed user identifier (entity hash for guest, user ID for authed). */
7388
+ userId?: string;
7389
+ /** The payment method used. */
7390
+ paymentMethod?: OnrampTransactionPayloadPaymentMethod;
7391
+ /** The destination wallet address. */
7392
+ walletAddress?: string;
7393
+ /** The type of onramp transaction. */
7394
+ type?: OnrampTransactionPayloadType;
7395
+ /** Whether the user is authed or guest. */
7396
+ userType?: OnrampTransactionPayloadUserType;
7397
+ /** The partnerUserId provided when initializing the onramp session. */
7398
+ partnerUserRef?: string;
7399
+ /** The token contract address (populated when asset metadata is available). */
7400
+ contractAddress?: string;
7401
+ /** The reason for failure (if applicable). */
7402
+ failureReason?: OnrampTransactionPayloadFailureReason;
7403
+ /** The name of the developer app. */
7404
+ endPartnerName?: string;
7405
+ /** Error code for the transaction failure (if applicable). */
7406
+ errorCode?: string;
7407
+ }
7408
+
7409
+ /**
7410
+ * The type of fee.
7411
+ */
7412
+ export type OrderFeeFeeType = (typeof OrderFeeFeeType)[keyof typeof OrderFeeFeeType];
7413
+
7414
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
7415
+ export const OrderFeeFeeType = {
7416
+ FEE_TYPE_UNSPECIFIED: "FEE_TYPE_UNSPECIFIED",
7417
+ FEE_TYPE_NETWORK: "FEE_TYPE_NETWORK",
7418
+ FEE_TYPE_EXCHANGE: "FEE_TYPE_EXCHANGE",
7419
+ } as const;
7420
+
7421
+ /**
7422
+ * A fee associated with a Headless Onramp API order.
7423
+ */
7424
+ export interface OrderFee {
7425
+ /** The type of fee. */
7426
+ feeType?: OrderFeeFeeType;
7427
+ /** The amount of the fee. */
7428
+ feeAmount?: string;
7429
+ /** The currency of the fee. */
7430
+ feeCurrency?: string;
7431
+ }
7432
+
7433
+ /**
7434
+ * The payment method used.
7435
+ */
7436
+ export type OnrampOrderPayloadPaymentMethod =
7437
+ (typeof OnrampOrderPayloadPaymentMethod)[keyof typeof OnrampOrderPayloadPaymentMethod];
7438
+
7439
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
7440
+ export const OnrampOrderPayloadPaymentMethod = {
7441
+ UNSPECIFIED: "UNSPECIFIED",
7442
+ CARD: "CARD",
7443
+ ACH_BANK_ACCOUNT: "ACH_BANK_ACCOUNT",
7444
+ APPLE_PAY: "APPLE_PAY",
7445
+ FIAT_WALLET: "FIAT_WALLET",
7446
+ CRYPTO_ACCOUNT: "CRYPTO_ACCOUNT",
7447
+ GUEST_CHECKOUT_CARD: "GUEST_CHECKOUT_CARD",
7448
+ PAYPAL: "PAYPAL",
7449
+ RTP: "RTP",
7450
+ GUEST_CHECKOUT_APPLE_PAY: "GUEST_CHECKOUT_APPLE_PAY",
7451
+ GUEST_CHECKOUT_GOOGLE_PAY: "GUEST_CHECKOUT_GOOGLE_PAY",
7452
+ } as const;
7453
+
7454
+ /**
7455
+ * The status of the order.
7456
+ */
7457
+ export type OnrampOrderPayloadStatus =
7458
+ (typeof OnrampOrderPayloadStatus)[keyof typeof OnrampOrderPayloadStatus];
7459
+
7460
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
7461
+ export const OnrampOrderPayloadStatus = {
7462
+ ONRAMP_ORDER_STATUS_UNSPECIFIED: "ONRAMP_ORDER_STATUS_UNSPECIFIED",
7463
+ ONRAMP_ORDER_STATUS_PENDING_AUTH: "ONRAMP_ORDER_STATUS_PENDING_AUTH",
7464
+ ONRAMP_ORDER_STATUS_PENDING_PAYMENT: "ONRAMP_ORDER_STATUS_PENDING_PAYMENT",
7465
+ ONRAMP_ORDER_STATUS_PROCESSING: "ONRAMP_ORDER_STATUS_PROCESSING",
7466
+ ONRAMP_ORDER_STATUS_COMPLETED: "ONRAMP_ORDER_STATUS_COMPLETED",
7467
+ ONRAMP_ORDER_STATUS_FAILED: "ONRAMP_ORDER_STATUS_FAILED",
7468
+ } as const;
7469
+
7470
+ /**
7471
+ * Webhook payload for Headless Onramp API orders (Apple Pay / Google Pay). Serialized from the OnrampOrder proto via protojson with eventType appended.
7472
+ */
7473
+ export interface OnrampOrderPayload {
7474
+ /** The webhook event type. */
7475
+ eventType: string;
7476
+ /** Unique order identifier. */
7477
+ orderId: string;
7478
+ /** The total fiat amount paid. */
7479
+ paymentTotal?: string;
7480
+ /** The fiat amount converted to crypto (excluding fees). */
7481
+ paymentSubtotal?: string;
7482
+ /** The fiat currency used for payment. */
7483
+ paymentCurrency?: string;
7484
+ /** The payment method used. */
7485
+ paymentMethod?: OnrampOrderPayloadPaymentMethod;
7486
+ /** The amount of crypto purchased. */
7487
+ purchaseAmount?: string;
7488
+ /** The crypto currency purchased. */
7489
+ purchaseCurrency?: string;
7490
+ /** Breakdown of fees for the order. */
7491
+ fees?: OrderFee[];
7492
+ /** The exchange rate used for conversion. */
7493
+ exchangeRate?: string;
7494
+ /** The destination wallet address. */
7495
+ destinationAddress?: string;
7496
+ /** The blockchain network for delivery. */
7497
+ destinationNetwork?: string;
7498
+ /** The status of the order. */
7499
+ status: OnrampOrderPayloadStatus;
7500
+ /** The onchain transaction hash (available once crypto is sent). */
7501
+ txHash?: string;
7502
+ /** When the order was created. */
7503
+ createdAt?: string;
7504
+ /** When the order was last updated. */
7505
+ updatedAt?: string;
7506
+ /** The partner user reference ID. */
7507
+ partnerUserRef?: string;
7508
+ }
7509
+
7510
+ /**
7511
+ * Webhook payload for all onramp transaction events (created, updated, success, failed). Shape depends on transaction type — standard flow (guest checkout / authorized) uses OnrampTransactionPayload, Headless API (Apple Pay / Google Pay) uses OnrampOrderPayload. Distinguish by presence of `orderId` (Headless) vs `transactionId` (standard).
7512
+ */
7513
+ export type OnrampTransactionEvent = OnrampTransactionPayload | OnrampOrderPayload;
7514
+
7515
+ export type OnrampTransactionCreatedEvent = OnrampTransactionEvent;
7516
+
7517
+ export type OnrampTransactionUpdatedEvent = OnrampTransactionEvent;
7518
+
7519
+ export type OnrampTransactionSuccessEvent = OnrampTransactionEvent;
7520
+
7521
+ export type OnrampTransactionFailedEvent = OnrampTransactionEvent;
7522
+
7523
+ /**
7524
+ * Current status of the offramp transaction.
7525
+ */
7526
+ export type OfframpTransactionPayloadStatus =
7527
+ (typeof OfframpTransactionPayloadStatus)[keyof typeof OfframpTransactionPayloadStatus];
7528
+
7529
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
7530
+ export const OfframpTransactionPayloadStatus = {
7531
+ TRANSACTION_STATUS_UNSPECIFIED: "TRANSACTION_STATUS_UNSPECIFIED",
7532
+ TRANSACTION_STATUS_CREATED: "TRANSACTION_STATUS_CREATED",
7533
+ TRANSACTION_STATUS_EXPIRED: "TRANSACTION_STATUS_EXPIRED",
7534
+ TRANSACTION_STATUS_STARTED: "TRANSACTION_STATUS_STARTED",
7535
+ TRANSACTION_STATUS_SUCCESS: "TRANSACTION_STATUS_SUCCESS",
7536
+ TRANSACTION_STATUS_FAILED: "TRANSACTION_STATUS_FAILED",
7537
+ } as const;
7538
+
7539
+ /**
7540
+ * The payment method type used for cashout.
7541
+ */
7542
+ export type OfframpTransactionPayloadPaymentMethod =
7543
+ (typeof OfframpTransactionPayloadPaymentMethod)[keyof typeof OfframpTransactionPayloadPaymentMethod];
7544
+
7545
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
7546
+ export const OfframpTransactionPayloadPaymentMethod = {
7547
+ UNSPECIFIED: "UNSPECIFIED",
7548
+ CARD: "CARD",
7549
+ ACH_BANK_ACCOUNT: "ACH_BANK_ACCOUNT",
7550
+ APPLE_PAY: "APPLE_PAY",
7551
+ FIAT_WALLET: "FIAT_WALLET",
7552
+ CRYPTO_ACCOUNT: "CRYPTO_ACCOUNT",
7553
+ GUEST_CHECKOUT_CARD: "GUEST_CHECKOUT_CARD",
7554
+ PAYPAL: "PAYPAL",
7555
+ RTP: "RTP",
7556
+ GUEST_CHECKOUT_APPLE_PAY: "GUEST_CHECKOUT_APPLE_PAY",
7557
+ GUEST_CHECKOUT_GOOGLE_PAY: "GUEST_CHECKOUT_GOOGLE_PAY",
7558
+ } as const;
7559
+
7560
+ /**
7561
+ * Webhook payload for offramp transactions. Serialized from the OfframpTransaction proto via protojson with eventType appended.
7562
+ */
7563
+ export interface OfframpTransactionPayload {
7564
+ /** The webhook event type. */
7565
+ eventType: string;
7566
+ /** Unique transaction identifier. */
7567
+ transactionId: string;
7568
+ /** Current status of the offramp transaction. */
7569
+ status: OfframpTransactionPayloadStatus;
7570
+ /** The crypto currency being sold (e.g., "ETH", "USDC"). */
7571
+ asset?: string;
7572
+ /** The blockchain network (e.g., "ethereum", "base"). */
7573
+ network?: string;
7574
+ sellAmount?: MoneyAmount;
7575
+ total?: MoneyAmount;
7576
+ minimumTotal?: MoneyAmount;
7577
+ subtotal?: MoneyAmount;
7578
+ coinbaseFee?: MoneyAmount;
7579
+ exchangeRate?: MoneyAmount;
7580
+ unitPrice?: MoneyAmount;
7581
+ /** The address crypto was received from. */
7582
+ fromAddress?: string;
7583
+ /** The address crypto was sent to (Coinbase deposit address). */
7584
+ toAddress?: string;
7585
+ /** When the transaction was created. */
7586
+ createdAt?: string;
7587
+ /** When the transaction was last updated. */
7588
+ updatedAt?: string;
7589
+ /** The onchain transaction hash of the crypto send. */
7590
+ txHash?: string;
7591
+ /** The URL the user was redirected to after confirming the offramp. */
7592
+ redirectUrl?: string;
7593
+ /** The payment method type used for cashout. */
7594
+ paymentMethod?: OfframpTransactionPayloadPaymentMethod;
7595
+ }
7596
+
7597
+ export type OfframpTransactionCreatedEvent = OfframpTransactionPayload;
7598
+
7599
+ export type OfframpTransactionUpdatedEvent = OfframpTransactionPayload;
7600
+
7601
+ export type OfframpTransactionSuccessEvent = OfframpTransactionPayload;
7602
+
7603
+ export type OfframpTransactionFailedEvent = OfframpTransactionPayload;
7604
+
7605
+ /**
7606
+ * Idempotency key conflict.
7607
+ */
7608
+ export type IdempotencyErrorResponse = Error;
7609
+
7610
+ /**
7611
+ * The endpoint cannot serve the request right now, either because the API is in an unintended outage (`service_unavailable` — dependency failure, deploy issue) or because an operator has intentionally disabled this specific endpoint via a kill switch (`endpoint_unavailable`). Clients should dispatch on `errorType`: `service_unavailable` is typically transient and safe to retry, while `endpoint_unavailable` may persist until an operator re-enables the endpoint.
7612
+ */
7613
+ export type EndpointUnavailableErrorResponse = Error;
7614
+
7615
+ /**
7616
+ * Internal server error.
7617
+ */
7618
+ export type InternalServerErrorResponse = Error;
7619
+
7620
+ /**
7621
+ * Bad gateway.
7622
+ */
7623
+ export type BadGatewayErrorResponse = Error;
7624
+
7625
+ /**
7626
+ * Service unavailable.
7627
+ */
7628
+ export type ServiceUnavailableErrorResponse = Error;
7629
+
7630
+ /**
7631
+ * Unauthorized.
7632
+ */
7633
+ export type UnauthorizedErrorResponse = Error;
7634
+
7635
+ /**
7636
+ * A payment method is required to complete this operation.
7637
+ */
7638
+ export type PaymentMethodRequiredErrorResponse = Error;
7639
+
7640
+ /**
7641
+ * The request was rejected due to a delegation issue. The errorType field indicates the specific reason.
6371
7642
  */
6372
7643
  export type DelegationForbiddenErrorResponse = Error;
6373
7644
 
@@ -6468,6 +7739,11 @@ export type X402SupportedPaymentKindsResponseResponse = {
6468
7739
  signers: X402SupportedPaymentKindsResponseResponseSigners;
6469
7740
  };
6470
7741
 
7742
+ /**
7743
+ * User forbidden from performing the action.
7744
+ */
7745
+ export type ForbiddenErrorResponse = Error;
7746
+
6471
7747
  /**
6472
7748
  * Rate limit exceeded.
6473
7749
  */
@@ -6754,6 +8030,10 @@ export type LookupEndUserParams = {
6754
8030
  * The E.164-formatted phone number to search for. Must be URL-encoded when passed as a query parameter (e.g. `+14155552671` → `%2B14155552671`).
6755
8031
  */
6756
8032
  phoneNumber?: PhoneNumber;
8033
+ /**
8034
+ * The ERC-55 checksummed Ethereum address to search for. Looks up a user by the address they authenticated with via Sign In With Ethereum (EIP-4361).
8035
+ */
8036
+ siweAddress?: BlockchainAddress;
6757
8037
  };
6758
8038
 
6759
8039
  export type LookupEndUser200 = {
@@ -6933,6 +8213,7 @@ export type SendEvmAssetWithEndUserAccountBody = {
6933
8213
  useCdpPaymaster?: boolean;
6934
8214
  /** 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`. */
6935
8215
  paymasterUrl?: Url;
8216
+ paymasterContext?: PaymasterContext;
6936
8217
  /**
6937
8218
  * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
6938
8219
  * @pattern ^[a-zA-Z0-9-]{1,100}$
@@ -7134,6 +8415,7 @@ export type SendUserOperationWithEndUserAccountBody = {
7134
8415
  useCdpPaymaster: boolean;
7135
8416
  /** The URL of the paymaster to use for the user operation. If using the CDP Paymaster, use the `useCdpPaymaster` option. */
7136
8417
  paymasterUrl?: Url;
8418
+ paymasterContext?: PaymasterContext;
7137
8419
  /**
7138
8420
  * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
7139
8421
  * @pattern ^[a-zA-Z0-9-]{1,100}$
@@ -7506,6 +8788,7 @@ export type PrepareUserOperationBody = {
7506
8788
  calls: EvmCall[];
7507
8789
  /** The URL of the paymaster to use for the user operation. */
7508
8790
  paymasterUrl?: Url;
8791
+ paymasterContext?: PaymasterContext;
7509
8792
  /**
7510
8793
  * The EIP-8021 data suffix (hex-encoded) that enables transaction attribution for the user operation.
7511
8794
  * @pattern ^0x[0-9a-fA-F]+$
@@ -7519,6 +8802,7 @@ export type PrepareAndSendUserOperationBody = {
7519
8802
  calls: EvmCall[];
7520
8803
  /** The URL of the paymaster to use for the user operation. */
7521
8804
  paymasterUrl?: Url;
8805
+ paymasterContext?: PaymasterContext;
7522
8806
  };
7523
8807
 
7524
8808
  export type SendUserOperationBody = {
@@ -7912,6 +9196,8 @@ export type GetSQLSchemaDatabase = (typeof GetSQLSchemaDatabase)[keyof typeof Ge
7912
9196
  export const GetSQLSchemaDatabase = {
7913
9197
  base: "base",
7914
9198
  base_sepolia: "base_sepolia",
9199
+ solana: "solana",
9200
+ hyperevm: "hyperevm",
7915
9201
  } as const;
7916
9202
 
7917
9203
  export type ListDataTokenBalancesParams = {
@@ -8089,6 +9375,10 @@ Please refer to the [Onramp docs](https://docs.cdp.coinbase.com/onramp-&-offramp
8089
9375
  phoneNumber: string;
8090
9376
  /** Timestamp of when the user's phone number was verified via OTP. User phone number must be verified every 60 days. If this timestamp is older than 60 days, an error will be returned. */
8091
9377
  phoneNumberVerifiedAt: string;
9378
+ /** The SMS verification ID returned by the Submit Onramp Verification endpoint after verifying the user's phone number. When provided, Onramp validates the server-side verification record instead of trusting `phoneNumberVerifiedAt`. */
9379
+ smsVerificationId?: OnrampVerificationId;
9380
+ /** The email verification ID returned by the Submit Onramp Verification endpoint after verifying the user's email address. */
9381
+ emailVerificationId?: OnrampVerificationId;
8092
9382
  /** 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. */
8093
9383
  purchaseAmount?: string;
8094
9384
  /** The ticker (e.g. `BTC`, `USDC`, `SOL`) or the Coinbase UUID (e.g. `d85dce9b-5b73-5c3c-8978-522ce1d1c1b4`) of the crypto asset to be purchased.
@@ -8110,38 +9400,6 @@ export type GetOnrampOrderById200 = {
8110
9400
  order: OnrampOrder;
8111
9401
  };
8112
9402
 
8113
- export type CreateOnrampSessionBody = {
8114
- /** The ticker (e.g. `BTC`, `USDC`, `SOL`) or the Coinbase UUID (e.g. `d85dce9b-5b73-5c3c-8978-522ce1d1c1b4`) of the crypto asset to be purchased.
8115
-
8116
- Use the [Onramp Buy Options API](https://docs.cdp.coinbase.com/api-reference/rest-api/onramp-offramp/get-buy-options) to discover the supported purchase currencies for your user's location. */
8117
- purchaseCurrency: string;
8118
- /** The name of the crypto network the purchased currency will be sent on.
8119
-
8120
- 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. */
8121
- destinationNetwork: string;
8122
- /** The address the purchased crypto will be sent to. */
8123
- destinationAddress: BlockchainAddress;
8124
- /** 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. */
8125
- paymentAmount?: string;
8126
- /** 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. */
8127
- purchaseAmount?: string;
8128
- /** The fiat currency to be converted to crypto. */
8129
- paymentCurrency?: string;
8130
- paymentMethod?: OnrampQuotePaymentMethodTypeId;
8131
- /** The ISO 3166-1 two letter country code (e.g. US). */
8132
- country?: string;
8133
- /** The ISO 3166-2 two letter state code (e.g. NY). Only required for US. */
8134
- subdivision?: string;
8135
- /** URI to redirect the user to when they successfully complete a transaction. This URI will be embedded in the returned onramp URI as a query parameter. */
8136
- redirectUrl?: Uri;
8137
- /** The IP address of the end user requesting the onramp transaction. */
8138
- clientIp?: string;
8139
- /** A unique string that represents the user in your app. This can be used to link individual transactions together so you can retrieve the transaction history for your users. Prefix this string with “sandbox-” (e.g. "sandbox-user-1234") to perform a sandbox transaction which will allow you to test your integration without any real transfer of funds.
8140
-
8141
- This value can be used with with [Onramp User Transactions API](https://docs.cdp.coinbase.com/api-reference/rest-api/onramp-offramp/get-onramp-transactions-by-id) to retrieve all transactions created by the user. */
8142
- partnerUserRef?: string;
8143
- };
8144
-
8145
9403
  export type CreateOnrampSession201 = {
8146
9404
  session: OnrampSession;
8147
9405
  quote?: OnrampQuote;