@coinbase/cdp-sdk 1.47.0 → 1.48.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 (71) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +282 -0
  3. package/_cjs/client/cdp.js +1 -4
  4. package/_cjs/client/cdp.js.map +1 -1
  5. package/_cjs/client/end-user/endUser.js +19 -89
  6. package/_cjs/client/end-user/endUser.js.map +1 -1
  7. package/_cjs/client/end-user/toEndUserAccount.js +13 -43
  8. package/_cjs/client/end-user/toEndUserAccount.js.map +1 -1
  9. package/_cjs/index.js.map +1 -1
  10. package/_cjs/openapi-client/cdpApiClient.js +0 -32
  11. package/_cjs/openapi-client/cdpApiClient.js.map +1 -1
  12. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +54 -10
  13. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  14. package/_cjs/openapi-client/generated/{embedded-wallets-core-functionality/embedded-wallets-core-functionality.js → embedded-wallets/embedded-wallets.js} +37 -97
  15. package/_cjs/openapi-client/generated/embedded-wallets/embedded-wallets.js.map +1 -0
  16. package/_cjs/openapi-client/generated/webhooks/webhooks.js +6 -6
  17. package/_cjs/openapi-client/index.js +2 -2
  18. package/_cjs/openapi-client/index.js.map +1 -1
  19. package/_cjs/version.js +1 -1
  20. package/_esm/client/cdp.js +2 -5
  21. package/_esm/client/cdp.js.map +1 -1
  22. package/_esm/client/end-user/endUser.js +17 -87
  23. package/_esm/client/end-user/endUser.js.map +1 -1
  24. package/_esm/client/end-user/toEndUserAccount.js +13 -43
  25. package/_esm/client/end-user/toEndUserAccount.js.map +1 -1
  26. package/_esm/index.js.map +1 -1
  27. package/_esm/openapi-client/cdpApiClient.js +0 -32
  28. package/_esm/openapi-client/cdpApiClient.js.map +1 -1
  29. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +52 -8
  30. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  31. package/_esm/openapi-client/generated/{embedded-wallets-core-functionality/embedded-wallets-core-functionality.js → embedded-wallets/embedded-wallets.js} +36 -93
  32. package/_esm/openapi-client/generated/embedded-wallets/embedded-wallets.js.map +1 -0
  33. package/_esm/openapi-client/generated/webhooks/webhooks.js +6 -6
  34. package/_esm/openapi-client/index.js +2 -2
  35. package/_esm/openapi-client/index.js.map +1 -1
  36. package/_esm/version.js +1 -1
  37. package/_types/client/cdp.d.ts +2 -6
  38. package/_types/client/cdp.d.ts.map +1 -1
  39. package/_types/client/end-user/endUser.d.ts +2 -52
  40. package/_types/client/end-user/endUser.d.ts.map +1 -1
  41. package/_types/client/end-user/endUser.types.d.ts +1 -63
  42. package/_types/client/end-user/endUser.types.d.ts.map +1 -1
  43. package/_types/client/end-user/toEndUserAccount.d.ts +0 -2
  44. package/_types/client/end-user/toEndUserAccount.d.ts.map +1 -1
  45. package/_types/index.d.ts +1 -1
  46. package/_types/index.d.ts.map +1 -1
  47. package/_types/openapi-client/cdpApiClient.d.ts.map +1 -1
  48. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts +476 -79
  49. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts.map +1 -1
  50. package/_types/openapi-client/generated/embedded-wallets/embedded-wallets.d.ts +145 -0
  51. package/_types/openapi-client/generated/embedded-wallets/embedded-wallets.d.ts.map +1 -0
  52. package/_types/openapi-client/generated/webhooks/webhooks.d.ts +6 -6
  53. package/_types/openapi-client/index.d.ts +13 -45
  54. package/_types/openapi-client/index.d.ts.map +1 -1
  55. package/_types/version.d.ts +1 -1
  56. package/client/cdp.ts +3 -8
  57. package/client/end-user/endUser.ts +55 -187
  58. package/client/end-user/endUser.types.ts +0 -72
  59. package/client/end-user/toEndUserAccount.ts +57 -152
  60. package/index.ts +0 -4
  61. package/openapi-client/cdpApiClient.ts +0 -34
  62. package/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.ts +535 -85
  63. package/openapi-client/generated/{embedded-wallets-core-functionality/embedded-wallets-core-functionality.ts → embedded-wallets/embedded-wallets.ts} +67 -249
  64. package/openapi-client/generated/webhooks/webhooks.ts +6 -6
  65. package/openapi-client/index.ts +2 -2
  66. package/package.json +1 -1
  67. package/version.ts +1 -1
  68. package/_cjs/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.js.map +0 -1
  69. package/_esm/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.js.map +0 -1
  70. package/_types/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.d.ts +0 -312
  71. package/_types/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.d.ts.map +0 -1
