@coinbase-sample/prime-sdk-ts 0.8.1 → 0.8.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 (32) hide show
  1. package/dist/constants.js +1 -1
  2. package/dist/model/GetStakingStatusResponse.js +21 -0
  3. package/dist/model/StakingStatus.js +21 -0
  4. package/dist/model/SubmitDepositTravelRuleDataResponse.js +21 -0
  5. package/dist/model/TravelRuleData.js +21 -0
  6. package/dist/model/ValidatorStakingInfo.js +21 -0
  7. package/dist/model/enums/StakeType.js +28 -0
  8. package/dist/model/enums/index.js +4 -2
  9. package/dist/model/googleTypeDate.js +21 -0
  10. package/dist/model/requestToSubmitTravelRuleDataForAnExistingDepositTransaction.js +21 -0
  11. package/dist/staking/index.js +14 -0
  12. package/dist/transactions/index.js +16 -0
  13. package/dist/types/constants.d.ts +1 -1
  14. package/dist/types/model/Balance.d.ts +4 -0
  15. package/dist/types/model/CreatePortfolioAddressBookEntryRequest.d.ts +0 -2
  16. package/dist/types/model/CreateWalletWithdrawalRequest.d.ts +2 -0
  17. package/dist/types/model/GetStakingStatusResponse.d.ts +42 -0
  18. package/dist/types/model/StakingStatus.d.ts +39 -0
  19. package/dist/types/model/SubmitDepositTravelRuleDataResponse.d.ts +22 -0
  20. package/dist/types/model/TravelRuleData.d.ts +37 -0
  21. package/dist/types/model/TravelRuleParty.d.ts +19 -4
  22. package/dist/types/model/ValidatorStakingInfo.d.ts +30 -0
  23. package/dist/types/model/enums/StakeType.d.ts +24 -0
  24. package/dist/types/model/enums/index.d.ts +1 -0
  25. package/dist/types/model/googleTypeDate.d.ts +36 -0
  26. package/dist/types/model/index.d.ts +7 -0
  27. package/dist/types/model/requestToSubmitTravelRuleDataForAnExistingDepositTransaction.d.ts +26 -0
  28. package/dist/types/staking/index.d.ts +3 -1
  29. package/dist/types/staking/types.d.ts +6 -1
  30. package/dist/types/transactions/index.d.ts +3 -1
  31. package/dist/types/transactions/types.d.ts +6 -1
  32. package/package.json +1 -1
package/dist/constants.js CHANGED
@@ -16,7 +16,7 @@ exports.DEFAULT_MAX_ITEMS = exports.DEFAULT_MAX_PAGES = exports.DEFAULT_PAGINATI
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
- exports.VERSION = '0.8.1';
19
+ exports.VERSION = '0.8.2';
20
20
  exports.API_BASE_PATH = 'https://api.prime.coinbase.com/v1/';
21
21
  exports.USER_AGENT = 'coinbase-prime-ts/' + exports.VERSION;