@@ -367,26 +367,12 @@ export interface Error {
367
367
  errorLink?: Url;
368
368
  }
369
369
 
370
- export interface EvmAccount {
371
- /**
372
- * The 0x-prefixed, checksum EVM address.
373
- * @pattern ^0x[0-9a-fA-F]{40}$
374
- */
375
- address: string;
376
- /**
377
- * An optional name for the account.
378
- Account names can consist of alphanumeric characters and hyphens, and be between 2 and 36 characters long.
379
- Account names are guaranteed to be unique across all EVM accounts in the developer's CDP Project.
380
- * @pattern ^[A-Za-z0-9][A-Za-z0-9-]{0,34}[A-Za-z0-9]$
381
- */
382
- name?: string;
383
- /** The list of policy IDs that apply to the account. This will include both the project-level policy and the account-level policy, if one exists. */
384
- policies?: string[];
385
- /** The UTC ISO 8601 timestamp at which the account was created. */
386
- createdAt?: string;
387
- /** The UTC ISO 8601 timestamp at which the account was last updated. */
388
- updatedAt?: string;
389
- }
370
+ /**
371
+ * The symbol of the asset (e.g., eth, usd, usdc, usdt).
372
+ * @minLength 1
373
+ * @maxLength 42
374
+ */
375
+ export type Asset = string;
390
376
 
391
377
  /**
392
378
  * The domain of the EIP-712 typed data.
@@ -453,67 +439,6 @@ export const EvmEip7702DelegationNetwork = {
453
439
  "ethereum-sepolia": "ethereum-sepolia",
454
440
  } as const;
455
441
 
456
- /**
457
- * The current status of the delegation operation.
458
- UNSPECIFIED means the status has not been set. PENDING means the operation has been created but not yet submitted. SUBMITTED means the operation has been submitted to the network. COMPLETED means the operation has completed successfully. FAILED means the operation has failed.
459
- */
460
- export type EvmEip7702DelegationOperationStatus =
461
- (typeof EvmEip7702DelegationOperationStatus)[keyof typeof EvmEip7702DelegationOperationStatus];
462
-
463
- // eslint-disable-next-line @typescript-eslint/no-redeclare
464
- export const EvmEip7702DelegationOperationStatus = {
465
- UNSPECIFIED: "UNSPECIFIED",
466
- PENDING: "PENDING",
467
- SUBMITTED: "SUBMITTED",
468
- COMPLETED: "COMPLETED",
469
- FAILED: "FAILED",
470
- } as const;
471
-
472
- /**
473
- * The status of an EIP-7702 delegation operation.
474
- */
475
- export interface EvmEip7702DelegationOperation {
476
- /** The unique identifier for the delegation operation. */
477
- delegationOperationId: string;
478
- /** The current status of the delegation operation.
479
- UNSPECIFIED means the status has not been set. PENDING means the operation has been created but not yet submitted. SUBMITTED means the operation has been submitted to the network. COMPLETED means the operation has completed successfully. FAILED means the operation has failed. */
480
- status: EvmEip7702DelegationOperationStatus;
481
- /**
482
- * The hash of the delegation transaction, if available. Present once the transaction has been submitted to the network.
483
- * @pattern ^0x[0-9a-fA-F]{64}$
484
- */
485
- transactionHash?: string;
486
- network: EvmEip7702DelegationNetwork;
487
- /**
488
- * The address the account has delegated to, if any. Only present when the account has an active delegation.
489
- * @pattern ^0x[0-9a-fA-F]{40}$
490
- */
491
- delegateAddress?: string;
492
- }
493
-
494
- export interface EvmSmartAccount {
495
- /**
496
- * The 0x-prefixed, checksum address of the Smart Account.
497
- * @pattern ^0x[0-9a-fA-F]{40}$
498
- */
499
- address: string;
500
- /** Today, only a single owner can be set for a Smart Account, but this is an array to allow having multiple owners in the future. The address is a 0x-prefixed, checksum address. */
501
- owners: string[];
502
- /**
503
- * An optional name for the account.
504
- Account names can consist of alphanumeric characters and hyphens, and be between 2 and 36 characters long.
505
- Account names are guaranteed to be unique across all Smart Accounts in the developer's CDP Project.
506
- * @pattern ^[A-Za-z0-9][A-Za-z0-9-]{0,34}[A-Za-z0-9]$
507
- */
508
- name?: string;
509
- /** The list of policy IDs that apply to the smart account. This will include both the project-level policy and the account-level policy, if one exists. */
510
- policies?: string[];
511
- /** The UTC ISO 8601 timestamp at which the account was created. */
512
- createdAt?: string;
513
- /** The UTC ISO 8601 timestamp at which the account was last updated. */
514
- updatedAt?: string;
515
- }
516
-
517
442
  /**
518
443
  * The network the user operation is for.
519
444
  */
@@ -621,6 +546,88 @@ export interface EvmUserOperation {
621
546
  receipts?: UserOperationReceipt[];
622
547
  }
623
548
 
549
+ export interface EvmAccount {
550
+ /**
551
+ * The 0x-prefixed, checksum EVM address.
552
+ * @pattern ^0x[0-9a-fA-F]{40}$
553
+ */
554
+ address: string;
555
+ /**
556
+ * An optional name for the account.
557
+ Account names can consist of alphanumeric characters and hyphens, and be between 2 and 36 characters long.
558
+ Account names are guaranteed to be unique across all EVM accounts in the developer's CDP Project.
559
+ * @pattern ^[A-Za-z0-9][A-Za-z0-9-]{0,34}[A-Za-z0-9]$
560
+ */
561
+ name?: string;
562
+ /** The list of policy IDs that apply to the account. This will include both the project-level policy and the account-level policy, if one exists. */
563
+ policies?: string[];
564
+ /** The UTC ISO 8601 timestamp at which the account was created. */
565
+ createdAt?: string;
566
+ /** The UTC ISO 8601 timestamp at which the account was last updated. */
567
+ updatedAt?: string;
568
+ }
569
+
570
+ /**
571
+ * The current status of the delegation operation.
572
+ UNSPECIFIED means the status has not been set. PENDING means the operation has been created but not yet submitted. SUBMITTED means the operation has been submitted to the network. COMPLETED means the operation has completed successfully. FAILED means the operation has failed.
573
+ */
574
+ export type EvmEip7702DelegationOperationStatus =
575
+ (typeof EvmEip7702DelegationOperationStatus)[keyof typeof EvmEip7702DelegationOperationStatus];
576
+
577
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
578
+ export const EvmEip7702DelegationOperationStatus = {
579
+ UNSPECIFIED: "UNSPECIFIED",
580
+ PENDING: "PENDING",
581
+ SUBMITTED: "SUBMITTED",
582
+ COMPLETED: "COMPLETED",
583
+ FAILED: "FAILED",
584
+ } as const;
585
+
586
+ /**
587
+ * The status of an EIP-7702 delegation operation.
588
+ */
589
+ export interface EvmEip7702DelegationOperation {
590
+ /** The unique identifier for the delegation operation. */
591
+ delegationOperationId: string;
592
+ /** The current status of the delegation operation.
593
+ UNSPECIFIED means the status has not been set. PENDING means the operation has been created but not yet submitted. SUBMITTED means the operation has been submitted to the network. COMPLETED means the operation has completed successfully. FAILED means the operation has failed. */
594
+ status: EvmEip7702DelegationOperationStatus;
595
+ /**
596
+ * The hash of the delegation transaction, if available. Present once the transaction has been submitted to the network.
597
+ * @pattern ^0x[0-9a-fA-F]{64}$
598
+ */
599
+ transactionHash?: string;
600
+ network: EvmEip7702DelegationNetwork;
601
+ /**
602
+ * The address the account has delegated to, if any. Only present when the account has an active delegation.
603
+ * @pattern ^0x[0-9a-fA-F]{40}$
604
+ */
605
+ delegateAddress?: string;
606
+ }
607
+
608
+ export interface EvmSmartAccount {
609
+ /**
610
+ * The 0x-prefixed, checksum address of the Smart Account.
611
+ * @pattern ^0x[0-9a-fA-F]{40}$
612
+ */
613
+ address: string;
614
+ /** Today, only a single owner can be set for a Smart Account, but this is an array to allow having multiple owners in the future. The address is a 0x-prefixed, checksum address. */
615
+ owners: string[];
616
+ /**
617
+ * An optional name for the account.
618
+ Account names can consist of alphanumeric characters and hyphens, and be between 2 and 36 characters long.
619
+ Account names are guaranteed to be unique across all Smart Accounts in the developer's CDP Project.
620
+ * @pattern ^[A-Za-z0-9][A-Za-z0-9-]{0,34}[A-Za-z0-9]$
621
+ */
622
+ name?: string;
623
+ /** The list of policy IDs that apply to the smart account. This will include both the project-level policy and the account-level policy, if one exists. */
624
+ policies?: string[];
625
+ /** The UTC ISO 8601 timestamp at which the account was created. */
626
+ createdAt?: string;
627
+ /** The UTC ISO 8601 timestamp at which the account was last updated. */
628
+ updatedAt?: string;
629
+ }
630
+
624
631
  /**
625
632
  * The network the spend permission is on.
626
633
  */