22
22
  exports.CB_ACCESS_KEY_HEADER = 'X-CB-ACCESS-KEY';
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2025-present Coinbase Global, Inc.
4
+ *
5
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ *
19
+ * Do not edit the class manually.
20
+ */
21
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2025-present Coinbase Global, Inc.
4
+ *
5
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ *
19
+ * Do not edit the class manually.
20
+ */
21
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2026-present Coinbase Global, Inc.
4
+ *
5
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ *
19
+ * Do not edit the class manually.
20
+ */
21
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2026-present Coinbase Global, Inc.
4
+ *
5
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ *
19
+ * Do not edit the class manually.
20
+ */
21
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2025-present Coinbase Global, Inc.
4
+ *
5
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ *
19
+ * Do not edit the class manually.
20
+ */
21
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2025-present Coinbase Global, Inc.
4
+ *
5
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ *
19
+ * Do not edit the class manually.
20
+ */
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.StakeType = void 0;
23
+ var StakeType;
24
+ (function (StakeType) {
25
+ StakeType["StakeTypeUnspecified"] = "STAKE_TYPE_UNSPECIFIED";
26
+ StakeType["StakeTypeInitialDeposit"] = "STAKE_TYPE_INITIAL_DEPOSIT";
27
+ StakeType["StakeTypeTopUp"] = "STAKE_TYPE_TOP_UP";
28
+ })(StakeType || (exports.StakeType = StakeType = {}));
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WalletType = exports.WalletDepositInstructionType = exports.VisibilityStatus = exports.ValidatorStatus = exports.UserRole = exports.UnstakeType = exports.TravelRuleWalletType = exports.TravelRuleStatus = exports.TransferLocationType = exports.TransactionType = exports.TransactionStatus = exports.TimeInForceType = exports.SortDirection = exports.SigningStatus = exports.RewardSubtype = exports.RateType = exports.ProductPermissions = exports.PositionReferenceType = exports.PortfolioBalanceType = exports.PegOffsetType = exports.PaymentMethodType = exports.OrderType = exports.OrderStatus = exports.OrderSide = exports.NetworkType = exports.NetworkFamily = exports.MarginAddOnType = exports.LoanType = exports.InvoiceType = exports.InvoiceState = exports.HierarchyType = exports.FcmPositionSide = exports.FcmMarginCallType = exports.FcmMarginCallState = exports.FcmFuturesSweepStatus = exports.EstimateType = exports.DestinationType = exports.CandlesGranularity = exports.Benchmark = exports.AssetChangeType = exports.AllocationStatus = exports.AllocationSizeType = exports.PrimeActivityType = exports.ActivityStatus = exports.ActivitySecondaryType = exports.ActivityLevel = exports.ActivityCategory = exports.Action = exports.AddressBookType = exports.CustodyActivityType = void 0;
4
- exports.XMParty = exports.XMMarginLevel = exports.XMEntityCallStatus = exports.XMControlStatus = exports.XMCallType = exports.XMCallStatus = exports.WalletVisibility = void 0;
3
+ exports.WalletDepositInstructionType = exports.VisibilityStatus = exports.ValidatorStatus = exports.UserRole = exports.UnstakeType = exports.TravelRuleWalletType = exports.TravelRuleStatus = exports.TransferLocationType = exports.TransactionType = exports.TransactionStatus = exports.TimeInForceType = exports.StakeType = exports.SortDirection = exports.SigningStatus = exports.RewardSubtype = exports.RateType = exports.ProductPermissions = exports.PositionReferenceType = exports.PortfolioBalanceType = exports.PegOffsetType = exports.PaymentMethodType = exports.OrderType = exports.OrderStatus = exports.OrderSide = exports.NetworkType = exports.NetworkFamily = exports.MarginAddOnType = exports.LoanType = exports.InvoiceType = exports.InvoiceState = exports.HierarchyType = exports.FcmPositionSide = exports.FcmMarginCallType = exports.FcmMarginCallState = exports.FcmFuturesSweepStatus = exports.EstimateType = exports.DestinationType = exports.CandlesGranularity = exports.Benchmark = exports.AssetChangeType = exports.AllocationStatus = exports.AllocationSizeType = exports.PrimeActivityType = exports.ActivityStatus = exports.ActivitySecondaryType = exports.ActivityLevel = exports.ActivityCategory = exports.Action = exports.AddressBookType = exports.CustodyActivityType = void 0;
4
+ exports.XMParty = exports.XMMarginLevel = exports.XMEntityCallStatus = exports.XMControlStatus = exports.XMCallType = exports.XMCallStatus = exports.WalletVisibility = exports.WalletType = void 0;
5
5
  var CustodyActivityType_1 = require("./CustodyActivityType");
6
6
  Object.defineProperty(exports, "CustodyActivityType", { enumerable: true, get: function () { return CustodyActivityType_1.ActivityType; } });
7
7
  var AddressBookType_1 = require("./AddressBookType");
@@ -78,6 +78,8 @@ var SigningStatus_1 = require("./SigningStatus");
78
78
  Object.defineProperty(exports, "SigningStatus", { enumerable: true, get: function () { return SigningStatus_1.SigningStatus; } });
79
79
  var SortDirection_1 = require("./SortDirection");
80
80
  Object.defineProperty(exports, "SortDirection", { enumerable: true, get: function () { return SortDirection_1.SortDirection; } });
81
+ var StakeType_1 = require("./StakeType");
82
+ Object.defineProperty(exports, "StakeType", { enumerable: true, get: function () { return StakeType_1.StakeType; } });
81
83
  var TimeInForceType_1 = require("./TimeInForceType");
82
84
  Object.defineProperty(exports, "TimeInForceType", { enumerable: true, get: function () { return TimeInForceType_1.TimeInForceType; } });