@@ -1439,8 +1446,11 @@ export const EvmNetworkCriterionNetworksItem = {
1439
1446
  polygon: "polygon",
1440
1447
  optimism: "optimism",
1441
1448
  arbitrum: "arbitrum",
1449
+ "arbitrum-sepolia": "arbitrum-sepolia",
1442
1450
  zora: "zora",
1443
1451
  bnb: "bnb",
1452
+ world: "world",
1453
+ "world-sepolia": "world-sepolia",
1444
1454
  } as const;
1445
1455
 
1446
1456
  /**
@@ -3116,9 +3126,9 @@ export interface WebhookSubscriptionResponse {
3116
3126
  updatedAt?: string;
3117
3127
  /** Description of the webhook subscription. */
3118
3128
  description?: Description;
3119
- /** Types of events to subscribe to. Event types follow a three-part dot-separated format:
3129
+ /** Types of events to subscribe to. Event types follow a dot-separated format:
3120
3130
  service.resource.verb (e.g., "onchain.activity.detected", "wallet.activity.detected", "onramp.transaction.created",
3121
- "acceptance.payment_session").
3131
+ "acceptance.payment_session.authorization_succeeded").
3122
3132
  */
3123
3133
  eventTypes: string[];
3124
3134
  /** Whether the subscription is enabled. */