83
85
  var TransactionStatus_1 = require("./TransactionStatus");
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2025-present Coinbase Global, Inc.
4
+ *
5
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ *
19
+ * Do not edit the class manually.
20
+ */
21
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2025-present Coinbase Global, Inc.
4
+ *
5
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ *
19
+ * Do not edit the class manually.
20
+ */
21
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -178,5 +178,19 @@ class StakingService {
178
178
  return response.data;
179
179
  });
180
180
  }
181
+ getStakingStatus(request, options) {
182
+ return __awaiter(this, void 0, void 0, function* () {
183
+ (0, validation_1.validate)(request)
184
+ .requiredUUID((r) => r.portfolioId)
185
+ .requiredUUID((r) => r.walletId)
186
+ .check();
187
+ const { portfolioId, walletId } = request;
188
+ const response = yield this.client.request({
189
+ url: `portfolios/${portfolioId}/wallets/${walletId}/staking/status`,
190
+ callOptions: options,
191
+ });
192
+ return response.data;
193
+ });
194
+ }
181
195
  }
182
196
  exports.StakingService = StakingService;
@@ -175,5 +175,21 @@ class TransactionsService {
175
175
  return response.data;
176
176
  });
177
177
  }
178
+ submitDepositTravelRule(request, options) {
179
+ return __awaiter(this, void 0, void 0, function* () {
180
+ (0, validation_1.validate)(request)
181
+ .requiredUUID((r) => r.portfolioId)
182
+ .requiredUUID((r) => r.transactionId)
183
+ .check();
184
+ const bodyParams = Object.assign(Object.assign({}, request), { portfolioId: undefined, transactionId: undefined });
185
+ const response = yield this.client.request({
186
+ url: `portfolios/${request.portfolioId}/transactions/${request.transactionId}/travel_rule/deposit`,
187
+ bodyParams,
188
+ method: clients_1.Method.POST,
189
+ callOptions: options,
190
+ });
191
+ return response.data;
192
+ });
193
+ }
178
194
  }
179
195
  exports.TransactionsService = TransactionsService;
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- export declare const VERSION = "0.8.1";
16
+ export declare const VERSION = "0.8.2";
17
17
  export declare const API_BASE_PATH = "https://api.prime.coinbase.com/v1/";
18
18
  export declare const USER_AGENT: string;
19
19
  export declare const CB_ACCESS_KEY_HEADER = "X-CB-ACCESS-KEY";
@@ -70,4 +70,8 @@ export type Balance = {
70
70
  * Amount available for unbonding/unstaking, in whole units
71
71
  */
72
72
  unbondableAmount?: string;
73
+ /**
74
+ * ETH staking rewards currently available to claim, in whole units. This field is returned only in GetWalletBalance responses for ETH wallets. It is omitted or empty for portfolio-level responses and for non-ETH assets; use pending_rewards_amount where applicable.
75
+ */
76
+ claimableRewardsAmount?: string;
73
77
  };
@@ -17,7 +17,6 @@
17
17
  *
18
18
  * Do not edit the class manually.
19
19
  */
20
- import { TravelRuleEntry } from './TravelRuleEntry';
21
20
  export type CreatePortfolioAddressBookEntryRequest = {
22
21
  /**
23
22
  * Crypto address to add
@@ -39,5 +38,4 @@ export type CreatePortfolioAddressBookEntryRequest = {
39
38
  * List of compatible chain IDs for the address, empty for Solana
40
39
  */
41
40
  chainIds?: Array<string>;
42
- travelRuleData?: TravelRuleEntry;
43
41
  };
@@ -21,6 +21,7 @@ import { BlockchainAddress } from './BlockchainAddress';
21
21
  import { CounterpartyDestination } from './CounterpartyDestination';
22
22
  import { DestinationType } from './enums/DestinationType';
23
23
  import { PaymentMethodDestination } from './PaymentMethodDestination';