@@ -3165,9 +3175,9 @@ export type WebhookSubscriptionRequestLabels = { [key: string]: string };
3165
3175
  export interface WebhookSubscriptionRequest {
3166
3176
  /** Description of the webhook subscription. */
3167
3177
  description?: Description;
3168
- /** Types of events to subscribe to. Event types follow a three-part dot-separated format:
3178
+ /** Types of events to subscribe to. Event types follow a dot-separated format:
3169
3179
  service.resource.verb (e.g., "onchain.activity.detected", "wallet.activity.detected", "onramp.transaction.created",
3170
- "acceptance.payment_session").
3180
+ "acceptance.payment_session.authorization_succeeded").
3171
3181
  The subscription will only receive events matching these types AND the label filter(s).
3172
3182
  */
3173
3183
  eventTypes: string[];
@@ -4241,6 +4251,27 @@ Refer to our [Idempotency docs](https://docs.cdp.coinbase.com/api-reference/v2/i
4241
4251
  */
4242
4252
  export type IdempotencyKeyParameter = string;
4243
4253
 
4254
+ /**
4255
+ * A JWT signed using your Wallet Secret, encoded in base64. Refer to the
4256
+ [Generate Wallet Token](https://docs.cdp.coinbase.com/api-reference/v2/authentication#2-generate-wallet-token)
4257
+ section of our Authentication docs for more details on how to generate your Wallet Token.
4258
+
4259
+ */
4260
+ export type XWalletAuthOptionalParameter = string;
4261
+
4262
+ /**
4263
+ * A JWT signed using your Wallet Secret, encoded in base64. Refer to the
4264
+ [Generate Wallet Token](https://docs.cdp.coinbase.com/api-reference/v2/authentication#2-generate-wallet-token)
4265
+ section of our Authentication docs for more details on how to generate your Wallet Token.
4266
+
4267
+ */
4268
+ export type XDeveloperAuthParameter = string;
4269
+
4270
+ /**
4271
+ * The ID of the CDP Project. Required for end users authenticated using custom auth (i.e. a non-CDP JWT provider).
4272
+ */
4273
+ export type ProjectIDOptionalParameter = string;
4274
+
4244
4275
  /**
4245
4276
  * The number of resources to return per page.
4246
4277
  */
@@ -4370,6 +4401,422 @@ export type ImportEndUserBody = {
4370
4401
  keyType: ImportEndUserBodyKeyType;
4371
4402
  };
4372
4403
 
4404
+ export type SignEvmTransactionWithEndUserAccountParams = {
4405
+ /**
4406
+ * The ID of the CDP Project. Required for end users authenticated using custom auth (i.e. a non-CDP JWT provider).
4407
+ * @pattern ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
4408
+ */
4409
+ projectID?: ProjectIDOptionalParameter;
4410
+ };
4411
+
4412
+ export type SignEvmTransactionWithEndUserAccountBody = {
4413
+ /**
4414
+ * The 0x-prefixed address of the EVM account belonging to the end user.
4415
+ * @pattern ^0x[0-9a-fA-F]{40}$
4416
+ */
4417
+ address: string;
4418
+ /** The RLP-encoded transaction to sign, as a 0x-prefixed hex string. */
4419
+ transaction: string;
4420
+ /**
4421
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4422
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4423
+ */
4424
+ walletSecretId?: string;
4425
+ };
4426
+
4427
+ export type SignEvmTransactionWithEndUserAccount200 = {
4428
+ /** The RLP-encoded signed transaction, as a 0x-prefixed hex string. */
4429
+ signedTransaction: string;
4430
+ };
4431
+
4432
+ export type SendEvmTransactionWithEndUserAccountParams = {
4433
+ /**
4434
+ * The ID of the CDP Project. Required for end users authenticated using custom auth (i.e. a non-CDP JWT provider).
4435
+ * @pattern ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
4436
+ */
4437
+ projectID?: ProjectIDOptionalParameter;
4438
+ };
4439
+
4440
+ /**
4441
+ * The network to send the transaction to.
4442
+ */
4443
+ export type SendEvmTransactionWithEndUserAccountBodyNetwork =
4444
+ (typeof SendEvmTransactionWithEndUserAccountBodyNetwork)[keyof typeof SendEvmTransactionWithEndUserAccountBodyNetwork];
4445
+
4446
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
4447
+ export const SendEvmTransactionWithEndUserAccountBodyNetwork = {
4448
+ base: "base",
4449
+ "base-sepolia": "base-sepolia",
4450
+ ethereum: "ethereum",
4451
+ "ethereum-sepolia": "ethereum-sepolia",
4452
+ avalanche: "avalanche",
4453
+ polygon: "polygon",
4454
+ optimism: "optimism",
4455
+ arbitrum: "arbitrum",
4456
+ "arbitrum-sepolia": "arbitrum-sepolia",
4457
+ world: "world",
4458
+ "world-sepolia": "world-sepolia",
4459
+ } as const;
4460
+
4461
+ export type SendEvmTransactionWithEndUserAccountBody = {
4462
+ /**
4463
+ * The 0x-prefixed address of the EVM account belonging to the end user.
4464
+ * @pattern ^0x[0-9a-fA-F]{40}$
4465
+ */
4466
+ address: string;
4467
+ /** The network to send the transaction to. */
4468
+ network: SendEvmTransactionWithEndUserAccountBodyNetwork;
4469
+ /**
4470
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4471
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4472
+ */
4473
+ walletSecretId?: string;
4474
+ /** The RLP-encoded transaction to sign and send, as a 0x-prefixed hex string. */
4475
+ transaction: string;
4476
+ };
4477
+
4478
+ export type SendEvmTransactionWithEndUserAccount200 = {
4479
+ /** The hash of the transaction, as a 0x-prefixed hex string. */
4480
+ transactionHash: string;
4481
+ };
4482
+
4483
+ export type SendEvmAssetWithEndUserAccountParams = {
4484
+ /**
4485
+ * The ID of the CDP Project. Required for end users authenticated using custom auth (i.e. a non-CDP JWT provider).
4486
+ * @pattern ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
4487
+ */
4488
+ projectID?: ProjectIDOptionalParameter;
4489
+ };
4490
+
4491
+ /**
4492
+ * The EVM network to send USDC on.
4493
+ */
4494
+ export type SendEvmAssetWithEndUserAccountBodyNetwork =
4495
+ (typeof SendEvmAssetWithEndUserAccountBodyNetwork)[keyof typeof SendEvmAssetWithEndUserAccountBodyNetwork];
4496
+
4497
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
4498
+ export const SendEvmAssetWithEndUserAccountBodyNetwork = {
4499
+ base: "base",
4500
+ "base-sepolia": "base-sepolia",
4501
+ ethereum: "ethereum",
4502
+ "ethereum-sepolia": "ethereum-sepolia",
4503
+ avalanche: "avalanche",
4504
+ polygon: "polygon",
4505
+ optimism: "optimism",
4506
+ arbitrum: "arbitrum",
4507
+ "arbitrum-sepolia": "arbitrum-sepolia",
4508
+ world: "world",
4509
+ "world-sepolia": "world-sepolia",
4510
+ } as const;
4511
+
4512
+ export type SendEvmAssetWithEndUserAccountBody = {
4513
+ /**
4514
+ * The 0x-prefixed address of the recipient.
4515
+ * @pattern ^0x[0-9a-fA-F]{40}$
4516
+ */
4517
+ to: BlockchainAddress;
4518
+ /**
4519
+ * The amount of USDC to send as a decimal string (e.g., "1.5" or "25.50").
4520
+ * @minLength 1
4521
+ * @maxLength 32
4522
+ */
4523
+ amount: string;
4524
+ /** The EVM network to send USDC on. */
4525
+ network: SendEvmAssetWithEndUserAccountBodyNetwork;
4526
+ /** Whether to use CDP Paymaster to sponsor gas fees. Only applicable for EVM Smart Accounts. When true, the transaction gas will be paid by the Paymaster, allowing users to send USDC without holding native gas tokens. Ignored for EOA accounts. Cannot be used together with `paymasterUrl`. */
4527
+ useCdpPaymaster?: boolean;
4528
+ /** 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`. */
4529
+ paymasterUrl?: Url;
4530
+ /**
4531
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4532
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4533
+ */
4534
+ walletSecretId?: string;
4535
+ };
4536
+
4537
+ export type SendEvmAssetWithEndUserAccount200 = {
4538
+ /**
4539
+ * The hash of the transaction, as a 0x-prefixed hex string. Populated for EOA accounts. Null for Smart Accounts (use userOpHash instead).
4540
+ * @nullable
4541
+ */
4542
+ transactionHash?: string | null;
4543
+ /**
4544
+ * The hash of the user operation, as a 0x-prefixed hex string. Populated for Smart Accounts. Null for EOA accounts (use transactionHash instead).
4545
+ * @nullable
4546
+ */
4547
+ userOpHash?: string | null;
4548
+ };
4549
+
4550
+ export type SignEvmMessageWithEndUserAccountParams = {
4551
+ /**
4552
+ * The ID of the CDP Project. Required for end users authenticated using custom auth (i.e. a non-CDP JWT provider).
4553
+ * @pattern ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
4554
+ */
4555
+ projectID?: ProjectIDOptionalParameter;
4556
+ };
4557
+
4558
+ export type SignEvmMessageWithEndUserAccountBody = {
4559
+ /**
4560
+ * The 0x-prefixed address of the EVM account belonging to the end user.
4561
+ * @pattern ^0x[0-9a-fA-F]{40}$
4562
+ */
4563
+ address: string;
4564
+ /** The message to sign. */
4565
+ message: string;
4566
+ /**
4567
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4568
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4569
+ */
4570
+ walletSecretId?: string;
4571
+ };
4572
+
4573
+ export type SignEvmMessageWithEndUserAccount200 = {
4574
+ /** The signature of the message, as a 0x-prefixed hex string. */
4575
+ signature: string;
4576
+ };
4577
+
4578
+ export type SignEvmTypedDataWithEndUserAccountParams = {
4579
+ /**
4580
+ * The ID of the CDP Project. Required for end users authenticated using custom auth (i.e. a non-CDP JWT provider).
4581
+ * @pattern ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
4582
+ */
4583
+ projectID?: ProjectIDOptionalParameter;
4584
+ };
4585
+
4586
+ export type SignEvmTypedDataWithEndUserAccountBody = {
4587
+ /**
4588
+ * The 0x-prefixed address of the EVM account belonging to the end user.
4589
+ * @pattern ^0x[0-9a-fA-F]{40}$
4590
+ */
4591
+ address: string;
4592
+ typedData: EIP712Message;
4593
+ /**
4594
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4595
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4596
+ */
4597
+ walletSecretId?: string;
4598
+ };
4599
+
4600
+ export type SignEvmTypedDataWithEndUserAccount200 = {
4601
+ /** The signature of the typed data, as a 0x-prefixed hex string. */
4602
+ signature: string;
4603
+ };
4604
+
4605
+ export type RevokeDelegationForEndUserBody = {
4606
+ /**
4607
+ * When revoking with a wallet authentication scheme, the ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4608
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4609
+ */
4610
+ walletSecretId?: string;
4611
+ };
4612
+
4613
+ export type CreateEvmEip7702DelegationWithEndUserAccountParams = {
4614
+ /**
4615
+ * The ID of the CDP Project. Required for end users authenticated using custom auth (i.e. a non-CDP JWT provider).
4616
+ * @pattern ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
4617
+ */
4618
+ projectID?: ProjectIDOptionalParameter;
4619
+ };
4620
+
4621
+ export type CreateEvmEip7702DelegationWithEndUserAccountBody = {
4622
+ /**
4623
+ * The 0x-prefixed address of the EVM account to delegate.
4624
+ * @pattern ^0x[0-9a-fA-F]{40}$
4625
+ */
4626
+ address: string;
4627
+ network: EvmEip7702DelegationNetwork;
4628
+ /** Whether to configure spend permissions for the upgraded, delegated account. When enabled, the account can grant permissions for third parties to spend on its behalf. */
4629
+ enableSpendPermissions?: boolean;
4630
+ /**
4631
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4632
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4633
+ */
4634
+ walletSecretId?: string;
4635
+ };
4636
+
4637
+ export type CreateEvmEip7702DelegationWithEndUserAccount201 = {
4638
+ /** The unique identifier for the delegation operation. Use this to poll the operation status. */
4639
+ delegationOperationId: string;
4640
+ };
4641
+
4642
+ export type SendUserOperationWithEndUserAccountParams = {
4643
+ /**
4644
+ * The ID of the CDP Project. Required for end users authenticated using custom auth (i.e. a non-CDP JWT provider).
4645
+ * @pattern ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
4646
+ */
4647
+ projectID?: ProjectIDOptionalParameter;
4648
+ };
4649
+
4650
+ export type SendUserOperationWithEndUserAccountBody = {
4651
+ network: EvmUserOperationNetwork;
4652
+ /** The list of calls to make from the Smart Account. */
4653
+ calls: EvmCall[];
4654
+ /** Whether to use the CDP Paymaster for the user operation. */
4655
+ useCdpPaymaster: boolean;
4656
+ /** The URL of the paymaster to use for the user operation. If using the CDP Paymaster, use the `useCdpPaymaster` option. */
4657
+ paymasterUrl?: Url;
4658
+ /**
4659
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4660
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4661
+ */
4662
+ walletSecretId?: string;
4663
+ /**
4664
+ * The EIP-8021 data suffix (hex-encoded) that enables transaction attribution for the user operation.
4665
+ * @pattern ^0x[0-9a-fA-F]+$
4666
+ */
4667
+ dataSuffix?: string;
4668
+ };
4669
+
4670
+ export type SignSolanaMessageWithEndUserAccountParams = {
4671
+ /**
4672
+ * The ID of the CDP Project. Required for end users authenticated using custom auth (i.e. a non-CDP JWT provider).
4673
+ * @pattern ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
4674
+ */
4675
+ projectID?: ProjectIDOptionalParameter;
4676
+ };
4677
+
4678
+ export type SignSolanaMessageWithEndUserAccountBody = {
4679
+ /**
4680
+ * The base58 encoded address of the Solana account belonging to the end user.
4681
+ * @pattern ^[1-9A-HJ-NP-Za-km-z]{32,44}$
4682
+ */
4683
+ address: string;
4684
+ /** The base64 encoded arbitrary message to sign. */
4685
+ message: string;
4686
+ /**
4687
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4688
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4689
+ */
4690
+ walletSecretId?: string;
4691
+ };
4692
+
4693
+ export type SignSolanaMessageWithEndUserAccount200 = {
4694
+ /** The signature of the message, as a base58 encoded string. */
4695
+ signature: string;
4696
+ };
4697
+
4698
+ export type SignSolanaTransactionWithEndUserAccountParams = {
4699
+ /**
4700
+ * The ID of the CDP Project. Required for end users authenticated using custom auth (i.e. a non-CDP JWT provider).
4701
+ * @pattern ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
4702
+ */
4703
+ projectID?: ProjectIDOptionalParameter;
4704
+ };
4705
+
4706
+ export type SignSolanaTransactionWithEndUserAccountBody = {
4707
+ /**
4708
+ * The base58 encoded address of the Solana account belonging to the end user.
4709
+ * @pattern ^[1-9A-HJ-NP-Za-km-z]{32,44}$
4710
+ */
4711
+ address: string;
4712
+ /** The base64 encoded transaction to sign. */
4713
+ transaction: string;
4714
+ /**
4715
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4716
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4717
+ */
4718
+ walletSecretId?: string;
4719
+ };
4720
+
4721
+ export type SignSolanaTransactionWithEndUserAccount200 = {
4722
+ /** The base64 encoded signed transaction. */
4723
+ signedTransaction: string;
4724
+ };
4725
+
4726
+ export type SendSolanaTransactionWithEndUserAccountParams = {
4727
+ /**
4728
+ * The ID of the CDP Project. Required for end users authenticated using custom auth (i.e. a non-CDP JWT provider).
4729
+ * @pattern ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
4730
+ */
4731
+ projectID?: ProjectIDOptionalParameter;
4732
+ };
4733
+
4734
+ /**
4735
+ * The Solana network to send the transaction to.
4736
+ */
4737
+ export type SendSolanaTransactionWithEndUserAccountBodyNetwork =
4738
+ (typeof SendSolanaTransactionWithEndUserAccountBodyNetwork)[keyof typeof SendSolanaTransactionWithEndUserAccountBodyNetwork];
4739
+
4740
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
4741
+ export const SendSolanaTransactionWithEndUserAccountBodyNetwork = {
4742
+ solana: "solana",
4743
+ "solana-devnet": "solana-devnet",
4744
+ } as const;
4745
+
4746
+ export type SendSolanaTransactionWithEndUserAccountBody = {
4747
+ /**
4748
+ * The base58 encoded address of the Solana account belonging to the end user.
4749
+ * @pattern ^[1-9A-HJ-NP-Za-km-z]{32,44}$
4750
+ */
4751
+ address: string;
4752
+ /** The Solana network to send the transaction to. */
4753
+ network: SendSolanaTransactionWithEndUserAccountBodyNetwork;
4754
+ /**
4755
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4756
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4757
+ */
4758
+ walletSecretId?: string;
4759
+ /** The base64 encoded transaction to sign and send. This transaction can contain multiple instructions for native Solana batching. */
4760
+ transaction: string;
4761
+ /** Whether transaction fees should be sponsored by CDP. When true, CDP sponsors the transaction fees on behalf of the end user. When false, the end user is responsible for paying the transaction fees. */
4762
+ useCdpSponsor?: boolean;
4763
+ };
4764
+
4765
+ export type SendSolanaTransactionWithEndUserAccount200 = {
4766
+ /** The base58 encoded transaction signature. */
4767
+ transactionSignature: string;
4768
+ };
4769
+
4770
+ export type SendSolanaAssetWithEndUserAccountParams = {
4771
+ /**
4772
+ * The ID of the CDP Project. Required for end users authenticated using custom auth (i.e. a non-CDP JWT provider).
4773
+ * @pattern ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
4774
+ */
4775
+ projectID?: ProjectIDOptionalParameter;
4776
+ };
4777
+
4778
+ /**
4779
+ * The Solana network to send USDC on.
4780
+ */
4781
+ export type SendSolanaAssetWithEndUserAccountBodyNetwork =
4782
+ (typeof SendSolanaAssetWithEndUserAccountBodyNetwork)[keyof typeof SendSolanaAssetWithEndUserAccountBodyNetwork];
4783
+
4784
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
4785
+ export const SendSolanaAssetWithEndUserAccountBodyNetwork = {
4786
+ solana: "solana",
4787
+ "solana-devnet": "solana-devnet",
4788
+ } as const;
4789
+
4790
+ export type SendSolanaAssetWithEndUserAccountBody = {
4791
+ /**
4792
+ * The base58 encoded address of the recipient.
4793
+ * @pattern ^[1-9A-HJ-NP-Za-km-z]{32,44}$
4794
+ */
4795
+ to: BlockchainAddress;
4796
+ /**
4797
+ * The amount of USDC to send as a decimal string (e.g., "1.5" or "25.50").
4798
+ * @minLength 1
4799
+ * @maxLength 32
4800
+ */
4801
+ amount: string;
4802
+ /** The Solana network to send USDC on. */
4803
+ network: SendSolanaAssetWithEndUserAccountBodyNetwork;
4804
+ /** Whether to automatically create an Associated Token Account (ATA) for the recipient if it doesn't exist. When true, the sender pays the rent-exempt minimum to create the recipient's USDC ATA. When false, the transaction will fail if the recipient doesn't have a USDC ATA. */
4805
+ createRecipientAta?: boolean;
4806
+ /**
4807
+ * Required when not using delegated signing. The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.
4808
+ * @pattern ^[a-zA-Z0-9-]{1,100}$
4809
+ */
4810
+ walletSecretId?: string;
4811
+ /** Whether transaction fees should be sponsored by CDP. When true, CDP sponsors the transaction fees on behalf of the end user. When false, the end user is responsible for paying the transaction fees. */
4812
+ useCdpSponsor?: boolean;
4813
+ };
4814
+
4815
+ export type SendSolanaAssetWithEndUserAccount200 = {
4816
+ /** The base58 encoded transaction signature. */
4817
+ transactionSignature: string;
4818
+ };
4819
+
4373
4820
  export type ListEvmAccountsParams = {
4374
4821
  /**
4375
4822
  * The number of resources to return per page.
@@ -4434,6 +4881,9 @@ export const SendEvmTransactionBodyNetwork = {
4434
4881
  polygon: "polygon",
4435
4882
  optimism: "optimism",
4436
4883
  arbitrum: "arbitrum",
4884
+ "arbitrum-sepolia": "arbitrum-sepolia",
4885
+ world: "world",
4886
+ "world-sepolia": "world-sepolia",
4437
4887
  } as const;
4438
4888
 
4439
4889
  export type SendEvmTransactionBody = {