24
+ import { TravelRuleData } from './TravelRuleData';
24
25
  export type CreateWalletWithdrawalRequest = {
25
26
  /**
26
27
  * The amount in whole units of the withdrawal
@@ -38,4 +39,5 @@ export type CreateWalletWithdrawalRequest = {
38
39
  paymentMethod?: PaymentMethodDestination;
39
40
  blockchainAddress?: BlockchainAddress;
40
41
  counterparty?: CounterpartyDestination;
42
+ travelRuleData?: TravelRuleData;
41
43
  };
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Copyright 2025-present Coinbase Global, Inc.
3
+ *
4
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Do not edit the class manually.
19
+ */
20
+ import { ValidatorStakingInfo } from './ValidatorStakingInfo';
21
+ export type GetStakingStatusResponse = {
22
+ /**
23
+ * The portfolio ID
24
+ */
25
+ portfolioId: string;
26
+ /**
27
+ * The wallet ID
28
+ */
29
+ walletId: string;
30
+ /**
31
+ * The wallet address
32
+ */
33
+ walletAddress: string;
34
+ /**
35
+ * Current timestamp at time of API call
36
+ */
37
+ currentTimestamp: Date;
38
+ /**
39
+ * List of validators with staking information for this wallet
40
+ */
41
+ validators: Array<ValidatorStakingInfo>;
42
+ };
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Copyright 2025-present Coinbase Global, Inc.
3
+ *
4
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Do not edit the class manually.
19
+ */
20
+ import { StakeType } from './enums/StakeType';
21
+ export type StakingStatus = {
22
+ /**
23
+ * Amount being staked (whole amount, e.g., 16 ETH)
24
+ */
25
+ amount: string;
26
+ stakeType: StakeType;
27
+ /**
28
+ * Estimated date when staking will complete (ISO 8601 format)
29
+ */
30
+ estimatedStakeDate: Date;
31
+ /**
32
+ * Estimated hours until this staking request completes
33
+ */
34
+ estimatedHoursToStake: number;
35
+ /**
36
+ * Timestamp when the stake request was originally created
37
+ */
38
+ requestedAt?: Date;
39
+ };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Copyright 2026-present Coinbase Global, Inc.
3
+ *
4
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Do not edit the class manually.
19
+ */
20
+ export type SubmitDepositTravelRuleDataResponse = {
21
+ ownershipVerificationRequired: boolean;
22
+ };
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Copyright 2026-present Coinbase Global, Inc.
3
+ *
4
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Do not edit the class manually.
19
+ */
20
+ import { TravelRuleParty } from './TravelRuleParty';
21
+ /**
22
+ * Data object used for withdrawals.
23
+ */
24
+ export type TravelRuleData = {
25
+ beneficiary?: TravelRuleParty;
26
+ originator?: TravelRuleParty;
27
+ isSelf?: boolean;
28
+ /**
29
+ * True if Coinbase is being used as an intermediary for a customer transfer.
30
+ */
31
+ isIntermediary?: boolean;
32
+ optOutOfOwnershipVerification?: boolean;
33
+ /**
34
+ * Whether the originating VASP attests to verified wallet ownership. When true with is_intermediary, enables automatic VASP data enrichment from the legal entity.
35
+ */
36
+ attestVerifiedWalletOwnership?: boolean;
37
+ };
@@ -17,16 +17,31 @@
17
17
  *
18
18
  * Do not edit the class manually.
19
19
  */
20
- import { DateOfBirth } from './DateOfBirth';
21
20
  import { DetailedAddress } from './DetailedAddress';
22
21
  import { NaturalPersonName } from './NaturalPersonName';
22
+ import { TravelRuleWalletType } from './enums/TravelRuleWalletType';
23
+ import { GoogleTypeDate } from './googleTypeDate';
23
24
  /**
24
- * Represents one of the Transmittal Parties involved in a Travel Rule transfer, either originator or beneficiary.
25
+ * Represents a party in a travel rule transfer (originator or beneficiary).
25
26
  */
26
27
  export type TravelRuleParty = {
27
28
  name?: string;
28
- detailedAddress?: DetailedAddress;
29
29
  naturalPersonName?: NaturalPersonName;
30
- dateOfBirth?: DateOfBirth;
30
+ address?: DetailedAddress;
31
+ walletType?: TravelRuleWalletType;
32
+ vaspId?: string;
33
+ vaspName?: string;
34
+ /**
35
+ * Personal identifier for travel rule compliance. For individuals: passport number, national ID, driver\'s license. For institutions: LEI (Legal Entity Identifier).
36
+ */
37
+ personalId?: string;
38
+ dateOfBirth?: GoogleTypeDate;
39
+ /**
40
+ * Telephone number for contact purposes.
41
+ */
31
42
  telephoneNumber?: string;
43
+ /**
44
+ * Account identifier for travel rule compliance. If not provided, defaults to portfolio ID.
45
+ */
46
+ accountId?: string;
32
47
  };
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Copyright 2025-present Coinbase Global, Inc.
3
+ *
4
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Do not edit the class manually.
19
+ */
20
+ import { StakingStatus } from './StakingStatus';
21
+ export type ValidatorStakingInfo = {
22
+ /**
23
+ * The validator address (public key)
24
+ */
25
+ validatorAddress: string;
26
+ /**
27
+ * List of active staking requests for this validator
28
+ */
29
+ statuses: Array<StakingStatus>;
30
+ };
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Copyright 2025-present Coinbase Global, Inc.
3
+ *
4
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Do not edit the class manually.
19
+ */
20
+ export declare enum StakeType {
21
+ StakeTypeUnspecified = "STAKE_TYPE_UNSPECIFIED",
22
+ StakeTypeInitialDeposit = "STAKE_TYPE_INITIAL_DEPOSIT",
23
+ StakeTypeTopUp = "STAKE_TYPE_TOP_UP"
24
+ }
@@ -36,6 +36,7 @@ export { RateType } from './RateType';
36
36
  export { RewardSubtype } from './RewardSubtype';
37
37
  export { SigningStatus } from './SigningStatus';
38
38
  export { SortDirection } from './SortDirection';
39
+ export { StakeType } from './StakeType';
39
40
  export { TimeInForceType } from './TimeInForceType';
40
41
  export { TransactionStatus } from './TransactionStatus';
41
42
  export { TransactionType } from './TransactionType';
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Copyright 2025-present Coinbase Global, Inc.
3
+ *
4
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Do not edit the class manually.
19
+ */
20
+ /**
21
+ * * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and `google.protobuf.Timestamp`.
22
+ */
23
+ export type GoogleTypeDate = {
24
+ /**
25
+ * Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
26
+ */
27
+ year?: number;
28
+ /**
29
+ * Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
30
+ */
31
+ month?: number;
32
+ /**
33
+ * Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn\'t significant.
34
+ */
35
+ day?: number;
36
+ };
@@ -101,6 +101,7 @@ export type { GetPortfolioUsersResponse } from './GetPortfolioUsersResponse';
101
101
  export type { GetPortfoliosResponse } from './GetPortfoliosResponse';
102
102
  export type { GetPositionsResponse } from './GetPositionsResponse';
103
103
  export type { GetPostTradeCreditResponse } from './GetPostTradeCreditResponse';
104
+ export type { GetStakingStatusResponse } from './GetStakingStatusResponse';
104
105
  export type { GetTFTieredPricingFeesResponse } from './GetTFTieredPricingFeesResponse';
105
106
  export type { GetTransactionResponse } from './GetTransactionResponse';
106
107
  export type { GetUnstakingStatusResponse } from './GetUnstakingStatusResponse';
@@ -166,7 +167,9 @@ export type { SetFcmSettingsResponse } from './SetFcmSettingsResponse';
166
167
  export type { ShortCollateral } from './ShortCollateral';
167
168
  export type { StakingClaimRewardsResponse } from './StakingClaimRewardsResponse';
168
169
  export type { StakingInitiateResponse } from './StakingInitiateResponse';
170
+ export type { StakingStatus } from './StakingStatus';
169
171
  export type { StakingUnstakeResponse } from './StakingUnstakeResponse';
172
+ export type { SubmitDepositTravelRuleDataResponse } from './SubmitDepositTravelRuleDataResponse';
170
173
  export type { TFAsset } from './TFAsset';
171
174
  export type { TFObligation } from './TFObligation';
172
175
  export type { TieredPricingFee } from './TieredPricingFee';
@@ -174,12 +177,14 @@ export type { Transaction } from './Transaction';
174
177
  export type { TransactionMetadata } from './TransactionMetadata';
175
178
  export type { TransactionValidator } from './TransactionValidator';
176
179
  export type { TransferLocation } from './TransferLocation';
180
+ export type { TravelRuleData } from './TravelRuleData';
177
181
  export type { TravelRuleEntry } from './TravelRuleEntry';
178
182
  export type { TravelRuleParty } from './TravelRuleParty';
179
183
  export type { TravelRuleWalletDetails } from './TravelRuleWalletDetails';
180
184
  export type { UnstakingStatus } from './UnstakingStatus';
181
185
  export type { UserAction } from './UserAction';
182
186
  export type { VASP } from './VASP';
187
+ export type { ValidatorStakingInfo } from './ValidatorStakingInfo';
183
188
  export type { ValidatorUnstakingInfo } from './ValidatorUnstakingInfo';
184
189
  export type { Wallet } from './Wallet';
185
190
  export type { WalletClaimRewardsInputs } from './WalletClaimRewardsInputs';
@@ -197,6 +202,7 @@ export type { XMPosition } from './XMPosition';
197
202
  export type { XMRiskNettingInfo } from './XMRiskNettingInfo';
198
203
  export type { XMSummary } from './XMSummary';
199
204
  export type { CreateATransferBetweenTwoWallets } from './createATransferBetweenTwoWallets';
205
+ export type { GoogleTypeDate } from './googleTypeDate';
200
206
  export type { AcceptQuoteRequest } from './AcceptQuoteRequest';
201
207
  export type { CreateConversionRequest } from './CreateConversionRequest';
202
208
  export type { CreateNewLocatesRequest } from './CreateNewLocatesRequest';
@@ -220,3 +226,4 @@ export type { StakingInitiateRequest } from './StakingInitiateRequest';
220
226
  export type { StakingUnstakeRequest } from './StakingUnstakeRequest';
221
227
  export type { CreateNetAllocationRequest } from './CreateNetAllocationRequest';
222
228
  export type { RFQ } from './RFQ';
229
+ export type { RequestToSubmitTravelRuleDataForAnExistingDepositTransaction } from './requestToSubmitTravelRuleDataForAnExistingDepositTransaction';
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Copyright 2025-present Coinbase Global, Inc.
3
+ *
4
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Do not edit the class manually.
19
+ */
20
+ import { TravelRuleParty } from './TravelRuleParty';
21
+ export type RequestToSubmitTravelRuleDataForAnExistingDepositTransaction = {
22
+ originator?: TravelRuleParty;
23
+ beneficiary?: TravelRuleParty;
24
+ isSelf?: boolean;
25
+ optOutOfOwnershipVerification?: boolean;
26
+ };
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { IPrimeApiClient, CoinbaseCallOptions } from '../clients';
17
- import { CreateStakeRequest, CreateStakeResponse, CreateUnstakeRequest, CreateUnstakeResponse, CreatePortfolioStakeRequest, CreatePortfolioStakeResponse, CreatePortfolioUnstakeRequest, CreatePortfolioUnstakeResponse, QueryTransactionValidatorsRequest, QueryTransactionValidatorsResponse, ClaimRewardsRequest, ClaimRewardsResponse, PreviewUnstakeRequest, PreviewUnstakeResponse, GetUnstakingStatusRequest, GetUnstakingStatusResponse } from './types';
17
+ import { CreateStakeRequest, CreateStakeResponse, CreateUnstakeRequest, CreateUnstakeResponse, CreatePortfolioStakeRequest, CreatePortfolioStakeResponse, CreatePortfolioUnstakeRequest, CreatePortfolioUnstakeResponse, QueryTransactionValidatorsRequest, QueryTransactionValidatorsResponse, ClaimRewardsRequest, ClaimRewardsResponse, PreviewUnstakeRequest, PreviewUnstakeResponse, GetUnstakingStatusRequest, GetUnstakingStatusResponse, GetStakingStatusRequest, GetStakingStatusResponse } from './types';
18
18
  export interface IStakingService {
19
19
  createStake(request: CreateStakeRequest, options?: CoinbaseCallOptions): Promise<CreateStakeResponse>;
20
20
  createUnstake(request: CreateUnstakeRequest, options?: CoinbaseCallOptions): Promise<CreateUnstakeResponse>;
@@ -24,6 +24,7 @@ export interface IStakingService {
24
24
  claimRewards(request: ClaimRewardsRequest, options?: CoinbaseCallOptions): Promise<ClaimRewardsResponse>;
25
25
  previewUnstake(request: PreviewUnstakeRequest, options?: CoinbaseCallOptions): Promise<PreviewUnstakeResponse>;
26
26
  getUnstakingStatus(request: GetUnstakingStatusRequest, options?: CoinbaseCallOptions): Promise<GetUnstakingStatusResponse>;
27
+ getStakingStatus(request: GetStakingStatusRequest, options?: CoinbaseCallOptions): Promise<GetStakingStatusResponse>;
27
28
  }
28
29
  export declare class StakingService implements IStakingService {
29
30
  private client;
@@ -36,4 +37,5 @@ export declare class StakingService implements IStakingService {
36
37
  claimRewards(request: ClaimRewardsRequest, options?: CoinbaseCallOptions): Promise<ClaimRewardsResponse>;
37
38
  previewUnstake(request: PreviewUnstakeRequest, options?: CoinbaseCallOptions): Promise<PreviewUnstakeResponse>;
38
39
  getUnstakingStatus(request: GetUnstakingStatusRequest, options?: CoinbaseCallOptions): Promise<GetUnstakingStatusResponse>;
40
+ getStakingStatus(request: GetStakingStatusRequest, options?: CoinbaseCallOptions): Promise<GetStakingStatusResponse>;
39
41
  }
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import { Brand } from '../shared/brand';
17
17
  import { BasePaginatedRequest, PaginatedResponseMethods } from '../shared/paginatedResponse';
18
- import { StakingInitiateResponse, StakingInitiateRequest, StakingUnstakeResponse, PortfolioStakingInitiateRequest, PortfolioStakingInitiateResponse, PortfolioStakingUnstakeRequest, PortfolioStakingUnstakeResponse, ListTransactionValidatorsResponse as internalListTransactionValidatorsResponse, StakingClaimRewardsRequest as internalStakingClaimRewardsRequest, StakingClaimRewardsResponse as internalStakingClaimRewardsResponse, PreviewUnstakeResponse as internalPreviewUnstakeResponse, GetUnstakingStatusResponse as internalGetUnstakingStatusResponse } from 'src/model/';
18
+ import { StakingInitiateResponse, StakingInitiateRequest, StakingUnstakeResponse, PortfolioStakingInitiateRequest, PortfolioStakingInitiateResponse, PortfolioStakingUnstakeRequest, PortfolioStakingUnstakeResponse, ListTransactionValidatorsResponse as internalListTransactionValidatorsResponse, StakingClaimRewardsRequest as internalStakingClaimRewardsRequest, StakingClaimRewardsResponse as internalStakingClaimRewardsResponse, PreviewUnstakeResponse as internalPreviewUnstakeResponse, GetUnstakingStatusResponse as internalGetUnstakingStatusResponse, GetStakingStatusResponse as internalGetStakingStatusResponse } from 'src/model/';
19
19
  export type CreateStakeRequest = StakingInitiateRequest & {
20
20
  portfolioId: string;
21
21
  walletId: string;
@@ -56,3 +56,8 @@ export type GetUnstakingStatusRequest = {
56
56
  walletId: string;
57
57
  };
58
58
  export type GetUnstakingStatusResponse = Brand<internalGetUnstakingStatusResponse, 'GetUnstakingStatusResponse'>;
59
+ export type GetStakingStatusRequest = {
60
+ portfolioId: string;
61
+ walletId: string;
62
+ };
63
+ export type GetStakingStatusResponse = Brand<internalGetStakingStatusResponse, 'GetStakingStatusResponse'>;
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { IPrimeApiClient, CoinbaseCallOptions } from '../clients';
17
- import { CreateConversionRequest, CreateConversionResponse, CreateOnchainTransactionRequest, CreateOnchainTransactionResponse, CreateTransferRequest, CreateTransferResponse, CreateWithdrawalRequest, CreateWithdrawalResponse, GetTransactionRequest, GetTransactionResponse, ListPortfolioTransactionsRequest, ListPortfolioTransactionsResponse, ListWalletTransactionsRequest, ListWalletTransactionsResponse } from './types';
17
+ import { CreateConversionRequest, CreateConversionResponse, CreateOnchainTransactionRequest, CreateOnchainTransactionResponse, CreateTransferRequest, CreateTransferResponse, CreateWithdrawalRequest, CreateWithdrawalResponse, GetTransactionRequest, GetTransactionResponse, ListPortfolioTransactionsRequest, ListPortfolioTransactionsResponse, ListWalletTransactionsRequest, ListWalletTransactionsResponse, SubmitDepositTravelRuleRequest, SubmitDepositTravelRuleResponse } from './types';
18
18
  export interface ITransactionsService {
19
19
  getTransaction(request: GetTransactionRequest, options?: CoinbaseCallOptions): Promise<GetTransactionResponse>;
20
20
  listPortfolioTransactions(request: ListPortfolioTransactionsRequest, options?: CoinbaseCallOptions): Promise<ListPortfolioTransactionsResponse>;
@@ -23,6 +23,7 @@ export interface ITransactionsService {
23
23
  createTransfer(request: CreateTransferRequest, options?: CoinbaseCallOptions): Promise<CreateTransferResponse>;
24
24
  createWithdrawal(request: CreateWithdrawalRequest, options?: CoinbaseCallOptions): Promise<CreateWithdrawalResponse>;
25
25
  createOnchainTransaction(request: CreateOnchainTransactionRequest, options?: CoinbaseCallOptions): Promise<CreateOnchainTransactionResponse>;
26
+ submitDepositTravelRule(request: SubmitDepositTravelRuleRequest, options?: CoinbaseCallOptions): Promise<SubmitDepositTravelRuleResponse>;
26
27
  }
27
28
  export declare class TransactionsService implements ITransactionsService {
28
29
  private client;
@@ -34,4 +35,5 @@ export declare class TransactionsService implements ITransactionsService {
34
35
  createTransfer(request: CreateTransferRequest, options?: CoinbaseCallOptions): Promise<CreateTransferResponse>;
35
36
  createWithdrawal(request: CreateWithdrawalRequest, options?: CoinbaseCallOptions): Promise<CreateWithdrawalResponse>;
36
37
  createOnchainTransaction(request: CreateOnchainTransactionRequest, options?: CoinbaseCallOptions): Promise<CreateOnchainTransactionResponse>;
38
+ submitDepositTravelRule(request: SubmitDepositTravelRuleRequest, options?: CoinbaseCallOptions): Promise<SubmitDepositTravelRuleResponse>;
37
39
  }
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import { Brand } from '../shared/brand';
17
17
  import { TransactionType, TravelRuleStatus } from '../model/enums/';
18
- import { GetPortfolioTransactionsResponse, GetWalletTransactionsResponse, GetTransactionResponse as internalGet, CreateConversionRequest as internalCreateConversion, CreateConversionResponse as internalCreateConversionResp, CreateATransferBetweenTwoWallets, CreateWalletWithdrawalRequest, CreateWalletWithdrawalResponse, CreateWalletTransferResponse, CreateOnchainTransactionRequest as internalCreate, CreateOnchainTransactionResponse as internalCreateResp } from '../model/';
18
+ import { GetPortfolioTransactionsResponse, GetWalletTransactionsResponse, GetTransactionResponse as internalGet, CreateConversionRequest as internalCreateConversion, CreateConversionResponse as internalCreateConversionResp, CreateATransferBetweenTwoWallets, CreateWalletWithdrawalRequest, CreateWalletWithdrawalResponse, CreateWalletTransferResponse, CreateOnchainTransactionRequest as internalCreate, CreateOnchainTransactionResponse as internalCreateResp, RequestToSubmitTravelRuleDataForAnExistingDepositTransaction, SubmitDepositTravelRuleDataResponse as internalSubmitTravelRuleResp } from '../model/';
19
19
  import { Pagination } from '../shared/pagination';
20
20
  import { PaginatedResponseMethods, BasePaginatedRequest } from '../shared/paginatedResponse';
21
21
  export type ListPortfolioTransactionsRequest = Pagination & {
@@ -63,4 +63,9 @@ export type CreateOnchainTransactionRequest = internalCreate & {
63
63
  walletId: string;
64
64
  };
65
65
  export type CreateOnchainTransactionResponse = Brand<internalCreateResp, 'CreateOnchainTransactionResponse'>;
66
+ export type SubmitDepositTravelRuleRequest = RequestToSubmitTravelRuleDataForAnExistingDepositTransaction & {
67
+ portfolioId: string;
68
+ transactionId: string;
69
+ };
70
+ export type SubmitDepositTravelRuleResponse = Brand<internalSubmitTravelRuleResp, 'SubmitDepositTravelRuleResponse'>;
66
71
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinbase-sample/prime-sdk-ts",
3
- "version": "0.8.1",
3
+ "version": "0.8.2",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/types/index.d.ts",
6
6
  "exports": {