diff --git a/.github/workflows/draft-release-from-pr.yml b/.github/workflows/draft-release-from-pr.yml
index ae3c2269..794d1750 100644
--- a/.github/workflows/draft-release-from-pr.yml
+++ b/.github/workflows/draft-release-from-pr.yml
@@ -12,6 +12,7 @@ permissions:
jobs:
draft-release:
runs-on: ubuntu-latest
+ if: "!startsWith(github.event.head_commit.message, 'release ')"
steps:
- name: Checkout repository
diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES
index cc9f31b3..0c7fea12 100644
--- a/.openapi-generator/FILES
+++ b/.openapi-generator/FILES
@@ -32,6 +32,7 @@ docs/AchAddress.md
docs/AchDestination.md
docs/AchPaymentInfo.md
docs/ActionRecord.md
+docs/ActivateBlockchainResponse.md
docs/ActiveRolesResponse.md
docs/AdapterProcessingResult.md
docs/AddAbiRequestDto.md
@@ -75,6 +76,7 @@ docs/AllowlistEntryStatus.md
docs/AllowlistMetadata.md
docs/AllowlistResponse.md
docs/AmlAlert.md
+docs/AmlBypassReasonEnum.md
docs/AmlMatchedRule.md
docs/AmlRegistrationResult.md
docs/AmlRegistrationResultFullPayload.md
@@ -137,6 +139,8 @@ docs/AuditLogsApi.md
docs/AuditorData.md
docs/AuthorizationGroups.md
docs/AuthorizationInfo.md
+docs/AutomationSettingsRequest.md
+docs/AutomationSettingsResponse.md
docs/BalanceHistoryItemDto.md
docs/BalanceHistoryPagedResponse.md
docs/BalanceHistoryPagedResponse2.md
@@ -144,14 +148,21 @@ docs/BankAddress.md
docs/BaseProvider.md
docs/BasicAddressRequest.md
docs/BlockInfo.md
+docs/Blockchain.md
docs/BlockchainAddress.md
+docs/BlockchainDeclaredProperties.md
docs/BlockchainDestination.md
+docs/BlockchainEnvironment.md
docs/BlockchainExplorer.md
+docs/BlockchainLinkBetaApi.md
docs/BlockchainMedia.md
docs/BlockchainMetadata.md
docs/BlockchainNotFoundErrorResponse.md
docs/BlockchainOnchain.md
docs/BlockchainResponse.md
+docs/BlockchainRpcAuth.md
+docs/BlockchainSortField.md
+docs/BlockchainStateFilter.md
docs/BlockchainTransfer.md
docs/BlockchainsAssetsApi.md
docs/BpsFee.md
@@ -266,6 +277,8 @@ docs/CreateAddressRequest.md
docs/CreateAddressResponse.md
docs/CreateAddressesReportRequest.md
docs/CreateAssetsRequest.md
+docs/CreateBlockchainRequest.md
+docs/CreateBlockchainResponse.md
docs/CreateConfigOperationRequest.md
docs/CreateConnectionRequest.md
docs/CreateConnectionResponse.md
@@ -358,8 +371,10 @@ docs/DropTransactionResponse.md
docs/DvnConfig.md
docs/DvnConfigWithConfirmations.md
docs/EVMTokenCreateParamsDto.md
+docs/EarnApi.md
docs/EarnAsset.md
-docs/EarnBetaApi.md
+docs/EarnCurator.md
+docs/EarnMetadata.md
docs/EarnProvider.md
docs/EditGasStationConfigurationResponse.md
docs/EmbeddedWallet.md
@@ -460,7 +475,11 @@ docs/GetAPIUsersResponse.md
docs/GetActionResponse.md
docs/GetActionsResponse.md
docs/GetAuditLogsResponse.md
+docs/GetAutomationSettingsResponse.md
+docs/GetBillingInfoResponse.md
+docs/GetBlockchainByIdResponse.md
docs/GetByorkVerdictResponse.md
+docs/GetConnectedAccountsCredentialsPublicKeyResponse.md
docs/GetConnectionsResponse.md
docs/GetConsoleUsersResponse.md
docs/GetDeployableAddressRequest.md
@@ -482,6 +501,7 @@ docs/GetPagedExchangeAccountsResponsePaging.md
docs/GetPositionsResponse.md
docs/GetProvidersResponse.md
docs/GetSigningKeyResponseDto.md
+docs/GetTestWalletAddressResponse.md
docs/GetTransactionOperation.md
docs/GetValidationKeyResponseDto.md
docs/GetWhitelistIpAddressesResponse.md
@@ -549,6 +569,7 @@ docs/LeiStatus.md
docs/LinkedTokensCount.md
docs/ListAssetsResponse.md
docs/ListBlockchainsResponse.md
+docs/ListBlockchainsResponse2.md
docs/ListLegalEntitiesResponse.md
docs/ListOwnedCollectionsResponse.md
docs/ListOwnedTokensResponse.md
@@ -675,12 +696,16 @@ docs/PolicyCheckResult.md
docs/PolicyCurrency.md
docs/PolicyEditorBetaApi.md
docs/PolicyEditorV2Api.md
+docs/PolicyEditorV2BetaApi.md
docs/PolicyMetadataEntry.md
docs/PolicyOperator.md
docs/PolicyResponse.md
docs/PolicyRule.md
docs/PolicyRuleCheckResult.md
docs/PolicyRuleError.md
+docs/PolicyRuleQuotaParticipant.md
+docs/PolicyRuleQuotaRequest.md
+docs/PolicyRuleQuotaResponse.md
docs/PolicyStatus.md
docs/PolicyTag.md
docs/PolicyType.md
@@ -695,6 +720,7 @@ docs/PreScreening.md
docs/PrefundedSettlement.md
docs/PrefundedSettlementType.md
docs/ProgramCallConfig.md
+docs/ProgramCallDecodedDataItem.md
docs/Provider.md
docs/ProvidersListResponse.md
docs/PublicKeyInformation.md
@@ -747,6 +773,8 @@ docs/ReportOutputFormat.md
docs/ReportStatus.md
docs/ReportType.md
docs/ReportsBetaApi.md
+docs/RescreenTransactionRequest.md
+docs/RescreenTransactionResponse.md
docs/ResendByQueryRequest.md
docs/ResendByQueryResponse.md
docs/ResendFailedNotificationsJobStatusResponse.md
@@ -769,6 +797,7 @@ docs/SEPAAddress.md
docs/SEPADestination.md
docs/SOLAccount.md
docs/SOLAccountWithValue.md
+docs/SaveAutomationSettingsResponse.md
docs/ScopeItem.md
docs/ScopeItemFailure.md
docs/ScreeningAlertExposureTypeEnum.md
@@ -786,6 +815,7 @@ docs/ScreeningPolicyAmountRange.md
docs/ScreeningPolicyCurrency.md
docs/ScreeningPolicyResponse.md
docs/ScreeningProviderRulesConfigurationResponse.md
+docs/ScreeningStatusEnum.md
docs/ScreeningTRLinkAmount.md
docs/ScreeningTRLinkMissingTrmDecision.md
docs/ScreeningTRLinkMissingTrmRule.md
@@ -993,6 +1023,7 @@ docs/TagsApi.md
docs/TagsPagedResponse.md
docs/TemplatesPaginatedResponse.md
docs/ThirdPartyRouting.md
+docs/TimeBasedTrigger.md
docs/TimePeriodConfig.md
docs/TimePeriodMatchType.md
docs/ToCollateralTransaction.md
@@ -1102,6 +1133,7 @@ docs/TravelRuleValidateTransactionRequest.md
docs/TravelRuleValidateTransactionResponse.md
docs/TravelRuleVaspForVault.md
docs/TravelRuleVerdictEnum.md
+docs/TriggerValidationFlowResponse.md
docs/TrustProofOfAddressCreateResponse.md
docs/TrustProofOfAddressRequest.md
docs/TrustProofOfAddressResponse.md
@@ -1115,6 +1147,8 @@ docs/UnspentInput.md
docs/UnspentInputsResponse.md
docs/UnstakeRequest.md
docs/UpdateAssetUserMetadataRequest.md
+docs/UpdateAutomationSettingsRequest.md
+docs/UpdateBlockchainResponse.md
docs/UpdateCallbackHandlerRequest.md
docs/UpdateCallbackHandlerResponse.md
docs/UpdateCounterpartyGroupRequest.md
@@ -1219,6 +1253,7 @@ src/main/java/com/fireblocks/sdk/UserAgentUtil.java
src/main/java/com/fireblocks/sdk/ValidationUtils.java
src/main/java/com/fireblocks/sdk/api/ApiUserApi.java
src/main/java/com/fireblocks/sdk/api/AuditLogsApi.java
+src/main/java/com/fireblocks/sdk/api/BlockchainLinkBetaApi.java
src/main/java/com/fireblocks/sdk/api/BlockchainsAssetsApi.java
src/main/java/com/fireblocks/sdk/api/ComplianceApi.java
src/main/java/com/fireblocks/sdk/api/ComplianceScreeningConfigurationApi.java
@@ -1229,7 +1264,7 @@ src/main/java/com/fireblocks/sdk/api/ContractTemplatesApi.java
src/main/java/com/fireblocks/sdk/api/ContractsApi.java
src/main/java/com/fireblocks/sdk/api/CosignersBetaApi.java
src/main/java/com/fireblocks/sdk/api/DeployedContractsApi.java
-src/main/java/com/fireblocks/sdk/api/EarnBetaApi.java
+src/main/java/com/fireblocks/sdk/api/EarnApi.java
src/main/java/com/fireblocks/sdk/api/EmbeddedWalletsApi.java
src/main/java/com/fireblocks/sdk/api/ExchangeAccountsApi.java
src/main/java/com/fireblocks/sdk/api/ExternalWalletsApi.java
@@ -1247,6 +1282,7 @@ src/main/java/com/fireblocks/sdk/api/OtaBetaApi.java
src/main/java/com/fireblocks/sdk/api/PaymentsPayoutApi.java
src/main/java/com/fireblocks/sdk/api/PolicyEditorBetaApi.java
src/main/java/com/fireblocks/sdk/api/PolicyEditorV2Api.java
+src/main/java/com/fireblocks/sdk/api/PolicyEditorV2BetaApi.java
src/main/java/com/fireblocks/sdk/api/ReportsBetaApi.java
src/main/java/com/fireblocks/sdk/api/ResetDeviceApi.java
src/main/java/com/fireblocks/sdk/api/SmartTransferApi.java
@@ -1292,6 +1328,7 @@ src/main/java/com/fireblocks/sdk/model/AchAddress.java
src/main/java/com/fireblocks/sdk/model/AchDestination.java
src/main/java/com/fireblocks/sdk/model/AchPaymentInfo.java
src/main/java/com/fireblocks/sdk/model/ActionRecord.java
+src/main/java/com/fireblocks/sdk/model/ActivateBlockchainResponse.java
src/main/java/com/fireblocks/sdk/model/ActiveRolesResponse.java
src/main/java/com/fireblocks/sdk/model/AdapterProcessingResult.java
src/main/java/com/fireblocks/sdk/model/AddAbiRequestDto.java
@@ -1335,6 +1372,7 @@ src/main/java/com/fireblocks/sdk/model/AllowlistEntryStatus.java
src/main/java/com/fireblocks/sdk/model/AllowlistMetadata.java
src/main/java/com/fireblocks/sdk/model/AllowlistResponse.java
src/main/java/com/fireblocks/sdk/model/AmlAlert.java
+src/main/java/com/fireblocks/sdk/model/AmlBypassReasonEnum.java
src/main/java/com/fireblocks/sdk/model/AmlMatchedRule.java
src/main/java/com/fireblocks/sdk/model/AmlRegistrationResult.java
src/main/java/com/fireblocks/sdk/model/AmlRegistrationResultFullPayload.java
@@ -1395,6 +1433,8 @@ src/main/java/com/fireblocks/sdk/model/AuditLogData.java
src/main/java/com/fireblocks/sdk/model/AuditorData.java
src/main/java/com/fireblocks/sdk/model/AuthorizationGroups.java
src/main/java/com/fireblocks/sdk/model/AuthorizationInfo.java
+src/main/java/com/fireblocks/sdk/model/AutomationSettingsRequest.java
+src/main/java/com/fireblocks/sdk/model/AutomationSettingsResponse.java
src/main/java/com/fireblocks/sdk/model/BalanceHistoryItemDto.java
src/main/java/com/fireblocks/sdk/model/BalanceHistoryPagedResponse.java
src/main/java/com/fireblocks/sdk/model/BalanceHistoryPagedResponse2.java
@@ -1402,14 +1442,20 @@ src/main/java/com/fireblocks/sdk/model/BankAddress.java
src/main/java/com/fireblocks/sdk/model/BaseProvider.java
src/main/java/com/fireblocks/sdk/model/BasicAddressRequest.java
src/main/java/com/fireblocks/sdk/model/BlockInfo.java
+src/main/java/com/fireblocks/sdk/model/Blockchain.java
src/main/java/com/fireblocks/sdk/model/BlockchainAddress.java
+src/main/java/com/fireblocks/sdk/model/BlockchainDeclaredProperties.java
src/main/java/com/fireblocks/sdk/model/BlockchainDestination.java
+src/main/java/com/fireblocks/sdk/model/BlockchainEnvironment.java
src/main/java/com/fireblocks/sdk/model/BlockchainExplorer.java
src/main/java/com/fireblocks/sdk/model/BlockchainMedia.java
src/main/java/com/fireblocks/sdk/model/BlockchainMetadata.java
src/main/java/com/fireblocks/sdk/model/BlockchainNotFoundErrorResponse.java
src/main/java/com/fireblocks/sdk/model/BlockchainOnchain.java
src/main/java/com/fireblocks/sdk/model/BlockchainResponse.java
+src/main/java/com/fireblocks/sdk/model/BlockchainRpcAuth.java
+src/main/java/com/fireblocks/sdk/model/BlockchainSortField.java
+src/main/java/com/fireblocks/sdk/model/BlockchainStateFilter.java
src/main/java/com/fireblocks/sdk/model/BlockchainTransfer.java
src/main/java/com/fireblocks/sdk/model/BpsFee.java
src/main/java/com/fireblocks/sdk/model/BusinessEntityTypeEnum.java
@@ -1515,6 +1561,8 @@ src/main/java/com/fireblocks/sdk/model/CreateAddressRequest.java
src/main/java/com/fireblocks/sdk/model/CreateAddressResponse.java
src/main/java/com/fireblocks/sdk/model/CreateAddressesReportRequest.java
src/main/java/com/fireblocks/sdk/model/CreateAssetsRequest.java
+src/main/java/com/fireblocks/sdk/model/CreateBlockchainRequest.java
+src/main/java/com/fireblocks/sdk/model/CreateBlockchainResponse.java
src/main/java/com/fireblocks/sdk/model/CreateConfigOperationRequest.java
src/main/java/com/fireblocks/sdk/model/CreateConnectionRequest.java
src/main/java/com/fireblocks/sdk/model/CreateConnectionResponse.java
@@ -1607,6 +1655,8 @@ src/main/java/com/fireblocks/sdk/model/DvnConfig.java
src/main/java/com/fireblocks/sdk/model/DvnConfigWithConfirmations.java
src/main/java/com/fireblocks/sdk/model/EVMTokenCreateParamsDto.java
src/main/java/com/fireblocks/sdk/model/EarnAsset.java
+src/main/java/com/fireblocks/sdk/model/EarnCurator.java
+src/main/java/com/fireblocks/sdk/model/EarnMetadata.java
src/main/java/com/fireblocks/sdk/model/EarnProvider.java
src/main/java/com/fireblocks/sdk/model/EditGasStationConfigurationResponse.java
src/main/java/com/fireblocks/sdk/model/EmbeddedWallet.java
@@ -1701,7 +1751,11 @@ src/main/java/com/fireblocks/sdk/model/GetAPIUsersResponse.java
src/main/java/com/fireblocks/sdk/model/GetActionResponse.java
src/main/java/com/fireblocks/sdk/model/GetActionsResponse.java
src/main/java/com/fireblocks/sdk/model/GetAuditLogsResponse.java
+src/main/java/com/fireblocks/sdk/model/GetAutomationSettingsResponse.java
+src/main/java/com/fireblocks/sdk/model/GetBillingInfoResponse.java
+src/main/java/com/fireblocks/sdk/model/GetBlockchainByIdResponse.java
src/main/java/com/fireblocks/sdk/model/GetByorkVerdictResponse.java
+src/main/java/com/fireblocks/sdk/model/GetConnectedAccountsCredentialsPublicKeyResponse.java
src/main/java/com/fireblocks/sdk/model/GetConnectionsResponse.java
src/main/java/com/fireblocks/sdk/model/GetConsoleUsersResponse.java
src/main/java/com/fireblocks/sdk/model/GetDeployableAddressRequest.java
@@ -1723,6 +1777,7 @@ src/main/java/com/fireblocks/sdk/model/GetPagedExchangeAccountsResponsePaging.ja
src/main/java/com/fireblocks/sdk/model/GetPositionsResponse.java
src/main/java/com/fireblocks/sdk/model/GetProvidersResponse.java
src/main/java/com/fireblocks/sdk/model/GetSigningKeyResponseDto.java
+src/main/java/com/fireblocks/sdk/model/GetTestWalletAddressResponse.java
src/main/java/com/fireblocks/sdk/model/GetTransactionOperation.java
src/main/java/com/fireblocks/sdk/model/GetValidationKeyResponseDto.java
src/main/java/com/fireblocks/sdk/model/GetWhitelistIpAddressesResponse.java
@@ -1787,6 +1842,7 @@ src/main/java/com/fireblocks/sdk/model/LeiStatus.java
src/main/java/com/fireblocks/sdk/model/LinkedTokensCount.java
src/main/java/com/fireblocks/sdk/model/ListAssetsResponse.java
src/main/java/com/fireblocks/sdk/model/ListBlockchainsResponse.java
+src/main/java/com/fireblocks/sdk/model/ListBlockchainsResponse2.java
src/main/java/com/fireblocks/sdk/model/ListLegalEntitiesResponse.java
src/main/java/com/fireblocks/sdk/model/ListOwnedCollectionsResponse.java
src/main/java/com/fireblocks/sdk/model/ListOwnedTokensResponse.java
@@ -1911,6 +1967,9 @@ src/main/java/com/fireblocks/sdk/model/PolicyResponse.java
src/main/java/com/fireblocks/sdk/model/PolicyRule.java
src/main/java/com/fireblocks/sdk/model/PolicyRuleCheckResult.java
src/main/java/com/fireblocks/sdk/model/PolicyRuleError.java
+src/main/java/com/fireblocks/sdk/model/PolicyRuleQuotaParticipant.java
+src/main/java/com/fireblocks/sdk/model/PolicyRuleQuotaRequest.java
+src/main/java/com/fireblocks/sdk/model/PolicyRuleQuotaResponse.java
src/main/java/com/fireblocks/sdk/model/PolicyStatus.java
src/main/java/com/fireblocks/sdk/model/PolicyTag.java
src/main/java/com/fireblocks/sdk/model/PolicyType.java
@@ -1925,6 +1984,7 @@ src/main/java/com/fireblocks/sdk/model/PreScreening.java
src/main/java/com/fireblocks/sdk/model/PrefundedSettlement.java
src/main/java/com/fireblocks/sdk/model/PrefundedSettlementType.java
src/main/java/com/fireblocks/sdk/model/ProgramCallConfig.java
+src/main/java/com/fireblocks/sdk/model/ProgramCallDecodedDataItem.java
src/main/java/com/fireblocks/sdk/model/Provider.java
src/main/java/com/fireblocks/sdk/model/ProvidersListResponse.java
src/main/java/com/fireblocks/sdk/model/PublicKeyInformation.java
@@ -1976,6 +2036,8 @@ src/main/java/com/fireblocks/sdk/model/ReportListResponse.java
src/main/java/com/fireblocks/sdk/model/ReportOutputFormat.java
src/main/java/com/fireblocks/sdk/model/ReportStatus.java
src/main/java/com/fireblocks/sdk/model/ReportType.java
+src/main/java/com/fireblocks/sdk/model/RescreenTransactionRequest.java
+src/main/java/com/fireblocks/sdk/model/RescreenTransactionResponse.java
src/main/java/com/fireblocks/sdk/model/ResendByQueryRequest.java
src/main/java/com/fireblocks/sdk/model/ResendByQueryResponse.java
src/main/java/com/fireblocks/sdk/model/ResendFailedNotificationsJobStatusResponse.java
@@ -1997,6 +2059,7 @@ src/main/java/com/fireblocks/sdk/model/SEPAAddress.java
src/main/java/com/fireblocks/sdk/model/SEPADestination.java
src/main/java/com/fireblocks/sdk/model/SOLAccount.java
src/main/java/com/fireblocks/sdk/model/SOLAccountWithValue.java
+src/main/java/com/fireblocks/sdk/model/SaveAutomationSettingsResponse.java
src/main/java/com/fireblocks/sdk/model/ScopeItem.java
src/main/java/com/fireblocks/sdk/model/ScopeItemFailure.java
src/main/java/com/fireblocks/sdk/model/ScreeningAlertExposureTypeEnum.java
@@ -2014,6 +2077,7 @@ src/main/java/com/fireblocks/sdk/model/ScreeningPolicyAmountRange.java
src/main/java/com/fireblocks/sdk/model/ScreeningPolicyCurrency.java
src/main/java/com/fireblocks/sdk/model/ScreeningPolicyResponse.java
src/main/java/com/fireblocks/sdk/model/ScreeningProviderRulesConfigurationResponse.java
+src/main/java/com/fireblocks/sdk/model/ScreeningStatusEnum.java
src/main/java/com/fireblocks/sdk/model/ScreeningTRLinkAmount.java
src/main/java/com/fireblocks/sdk/model/ScreeningTRLinkMissingTrmDecision.java
src/main/java/com/fireblocks/sdk/model/ScreeningTRLinkMissingTrmRule.java
@@ -2218,6 +2282,7 @@ src/main/java/com/fireblocks/sdk/model/TagType.java
src/main/java/com/fireblocks/sdk/model/TagsPagedResponse.java
src/main/java/com/fireblocks/sdk/model/TemplatesPaginatedResponse.java
src/main/java/com/fireblocks/sdk/model/ThirdPartyRouting.java
+src/main/java/com/fireblocks/sdk/model/TimeBasedTrigger.java
src/main/java/com/fireblocks/sdk/model/TimePeriodConfig.java
src/main/java/com/fireblocks/sdk/model/TimePeriodMatchType.java
src/main/java/com/fireblocks/sdk/model/ToCollateralTransaction.java
@@ -2322,6 +2387,7 @@ src/main/java/com/fireblocks/sdk/model/TravelRuleValidateTransactionRequest.java
src/main/java/com/fireblocks/sdk/model/TravelRuleValidateTransactionResponse.java
src/main/java/com/fireblocks/sdk/model/TravelRuleVaspForVault.java
src/main/java/com/fireblocks/sdk/model/TravelRuleVerdictEnum.java
+src/main/java/com/fireblocks/sdk/model/TriggerValidationFlowResponse.java
src/main/java/com/fireblocks/sdk/model/TrustProofOfAddressCreateResponse.java
src/main/java/com/fireblocks/sdk/model/TrustProofOfAddressRequest.java
src/main/java/com/fireblocks/sdk/model/TrustProofOfAddressResponse.java
@@ -2335,6 +2401,8 @@ src/main/java/com/fireblocks/sdk/model/UnspentInput.java
src/main/java/com/fireblocks/sdk/model/UnspentInputsResponse.java
src/main/java/com/fireblocks/sdk/model/UnstakeRequest.java
src/main/java/com/fireblocks/sdk/model/UpdateAssetUserMetadataRequest.java
+src/main/java/com/fireblocks/sdk/model/UpdateAutomationSettingsRequest.java
+src/main/java/com/fireblocks/sdk/model/UpdateBlockchainResponse.java
src/main/java/com/fireblocks/sdk/model/UpdateCallbackHandlerRequest.java
src/main/java/com/fireblocks/sdk/model/UpdateCallbackHandlerResponse.java
src/main/java/com/fireblocks/sdk/model/UpdateCounterpartyGroupRequest.java
@@ -2408,6 +2476,7 @@ src/test/java/com/fireblocks/sdk/UserAgentUtilTest.java
src/test/java/com/fireblocks/sdk/ValidationUtilsTest.java
src/test/java/com/fireblocks/sdk/api/ApiUserApiTest.java
src/test/java/com/fireblocks/sdk/api/AuditLogsApiTest.java
+src/test/java/com/fireblocks/sdk/api/BlockchainLinkBetaApiTest.java
src/test/java/com/fireblocks/sdk/api/BlockchainsAssetsApiTest.java
src/test/java/com/fireblocks/sdk/api/ComplianceApiTest.java
src/test/java/com/fireblocks/sdk/api/ComplianceScreeningConfigurationApiTest.java
@@ -2418,7 +2487,7 @@ src/test/java/com/fireblocks/sdk/api/ContractTemplatesApiTest.java
src/test/java/com/fireblocks/sdk/api/ContractsApiTest.java
src/test/java/com/fireblocks/sdk/api/CosignersBetaApiTest.java
src/test/java/com/fireblocks/sdk/api/DeployedContractsApiTest.java
-src/test/java/com/fireblocks/sdk/api/EarnBetaApiTest.java
+src/test/java/com/fireblocks/sdk/api/EarnApiTest.java
src/test/java/com/fireblocks/sdk/api/EmbeddedWalletsApiTest.java
src/test/java/com/fireblocks/sdk/api/ExchangeAccountsApiTest.java
src/test/java/com/fireblocks/sdk/api/ExternalWalletsApiTest.java
@@ -2436,6 +2505,7 @@ src/test/java/com/fireblocks/sdk/api/OtaBetaApiTest.java
src/test/java/com/fireblocks/sdk/api/PaymentsPayoutApiTest.java
src/test/java/com/fireblocks/sdk/api/PolicyEditorBetaApiTest.java
src/test/java/com/fireblocks/sdk/api/PolicyEditorV2ApiTest.java
+src/test/java/com/fireblocks/sdk/api/PolicyEditorV2BetaApiTest.java
src/test/java/com/fireblocks/sdk/api/ReportsBetaApiTest.java
src/test/java/com/fireblocks/sdk/api/ResetDeviceApiTest.java
src/test/java/com/fireblocks/sdk/api/SmartTransferApiTest.java
@@ -2480,6 +2550,7 @@ src/test/java/com/fireblocks/sdk/model/AchAddressTest.java
src/test/java/com/fireblocks/sdk/model/AchDestinationTest.java
src/test/java/com/fireblocks/sdk/model/AchPaymentInfoTest.java
src/test/java/com/fireblocks/sdk/model/ActionRecordTest.java
+src/test/java/com/fireblocks/sdk/model/ActivateBlockchainResponseTest.java
src/test/java/com/fireblocks/sdk/model/ActiveRolesResponseTest.java
src/test/java/com/fireblocks/sdk/model/AdapterProcessingResultTest.java
src/test/java/com/fireblocks/sdk/model/AddAbiRequestDtoTest.java
@@ -2523,6 +2594,7 @@ src/test/java/com/fireblocks/sdk/model/AllowlistEntryTest.java
src/test/java/com/fireblocks/sdk/model/AllowlistMetadataTest.java
src/test/java/com/fireblocks/sdk/model/AllowlistResponseTest.java
src/test/java/com/fireblocks/sdk/model/AmlAlertTest.java
+src/test/java/com/fireblocks/sdk/model/AmlBypassReasonEnumTest.java
src/test/java/com/fireblocks/sdk/model/AmlMatchedRuleTest.java
src/test/java/com/fireblocks/sdk/model/AmlRegistrationResultFullPayloadTest.java
src/test/java/com/fireblocks/sdk/model/AmlRegistrationResultTest.java
@@ -2583,6 +2655,8 @@ src/test/java/com/fireblocks/sdk/model/AuditLogDataTest.java
src/test/java/com/fireblocks/sdk/model/AuditorDataTest.java
src/test/java/com/fireblocks/sdk/model/AuthorizationGroupsTest.java
src/test/java/com/fireblocks/sdk/model/AuthorizationInfoTest.java
+src/test/java/com/fireblocks/sdk/model/AutomationSettingsRequestTest.java
+src/test/java/com/fireblocks/sdk/model/AutomationSettingsResponseTest.java
src/test/java/com/fireblocks/sdk/model/BalanceHistoryItemDtoTest.java
src/test/java/com/fireblocks/sdk/model/BalanceHistoryPagedResponse2Test.java
src/test/java/com/fireblocks/sdk/model/BalanceHistoryPagedResponseTest.java
@@ -2591,13 +2665,19 @@ src/test/java/com/fireblocks/sdk/model/BaseProviderTest.java
src/test/java/com/fireblocks/sdk/model/BasicAddressRequestTest.java
src/test/java/com/fireblocks/sdk/model/BlockInfoTest.java
src/test/java/com/fireblocks/sdk/model/BlockchainAddressTest.java
+src/test/java/com/fireblocks/sdk/model/BlockchainDeclaredPropertiesTest.java
src/test/java/com/fireblocks/sdk/model/BlockchainDestinationTest.java
+src/test/java/com/fireblocks/sdk/model/BlockchainEnvironmentTest.java
src/test/java/com/fireblocks/sdk/model/BlockchainExplorerTest.java
src/test/java/com/fireblocks/sdk/model/BlockchainMediaTest.java
src/test/java/com/fireblocks/sdk/model/BlockchainMetadataTest.java
src/test/java/com/fireblocks/sdk/model/BlockchainNotFoundErrorResponseTest.java
src/test/java/com/fireblocks/sdk/model/BlockchainOnchainTest.java
src/test/java/com/fireblocks/sdk/model/BlockchainResponseTest.java
+src/test/java/com/fireblocks/sdk/model/BlockchainRpcAuthTest.java
+src/test/java/com/fireblocks/sdk/model/BlockchainSortFieldTest.java
+src/test/java/com/fireblocks/sdk/model/BlockchainStateFilterTest.java
+src/test/java/com/fireblocks/sdk/model/BlockchainTest.java
src/test/java/com/fireblocks/sdk/model/BlockchainTransferTest.java
src/test/java/com/fireblocks/sdk/model/BpsFeeTest.java
src/test/java/com/fireblocks/sdk/model/BusinessEntityTypeEnumTest.java
@@ -2703,6 +2783,8 @@ src/test/java/com/fireblocks/sdk/model/CreateAddressRequestTest.java
src/test/java/com/fireblocks/sdk/model/CreateAddressResponseTest.java
src/test/java/com/fireblocks/sdk/model/CreateAddressesReportRequestTest.java
src/test/java/com/fireblocks/sdk/model/CreateAssetsRequestTest.java
+src/test/java/com/fireblocks/sdk/model/CreateBlockchainRequestTest.java
+src/test/java/com/fireblocks/sdk/model/CreateBlockchainResponseTest.java
src/test/java/com/fireblocks/sdk/model/CreateConfigOperationRequestTest.java
src/test/java/com/fireblocks/sdk/model/CreateConnectionRequestTest.java
src/test/java/com/fireblocks/sdk/model/CreateConnectionResponseTest.java
@@ -2795,6 +2877,8 @@ src/test/java/com/fireblocks/sdk/model/DvnConfigTest.java
src/test/java/com/fireblocks/sdk/model/DvnConfigWithConfirmationsTest.java
src/test/java/com/fireblocks/sdk/model/EVMTokenCreateParamsDtoTest.java
src/test/java/com/fireblocks/sdk/model/EarnAssetTest.java
+src/test/java/com/fireblocks/sdk/model/EarnCuratorTest.java
+src/test/java/com/fireblocks/sdk/model/EarnMetadataTest.java
src/test/java/com/fireblocks/sdk/model/EarnProviderTest.java
src/test/java/com/fireblocks/sdk/model/EditGasStationConfigurationResponseTest.java
src/test/java/com/fireblocks/sdk/model/EmbeddedWalletAccountTest.java
@@ -2889,7 +2973,11 @@ src/test/java/com/fireblocks/sdk/model/GetAPIUsersResponseTest.java
src/test/java/com/fireblocks/sdk/model/GetActionResponseTest.java
src/test/java/com/fireblocks/sdk/model/GetActionsResponseTest.java
src/test/java/com/fireblocks/sdk/model/GetAuditLogsResponseTest.java
+src/test/java/com/fireblocks/sdk/model/GetAutomationSettingsResponseTest.java
+src/test/java/com/fireblocks/sdk/model/GetBillingInfoResponseTest.java
+src/test/java/com/fireblocks/sdk/model/GetBlockchainByIdResponseTest.java
src/test/java/com/fireblocks/sdk/model/GetByorkVerdictResponseTest.java
+src/test/java/com/fireblocks/sdk/model/GetConnectedAccountsCredentialsPublicKeyResponseTest.java
src/test/java/com/fireblocks/sdk/model/GetConnectionsResponseTest.java
src/test/java/com/fireblocks/sdk/model/GetConsoleUsersResponseTest.java
src/test/java/com/fireblocks/sdk/model/GetDeployableAddressRequestTest.java
@@ -2911,6 +2999,7 @@ src/test/java/com/fireblocks/sdk/model/GetPagedExchangeAccountsResponseTest.java
src/test/java/com/fireblocks/sdk/model/GetPositionsResponseTest.java
src/test/java/com/fireblocks/sdk/model/GetProvidersResponseTest.java
src/test/java/com/fireblocks/sdk/model/GetSigningKeyResponseDtoTest.java
+src/test/java/com/fireblocks/sdk/model/GetTestWalletAddressResponseTest.java
src/test/java/com/fireblocks/sdk/model/GetTransactionOperationTest.java
src/test/java/com/fireblocks/sdk/model/GetValidationKeyResponseDtoTest.java
src/test/java/com/fireblocks/sdk/model/GetWhitelistIpAddressesResponseTest.java
@@ -2974,6 +3063,7 @@ src/test/java/com/fireblocks/sdk/model/LegalEntityRegistrationTest.java
src/test/java/com/fireblocks/sdk/model/LeiStatusTest.java
src/test/java/com/fireblocks/sdk/model/LinkedTokensCountTest.java
src/test/java/com/fireblocks/sdk/model/ListAssetsResponseTest.java
+src/test/java/com/fireblocks/sdk/model/ListBlockchainsResponse2Test.java
src/test/java/com/fireblocks/sdk/model/ListBlockchainsResponseTest.java
src/test/java/com/fireblocks/sdk/model/ListLegalEntitiesResponseTest.java
src/test/java/com/fireblocks/sdk/model/ListOwnedCollectionsResponseTest.java
@@ -3098,6 +3188,9 @@ src/test/java/com/fireblocks/sdk/model/PolicyOperatorTest.java
src/test/java/com/fireblocks/sdk/model/PolicyResponseTest.java
src/test/java/com/fireblocks/sdk/model/PolicyRuleCheckResultTest.java
src/test/java/com/fireblocks/sdk/model/PolicyRuleErrorTest.java
+src/test/java/com/fireblocks/sdk/model/PolicyRuleQuotaParticipantTest.java
+src/test/java/com/fireblocks/sdk/model/PolicyRuleQuotaRequestTest.java
+src/test/java/com/fireblocks/sdk/model/PolicyRuleQuotaResponseTest.java
src/test/java/com/fireblocks/sdk/model/PolicyRuleTest.java
src/test/java/com/fireblocks/sdk/model/PolicyStatusTest.java
src/test/java/com/fireblocks/sdk/model/PolicyTagTest.java
@@ -3113,6 +3206,7 @@ src/test/java/com/fireblocks/sdk/model/PreScreeningTest.java
src/test/java/com/fireblocks/sdk/model/PrefundedSettlementTest.java
src/test/java/com/fireblocks/sdk/model/PrefundedSettlementTypeTest.java
src/test/java/com/fireblocks/sdk/model/ProgramCallConfigTest.java
+src/test/java/com/fireblocks/sdk/model/ProgramCallDecodedDataItemTest.java
src/test/java/com/fireblocks/sdk/model/ProviderTest.java
src/test/java/com/fireblocks/sdk/model/ProvidersListResponseTest.java
src/test/java/com/fireblocks/sdk/model/PublicKeyInformationTest.java
@@ -3164,6 +3258,8 @@ src/test/java/com/fireblocks/sdk/model/ReportListResponseTest.java
src/test/java/com/fireblocks/sdk/model/ReportOutputFormatTest.java
src/test/java/com/fireblocks/sdk/model/ReportStatusTest.java
src/test/java/com/fireblocks/sdk/model/ReportTypeTest.java
+src/test/java/com/fireblocks/sdk/model/RescreenTransactionRequestTest.java
+src/test/java/com/fireblocks/sdk/model/RescreenTransactionResponseTest.java
src/test/java/com/fireblocks/sdk/model/ResendByQueryRequestTest.java
src/test/java/com/fireblocks/sdk/model/ResendByQueryResponseTest.java
src/test/java/com/fireblocks/sdk/model/ResendFailedNotificationsJobStatusResponseTest.java
@@ -3185,6 +3281,7 @@ src/test/java/com/fireblocks/sdk/model/SEPAAddressTest.java
src/test/java/com/fireblocks/sdk/model/SEPADestinationTest.java
src/test/java/com/fireblocks/sdk/model/SOLAccountTest.java
src/test/java/com/fireblocks/sdk/model/SOLAccountWithValueTest.java
+src/test/java/com/fireblocks/sdk/model/SaveAutomationSettingsResponseTest.java
src/test/java/com/fireblocks/sdk/model/ScopeItemFailureTest.java
src/test/java/com/fireblocks/sdk/model/ScopeItemTest.java
src/test/java/com/fireblocks/sdk/model/ScreeningAlertExposureTypeEnumTest.java
@@ -3202,6 +3299,7 @@ src/test/java/com/fireblocks/sdk/model/ScreeningPolicyAmountTest.java
src/test/java/com/fireblocks/sdk/model/ScreeningPolicyCurrencyTest.java
src/test/java/com/fireblocks/sdk/model/ScreeningPolicyResponseTest.java
src/test/java/com/fireblocks/sdk/model/ScreeningProviderRulesConfigurationResponseTest.java
+src/test/java/com/fireblocks/sdk/model/ScreeningStatusEnumTest.java
src/test/java/com/fireblocks/sdk/model/ScreeningTRLinkAmountTest.java
src/test/java/com/fireblocks/sdk/model/ScreeningTRLinkMissingTrmDecisionTest.java
src/test/java/com/fireblocks/sdk/model/ScreeningTRLinkMissingTrmRuleTest.java
@@ -3406,6 +3504,7 @@ src/test/java/com/fireblocks/sdk/model/TagTypeTest.java
src/test/java/com/fireblocks/sdk/model/TagsPagedResponseTest.java
src/test/java/com/fireblocks/sdk/model/TemplatesPaginatedResponseTest.java
src/test/java/com/fireblocks/sdk/model/ThirdPartyRoutingTest.java
+src/test/java/com/fireblocks/sdk/model/TimeBasedTriggerTest.java
src/test/java/com/fireblocks/sdk/model/TimePeriodConfigTest.java
src/test/java/com/fireblocks/sdk/model/TimePeriodMatchTypeTest.java
src/test/java/com/fireblocks/sdk/model/ToCollateralTransactionTest.java
@@ -3510,6 +3609,7 @@ src/test/java/com/fireblocks/sdk/model/TravelRuleValidateTransactionRequestTest.
src/test/java/com/fireblocks/sdk/model/TravelRuleValidateTransactionResponseTest.java
src/test/java/com/fireblocks/sdk/model/TravelRuleVaspForVaultTest.java
src/test/java/com/fireblocks/sdk/model/TravelRuleVerdictEnumTest.java
+src/test/java/com/fireblocks/sdk/model/TriggerValidationFlowResponseTest.java
src/test/java/com/fireblocks/sdk/model/TrustProofOfAddressCreateResponseTest.java
src/test/java/com/fireblocks/sdk/model/TrustProofOfAddressRequestTest.java
src/test/java/com/fireblocks/sdk/model/TrustProofOfAddressResponseTest.java
@@ -3523,6 +3623,8 @@ src/test/java/com/fireblocks/sdk/model/UnspentInputTest.java
src/test/java/com/fireblocks/sdk/model/UnspentInputsResponseTest.java
src/test/java/com/fireblocks/sdk/model/UnstakeRequestTest.java
src/test/java/com/fireblocks/sdk/model/UpdateAssetUserMetadataRequestTest.java
+src/test/java/com/fireblocks/sdk/model/UpdateAutomationSettingsRequestTest.java
+src/test/java/com/fireblocks/sdk/model/UpdateBlockchainResponseTest.java
src/test/java/com/fireblocks/sdk/model/UpdateCallbackHandlerRequestTest.java
src/test/java/com/fireblocks/sdk/model/UpdateCallbackHandlerResponseTest.java
src/test/java/com/fireblocks/sdk/model/UpdateCounterpartyGroupRequestTest.java
diff --git a/CHANGELOG.md b/CHANGELOG.md
deleted file mode 100644
index 8205f868..00000000
--- a/CHANGELOG.md
+++ /dev/null
@@ -1,239 +0,0 @@
-# Changelog
-
-All notable changes to this project will be documented in this file.
-
-The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
-and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
-
-## [v23.0.0](https://github.com/fireblocks/java-sdk/compare/v15.0.0...v23.0.0) - 2026-07-01
-
-### Merged
-
-- Generated SDK #1180 [`#140`](https://github.com/fireblocks/java-sdk/pull/140)
-
-## [v15.0.0](https://github.com/fireblocks/java-sdk/compare/v14.1.0...v15.0.0) - 2026-03-15
-
-### Merged
-
-- Generated SDK #3733 (major) [`#128`](https://github.com/fireblocks/java-sdk/pull/128)
-
-## [v14.1.0](https://github.com/fireblocks/java-sdk/compare/v14.0.0...v14.1.0) - 2026-02-26
-
-### Merged
-
-- Generated SDK #2167 [`#126`](https://github.com/fireblocks/java-sdk/pull/126)
-
-## [v14.0.0](https://github.com/fireblocks/java-sdk/compare/v13.0.0...v14.0.0) - 2026-02-03
-
-### Merged
-
-- Generated SDK #4746 [`#121`](https://github.com/fireblocks/java-sdk/pull/121)
-
-## [v13.0.0](https://github.com/fireblocks/java-sdk/compare/v12.1.3...v13.0.0) - 2025-11-13
-
-### Merged
-
-- Generated SDK #5834 [`#116`](https://github.com/fireblocks/java-sdk/pull/116)
-
-## [v12.1.3](https://github.com/fireblocks/java-sdk/compare/v12.1.2...v12.1.3) - 2025-10-22
-
-### Merged
-
-- Generated SDK #8293 [`#115`](https://github.com/fireblocks/java-sdk/pull/115)
-
-## [v12.1.2](https://github.com/fireblocks/java-sdk/compare/v12.1.1...v12.1.2) - 2025-09-29
-
-### Merged
-
-- Generated SDK #6061 [`#113`](https://github.com/fireblocks/java-sdk/pull/113)
-
-## [v12.1.1](https://github.com/fireblocks/java-sdk/compare/v12.1.0...v12.1.1) - 2025-09-10
-
-### Merged
-
-- Generated SDK #1410 [`#111`](https://github.com/fireblocks/java-sdk/pull/111)
-
-## [v12.1.0](https://github.com/fireblocks/java-sdk/compare/v12.0.0...v12.1.0) - 2025-09-09
-
-### Merged
-
-- Generated SDK #4521 [`#109`](https://github.com/fireblocks/java-sdk/pull/109)
-
-## [v12.0.0](https://github.com/fireblocks/java-sdk/compare/v11.2.0...v12.0.0) - 2025-09-01
-
-### Merged
-
-- Generated SDK #7741 [`#108`](https://github.com/fireblocks/java-sdk/pull/108)
-
-## [v11.2.0](https://github.com/fireblocks/java-sdk/compare/v11.1.0...v11.2.0) - 2025-08-21
-
-### Merged
-
-- Generated SDK #3302 [`#107`](https://github.com/fireblocks/java-sdk/pull/107)
-
-## [v11.1.0](https://github.com/fireblocks/java-sdk/compare/v11.0.0...v11.1.0) - 2025-08-11
-
-### Merged
-
-- Generated SDK #1782 [`#105`](https://github.com/fireblocks/java-sdk/pull/105)
-
-## [v11.0.0](https://github.com/fireblocks/java-sdk/compare/v10.4.0...v11.0.0) - 2025-07-15
-
-### Merged
-
-- Generated SDK #5610 [`#103`](https://github.com/fireblocks/java-sdk/pull/103)
-
-## [v10.4.0](https://github.com/fireblocks/java-sdk/compare/v10.3.0...v10.4.0) - 2025-06-29
-
-### Merged
-
-- Generated SDK #1492 [`#101`](https://github.com/fireblocks/java-sdk/pull/101)
-
-## [v10.3.0](https://github.com/fireblocks/java-sdk/compare/v10.2.0...v10.3.0) - 2025-06-18
-
-### Merged
-
-- Generated SDK #4009 [`#99`](https://github.com/fireblocks/java-sdk/pull/99)
-
-## [v10.2.0](https://github.com/fireblocks/java-sdk/compare/v10.1.1...v10.2.0) - 2025-06-04
-
-### Merged
-
-- Generated SDK #8912 [`#98`](https://github.com/fireblocks/java-sdk/pull/98)
-
-## [v10.1.1](https://github.com/fireblocks/java-sdk/compare/v10.1.0...v10.1.1) - 2025-05-18
-
-### Merged
-
-- Generated SDK #5019 [`#97`](https://github.com/fireblocks/java-sdk/pull/97)
-
-## [v10.1.0](https://github.com/fireblocks/java-sdk/compare/v10.0.2...v10.1.0) - 2025-05-07
-
-### Merged
-
-- Generated SDK #7076 [`#95`](https://github.com/fireblocks/java-sdk/pull/95)
-
-## [v10.0.2](https://github.com/fireblocks/java-sdk/compare/v10.0.1...v10.0.2) - 2025-04-20
-
-### Merged
-
-- Generated SDK #4794 [`#94`](https://github.com/fireblocks/java-sdk/pull/94)
-
-## [v10.0.1](https://github.com/fireblocks/java-sdk/compare/v10.0.0...v10.0.1) - 2025-04-07
-
-### Merged
-
-- Generated SDK #3065 [`#93`](https://github.com/fireblocks/java-sdk/pull/93)
-
-## [v10.0.0](https://github.com/fireblocks/java-sdk/compare/v9.0.0...v10.0.0) - 2025-03-30
-
-### Merged
-
-- Generated SDK #619 [`#90`](https://github.com/fireblocks/java-sdk/pull/90)
-
-## [v9.0.0](https://github.com/fireblocks/java-sdk/compare/v8.1.0...v9.0.0) - 2025-03-17
-
-### Merged
-
-- Generated SDK #645 [`#89`](https://github.com/fireblocks/java-sdk/pull/89)
-
-## [v8.1.0](https://github.com/fireblocks/java-sdk/compare/v8.0.1...v8.1.0) - 2025-02-24
-
-### Merged
-
-- Generated SDK #9833 [`#84`](https://github.com/fireblocks/java-sdk/pull/84)
-
-## [v8.0.1](https://github.com/fireblocks/java-sdk/compare/v8.0.0...v8.0.1) - 2025-02-12
-
-### Merged
-
-- Generated SDK #4262 [`#82`](https://github.com/fireblocks/java-sdk/pull/82)
-
-## [v8.0.0](https://github.com/fireblocks/java-sdk/compare/v7.0.0...v8.0.0) - 2025-02-02
-
-### Merged
-
-- Generated SDK #538 [`#80`](https://github.com/fireblocks/java-sdk/pull/80)
-
-## [v7.0.0](https://github.com/fireblocks/java-sdk/compare/v6.0.0...v7.0.0) - 2025-01-08
-
-### Merged
-
-- Generated SDK #8699 [`#77`](https://github.com/fireblocks/java-sdk/pull/77)
-
-## [v6.0.0](https://github.com/fireblocks/java-sdk/compare/v5.0.0...v6.0.0) - 2024-12-05
-
-### Merged
-
-- Generated SDK #1430 [`#73`](https://github.com/fireblocks/java-sdk/pull/73)
-
-## [v5.0.0](https://github.com/fireblocks/java-sdk/compare/v4.0.0...v5.0.0) - 2024-10-31
-
-### Merged
-
-- Generated SDK #5184 [`#71`](https://github.com/fireblocks/java-sdk/pull/71)
-
-## [v4.0.0](https://github.com/fireblocks/java-sdk/compare/v3.1.0...v4.0.0) - 2024-09-17
-
-### Merged
-
-- Generated SDK #237 [`#70`](https://github.com/fireblocks/java-sdk/pull/70)
-
-## [v3.1.0](https://github.com/fireblocks/java-sdk/compare/v3.0.0...v3.1.0) - 2024-07-25
-
-### Merged
-
-- Generated SDK #6749 [`#67`](https://github.com/fireblocks/java-sdk/pull/67)
-
-## [v3.0.0](https://github.com/fireblocks/java-sdk/compare/v2.1.0...v3.0.0) - 2024-07-17
-
-### Merged
-
-- Generated SDK #6152 [`#65`](https://github.com/fireblocks/java-sdk/pull/65)
-- Generated SDK #7984 [`#62`](https://github.com/fireblocks/java-sdk/pull/62)
-- Generated SDK #2873 [`#61`](https://github.com/fireblocks/java-sdk/pull/61)
-
-## [v2.1.0](https://github.com/fireblocks/java-sdk/compare/v2.0.1...v2.1.0) - 2024-06-04
-
-### Merged
-
-- Generated SDK for version COR-46191/fix_pipelines [`#24`](https://github.com/fireblocks/java-sdk/pull/24)
-- Generated SDK for version COR-46191/fix_pipelines [`#23`](https://github.com/fireblocks/java-sdk/pull/23)
-- Generated SDK for version COR-46191/fix_pipelines [`#22`](https://github.com/fireblocks/java-sdk/pull/22)
-- Generated SDK for version COR-46191/fix_pipelines [`#21`](https://github.com/fireblocks/java-sdk/pull/21)
-
-## [v2.0.1](https://github.com/fireblocks/java-sdk/compare/v2.0.0...v2.0.1) - 2024-06-04
-
-### Merged
-
-- Generated SDK for version COR-46191/fix_pipelines [`#20`](https://github.com/fireblocks/java-sdk/pull/20)
-
-## [v2.0.0](https://github.com/fireblocks/java-sdk/compare/v1.1.0...v2.0.0) - 2024-05-08
-
-### Merged
-
-- feat: add tokenization api [`#12`](https://github.com/fireblocks/java-sdk/pull/12)
-
-## [v1.1.0](https://github.com/fireblocks/java-sdk/compare/v1.0.1...v1.1.0) - 2024-04-17
-
-### Merged
-
-- feat: add cosigners beta api [`#11`](https://github.com/fireblocks/java-sdk/pull/11)
-- fix: fix readme doc headline [`#10`](https://github.com/fireblocks/java-sdk/pull/10)
-
-## [v1.0.1](https://github.com/fireblocks/java-sdk/compare/v1.0.0...v1.0.1) - 2024-04-07
-
-### Merged
-
-- Generated SDK for version v1.0.1 [`#9`](https://github.com/fireblocks/java-sdk/pull/9)
-
-## v1.0.0 - 2024-04-07
-
-### Merged
-
-- Generated SDK for version v1.0.0 GA [`#8`](https://github.com/fireblocks/java-sdk/pull/8)
-- v0.0.1-beta [`#6`](https://github.com/fireblocks/java-sdk/pull/6)
-- Update GitHub Actions workflows [`#5`](https://github.com/fireblocks/java-sdk/pull/5)
-- Generated #1189972817 [`#3`](https://github.com/fireblocks/java-sdk/pull/3)
-- Add installation instructions [`#2`](https://github.com/fireblocks/java-sdk/pull/2)
-- Added Idempotency & NCW headers support #6 [`#1`](https://github.com/fireblocks/java-sdk/pull/1)
diff --git a/README.md b/README.md
index 85e8a93a..cd436dbe 100644
--- a/README.md
+++ b/README.md
@@ -32,7 +32,7 @@ Add this dependency to your project's POM:
com.fireblocks.sdk
fireblocks-sdk
- 23.0.0
+ 0.0.0
compile
```
@@ -42,7 +42,7 @@ Add this dependency to your project's POM:
Add this dependency to your project's build file:
```groovy
-compile "com.fireblocks.sdk:fireblocks-sdk:23.0.0"
+compile "com.fireblocks.sdk:fireblocks-sdk:0.0.0"
```
### Others
@@ -55,7 +55,7 @@ mvn clean package
Then manually install the following JARs:
-- `target/fireblocks-sdk-23.0.0.jar`
+- `target/fireblocks-sdk-0.0.0.jar`
- `target/lib/*.jar`
@@ -145,6 +145,15 @@ Class | Method | HTTP request | Description
*ApiUserApi* | [**getApiUsers**](docs/ApiUserApi.md#getApiUsers) | **GET** /management/api_users | Get API Keys
*ApiUserApi* | [**issueApiUserPairingToken**](docs/ApiUserApi.md#issueApiUserPairingToken) | **POST** /management/api_users/{userId}/pairing_token | Issue API user pairing token
*AuditLogsApi* | [**getAuditLogs**](docs/AuditLogsApi.md#getAuditLogs) | **GET** /management/audit_logs | Get audit logs
+*BlockchainLinkBetaApi* | [**activateBlockchainLinkChain**](docs/BlockchainLinkBetaApi.md#activateBlockchainLinkChain) | **POST** /blockchain_link/blockchains/{blockchainId}/activate | Activate a blockchain (triggers activation workflow)
+*BlockchainLinkBetaApi* | [**createBlockchainLinkChain**](docs/BlockchainLinkBetaApi.md#createBlockchainLinkChain) | **POST** /blockchain_link/blockchains | Create a new blockchain
+*BlockchainLinkBetaApi* | [**deleteBlockchainLinkChain**](docs/BlockchainLinkBetaApi.md#deleteBlockchainLinkChain) | **DELETE** /blockchain_link/blockchains/{blockchainId} | Delete a blockchain
+*BlockchainLinkBetaApi* | [**getBlockchainLinkBillingInfo**](docs/BlockchainLinkBetaApi.md#getBlockchainLinkBillingInfo) | **GET** /blockchain_link/blockchains/billing_info | Get tenant billing info
+*BlockchainLinkBetaApi* | [**getBlockchainLinkChain**](docs/BlockchainLinkBetaApi.md#getBlockchainLinkChain) | **GET** /blockchain_link/blockchains/{blockchainId} | Get a blockchain by ID
+*BlockchainLinkBetaApi* | [**getBlockchainLinkTestWalletAddress**](docs/BlockchainLinkBetaApi.md#getBlockchainLinkTestWalletAddress) | **GET** /blockchain_link/blockchains/test_wallet_address | Get the test wallet address
+*BlockchainLinkBetaApi* | [**listBlockchainLinkChains**](docs/BlockchainLinkBetaApi.md#listBlockchainLinkChains) | **GET** /blockchain_link/blockchains | List blockchains with pagination and filtering
+*BlockchainLinkBetaApi* | [**triggerBlockchainLinkValidation**](docs/BlockchainLinkBetaApi.md#triggerBlockchainLinkValidation) | **POST** /blockchain_link/blockchains/{blockchainId}/validate | Trigger validation workflow
+*BlockchainLinkBetaApi* | [**updateBlockchainLinkChain**](docs/BlockchainLinkBetaApi.md#updateBlockchainLinkChain) | **PUT** /blockchain_link/blockchains/{blockchainId} | Update a blockchain
*BlockchainsAssetsApi* | [**getAsset**](docs/BlockchainsAssetsApi.md#getAsset) | **GET** /assets/{id} | Get an asset
*BlockchainsAssetsApi* | [**getBlockchain**](docs/BlockchainsAssetsApi.md#getBlockchain) | **GET** /blockchains/{id} | Get a Blockchain by ID
*BlockchainsAssetsApi* | [**getSupportedAssets**](docs/BlockchainsAssetsApi.md#getSupportedAssets) | **GET** /supported_assets | List assets (Legacy)
@@ -183,6 +192,7 @@ Class | Method | HTTP request | Description
*ComplianceApi* | [**registerLegalEntity**](docs/ComplianceApi.md#registerLegalEntity) | **POST** /legal_entities | Register a new legal entity
*ComplianceApi* | [**removeAddressRegistryVaultOptOut**](docs/ComplianceApi.md#removeAddressRegistryVaultOptOut) | **DELETE** /address_registry/vaults/{vaultAccountId} | Remove a single vault account from the address registry opt-out list
*ComplianceApi* | [**removeAllAddressRegistryVaultOptOuts**](docs/ComplianceApi.md#removeAllAddressRegistryVaultOptOuts) | **DELETE** /address_registry/vaults | Remove all vault-level address registry opt-outs for the workspace
+*ComplianceApi* | [**rescreenRejectedTransaction**](docs/ComplianceApi.md#rescreenRejectedTransaction) | **POST** /screening/transaction/{txId}/rescreen | Rescreen a rejected transaction
*ComplianceApi* | [**retryRejectedTransactionBypassScreeningChecks**](docs/ComplianceApi.md#retryRejectedTransactionBypassScreeningChecks) | **POST** /screening/transaction/{txId}/bypass_screening_policy | Bypass Screening Policy
*ComplianceApi* | [**setAmlVerdict**](docs/ComplianceApi.md#setAmlVerdict) | **POST** /screening/aml/verdict/manual | Set AML Verdict (BYORK Super Light)
*ComplianceApi* | [**setByorkTimeouts**](docs/ComplianceApi.md#setByorkTimeouts) | **PUT** /screening/byork/config/timeouts | Set BYORK Light timeouts
@@ -203,6 +213,7 @@ Class | Method | HTTP request | Description
*ConnectedAccountsBetaApi* | [**getConnectedAccountRates**](docs/ConnectedAccountsBetaApi.md#getConnectedAccountRates) | **GET** /connected_accounts/{accountId}/rates | Get exchange rates for an account
*ConnectedAccountsBetaApi* | [**getConnectedAccountTradingPairs**](docs/ConnectedAccountsBetaApi.md#getConnectedAccountTradingPairs) | **GET** /connected_accounts/{accountId}/manifest/capabilities/trading/pairs | Get supported trading pairs for an account
*ConnectedAccountsBetaApi* | [**getConnectedAccounts**](docs/ConnectedAccountsBetaApi.md#getConnectedAccounts) | **GET** /connected_accounts | Get connected accounts
+*ConnectedAccountsBetaApi* | [**getConnectedAccountsCredentialsPublicKey**](docs/ConnectedAccountsBetaApi.md#getConnectedAccountsCredentialsPublicKey) | **GET** /connected_accounts/credentials/public_key | Get public key to encrypt connected account credentials
*ConnectedAccountsBetaApi* | [**renameConnectedAccount**](docs/ConnectedAccountsBetaApi.md#renameConnectedAccount) | **POST** /connected_accounts/{accountId}/rename | Rename Connected Account
*ConnectedAccountsBetaApi* | [**syncConnectedAccountAllowlist**](docs/ConnectedAccountsBetaApi.md#syncConnectedAccountAllowlist) | **POST** /connected_accounts/{accountId}/allowlist/sync | Sync allowlist for connected account
*ConsoleUserApi* | [**createConsoleUser**](docs/ConsoleUserApi.md#createConsoleUser) | **POST** /management/users | Create console user
@@ -243,13 +254,13 @@ Class | Method | HTTP request | Description
*DeployedContractsApi* | [**getDeployedContractByAddress**](docs/DeployedContractsApi.md#getDeployedContractByAddress) | **GET** /tokenization/contracts/{assetId}/{contractAddress} | Return deployed contract data
*DeployedContractsApi* | [**getDeployedContractById**](docs/DeployedContractsApi.md#getDeployedContractById) | **GET** /tokenization/contracts/{id} | Return deployed contract data by id
*DeployedContractsApi* | [**getDeployedContracts**](docs/DeployedContractsApi.md#getDeployedContracts) | **GET** /tokenization/contracts | List deployed contracts data
-*EarnBetaApi* | [**approveTermsOfService**](docs/EarnBetaApi.md#approveTermsOfService) | **POST** /earn/providers/approve_terms_of_service | Approve earn provider terms of service
-*EarnBetaApi* | [**createEarnAction**](docs/EarnBetaApi.md#createEarnAction) | **POST** /earn/actions | Create and execute a lending action (deposit or withdraw)
-*EarnBetaApi* | [**getEarnAction**](docs/EarnBetaApi.md#getEarnAction) | **GET** /earn/actions/{id} | Get a single earn lending action
-*EarnBetaApi* | [**getEarnActions**](docs/EarnBetaApi.md#getEarnActions) | **GET** /earn/actions | List earn lending actions
-*EarnBetaApi* | [**getEarnOpportunities**](docs/EarnBetaApi.md#getEarnOpportunities) | **GET** /earn/opportunities | Get list of earn opportunities
-*EarnBetaApi* | [**getEarnPositions**](docs/EarnBetaApi.md#getEarnPositions) | **GET** /earn/positions | Get list of earn positions
-*EarnBetaApi* | [**getEarnProviders**](docs/EarnBetaApi.md#getEarnProviders) | **GET** /earn/providers | Get list of earn providers
+*EarnApi* | [**approveTermsOfService**](docs/EarnApi.md#approveTermsOfService) | **POST** /earn/providers/approve_terms_of_service | Approve earn provider terms of service
+*EarnApi* | [**createEarnAction**](docs/EarnApi.md#createEarnAction) | **POST** /earn/actions | Create and execute a lending action (deposit or withdraw)
+*EarnApi* | [**getEarnAction**](docs/EarnApi.md#getEarnAction) | **GET** /earn/actions/{id} | Get a single earn lending action
+*EarnApi* | [**getEarnActions**](docs/EarnApi.md#getEarnActions) | **GET** /earn/actions | List earn lending actions
+*EarnApi* | [**getEarnOpportunities**](docs/EarnApi.md#getEarnOpportunities) | **GET** /earn/opportunities | Get list of earn opportunities
+*EarnApi* | [**getEarnPositions**](docs/EarnApi.md#getEarnPositions) | **GET** /earn/positions | Get list of earn positions
+*EarnApi* | [**getEarnProviders**](docs/EarnApi.md#getEarnProviders) | **GET** /earn/providers | Get list of earn providers
*EmbeddedWalletsApi* | [**addEmbeddedWalletAsset**](docs/EmbeddedWalletsApi.md#addEmbeddedWalletAsset) | **POST** /ncw/wallets/{walletId}/accounts/{accountId}/assets/{assetId} | Add asset to account
*EmbeddedWalletsApi* | [**assignEmbeddedWallet**](docs/EmbeddedWalletsApi.md#assignEmbeddedWallet) | **POST** /ncw/wallets/{walletId}/assign | Assign a wallet
*EmbeddedWalletsApi* | [**createEmbeddedWallet**](docs/EmbeddedWalletsApi.md#createEmbeddedWallet) | **POST** /ncw/wallets | Create a new wallet
@@ -369,6 +380,7 @@ Class | Method | HTTP request | Description
*PolicyEditorV2Api* | [**getDraft**](docs/PolicyEditorV2Api.md#getDraft) | **GET** /policy/draft | Get the active draft by policy type
*PolicyEditorV2Api* | [**publishDraft**](docs/PolicyEditorV2Api.md#publishDraft) | **POST** /policy/draft | Send publish request for a certain draft id
*PolicyEditorV2Api* | [**updateDraft**](docs/PolicyEditorV2Api.md#updateDraft) | **PUT** /policy/draft | Update the draft with a new set of rules by policy types
+*PolicyEditorV2BetaApi* | [**getPolicyRuleQuota**](docs/PolicyEditorV2BetaApi.md#getPolicyRuleQuota) | **POST** /policy/rules/quota | Calculate the AOT quota for a policy rule
*ReportsBetaApi* | [**createReport**](docs/ReportsBetaApi.md#createReport) | **POST** /reports | Create a report
*ReportsBetaApi* | [**getReport**](docs/ReportsBetaApi.md#getReport) | **GET** /reports/{reportId} | Get report status
*ReportsBetaApi* | [**listReports**](docs/ReportsBetaApi.md#listReports) | **GET** /reports | List reports
@@ -527,6 +539,7 @@ Class | Method | HTTP request | Description
*VaultsApi* | [**createVaultAccountAsset**](docs/VaultsApi.md#createVaultAccountAsset) | **POST** /vault/accounts/{vaultAccountId}/{assetId} | Create a new vault wallet
*VaultsApi* | [**createVaultAccountAssetAddress**](docs/VaultsApi.md#createVaultAccountAssetAddress) | **POST** /vault/accounts/{vaultAccountId}/{assetId}/addresses | Create new asset deposit address
*VaultsApi* | [**deactivateUsdcGatewayWalletBeta**](docs/VaultsApi.md#deactivateUsdcGatewayWalletBeta) | **POST** /vault/accounts/{vaultAccountId}/usdc_gateway/deactivate | Deactivate a USDC Gateway wallet
+*VaultsApi* | [**disableUsdcGatewayDepositAutomationScheduleBeta**](docs/VaultsApi.md#disableUsdcGatewayDepositAutomationScheduleBeta) | **DELETE** /vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation/{automationId} | Stop a USDC Gateway deposit automation's schedule
*VaultsApi* | [**getAssetWallets**](docs/VaultsApi.md#getAssetWallets) | **GET** /vault/asset_wallets | Get vault wallets (Paginated)
*VaultsApi* | [**getCreateMultipleDepositAddressesJobStatus**](docs/VaultsApi.md#getCreateMultipleDepositAddressesJobStatus) | **GET** /vault/accounts/addresses/bulk/{jobId} | Get the job status of the bulk deposit address creation
*VaultsApi* | [**getCreateMultipleVaultAccountsJobStatus**](docs/VaultsApi.md#getCreateMultipleVaultAccountsJobStatus) | **GET** /vault/accounts/bulk/{jobId} | Get job status of bulk creation of new vault accounts
@@ -536,6 +549,7 @@ Class | Method | HTTP request | Description
*VaultsApi* | [**getPublicKeyInfo**](docs/VaultsApi.md#getPublicKeyInfo) | **GET** /vault/public_key_info | Get the public key for a derivation path
*VaultsApi* | [**getPublicKeyInfoForAddress**](docs/VaultsApi.md#getPublicKeyInfoForAddress) | **GET** /vault/accounts/{vaultAccountId}/{assetId}/{change}/{addressIndex}/public_key_info | Get an asset's public key
*VaultsApi* | [**getUnspentInputs**](docs/VaultsApi.md#getUnspentInputs) | **GET** /vault/accounts/{vaultAccountId}/{assetId}/unspent_inputs | Get UTXO unspent inputs information
+*VaultsApi* | [**getUsdcGatewayDepositAutomationBeta**](docs/VaultsApi.md#getUsdcGatewayDepositAutomationBeta) | **GET** /vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation | Read the USDC Gateway deposit automations for a vault account
*VaultsApi* | [**getUsdcGatewayWalletInfoBeta**](docs/VaultsApi.md#getUsdcGatewayWalletInfoBeta) | **GET** /vault/accounts/{vaultAccountId}/usdc_gateway | Get USDC Gateway wallet info
*VaultsApi* | [**getVaultAccount**](docs/VaultsApi.md#getVaultAccount) | **GET** /vault/accounts/{vaultAccountId} | Get a vault account by ID
*VaultsApi* | [**getVaultAccountAsset**](docs/VaultsApi.md#getVaultAccountAsset) | **GET** /vault/accounts/{vaultAccountId}/{assetId} | Get the asset balance for a vault account
@@ -545,9 +559,11 @@ Class | Method | HTTP request | Description
*VaultsApi* | [**hideVaultAccount**](docs/VaultsApi.md#hideVaultAccount) | **POST** /vault/accounts/{vaultAccountId}/hide | Hide a vault account in the console
*VaultsApi* | [**lookupVaultByAddress**](docs/VaultsApi.md#lookupVaultByAddress) | **GET** /vault/lookup_by_address | Look up a vault account by blockchain address
*VaultsApi* | [**setCustomerRefIdForAddress**](docs/VaultsApi.md#setCustomerRefIdForAddress) | **POST** /vault/accounts/{vaultAccountId}/{assetId}/addresses/{addressId}/set_customer_ref_id | Assign AML customer reference ID
+*VaultsApi* | [**setUsdcGatewayDepositAutomationBeta**](docs/VaultsApi.md#setUsdcGatewayDepositAutomationBeta) | **POST** /vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation | Set up a USDC Gateway deposit automation for a vault account
*VaultsApi* | [**setVaultAccountAutoFuel**](docs/VaultsApi.md#setVaultAccountAutoFuel) | **POST** /vault/accounts/{vaultAccountId}/set_auto_fuel | Set auto fueling to on or off
*VaultsApi* | [**setVaultAccountCustomerRefId**](docs/VaultsApi.md#setVaultAccountCustomerRefId) | **POST** /vault/accounts/{vaultAccountId}/set_customer_ref_id | Set an AML/KYT ID for a vault account
*VaultsApi* | [**unhideVaultAccount**](docs/VaultsApi.md#unhideVaultAccount) | **POST** /vault/accounts/{vaultAccountId}/unhide | Unhide a vault account in the console
+*VaultsApi* | [**updateUsdcGatewayDepositAutomationBeta**](docs/VaultsApi.md#updateUsdcGatewayDepositAutomationBeta) | **PATCH** /vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation/{automationId} | Change a USDC Gateway deposit automation
*VaultsApi* | [**updateVaultAccount**](docs/VaultsApi.md#updateVaultAccount) | **PUT** /vault/accounts/{vaultAccountId} | Rename a vault account
*VaultsApi* | [**updateVaultAccountAssetAddress**](docs/VaultsApi.md#updateVaultAccountAssetAddress) | **PUT** /vault/accounts/{vaultAccountId}/{assetId}/addresses/{addressId} | Update address description
*VaultsApi* | [**updateVaultAccountAssetBalance**](docs/VaultsApi.md#updateVaultAccountAssetBalance) | **POST** /vault/accounts/{vaultAccountId}/{assetId}/balance | Refresh asset balance data
@@ -604,6 +620,7 @@ Class | Method | HTTP request | Description
- [AchDestination](docs/AchDestination.md)
- [AchPaymentInfo](docs/AchPaymentInfo.md)
- [ActionRecord](docs/ActionRecord.md)
+ - [ActivateBlockchainResponse](docs/ActivateBlockchainResponse.md)
- [ActiveRolesResponse](docs/ActiveRolesResponse.md)
- [AdapterProcessingResult](docs/AdapterProcessingResult.md)
- [AddAbiRequestDto](docs/AddAbiRequestDto.md)
@@ -647,6 +664,7 @@ Class | Method | HTTP request | Description
- [AllowlistMetadata](docs/AllowlistMetadata.md)
- [AllowlistResponse](docs/AllowlistResponse.md)
- [AmlAlert](docs/AmlAlert.md)
+ - [AmlBypassReasonEnum](docs/AmlBypassReasonEnum.md)
- [AmlMatchedRule](docs/AmlMatchedRule.md)
- [AmlRegistrationResult](docs/AmlRegistrationResult.md)
- [AmlRegistrationResultFullPayload](docs/AmlRegistrationResultFullPayload.md)
@@ -707,6 +725,8 @@ Class | Method | HTTP request | Description
- [AuditorData](docs/AuditorData.md)
- [AuthorizationGroups](docs/AuthorizationGroups.md)
- [AuthorizationInfo](docs/AuthorizationInfo.md)
+ - [AutomationSettingsRequest](docs/AutomationSettingsRequest.md)
+ - [AutomationSettingsResponse](docs/AutomationSettingsResponse.md)
- [BalanceHistoryItemDto](docs/BalanceHistoryItemDto.md)
- [BalanceHistoryPagedResponse](docs/BalanceHistoryPagedResponse.md)
- [BalanceHistoryPagedResponse2](docs/BalanceHistoryPagedResponse2.md)
@@ -714,14 +734,20 @@ Class | Method | HTTP request | Description
- [BaseProvider](docs/BaseProvider.md)
- [BasicAddressRequest](docs/BasicAddressRequest.md)
- [BlockInfo](docs/BlockInfo.md)
+ - [Blockchain](docs/Blockchain.md)
- [BlockchainAddress](docs/BlockchainAddress.md)
+ - [BlockchainDeclaredProperties](docs/BlockchainDeclaredProperties.md)
- [BlockchainDestination](docs/BlockchainDestination.md)
+ - [BlockchainEnvironment](docs/BlockchainEnvironment.md)
- [BlockchainExplorer](docs/BlockchainExplorer.md)
- [BlockchainMedia](docs/BlockchainMedia.md)
- [BlockchainMetadata](docs/BlockchainMetadata.md)
- [BlockchainNotFoundErrorResponse](docs/BlockchainNotFoundErrorResponse.md)
- [BlockchainOnchain](docs/BlockchainOnchain.md)
- [BlockchainResponse](docs/BlockchainResponse.md)
+ - [BlockchainRpcAuth](docs/BlockchainRpcAuth.md)
+ - [BlockchainSortField](docs/BlockchainSortField.md)
+ - [BlockchainStateFilter](docs/BlockchainStateFilter.md)
- [BlockchainTransfer](docs/BlockchainTransfer.md)
- [BpsFee](docs/BpsFee.md)
- [BusinessEntityTypeEnum](docs/BusinessEntityTypeEnum.md)
@@ -827,6 +853,8 @@ Class | Method | HTTP request | Description
- [CreateAddressResponse](docs/CreateAddressResponse.md)
- [CreateAddressesReportRequest](docs/CreateAddressesReportRequest.md)
- [CreateAssetsRequest](docs/CreateAssetsRequest.md)
+ - [CreateBlockchainRequest](docs/CreateBlockchainRequest.md)
+ - [CreateBlockchainResponse](docs/CreateBlockchainResponse.md)
- [CreateConfigOperationRequest](docs/CreateConfigOperationRequest.md)
- [CreateConnectionRequest](docs/CreateConnectionRequest.md)
- [CreateConnectionResponse](docs/CreateConnectionResponse.md)
@@ -919,6 +947,8 @@ Class | Method | HTTP request | Description
- [DvnConfigWithConfirmations](docs/DvnConfigWithConfirmations.md)
- [EVMTokenCreateParamsDto](docs/EVMTokenCreateParamsDto.md)
- [EarnAsset](docs/EarnAsset.md)
+ - [EarnCurator](docs/EarnCurator.md)
+ - [EarnMetadata](docs/EarnMetadata.md)
- [EarnProvider](docs/EarnProvider.md)
- [EditGasStationConfigurationResponse](docs/EditGasStationConfigurationResponse.md)
- [EmbeddedWallet](docs/EmbeddedWallet.md)
@@ -1013,7 +1043,11 @@ Class | Method | HTTP request | Description
- [GetActionResponse](docs/GetActionResponse.md)
- [GetActionsResponse](docs/GetActionsResponse.md)
- [GetAuditLogsResponse](docs/GetAuditLogsResponse.md)
+ - [GetAutomationSettingsResponse](docs/GetAutomationSettingsResponse.md)
+ - [GetBillingInfoResponse](docs/GetBillingInfoResponse.md)
+ - [GetBlockchainByIdResponse](docs/GetBlockchainByIdResponse.md)
- [GetByorkVerdictResponse](docs/GetByorkVerdictResponse.md)
+ - [GetConnectedAccountsCredentialsPublicKeyResponse](docs/GetConnectedAccountsCredentialsPublicKeyResponse.md)
- [GetConnectionsResponse](docs/GetConnectionsResponse.md)
- [GetConsoleUsersResponse](docs/GetConsoleUsersResponse.md)
- [GetDeployableAddressRequest](docs/GetDeployableAddressRequest.md)
@@ -1035,6 +1069,7 @@ Class | Method | HTTP request | Description
- [GetPositionsResponse](docs/GetPositionsResponse.md)
- [GetProvidersResponse](docs/GetProvidersResponse.md)
- [GetSigningKeyResponseDto](docs/GetSigningKeyResponseDto.md)
+ - [GetTestWalletAddressResponse](docs/GetTestWalletAddressResponse.md)
- [GetTransactionOperation](docs/GetTransactionOperation.md)
- [GetValidationKeyResponseDto](docs/GetValidationKeyResponseDto.md)
- [GetWhitelistIpAddressesResponse](docs/GetWhitelistIpAddressesResponse.md)
@@ -1099,6 +1134,7 @@ Class | Method | HTTP request | Description
- [LinkedTokensCount](docs/LinkedTokensCount.md)
- [ListAssetsResponse](docs/ListAssetsResponse.md)
- [ListBlockchainsResponse](docs/ListBlockchainsResponse.md)
+ - [ListBlockchainsResponse2](docs/ListBlockchainsResponse2.md)
- [ListLegalEntitiesResponse](docs/ListLegalEntitiesResponse.md)
- [ListOwnedCollectionsResponse](docs/ListOwnedCollectionsResponse.md)
- [ListOwnedTokensResponse](docs/ListOwnedTokensResponse.md)
@@ -1223,6 +1259,9 @@ Class | Method | HTTP request | Description
- [PolicyRule](docs/PolicyRule.md)
- [PolicyRuleCheckResult](docs/PolicyRuleCheckResult.md)
- [PolicyRuleError](docs/PolicyRuleError.md)
+ - [PolicyRuleQuotaParticipant](docs/PolicyRuleQuotaParticipant.md)
+ - [PolicyRuleQuotaRequest](docs/PolicyRuleQuotaRequest.md)
+ - [PolicyRuleQuotaResponse](docs/PolicyRuleQuotaResponse.md)
- [PolicyStatus](docs/PolicyStatus.md)
- [PolicyTag](docs/PolicyTag.md)
- [PolicyType](docs/PolicyType.md)
@@ -1237,6 +1276,7 @@ Class | Method | HTTP request | Description
- [PrefundedSettlement](docs/PrefundedSettlement.md)
- [PrefundedSettlementType](docs/PrefundedSettlementType.md)
- [ProgramCallConfig](docs/ProgramCallConfig.md)
+ - [ProgramCallDecodedDataItem](docs/ProgramCallDecodedDataItem.md)
- [Provider](docs/Provider.md)
- [ProvidersListResponse](docs/ProvidersListResponse.md)
- [PublicKeyInformation](docs/PublicKeyInformation.md)
@@ -1288,6 +1328,8 @@ Class | Method | HTTP request | Description
- [ReportOutputFormat](docs/ReportOutputFormat.md)
- [ReportStatus](docs/ReportStatus.md)
- [ReportType](docs/ReportType.md)
+ - [RescreenTransactionRequest](docs/RescreenTransactionRequest.md)
+ - [RescreenTransactionResponse](docs/RescreenTransactionResponse.md)
- [ResendByQueryRequest](docs/ResendByQueryRequest.md)
- [ResendByQueryResponse](docs/ResendByQueryResponse.md)
- [ResendFailedNotificationsJobStatusResponse](docs/ResendFailedNotificationsJobStatusResponse.md)
@@ -1309,6 +1351,7 @@ Class | Method | HTTP request | Description
- [SEPADestination](docs/SEPADestination.md)
- [SOLAccount](docs/SOLAccount.md)
- [SOLAccountWithValue](docs/SOLAccountWithValue.md)
+ - [SaveAutomationSettingsResponse](docs/SaveAutomationSettingsResponse.md)
- [ScopeItem](docs/ScopeItem.md)
- [ScopeItemFailure](docs/ScopeItemFailure.md)
- [ScreeningAlertExposureTypeEnum](docs/ScreeningAlertExposureTypeEnum.md)
@@ -1326,6 +1369,7 @@ Class | Method | HTTP request | Description
- [ScreeningPolicyCurrency](docs/ScreeningPolicyCurrency.md)
- [ScreeningPolicyResponse](docs/ScreeningPolicyResponse.md)
- [ScreeningProviderRulesConfigurationResponse](docs/ScreeningProviderRulesConfigurationResponse.md)
+ - [ScreeningStatusEnum](docs/ScreeningStatusEnum.md)
- [ScreeningTRLinkAmount](docs/ScreeningTRLinkAmount.md)
- [ScreeningTRLinkMissingTrmDecision](docs/ScreeningTRLinkMissingTrmDecision.md)
- [ScreeningTRLinkMissingTrmRule](docs/ScreeningTRLinkMissingTrmRule.md)
@@ -1530,6 +1574,7 @@ Class | Method | HTTP request | Description
- [TagsPagedResponse](docs/TagsPagedResponse.md)
- [TemplatesPaginatedResponse](docs/TemplatesPaginatedResponse.md)
- [ThirdPartyRouting](docs/ThirdPartyRouting.md)
+ - [TimeBasedTrigger](docs/TimeBasedTrigger.md)
- [TimePeriodConfig](docs/TimePeriodConfig.md)
- [TimePeriodMatchType](docs/TimePeriodMatchType.md)
- [ToCollateralTransaction](docs/ToCollateralTransaction.md)
@@ -1634,6 +1679,7 @@ Class | Method | HTTP request | Description
- [TravelRuleValidateTransactionResponse](docs/TravelRuleValidateTransactionResponse.md)
- [TravelRuleVaspForVault](docs/TravelRuleVaspForVault.md)
- [TravelRuleVerdictEnum](docs/TravelRuleVerdictEnum.md)
+ - [TriggerValidationFlowResponse](docs/TriggerValidationFlowResponse.md)
- [TrustProofOfAddressCreateResponse](docs/TrustProofOfAddressCreateResponse.md)
- [TrustProofOfAddressRequest](docs/TrustProofOfAddressRequest.md)
- [TrustProofOfAddressResponse](docs/TrustProofOfAddressResponse.md)
@@ -1647,6 +1693,8 @@ Class | Method | HTTP request | Description
- [UnspentInputsResponse](docs/UnspentInputsResponse.md)
- [UnstakeRequest](docs/UnstakeRequest.md)
- [UpdateAssetUserMetadataRequest](docs/UpdateAssetUserMetadataRequest.md)
+ - [UpdateAutomationSettingsRequest](docs/UpdateAutomationSettingsRequest.md)
+ - [UpdateBlockchainResponse](docs/UpdateBlockchainResponse.md)
- [UpdateCallbackHandlerRequest](docs/UpdateCallbackHandlerRequest.md)
- [UpdateCallbackHandlerResponse](docs/UpdateCallbackHandlerResponse.md)
- [UpdateCounterpartyGroupRequest](docs/UpdateCounterpartyGroupRequest.md)
diff --git a/api/openapi.yaml b/api/openapi.yaml
index 3c96d5ce..7fdbded0 100644
--- a/api/openapi.yaml
+++ b/api/openapi.yaml
@@ -548,6 +548,618 @@ paths:
\ page_cursor, cursor);"
x-accepts:
- application/json
+ /blockchain_link/blockchains:
+ get:
+ description: "Returns the tenant's blockchains, paginated and filterable by\
+ \ state, network environment, and free-text search, with configurable sorting."
+ operationId: listBlockchainLinkChains
+ parameters:
+ - description: "tenant_id is extracted from JWT token context. Opaque cursor\
+ \ for the requested page. Currently encodes the 1-based page number as a\
+ \ decimal string (\"1\", \"2\", ...); treat as opaque on the client. Absent\
+ \ = first page."
+ example: "1"
+ explode: true
+ in: query
+ name: pageCursor
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: "Maximum number of items per page. Default 20, clamped to [1,\
+ \ 1000]."
+ example: 20
+ explode: true
+ in: query
+ name: pageSize
+ required: false
+ schema:
+ default: 20
+ maximum: 1000
+ minimum: 1
+ type: number
+ style: form
+ - description: Free-text search across chain and symbol name.
+ example: eth
+ explode: true
+ in: query
+ name: search
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Include filter (repeated query params).
+ example:
+ - BLOCKCHAIN_STATE_ACTIVATED
+ explode: true
+ in: query
+ name: status
+ required: false
+ schema:
+ items:
+ $ref: "#/components/schemas/BlockchainStateFilter"
+ type: array
+ style: form
+ - description: Filter by network.
+ explode: true
+ in: query
+ name: blockchainEnv
+ required: false
+ schema:
+ $ref: "#/components/schemas/BlockchainEnvironment"
+ style: form
+ - description: "Sort field. Default: createdAt."
+ explode: true
+ in: query
+ name: sortBy
+ required: false
+ schema:
+ $ref: "#/components/schemas/BlockchainSortField"
+ style: form
+ - description: "Sort order. Default: DESC."
+ example: DESC
+ explode: true
+ in: query
+ name: order
+ required: false
+ schema:
+ default: DESC
+ enum:
+ - ASC
+ - DESC
+ type: string
+ style: form
+ - description: Exclude filter (repeated query params).
+ example:
+ - BLOCKCHAIN_STATE_DEACTIVATED
+ explode: true
+ in: query
+ name: statusExclude
+ required: false
+ schema:
+ items:
+ $ref: "#/components/schemas/BlockchainStateFilter"
+ type: array
+ style: form
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/ListBlockchainsResponse-2"
+ description: OK
+ headers:
+ X-Request-ID:
+ $ref: "#/components/headers/X-Request-ID"
+ default:
+ $ref: "#/components/responses/Error"
+ summary: List blockchains with pagination and filtering
+ tags:
+ - Blockchain link (Beta)
+ x-rate-limit-category: query
+ x-readme:
+ code-samples:
+ - language: typescript
+ code: "const response: Promise>\
+ \ = fireblocks.blockchainLinkBeta.listBlockchainLinkChains(blockchainLinkBetaApiListBlockchainLinkChainsRequest);"
+ name: Fireblocks SDK TypeScript example
+ - language: java
+ code: "CompletableFuture> response\
+ \ = fireblocks.blockchainLinkBeta().listBlockchainLinkChains(pageCursor,\
+ \ pageSize, search, status, blockchainEnv, sortBy, order, statusExclude);"
+ name: Fireblocks SDK Java example
+ - language: python
+ code: "response = fireblocks.blockchain_link_beta.list_blockchain_link_chains(page_cursor,\
+ \ page_size, search, status, blockchain_env, sort_by, order, status_exclude);"
+ name: Fireblocks SDK Python example
+ x-codeSamples:
+ - lang: TypeScript
+ source: "const response: Promise>\
+ \ = fireblocks.blockchainLinkBeta.listBlockchainLinkChains(blockchainLinkBetaApiListBlockchainLinkChainsRequest);"
+ - lang: Java
+ source: "CompletableFuture> response\
+ \ = fireblocks.blockchainLinkBeta().listBlockchainLinkChains(pageCursor,\
+ \ pageSize, search, status, blockchainEnv, sortBy, order, statusExclude);"
+ - lang: Python
+ source: "response = fireblocks.blockchain_link_beta.list_blockchain_link_chains(page_cursor,\
+ \ page_size, search, status, blockchain_env, sort_by, order, status_exclude);"
+ x-accepts:
+ - application/json
+ post:
+ description: Registers a new tenant-managed blockchain from the supplied declared
+ properties. The blockchain starts in the CREATED state and must be activated
+ separately before it can be used.
+ operationId: createBlockchainLinkChain
+ parameters:
+ - description: "A unique identifier for the request. If the request is sent\
+ \ multiple times with the same idempotency key, the server will return the\
+ \ same response as the first request. The idempotency key is valid for 24\
+ \ hours."
+ explode: false
+ in: header
+ name: Idempotency-Key
+ required: false
+ schema:
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/CreateBlockchainRequest"
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/CreateBlockchainResponse"
+ description: OK
+ headers:
+ X-Request-ID:
+ $ref: "#/components/headers/X-Request-ID"
+ default:
+ $ref: "#/components/responses/Error"
+ summary: Create a new blockchain
+ tags:
+ - Blockchain link (Beta)
+ x-rate-limit-category: write
+ x-readme:
+ code-samples:
+ - language: typescript
+ code: "const response: Promise>\
+ \ = fireblocks.blockchainLinkBeta.createBlockchainLinkChain(blockchainLinkBetaApiCreateBlockchainLinkChainRequest);"
+ name: Fireblocks SDK TypeScript example
+ - language: java
+ code: "CompletableFuture> response\
+ \ = fireblocks.blockchainLinkBeta().createBlockchainLinkChain(createBlockchainRequest,\
+ \ idempotencyKey);"
+ name: Fireblocks SDK Java example
+ - language: python
+ code: "response = fireblocks.blockchain_link_beta.create_blockchain_link_chain(create_blockchain_request,\
+ \ idempotency_key);"
+ name: Fireblocks SDK Python example
+ x-codeSamples:
+ - lang: TypeScript
+ source: "const response: Promise>\
+ \ = fireblocks.blockchainLinkBeta.createBlockchainLinkChain(blockchainLinkBetaApiCreateBlockchainLinkChainRequest);"
+ - lang: Java
+ source: "CompletableFuture> response\
+ \ = fireblocks.blockchainLinkBeta().createBlockchainLinkChain(createBlockchainRequest,\
+ \ idempotencyKey);"
+ - lang: Python
+ source: "response = fireblocks.blockchain_link_beta.create_blockchain_link_chain(create_blockchain_request,\
+ \ idempotency_key);"
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /blockchain_link/blockchains/{blockchainId}:
+ delete:
+ description: Permanently removes a blockchain identified by its ID. The blockchain
+ must not be in an active lifecycle state.
+ operationId: deleteBlockchainLinkChain
+ parameters:
+ - description: tenant_id is extracted from JWT token context
+ explode: false
+ in: path
+ name: blockchainId
+ required: true
+ schema:
+ type: string
+ style: simple
+ responses:
+ "204":
+ description: No Content
+ headers:
+ X-Request-ID:
+ $ref: "#/components/headers/X-Request-ID"
+ default:
+ $ref: "#/components/responses/Error"
+ summary: Delete a blockchain
+ tags:
+ - Blockchain link (Beta)
+ x-rate-limit-category: write
+ x-readme:
+ code-samples:
+ - language: typescript
+ code: "const response: Promise> = fireblocks.blockchainLinkBeta.deleteBlockchainLinkChain(blockchainLinkBetaApiDeleteBlockchainLinkChainRequest);"
+ name: Fireblocks SDK TypeScript example
+ - language: java
+ code: CompletableFuture> response = fireblocks.blockchainLinkBeta().deleteBlockchainLinkChain(blockchainId);
+ name: Fireblocks SDK Java example
+ - language: python
+ code: response = fireblocks.blockchain_link_beta.delete_blockchain_link_chain(blockchain_id);
+ name: Fireblocks SDK Python example
+ x-codeSamples:
+ - lang: TypeScript
+ source: "const response: Promise> = fireblocks.blockchainLinkBeta.deleteBlockchainLinkChain(blockchainLinkBetaApiDeleteBlockchainLinkChainRequest);"
+ - lang: Java
+ source: CompletableFuture> response = fireblocks.blockchainLinkBeta().deleteBlockchainLinkChain(blockchainId);
+ - lang: Python
+ source: response = fireblocks.blockchain_link_beta.delete_blockchain_link_chain(blockchain_id);
+ x-accepts:
+ - application/json
+ get:
+ description: "Returns a single blockchain owned by the tenant, identified by\
+ \ its ID."
+ operationId: getBlockchainLinkChain
+ parameters:
+ - description: ID of the blockchain to retrieve (supplied as a path parameter).
+ explode: false
+ in: path
+ name: blockchainId
+ required: true
+ schema:
+ example: f47ac10b-58cc-4372-a567-0e02b2c3d479
+ type: string
+ style: simple
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/GetBlockchainByIdResponse"
+ description: OK
+ headers:
+ X-Request-ID:
+ $ref: "#/components/headers/X-Request-ID"
+ default:
+ $ref: "#/components/responses/Error"
+ summary: Get a blockchain by ID
+ tags:
+ - Blockchain link (Beta)
+ x-rate-limit-category: read
+ x-readme:
+ code-samples:
+ - language: typescript
+ code: "const response: Promise>\
+ \ = fireblocks.blockchainLinkBeta.getBlockchainLinkChain(blockchainLinkBetaApiGetBlockchainLinkChainRequest);"
+ name: Fireblocks SDK TypeScript example
+ - language: java
+ code: CompletableFuture> response
+ = fireblocks.blockchainLinkBeta().getBlockchainLinkChain(blockchainId);
+ name: Fireblocks SDK Java example
+ - language: python
+ code: response = fireblocks.blockchain_link_beta.get_blockchain_link_chain(blockchain_id);
+ name: Fireblocks SDK Python example
+ x-codeSamples:
+ - lang: TypeScript
+ source: "const response: Promise>\
+ \ = fireblocks.blockchainLinkBeta.getBlockchainLinkChain(blockchainLinkBetaApiGetBlockchainLinkChainRequest);"
+ - lang: Java
+ source: CompletableFuture> response
+ = fireblocks.blockchainLinkBeta().getBlockchainLinkChain(blockchainId);
+ - lang: Python
+ source: response = fireblocks.blockchain_link_beta.get_blockchain_link_chain(blockchain_id);
+ x-accepts:
+ - application/json
+ put:
+ description: Updates the declared properties of an existing blockchain identified
+ by its ID. Only the fields supplied in the request are modified.
+ operationId: updateBlockchainLinkChain
+ parameters:
+ - description: ID of the blockchain to update (supplied as a path parameter).
+ explode: false
+ in: path
+ name: blockchainId
+ required: true
+ schema:
+ example: f47ac10b-58cc-4372-a567-0e02b2c3d479
+ type: string
+ style: simple
+ - description: "A unique identifier for the request. If the request is sent\
+ \ multiple times with the same idempotency key, the server will return the\
+ \ same response as the first request. The idempotency key is valid for 24\
+ \ hours."
+ explode: false
+ in: header
+ name: Idempotency-Key
+ required: false
+ schema:
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/BlockchainDeclaredProperties"
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/UpdateBlockchainResponse"
+ description: OK
+ headers:
+ X-Request-ID:
+ $ref: "#/components/headers/X-Request-ID"
+ default:
+ $ref: "#/components/responses/Error"
+ summary: Update a blockchain
+ tags:
+ - Blockchain link (Beta)
+ x-rate-limit-category: write
+ x-readme:
+ code-samples:
+ - language: typescript
+ code: "const response: Promise>\
+ \ = fireblocks.blockchainLinkBeta.updateBlockchainLinkChain(blockchainLinkBetaApiUpdateBlockchainLinkChainRequest);"
+ name: Fireblocks SDK TypeScript example
+ - language: java
+ code: "CompletableFuture> response\
+ \ = fireblocks.blockchainLinkBeta().updateBlockchainLinkChain(blockchainDeclaredProperties,\
+ \ blockchainId, idempotencyKey);"
+ name: Fireblocks SDK Java example
+ - language: python
+ code: "response = fireblocks.blockchain_link_beta.update_blockchain_link_chain(blockchain_declared_properties,\
+ \ blockchain_id, idempotency_key);"
+ name: Fireblocks SDK Python example
+ x-codeSamples:
+ - lang: TypeScript
+ source: "const response: Promise>\
+ \ = fireblocks.blockchainLinkBeta.updateBlockchainLinkChain(blockchainLinkBetaApiUpdateBlockchainLinkChainRequest);"
+ - lang: Java
+ source: "CompletableFuture> response\
+ \ = fireblocks.blockchainLinkBeta().updateBlockchainLinkChain(blockchainDeclaredProperties,\
+ \ blockchainId, idempotencyKey);"
+ - lang: Python
+ source: "response = fireblocks.blockchain_link_beta.update_blockchain_link_chain(blockchain_declared_properties,\
+ \ blockchain_id, idempotency_key);"
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /blockchain_link/blockchains/{blockchainId}/activate:
+ post:
+ description: "Starts the asynchronous activation workflow for the blockchain\
+ \ identified by its ID, transitioning it towards the ACTIVATED state."
+ operationId: activateBlockchainLinkChain
+ parameters:
+ - description: Required blockchain ID to activate
+ explode: false
+ in: path
+ name: blockchainId
+ required: true
+ schema:
+ type: string
+ style: simple
+ - description: "A unique identifier for the request. If the request is sent\
+ \ multiple times with the same idempotency key, the server will return the\
+ \ same response as the first request. The idempotency key is valid for 24\
+ \ hours."
+ explode: false
+ in: header
+ name: Idempotency-Key
+ required: false
+ schema:
+ type: string
+ style: simple
+ responses:
+ "202":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/ActivateBlockchainResponse"
+ description: Accepted
+ headers:
+ X-Request-ID:
+ $ref: "#/components/headers/X-Request-ID"
+ default:
+ $ref: "#/components/responses/Error"
+ summary: Activate a blockchain (triggers activation workflow)
+ tags:
+ - Blockchain link (Beta)
+ x-rate-limit-category: async
+ x-readme:
+ code-samples:
+ - language: typescript
+ code: "const response: Promise>\
+ \ = fireblocks.blockchainLinkBeta.activateBlockchainLinkChain(blockchainLinkBetaApiActivateBlockchainLinkChainRequest);"
+ name: Fireblocks SDK TypeScript example
+ - language: java
+ code: "CompletableFuture> response\
+ \ = fireblocks.blockchainLinkBeta().activateBlockchainLinkChain(blockchainId,\
+ \ idempotencyKey);"
+ name: Fireblocks SDK Java example
+ - language: python
+ code: "response = fireblocks.blockchain_link_beta.activate_blockchain_link_chain(blockchain_id,\
+ \ idempotency_key);"
+ name: Fireblocks SDK Python example
+ x-codeSamples:
+ - lang: TypeScript
+ source: "const response: Promise>\
+ \ = fireblocks.blockchainLinkBeta.activateBlockchainLinkChain(blockchainLinkBetaApiActivateBlockchainLinkChainRequest);"
+ - lang: Java
+ source: "CompletableFuture> response\
+ \ = fireblocks.blockchainLinkBeta().activateBlockchainLinkChain(blockchainId,\
+ \ idempotencyKey);"
+ - lang: Python
+ source: "response = fireblocks.blockchain_link_beta.activate_blockchain_link_chain(blockchain_id,\
+ \ idempotency_key);"
+ x-accepts:
+ - application/json
+ /blockchain_link/blockchains/{blockchainId}/validate:
+ post:
+ description: Starts the asynchronous validation workflow for a blockchain and
+ its associated validation session.
+ operationId: triggerBlockchainLinkValidation
+ parameters:
+ - description: ID of the blockchain to validate.
+ explode: false
+ in: path
+ name: blockchainId
+ required: true
+ schema:
+ example: f47ac10b-58cc-4372-a567-0e02b2c3d479
+ format: uuid
+ type: string
+ style: simple
+ - description: "A unique identifier for the request. If the request is sent\
+ \ multiple times with the same idempotency key, the server will return the\
+ \ same response as the first request. The idempotency key is valid for 24\
+ \ hours."
+ explode: false
+ in: header
+ name: Idempotency-Key
+ required: false
+ schema:
+ type: string
+ style: simple
+ responses:
+ "202":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/TriggerValidationFlowResponse"
+ description: Accepted
+ headers:
+ X-Request-ID:
+ $ref: "#/components/headers/X-Request-ID"
+ default:
+ $ref: "#/components/responses/Error"
+ summary: Trigger validation workflow
+ tags:
+ - Blockchain link (Beta)
+ x-rate-limit-category: async
+ x-readme:
+ code-samples:
+ - language: typescript
+ code: "const response: Promise>\
+ \ = fireblocks.blockchainLinkBeta.triggerBlockchainLinkValidation(blockchainLinkBetaApiTriggerBlockchainLinkValidationRequest);"
+ name: Fireblocks SDK TypeScript example
+ - language: java
+ code: "CompletableFuture> response\
+ \ = fireblocks.blockchainLinkBeta().triggerBlockchainLinkValidation(blockchainId,\
+ \ idempotencyKey);"
+ name: Fireblocks SDK Java example
+ - language: python
+ code: "response = fireblocks.blockchain_link_beta.trigger_blockchain_link_validation(blockchain_id,\
+ \ idempotency_key);"
+ name: Fireblocks SDK Python example
+ x-codeSamples:
+ - lang: TypeScript
+ source: "const response: Promise>\
+ \ = fireblocks.blockchainLinkBeta.triggerBlockchainLinkValidation(blockchainLinkBetaApiTriggerBlockchainLinkValidationRequest);"
+ - lang: Java
+ source: "CompletableFuture> response\
+ \ = fireblocks.blockchainLinkBeta().triggerBlockchainLinkValidation(blockchainId,\
+ \ idempotencyKey);"
+ - lang: Python
+ source: "response = fireblocks.blockchain_link_beta.trigger_blockchain_link_validation(blockchain_id,\
+ \ idempotency_key);"
+ x-accepts:
+ - application/json
+ /blockchain_link/blockchains/billing_info:
+ get:
+ description: Returns the tenant's blockchain activation limit and current usage.
+ tenant_id is derived from the JWT token context.
+ operationId: getBlockchainLinkBillingInfo
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/GetBillingInfoResponse"
+ description: OK
+ headers:
+ X-Request-ID:
+ $ref: "#/components/headers/X-Request-ID"
+ default:
+ $ref: "#/components/responses/Error"
+ summary: Get tenant billing info
+ tags:
+ - Blockchain link (Beta)
+ x-rate-limit-category: read
+ x-readme:
+ code-samples:
+ - language: typescript
+ code: "const response: Promise>\
+ \ = fireblocks.blockchainLinkBeta.getBlockchainLinkBillingInfo();"
+ name: Fireblocks SDK TypeScript example
+ - language: java
+ code: CompletableFuture> response =
+ fireblocks.blockchainLinkBeta().getBlockchainLinkBillingInfo();
+ name: Fireblocks SDK Java example
+ - language: python
+ code: response = fireblocks.blockchain_link_beta.get_blockchain_link_billing_info();
+ name: Fireblocks SDK Python example
+ x-codeSamples:
+ - lang: TypeScript
+ source: "const response: Promise>\
+ \ = fireblocks.blockchainLinkBeta.getBlockchainLinkBillingInfo();"
+ - lang: Java
+ source: CompletableFuture> response =
+ fireblocks.blockchainLinkBeta().getBlockchainLinkBillingInfo();
+ - lang: Python
+ source: response = fireblocks.blockchain_link_beta.get_blockchain_link_billing_info();
+ x-accepts:
+ - application/json
+ /blockchain_link/blockchains/test_wallet_address:
+ get:
+ description: "Returns the Ethereum address derived from the configured external\
+ \ wallet private key, used by the UI for test transfers. tenant_id is derived\
+ \ from the JWT token context."
+ operationId: getBlockchainLinkTestWalletAddress
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/GetTestWalletAddressResponse"
+ description: OK
+ headers:
+ X-Request-ID:
+ $ref: "#/components/headers/X-Request-ID"
+ default:
+ $ref: "#/components/responses/Error"
+ summary: Get the test wallet address
+ tags:
+ - Blockchain link (Beta)
+ x-rate-limit-category: read
+ x-readme:
+ code-samples:
+ - language: typescript
+ code: "const response: Promise>\
+ \ = fireblocks.blockchainLinkBeta.getBlockchainLinkTestWalletAddress();"
+ name: Fireblocks SDK TypeScript example
+ - language: java
+ code: CompletableFuture> response
+ = fireblocks.blockchainLinkBeta().getBlockchainLinkTestWalletAddress();
+ name: Fireblocks SDK Java example
+ - language: python
+ code: response = fireblocks.blockchain_link_beta.get_blockchain_link_test_wallet_address();
+ name: Fireblocks SDK Python example
+ x-codeSamples:
+ - lang: TypeScript
+ source: "const response: Promise>\
+ \ = fireblocks.blockchainLinkBeta.getBlockchainLinkTestWalletAddress();"
+ - lang: Java
+ source: CompletableFuture> response
+ = fireblocks.blockchainLinkBeta().getBlockchainLinkTestWalletAddress();
+ - lang: Python
+ source: response = fireblocks.blockchain_link_beta.get_blockchain_link_test_wallet_address();
+ x-accepts:
+ - application/json
/assets:
get:
description: |
@@ -3885,6 +4497,85 @@ paths:
\ idempotency_key);"
x-accepts:
- application/json
+ /screening/transaction/{txId}/rescreen:
+ post:
+ description: "Re-runs compliance screening on an incoming transaction that was\
+ \ rejected or failed by screening checks, moving it back to pending screening.\
+ \ This endpoint is only applicable to incoming transactions with a rejected/failed\
+ \ AML screening status."
+ operationId: rescreenRejectedTransaction
+ parameters:
+ - description: The transaction id that was rejected by screening checks
+ example: 550e8400-e29b-41d4-a716-446655440000
+ explode: false
+ in: path
+ name: txId
+ required: true
+ schema:
+ type: string
+ style: simple
+ - description: "A unique identifier for the request. If the request is sent\
+ \ multiple times with the same idempotency key, the server will return the\
+ \ same response as the first request. The idempotency key is valid for 24\
+ \ hours."
+ explode: false
+ in: header
+ name: Idempotency-Key
+ required: false
+ schema:
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/RescreenTransactionRequest"
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/RescreenTransactionResponse"
+ description: Rescreen result
+ headers:
+ X-Request-ID:
+ $ref: "#/components/headers/X-Request-ID"
+ default:
+ $ref: "#/components/responses/Error"
+ summary: Rescreen a rejected transaction
+ tags:
+ - Compliance
+ x-rate-limit-category: write
+ x-readme:
+ code-samples:
+ - language: typescript
+ code: "const response: Promise>\
+ \ = fireblocks.compliance.rescreenRejectedTransaction(complianceApiRescreenRejectedTransactionRequest);"
+ name: Fireblocks SDK TypeScript example
+ - language: java
+ code: "CompletableFuture> response\
+ \ = fireblocks.compliance().rescreenRejectedTransaction(txId, rescreenTransactionRequest,\
+ \ idempotencyKey);"
+ name: Fireblocks SDK Java example
+ - language: python
+ code: "response = fireblocks.compliance.rescreen_rejected_transaction(tx_id,\
+ \ rescreen_transaction_request, idempotency_key);"
+ name: Fireblocks SDK Python example
+ x-codeSamples:
+ - lang: TypeScript
+ source: "const response: Promise>\
+ \ = fireblocks.compliance.rescreenRejectedTransaction(complianceApiRescreenRejectedTransactionRequest);"
+ - lang: Java
+ source: "CompletableFuture> response\
+ \ = fireblocks.compliance().rescreenRejectedTransaction(txId, rescreenTransactionRequest,\
+ \ idempotencyKey);"
+ - lang: Python
+ source: "response = fireblocks.compliance.rescreen_rejected_transaction(tx_id,\
+ \ rescreen_transaction_request, idempotency_key);"
+ x-content-type: application/json
+ x-accepts:
+ - application/json
/screening/travel_rule/policy_configuration:
get:
description: Retrieves the configuration for Travel Rule screening policy.
@@ -4140,7 +4831,7 @@ paths:
Creates a new connected account for the authenticated tenant.
The `creds` field must be a Base64-encoded RSA-encrypted credential blob.
- Use `GET /exchange_accounts/credentials_public_key` to retrieve the public key for encryption.
+ Use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption.
The `providerType` is derived server-side from the `providerId` — callers do not supply it.
@@ -4435,18 +5126,6 @@ paths:
minimum: 1
type: integer
style: form
- - description: Field to sort results by.
- explode: true
- in: query
- name: sortBy
- required: false
- schema:
- default: addedAt
- enum:
- - addedAt
- - lastSyncedAt
- type: string
- style: form
- description: Sort order (ASC or DESC).
explode: true
in: query
@@ -4493,12 +5172,11 @@ paths:
name: Fireblocks SDK TypeScript example
- language: java
code: "CompletableFuture> response = fireblocks.connectedAccountsBeta().getConnectedAccountAllowlist(accountId,\
- \ status, assetId, networkId, address, pageCursor, pageSize, sortBy, order);"
+ \ status, assetId, networkId, address, pageCursor, pageSize, order);"
name: Fireblocks SDK Java example
- language: python
code: "response = fireblocks.connected_accounts_beta.get_connected_account_allowlist(account_id,\
- \ status, asset_id, network_id, address, page_cursor, page_size, sort_by,\
- \ order);"
+ \ status, asset_id, network_id, address, page_cursor, page_size, order);"
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
@@ -4506,11 +5184,10 @@ paths:
\ fireblocks.connectedAccountsBeta.getConnectedAccountAllowlist(connectedAccountsBetaApiGetConnectedAccountAllowlistRequest);"
- lang: Java
source: "CompletableFuture> response = fireblocks.connectedAccountsBeta().getConnectedAccountAllowlist(accountId,\
- \ status, assetId, networkId, address, pageCursor, pageSize, sortBy, order);"
+ \ status, assetId, networkId, address, pageCursor, pageSize, order);"
- lang: Python
source: "response = fireblocks.connected_accounts_beta.get_connected_account_allowlist(account_id,\
- \ status, asset_id, network_id, address, page_cursor, page_size, sort_by,\
- \ order);"
+ \ status, asset_id, network_id, address, page_cursor, page_size, order);"
x-accepts:
- application/json
/connected_accounts/{accountId}/allowlist/{allowlistId}:
@@ -5003,6 +5680,55 @@ paths:
x-content-type: application/json
x-accepts:
- application/json
+ /connected_accounts/credentials/public_key:
+ get:
+ description: |
+ Returns the RSA public key used to encrypt the `creds` field before calling `POST /connected_accounts`.
+
+ The key is a singleton resource scoped to the connected-accounts credentials domain — there is one per tenant context.
+
+ **Note:** This endpoint is currently in beta and might be subject to changes.
+ operationId: getConnectedAccountsCredentialsPublicKey
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/GetConnectedAccountsCredentialsPublicKeyResponse"
+ description: Public key retrieved successfully.
+ headers:
+ X-Request-ID:
+ $ref: "#/components/headers/X-Request-ID"
+ default:
+ $ref: "#/components/responses/Error"
+ summary: Get public key to encrypt connected account credentials
+ tags:
+ - Connected Accounts (Beta)
+ x-rate-limit-category: read
+ x-readme:
+ code-samples:
+ - language: typescript
+ code: "const response: Promise>\
+ \ = fireblocks.connectedAccountsBeta.getConnectedAccountsCredentialsPublicKey();"
+ name: Fireblocks SDK TypeScript example
+ - language: java
+ code: CompletableFuture>
+ response = fireblocks.connectedAccountsBeta().getConnectedAccountsCredentialsPublicKey();
+ name: Fireblocks SDK Java example
+ - language: python
+ code: response = fireblocks.connected_accounts_beta.get_connected_accounts_credentials_public_key();
+ name: Fireblocks SDK Python example
+ x-codeSamples:
+ - lang: TypeScript
+ source: "const response: Promise>\
+ \ = fireblocks.connectedAccountsBeta.getConnectedAccountsCredentialsPublicKey();"
+ - lang: Java
+ source: CompletableFuture>
+ response = fireblocks.connectedAccountsBeta().getConnectedAccountsCredentialsPublicKey();
+ - lang: Python
+ source: response = fireblocks.connected_accounts_beta.get_connected_accounts_credentials_public_key();
+ x-accepts:
+ - application/json
/management/users:
get:
description: |-
@@ -7788,8 +8514,6 @@ paths:
get:
description: |
Returns a paginated list of lending actions (deposits and withdrawals) for the authenticated tenant.
-
- **Note:** This endpoint is currently in beta and might be subject to changes.
operationId: getEarnActions
parameters:
- description: Cursor for the next or previous page of results.
@@ -7887,31 +8611,31 @@ paths:
$ref: "#/components/responses/Error"
summary: List earn lending actions
tags:
- - Earn (Beta)
+ - Earn
x-rate-limit-category: query
x-readme:
code-samples:
- language: typescript
code: "const response: Promise> =\
- \ fireblocks.earnBeta.getEarnActions(earnBetaApiGetEarnActionsRequest);"
+ \ fireblocks.earn.getEarnActions(earnApiGetEarnActionsRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.earnBeta().getEarnActions(pageCursor,\
+ code: "CompletableFuture> response = fireblocks.earn().getEarnActions(pageCursor,\
\ pageSize, sortBy, order);"
name: Fireblocks SDK Java example
- language: python
- code: "response = fireblocks.earn_beta.get_earn_actions(page_cursor, page_size,\
+ code: "response = fireblocks.earn.get_earn_actions(page_cursor, page_size,\
\ sort_by, order);"
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: "const response: Promise> =\
- \ fireblocks.earnBeta.getEarnActions(earnBetaApiGetEarnActionsRequest);"
+ \ fireblocks.earn.getEarnActions(earnApiGetEarnActionsRequest);"
- lang: Java
- source: "CompletableFuture> response = fireblocks.earnBeta().getEarnActions(pageCursor,\
+ source: "CompletableFuture> response = fireblocks.earn().getEarnActions(pageCursor,\
\ pageSize, sortBy, order);"
- lang: Python
- source: "response = fireblocks.earn_beta.get_earn_actions(page_cursor, page_size,\
+ source: "response = fireblocks.earn.get_earn_actions(page_cursor, page_size,\
\ sort_by, order);"
x-accepts:
- application/json
@@ -7919,8 +8643,6 @@ paths:
description: |
Creates and runs a sequence of on-chain steps for either a deposit into or a withdrawal from an earn
vault/market. Specify the operation with `action` in the request body (`DEPOSIT` or `WITHDRAW`).
-
- **Note:** This endpoint is currently in beta and might be subject to changes.
operationId: createEarnAction
parameters:
- description: "A unique identifier for the request. If the request is sent\
@@ -8002,31 +8724,31 @@ paths:
$ref: "#/components/responses/Error"
summary: Create and execute a lending action (deposit or withdraw)
tags:
- - Earn (Beta)
+ - Earn
x-rate-limit-category: write
x-readme:
code-samples:
- language: typescript
code: "const response: Promise>\
- \ = fireblocks.earnBeta.createEarnAction(earnBetaApiCreateEarnActionRequest);"
+ \ = fireblocks.earn.createEarnAction(earnApiCreateEarnActionRequest);"
name: Fireblocks SDK TypeScript example
- language: java
code: "CompletableFuture> response\
- \ = fireblocks.earnBeta().createEarnAction(createEarnActionRequest, idempotencyKey);"
+ \ = fireblocks.earn().createEarnAction(createEarnActionRequest, idempotencyKey);"
name: Fireblocks SDK Java example
- language: python
- code: "response = fireblocks.earn_beta.create_earn_action(create_earn_action_request,\
+ code: "response = fireblocks.earn.create_earn_action(create_earn_action_request,\
\ idempotency_key);"
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: "const response: Promise>\
- \ = fireblocks.earnBeta.createEarnAction(earnBetaApiCreateEarnActionRequest);"
+ \ = fireblocks.earn.createEarnAction(earnApiCreateEarnActionRequest);"
- lang: Java
source: "CompletableFuture> response\
- \ = fireblocks.earnBeta().createEarnAction(createEarnActionRequest, idempotencyKey);"
+ \ = fireblocks.earn().createEarnAction(createEarnActionRequest, idempotencyKey);"
- lang: Python
- source: "response = fireblocks.earn_beta.create_earn_action(create_earn_action_request,\
+ source: "response = fireblocks.earn.create_earn_action(create_earn_action_request,\
\ idempotency_key);"
x-content-type: application/json
x-accepts:
@@ -8035,8 +8757,6 @@ paths:
get:
description: |
Returns one lending action by its action sequence id (tenant-scoped).
-
- **Note:** This endpoint is currently in beta and might be subject to changes.
operationId: getEarnAction
parameters:
- description: Action sequence id (UUID).
@@ -8100,36 +8820,34 @@ paths:
$ref: "#/components/responses/Error"
summary: Get a single earn lending action
tags:
- - Earn (Beta)
+ - Earn
x-rate-limit-category: query
x-readme:
code-samples:
- language: typescript
code: "const response: Promise> =\
- \ fireblocks.earnBeta.getEarnAction(earnBetaApiGetEarnActionRequest);"
+ \ fireblocks.earn.getEarnAction(earnApiGetEarnActionRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response = fireblocks.earnBeta().getEarnAction(id);
+ code: CompletableFuture> response = fireblocks.earn().getEarnAction(id);
name: Fireblocks SDK Java example
- language: python
- code: response = fireblocks.earn_beta.get_earn_action(id);
+ code: response = fireblocks.earn.get_earn_action(id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: "const response: Promise> =\
- \ fireblocks.earnBeta.getEarnAction(earnBetaApiGetEarnActionRequest);"
+ \ fireblocks.earn.getEarnAction(earnApiGetEarnActionRequest);"
- lang: Java
- source: CompletableFuture> response = fireblocks.earnBeta().getEarnAction(id);
+ source: CompletableFuture> response = fireblocks.earn().getEarnAction(id);
- lang: Python
- source: response = fireblocks.earn_beta.get_earn_action(id);
+ source: response = fireblocks.earn.get_earn_action(id);
x-accepts:
- application/json
/earn/opportunities:
get:
description: |
Get list of earn opportunities (vaults).
-
- **Note:** This endpoint is currently in beta and might be subject to changes.
operationId: getEarnOpportunities
parameters:
- description: Cursor for the next or previous page of results.
@@ -8224,41 +8942,41 @@ paths:
$ref: "#/components/responses/Error"
summary: Get list of earn opportunities
tags:
- - Earn (Beta)
+ - Earn
x-rate-limit-category: query
x-readme:
code-samples:
- language: typescript
code: "const response: Promise>\
- \ = fireblocks.earnBeta.getEarnOpportunities(earnBetaApiGetEarnOpportunitiesRequest);"
+ \ = fireblocks.earn.getEarnOpportunities(earnApiGetEarnOpportunitiesRequest);"
name: Fireblocks SDK TypeScript example
- language: java
code: "CompletableFuture> response\
- \ = fireblocks.earnBeta().getEarnOpportunities(pageCursor, pageSize, sortBy,\
+ \ = fireblocks.earn().getEarnOpportunities(pageCursor, pageSize, sortBy,\
\ order);"
name: Fireblocks SDK Java example
- language: python
- code: "response = fireblocks.earn_beta.get_earn_opportunities(page_cursor,\
- \ page_size, sort_by, order);"
+ code: "response = fireblocks.earn.get_earn_opportunities(page_cursor, page_size,\
+ \ sort_by, order);"
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: "const response: Promise>\
- \ = fireblocks.earnBeta.getEarnOpportunities(earnBetaApiGetEarnOpportunitiesRequest);"
+ \ = fireblocks.earn.getEarnOpportunities(earnApiGetEarnOpportunitiesRequest);"
- lang: Java
source: "CompletableFuture> response\
- \ = fireblocks.earnBeta().getEarnOpportunities(pageCursor, pageSize, sortBy,\
+ \ = fireblocks.earn().getEarnOpportunities(pageCursor, pageSize, sortBy,\
\ order);"
- lang: Python
- source: "response = fireblocks.earn_beta.get_earn_opportunities(page_cursor,\
- \ page_size, sort_by, order);"
+ source: "response = fireblocks.earn.get_earn_opportunities(page_cursor, page_size,\
+ \ sort_by, order);"
x-accepts:
- application/json
/earn/positions:
get:
- description: "Get list of earn positions for accounts tracked for this workspace.\
- \ \nOptional query parameters filter by chain, provider, and pagination.\n\
- \n**Note:** This endpoint is currently in beta and might be subject to changes.\n"
+ description: |
+ Get list of earn positions for accounts tracked for this workspace.
+ Optional query parameters filter by chain, provider, and pagination.
operationId: getEarnPositions
parameters:
- explode: true
@@ -8371,31 +9089,31 @@ paths:
$ref: "#/components/responses/Error"
summary: Get list of earn positions
tags:
- - Earn (Beta)
+ - Earn
x-rate-limit-category: query
x-readme:
code-samples:
- language: typescript
code: "const response: Promise>\
- \ = fireblocks.earnBeta.getEarnPositions(earnBetaApiGetEarnPositionsRequest);"
+ \ = fireblocks.earn.getEarnPositions(earnApiGetEarnPositionsRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.earnBeta().getEarnPositions(chainId,\
+ code: "CompletableFuture> response = fireblocks.earn().getEarnPositions(chainId,\
\ providerId, pageCursor, pageSize, sortBy, order);"
name: Fireblocks SDK Java example
- language: python
- code: "response = fireblocks.earn_beta.get_earn_positions(chain_id, provider_id,\
+ code: "response = fireblocks.earn.get_earn_positions(chain_id, provider_id,\
\ page_cursor, page_size, sort_by, order);"
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: "const response: Promise>\
- \ = fireblocks.earnBeta.getEarnPositions(earnBetaApiGetEarnPositionsRequest);"
+ \ = fireblocks.earn.getEarnPositions(earnApiGetEarnPositionsRequest);"
- lang: Java
- source: "CompletableFuture> response = fireblocks.earnBeta().getEarnPositions(chainId,\
+ source: "CompletableFuture> response = fireblocks.earn().getEarnPositions(chainId,\
\ providerId, pageCursor, pageSize, sortBy, order);"
- lang: Python
- source: "response = fireblocks.earn_beta.get_earn_positions(chain_id, provider_id,\
+ source: "response = fireblocks.earn.get_earn_positions(chain_id, provider_id,\
\ page_cursor, page_size, sort_by, order);"
x-accepts:
- application/json
@@ -8403,8 +9121,6 @@ paths:
get:
description: |
Get list of earn providers.
-
- **Note:** This endpoint is currently in beta and might be subject to changes.
operationId: getEarnProviders
parameters:
- description: Cursor for the next or previous page of results.
@@ -8499,31 +9215,31 @@ paths:
$ref: "#/components/responses/Error"
summary: Get list of earn providers
tags:
- - Earn (Beta)
+ - Earn
x-rate-limit-category: query
x-readme:
code-samples:
- language: typescript
code: "const response: Promise>\
- \ = fireblocks.earnBeta.getEarnProviders(earnBetaApiGetEarnProvidersRequest);"
+ \ = fireblocks.earn.getEarnProviders(earnApiGetEarnProvidersRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.earnBeta().getEarnProviders(pageCursor,\
+ code: "CompletableFuture> response = fireblocks.earn().getEarnProviders(pageCursor,\
\ pageSize, sortBy, order);"
name: Fireblocks SDK Java example
- language: python
- code: "response = fireblocks.earn_beta.get_earn_providers(page_cursor, page_size,\
+ code: "response = fireblocks.earn.get_earn_providers(page_cursor, page_size,\
\ sort_by, order);"
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: "const response: Promise>\
- \ = fireblocks.earnBeta.getEarnProviders(earnBetaApiGetEarnProvidersRequest);"
+ \ = fireblocks.earn.getEarnProviders(earnApiGetEarnProvidersRequest);"
- lang: Java
- source: "CompletableFuture> response = fireblocks.earnBeta().getEarnProviders(pageCursor,\
+ source: "CompletableFuture> response = fireblocks.earn().getEarnProviders(pageCursor,\
\ pageSize, sortBy, order);"
- lang: Python
- source: "response = fireblocks.earn_beta.get_earn_providers(page_cursor, page_size,\
+ source: "response = fireblocks.earn.get_earn_providers(page_cursor, page_size,\
\ sort_by, order);"
x-accepts:
- application/json
@@ -8534,8 +9250,6 @@ paths:
When `isTermsApprovalRequired` is true on a provider (see list providers),
call this once before creating or executing earn actions with providers that require it.
After success, `GET /earn/providers` reflects `isTermsOfServiceApproved`.
-
- **Note:** This endpoint is currently in beta and might be subject to changes.
operationId: approveTermsOfService
parameters:
- description: "A unique identifier for the request. If the request is sent\
@@ -8607,26 +9321,26 @@ paths:
$ref: "#/components/responses/Error"
summary: Approve earn provider terms of service
tags:
- - Earn (Beta)
+ - Earn
x-rate-limit-category: write
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise> = fireblocks.earnBeta.approveTermsOfService(earnBetaApiApproveTermsOfServiceRequest);"
+ code: "const response: Promise> = fireblocks.earn.approveTermsOfService(earnApiApproveTermsOfServiceRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response = fireblocks.earnBeta().approveTermsOfService(idempotencyKey);
+ code: CompletableFuture> response = fireblocks.earn().approveTermsOfService(idempotencyKey);
name: Fireblocks SDK Java example
- language: python
- code: response = fireblocks.earn_beta.approve_terms_of_service(idempotency_key);
+ code: response = fireblocks.earn.approve_terms_of_service(idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
- source: "const response: Promise> = fireblocks.earnBeta.approveTermsOfService(earnBetaApiApproveTermsOfServiceRequest);"
+ source: "const response: Promise> = fireblocks.earn.approveTermsOfService(earnApiApproveTermsOfServiceRequest);"
- lang: Java
- source: CompletableFuture> response = fireblocks.earnBeta().approveTermsOfService(idempotencyKey);
+ source: CompletableFuture> response = fireblocks.earn().approveTermsOfService(idempotencyKey);
- lang: Python
- source: response = fireblocks.earn_beta.approve_terms_of_service(idempotency_key);
+ source: response = fireblocks.earn.approve_terms_of_service(idempotency_key);
x-accepts:
- application/json
/ncw/{walletId}/accounts/{accountId}/{assetId}/{change}/{addressIndex}/public_key_info:
@@ -18112,6 +18826,122 @@ paths:
x-content-type: application/json
x-accepts:
- application/json
+ /policy/rules/quota:
+ post:
+ description: |
+ Returns the Amount Over Time (AOT) quota calculated for a specific policy rule.
+
+ Endpoint Permissions: Owner, Admin, Non-Signing Admin.
+ operationId: getPolicyRuleQuota
+ parameters:
+ - description: "A unique identifier for the request. If the request is sent\
+ \ multiple times with the same idempotency key, the server will return the\
+ \ same response as the first request. The idempotency key is valid for 24\
+ \ hours."
+ explode: false
+ in: header
+ name: Idempotency-Key
+ required: false
+ schema:
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/PolicyRuleQuotaRequest"
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/PolicyRuleQuotaResponse"
+ description: The calculated AOT quota for the rule
+ headers:
+ X-Request-ID:
+ $ref: "#/components/headers/X-Request-ID"
+ "400":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/ErrorSchema"
+ description: Invalid request parameters or rule configuration prevents AOT
+ calculation.
+ headers:
+ X-Request-ID:
+ $ref: "#/components/headers/X-Request-ID"
+ "403":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/ErrorSchema"
+ description: Caller lacks permission to access the requested rule.
+ headers:
+ X-Request-ID:
+ $ref: "#/components/headers/X-Request-ID"
+ "404":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/ErrorSchema"
+ description: The requested policy rule was not found.
+ headers:
+ X-Request-ID:
+ $ref: "#/components/headers/X-Request-ID"
+ "429":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/ErrorSchema"
+ description: "Rate limit exceeded: slow down and retry later."
+ headers:
+ X-Request-ID:
+ $ref: "#/components/headers/X-Request-ID"
+ "500":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/ErrorSchema"
+ description: Internal server error while calculating AOT quota.
+ headers:
+ X-Request-ID:
+ $ref: "#/components/headers/X-Request-ID"
+ default:
+ $ref: "#/components/responses/Error"
+ summary: Calculate the AOT quota for a policy rule
+ tags:
+ - Policy Editor V2 (Beta)
+ x-rate-limit-category: query
+ x-readme:
+ code-samples:
+ - language: typescript
+ code: "const response: Promise>\
+ \ = fireblocks.policyEditorV2Beta.getPolicyRuleQuota(policyEditorV2BetaApiGetPolicyRuleQuotaRequest);"
+ name: Fireblocks SDK TypeScript example
+ - language: java
+ code: "CompletableFuture> response\
+ \ = fireblocks.policyEditorV2Beta().getPolicyRuleQuota(policyRuleQuotaRequest,\
+ \ idempotencyKey);"
+ name: Fireblocks SDK Java example
+ - language: python
+ code: "response = fireblocks.policy_editor_v2_beta.get_policy_rule_quota(policy_rule_quota_request,\
+ \ idempotency_key);"
+ name: Fireblocks SDK Python example
+ x-codeSamples:
+ - lang: TypeScript
+ source: "const response: Promise>\
+ \ = fireblocks.policyEditorV2Beta.getPolicyRuleQuota(policyEditorV2BetaApiGetPolicyRuleQuotaRequest);"
+ - lang: Java
+ source: "CompletableFuture> response\
+ \ = fireblocks.policyEditorV2Beta().getPolicyRuleQuota(policyRuleQuotaRequest,\
+ \ idempotencyKey);"
+ - lang: Python
+ source: "response = fireblocks.policy_editor_v2_beta.get_policy_rule_quota(policy_rule_quota_request,\
+ \ idempotency_key);"
+ x-content-type: application/json
+ x-accepts:
+ - application/json
/reports:
get:
description: |
@@ -22123,6 +22953,16 @@ paths:
$ref: "#/components/schemas/TagType"
type: array
style: form
+ - description: "Filter tags whose allow-list contains this entity type. Known\
+ \ values: vault_account, contact."
+ example: contact
+ explode: true
+ in: query
+ name: allowedEntityType
+ required: false
+ schema:
+ type: string
+ style: form
responses:
"200":
content:
@@ -22145,11 +22985,12 @@ paths:
name: Fireblocks SDK TypeScript example
- language: java
code: "CompletableFuture> response = fireblocks.tags().getTags(pageCursor,\
- \ pageSize, label, tagIds, includePendingApprovalsInfo, isProtected, type);"
+ \ pageSize, label, tagIds, includePendingApprovalsInfo, isProtected, type,\
+ \ allowedEntityType);"
name: Fireblocks SDK Java example
- language: python
code: "response = fireblocks.tags.get_tags(page_cursor, page_size, label,\
- \ tag_ids, include_pending_approvals_info, is_protected, type);"
+ \ tag_ids, include_pending_approvals_info, is_protected, type, allowed_entity_type);"
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
@@ -22157,10 +22998,11 @@ paths:
\ fireblocks.tags.getTags(tagsApiGetTagsRequest);"
- lang: Java
source: "CompletableFuture> response = fireblocks.tags().getTags(pageCursor,\
- \ pageSize, label, tagIds, includePendingApprovalsInfo, isProtected, type);"
+ \ pageSize, label, tagIds, includePendingApprovalsInfo, isProtected, type,\
+ \ allowedEntityType);"
- lang: Python
source: "response = fireblocks.tags.get_tags(page_cursor, page_size, label,\
- \ tag_ids, include_pending_approvals_info, is_protected, type);"
+ \ tag_ids, include_pending_approvals_info, is_protected, type, allowed_entity_type);"
x-accepts:
- application/json
post:
@@ -30925,6 +31767,26 @@ paths:
schema:
type: string
style: form
+ - description: Filter by the on-chain hash of the transaction that created the
+ UTXOs. Returns all UTXOs originating from that transaction.
+ example: 0000000000000000000a1b2c3d4e5f60718293a4b5c6d7e8f900112233445566
+ explode: true
+ in: query
+ name: txHash
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Filter by the Fireblocks transaction ID that created the UTXOs.
+ example: f47ac10b-58cc-4372-a567-0e02b2c3d479
+ explode: true
+ in: query
+ name: txId
+ required: false
+ schema:
+ format: uuid
+ type: string
+ style: form
- description: Minimum amount filter
example: "0.001"
explode: true
@@ -30968,12 +31830,14 @@ paths:
- language: java
code: "CompletableFuture> response = fireblocks.uTXOManagementBeta().getUtxos(vaultAccountId,\
\ assetId, pageCursor, pageSize, sort, order, includeAllLabels, includeAnyLabels,\
- \ excludeAnyLabels, includeStatuses, address, minAmount, maxAmount);"
+ \ excludeAnyLabels, includeStatuses, address, txHash, txId, minAmount,\
+ \ maxAmount);"
name: Fireblocks SDK Java example
- language: python
code: "response = fireblocks.u_t_x_o_management_beta.get_utxos(vault_account_id,\
\ asset_id, page_cursor, page_size, sort, order, include_all_labels, include_any_labels,\
- \ exclude_any_labels, include_statuses, address, min_amount, max_amount);"
+ \ exclude_any_labels, include_statuses, address, tx_hash, tx_id, min_amount,\
+ \ max_amount);"
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
@@ -30982,11 +31846,12 @@ paths:
- lang: Java
source: "CompletableFuture> response = fireblocks.uTXOManagementBeta().getUtxos(vaultAccountId,\
\ assetId, pageCursor, pageSize, sort, order, includeAllLabels, includeAnyLabels,\
- \ excludeAnyLabels, includeStatuses, address, minAmount, maxAmount);"
+ \ excludeAnyLabels, includeStatuses, address, txHash, txId, minAmount, maxAmount);"
- lang: Python
source: "response = fireblocks.u_t_x_o_management_beta.get_utxos(vault_account_id,\
\ asset_id, page_cursor, page_size, sort, order, include_all_labels, include_any_labels,\
- \ exclude_any_labels, include_statuses, address, min_amount, max_amount);"
+ \ exclude_any_labels, include_statuses, address, tx_hash, tx_id, min_amount,\
+ \ max_amount);"
x-accepts:
- application/json
/vault/accounts:
@@ -32551,6 +33416,68 @@ paths:
schema:
type: boolean
style: form
+ - description: Only include UTXOs that have ALL of these labels (AND logic).
+ Requires the UTXO Manager. This feature is currently in beta and might be
+ subject to changes.
+ explode: true
+ in: query
+ name: includeAllLabels
+ required: false
+ schema:
+ items:
+ type: string
+ type: array
+ style: form
+ - description: Only include UTXOs that have ANY of these labels (OR logic).
+ Requires the UTXO Manager. This feature is currently in beta and might be
+ subject to changes.
+ explode: true
+ in: query
+ name: includeAnyLabels
+ required: false
+ schema:
+ items:
+ type: string
+ type: array
+ style: form
+ - description: Exclude UTXOs that have ANY of these labels. Requires the UTXO
+ Manager. This feature is currently in beta and might be subject to changes.
+ explode: true
+ in: query
+ name: excludeAnyLabels
+ required: false
+ schema:
+ items:
+ type: string
+ type: array
+ style: form
+ - description: Only include UTXOs from this specific address. Requires the UTXO
+ Manager. This feature is currently in beta and might be subject to changes.
+ explode: true
+ in: query
+ name: address
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Minimum UTXO amount in the asset's base unit. Requires the UTXO
+ Manager. This feature is currently in beta and might be subject to changes.
+ explode: true
+ in: query
+ name: minAmount
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Maximum UTXO amount in the asset's base unit. Requires the UTXO
+ Manager. This feature is currently in beta and might be subject to changes.
+ explode: true
+ in: query
+ name: maxAmount
+ required: false
+ schema:
+ type: string
+ style: form
responses:
"200":
content:
@@ -32584,11 +33511,13 @@ paths:
- language: java
code: "CompletableFuture> response\
\ = fireblocks.vaults().getMaxSpendableAmount(vaultAccountId, assetId,\
- \ manualSignging);"
+ \ manualSignging, includeAllLabels, includeAnyLabels, excludeAnyLabels,\
+ \ address, minAmount, maxAmount);"
name: Fireblocks SDK Java example
- language: python
code: "response = fireblocks.vaults.get_max_spendable_amount(vault_account_id,\
- \ asset_id, manual_signging);"
+ \ asset_id, manual_signging, include_all_labels, include_any_labels, exclude_any_labels,\
+ \ address, min_amount, max_amount);"
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
@@ -32596,10 +33525,13 @@ paths:
\ = fireblocks.vaults.getMaxSpendableAmount(vaultsApiGetMaxSpendableAmountRequest);"
- lang: Java
source: "CompletableFuture> response\
- \ = fireblocks.vaults().getMaxSpendableAmount(vaultAccountId, assetId, manualSignging);"
+ \ = fireblocks.vaults().getMaxSpendableAmount(vaultAccountId, assetId, manualSignging,\
+ \ includeAllLabels, includeAnyLabels, excludeAnyLabels, address, minAmount,\
+ \ maxAmount);"
- lang: Python
source: "response = fireblocks.vaults.get_max_spendable_amount(vault_account_id,\
- \ asset_id, manual_signging);"
+ \ asset_id, manual_signging, include_all_labels, include_any_labels, exclude_any_labels,\
+ \ address, min_amount, max_amount);"
x-accepts:
- application/json
/vault/accounts/{vaultAccountId}/{assetId}/unspent_inputs:
@@ -33201,6 +34133,296 @@ paths:
\ idempotency_key);"
x-accepts:
- application/json
+ /vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation:
+ get:
+ description: |-
+ Returns the USDC Gateway deposit automations configured for the given vault account.
+ **Note:** This endpoint is currently in beta and might be subject to changes.
+ Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
+ operationId: getUsdcGatewayDepositAutomationBeta
+ parameters:
+ - description: The ID of the vault account
+ explode: false
+ in: path
+ name: vaultAccountId
+ required: true
+ schema:
+ format: numeric
+ type: string
+ x-fb-entity: vault_account
+ style: simple
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/GetAutomationSettingsResponse"
+ description: USDC Gateway deposit automations
+ headers:
+ X-Request-ID:
+ $ref: "#/components/headers/X-Request-ID"
+ default:
+ $ref: "#/components/responses/Error"
+ summary: Read the USDC Gateway deposit automations for a vault account
+ tags:
+ - Vaults
+ x-rate-limit-category: read
+ x-readme:
+ code-samples:
+ - language: typescript
+ code: "const response: Promise>\
+ \ = fireblocks.vaults.getUsdcGatewayDepositAutomationBeta(vaultsApiGetUsdcGatewayDepositAutomationBetaRequest);"
+ name: Fireblocks SDK TypeScript example
+ - language: java
+ code: CompletableFuture> response
+ = fireblocks.vaults().getUsdcGatewayDepositAutomationBeta(vaultAccountId);
+ name: Fireblocks SDK Java example
+ - language: python
+ code: response = fireblocks.vaults.get_usdc_gateway_deposit_automation_beta(vault_account_id);
+ name: Fireblocks SDK Python example
+ x-codeSamples:
+ - lang: TypeScript
+ source: "const response: Promise>\
+ \ = fireblocks.vaults.getUsdcGatewayDepositAutomationBeta(vaultsApiGetUsdcGatewayDepositAutomationBetaRequest);"
+ - lang: Java
+ source: CompletableFuture> response
+ = fireblocks.vaults().getUsdcGatewayDepositAutomationBeta(vaultAccountId);
+ - lang: Python
+ source: response = fireblocks.vaults.get_usdc_gateway_deposit_automation_beta(vault_account_id);
+ x-accepts:
+ - application/json
+ post:
+ description: |-
+ Turns on automatic deposits into the USDC Gateway wallet for the given vault account, on the schedule you choose. Returns an error if an automation already exists for this vault account and asset. Use PATCH to change it instead.
+ **Note:** This endpoint is currently in beta and might be subject to changes.
+ Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver.
+ operationId: setUsdcGatewayDepositAutomationBeta
+ parameters:
+ - description: The ID of the vault account
+ explode: false
+ in: path
+ name: vaultAccountId
+ required: true
+ schema:
+ format: numeric
+ type: string
+ x-fb-entity: vault_account
+ style: simple
+ - description: "A unique identifier for the request. If the request is sent\
+ \ multiple times with the same idempotency key, the server will return the\
+ \ same response as the first request. The idempotency key is valid for 24\
+ \ hours."
+ explode: false
+ in: header
+ name: Idempotency-Key
+ required: false
+ schema:
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/AutomationSettingsRequest"
+ required: true
+ responses:
+ "201":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/SaveAutomationSettingsResponse"
+ description: Deposit automation created
+ headers:
+ X-Request-ID:
+ $ref: "#/components/headers/X-Request-ID"
+ default:
+ $ref: "#/components/responses/Error"
+ summary: Set up a USDC Gateway deposit automation for a vault account
+ tags:
+ - Vaults
+ x-rate-limit-category: write
+ x-readme:
+ code-samples:
+ - language: typescript
+ code: "const response: Promise>\
+ \ = fireblocks.vaults.setUsdcGatewayDepositAutomationBeta(vaultsApiSetUsdcGatewayDepositAutomationBetaRequest);"
+ name: Fireblocks SDK TypeScript example
+ - language: java
+ code: "CompletableFuture> response\
+ \ = fireblocks.vaults().setUsdcGatewayDepositAutomationBeta(automationSettingsRequest,\
+ \ vaultAccountId, idempotencyKey);"
+ name: Fireblocks SDK Java example
+ - language: python
+ code: "response = fireblocks.vaults.set_usdc_gateway_deposit_automation_beta(automation_settings_request,\
+ \ vault_account_id, idempotency_key);"
+ name: Fireblocks SDK Python example
+ x-codeSamples:
+ - lang: TypeScript
+ source: "const response: Promise>\
+ \ = fireblocks.vaults.setUsdcGatewayDepositAutomationBeta(vaultsApiSetUsdcGatewayDepositAutomationBetaRequest);"
+ - lang: Java
+ source: "CompletableFuture> response\
+ \ = fireblocks.vaults().setUsdcGatewayDepositAutomationBeta(automationSettingsRequest,\
+ \ vaultAccountId, idempotencyKey);"
+ - lang: Python
+ source: "response = fireblocks.vaults.set_usdc_gateway_deposit_automation_beta(automation_settings_request,\
+ \ vault_account_id, idempotency_key);"
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation/{automationId}:
+ delete:
+ description: |-
+ Stops the schedule for an existing deposit automation. The automation itself stays configured, only its schedule stops. Turn it back on later with PATCH, without setting up the automation again from scratch.
+ **Note:** This endpoint is currently in beta and might be subject to changes.
+ Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver.
+ operationId: disableUsdcGatewayDepositAutomationScheduleBeta
+ parameters:
+ - description: The ID of the vault account
+ explode: false
+ in: path
+ name: vaultAccountId
+ required: true
+ schema:
+ format: numeric
+ type: string
+ x-fb-entity: vault_account
+ style: simple
+ - description: "The ID of the deposit automation, returned when it was created\
+ \ or read"
+ explode: false
+ in: path
+ name: automationId
+ required: true
+ schema:
+ format: uuid
+ type: string
+ style: simple
+ responses:
+ "204":
+ description: Deposit automation schedule disabled
+ headers:
+ X-Request-ID:
+ $ref: "#/components/headers/X-Request-ID"
+ default:
+ $ref: "#/components/responses/Error"
+ summary: Stop a USDC Gateway deposit automation's schedule
+ tags:
+ - Vaults
+ x-rate-limit-category: write
+ x-readme:
+ code-samples:
+ - language: typescript
+ code: "const response: Promise> = fireblocks.vaults.disableUsdcGatewayDepositAutomationScheduleBeta(vaultsApiDisableUsdcGatewayDepositAutomationScheduleBetaRequest);"
+ name: Fireblocks SDK TypeScript example
+ - language: java
+ code: "CompletableFuture> response = fireblocks.vaults().disableUsdcGatewayDepositAutomationScheduleBeta(vaultAccountId,\
+ \ automationId);"
+ name: Fireblocks SDK Java example
+ - language: python
+ code: "response = fireblocks.vaults.disable_usdc_gateway_deposit_automation_schedule_beta(vault_account_id,\
+ \ automation_id);"
+ name: Fireblocks SDK Python example
+ x-codeSamples:
+ - lang: TypeScript
+ source: "const response: Promise> = fireblocks.vaults.disableUsdcGatewayDepositAutomationScheduleBeta(vaultsApiDisableUsdcGatewayDepositAutomationScheduleBetaRequest);"
+ - lang: Java
+ source: "CompletableFuture> response = fireblocks.vaults().disableUsdcGatewayDepositAutomationScheduleBeta(vaultAccountId,\
+ \ automationId);"
+ - lang: Python
+ source: "response = fireblocks.vaults.disable_usdc_gateway_deposit_automation_schedule_beta(vault_account_id,\
+ \ automation_id);"
+ x-accepts:
+ - application/json
+ patch:
+ description: |-
+ Changes an existing USDC Gateway deposit automation for a vault account.
+ **Note:** This endpoint is currently in beta and might be subject to changes.
+ Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver.
+ operationId: updateUsdcGatewayDepositAutomationBeta
+ parameters:
+ - description: The ID of the vault account
+ explode: false
+ in: path
+ name: vaultAccountId
+ required: true
+ schema:
+ format: numeric
+ type: string
+ x-fb-entity: vault_account
+ style: simple
+ - description: "The ID of the deposit automation, returned when it was created\
+ \ or read"
+ explode: false
+ in: path
+ name: automationId
+ required: true
+ schema:
+ format: uuid
+ type: string
+ style: simple
+ - description: "A unique identifier for the request. If the request is sent\
+ \ multiple times with the same idempotency key, the server will return the\
+ \ same response as the first request. The idempotency key is valid for 24\
+ \ hours."
+ explode: false
+ in: header
+ name: Idempotency-Key
+ required: false
+ schema:
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/UpdateAutomationSettingsRequest"
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/AutomationSettingsResponse"
+ description: Deposit automation updated
+ headers:
+ X-Request-ID:
+ $ref: "#/components/headers/X-Request-ID"
+ default:
+ $ref: "#/components/responses/Error"
+ summary: Change a USDC Gateway deposit automation
+ tags:
+ - Vaults
+ x-rate-limit-category: write
+ x-readme:
+ code-samples:
+ - language: typescript
+ code: "const response: Promise>\
+ \ = fireblocks.vaults.updateUsdcGatewayDepositAutomationBeta(vaultsApiUpdateUsdcGatewayDepositAutomationBetaRequest);"
+ name: Fireblocks SDK TypeScript example
+ - language: java
+ code: "CompletableFuture> response\
+ \ = fireblocks.vaults().updateUsdcGatewayDepositAutomationBeta(updateAutomationSettingsRequest,\
+ \ vaultAccountId, automationId, idempotencyKey);"
+ name: Fireblocks SDK Java example
+ - language: python
+ code: "response = fireblocks.vaults.update_usdc_gateway_deposit_automation_beta(update_automation_settings_request,\
+ \ vault_account_id, automation_id, idempotency_key);"
+ name: Fireblocks SDK Python example
+ x-codeSamples:
+ - lang: TypeScript
+ source: "const response: Promise>\
+ \ = fireblocks.vaults.updateUsdcGatewayDepositAutomationBeta(vaultsApiUpdateUsdcGatewayDepositAutomationBetaRequest);"
+ - lang: Java
+ source: "CompletableFuture> response\
+ \ = fireblocks.vaults().updateUsdcGatewayDepositAutomationBeta(updateAutomationSettingsRequest,\
+ \ vaultAccountId, automationId, idempotencyKey);"
+ - lang: Python
+ source: "response = fireblocks.vaults.update_usdc_gateway_deposit_automation_beta(update_automation_settings_request,\
+ \ vault_account_id, automation_id, idempotency_key);"
+ x-content-type: application/json
+ x-accepts:
+ - application/json
/vault/accounts/addresses/bulk:
post:
description: |
@@ -33459,7 +34681,7 @@ paths:
summary: Bulk creation of new vault accounts
tags:
- Vaults
- x-rate-limit-category: write
+ x-rate-limit-category: high_compute
x-readme:
code-samples:
- language: typescript
@@ -36461,6 +37683,8 @@ components:
id: df4c0987-30da-4976-8dcf-bc2dd41ae331
label: VIP
type: WALLET_POOL
+ allowedEntityTypes:
+ - vault_account
pendingApprovalRequest:
id: "12345"
state: PENDING
@@ -36494,6 +37718,16 @@ components:
type: number
type:
$ref: "#/components/schemas/TagType"
+ allowedEntityTypes:
+ description: "The entity types this tag may be attached to. Tags created\
+ \ before this field was introduced read back as ['vault_account']. Known\
+ \ values: vault_account (default), contact."
+ example:
+ - vault_account
+ items:
+ type: string
+ minItems: 1
+ type: array
pendingApprovalRequest:
$ref: "#/components/schemas/ApprovalRequest"
required:
@@ -36553,6 +37787,8 @@ components:
id: df4c0987-30da-4976-8dcf-bc2dd41ae331
label: VIP
type: WALLET_POOL
+ allowedEntityTypes:
+ - vault_account
pendingApprovalRequest:
id: "12345"
state: PENDING
@@ -36564,6 +37800,8 @@ components:
id: df4c0987-30da-4976-8dcf-bc2dd41ae331
label: VIP
type: WALLET_POOL
+ allowedEntityTypes:
+ - vault_account
pendingApprovalRequest:
id: "12345"
state: PENDING
@@ -36690,6 +37928,8 @@ components:
id: df4c0987-30da-4976-8dcf-bc2dd41ae331
label: VIP
type: WALLET_POOL
+ allowedEntityTypes:
+ - vault_account
pendingApprovalRequest:
id: "12345"
state: PENDING
@@ -36701,6 +37941,8 @@ components:
id: df4c0987-30da-4976-8dcf-bc2dd41ae331
label: VIP
type: WALLET_POOL
+ allowedEntityTypes:
+ - vault_account
pendingApprovalRequest:
id: "12345"
state: PENDING
@@ -36755,6 +37997,8 @@ components:
id: df4c0987-30da-4976-8dcf-bc2dd41ae331
label: VIP
type: WALLET_POOL
+ allowedEntityTypes:
+ - vault_account
pendingApprovalRequest:
id: "12345"
state: PENDING
@@ -36766,6 +38010,8 @@ components:
id: df4c0987-30da-4976-8dcf-bc2dd41ae331
label: VIP
type: WALLET_POOL
+ allowedEntityTypes:
+ - vault_account
pendingApprovalRequest:
id: "12345"
state: PENDING
@@ -37050,6 +38296,158 @@ components:
- status
- walletId
type: object
+ TimeBasedTrigger:
+ description: The schedule for this deposit automation.
+ example:
+ intervalUnit: MINUTES
+ balanceThreshold: "1000"
+ intervalValue: 60
+ properties:
+ intervalValue:
+ description: "How often the deposit runs, in units of intervalUnit."
+ example: 60
+ minimum: 1
+ type: integer
+ intervalUnit:
+ description: The unit for intervalValue.
+ enum:
+ - MINUTES
+ - HOURS
+ - DAYS
+ example: MINUTES
+ type: string
+ balanceThreshold:
+ description: "Minimum USDC balance required before a deposit runs. Set to\
+ \ \"0\" to sweep the full available balance every time, with no minimum."
+ example: "1000"
+ pattern: ^\d+(\.\d+)?$
+ type: string
+ required:
+ - balanceThreshold
+ - intervalUnit
+ - intervalValue
+ type: object
+ AutomationSettingsResponse:
+ example:
+ automationId: b68a9e08-b59c-4ff9-893f-52d4f78c21e6
+ assetId: USDC_ETH
+ timeBased:
+ intervalUnit: MINUTES
+ balanceThreshold: "1000"
+ intervalValue: 60
+ vaultAccountId: "42"
+ automationType: USDC_GATEWAY_DEPOSIT
+ properties:
+ automationId:
+ description: The ID of this deposit automation.
+ example: b68a9e08-b59c-4ff9-893f-52d4f78c21e6
+ format: uuid
+ type: string
+ vaultAccountId:
+ description: The vault account this deposit automation applies to.
+ example: "42"
+ format: numeric
+ type: string
+ x-fb-entity: vault_account
+ assetId:
+ description: "The Fireblocks asset ID this automation applies to, if scoped\
+ \ to one."
+ example: USDC_ETH
+ type: string
+ automationType:
+ description: The type of this automation.
+ enum:
+ - USDC_GATEWAY_DEPOSIT
+ example: USDC_GATEWAY_DEPOSIT
+ type: string
+ timeBased:
+ $ref: "#/components/schemas/TimeBasedTrigger"
+ required:
+ - automationId
+ - automationType
+ - timeBased
+ - vaultAccountId
+ type: object
+ GetAutomationSettingsResponse:
+ example:
+ settings:
+ - automationId: b68a9e08-b59c-4ff9-893f-52d4f78c21e6
+ vaultAccountId: "42"
+ assetId: USDC_ETH
+ automationType: USDC_GATEWAY_DEPOSIT
+ timeBased:
+ intervalValue: 60
+ intervalUnit: MINUTES
+ properties:
+ settings:
+ description: The deposit automations configured for the vault account.
+ example:
+ - automationId: b68a9e08-b59c-4ff9-893f-52d4f78c21e6
+ vaultAccountId: "42"
+ assetId: USDC_ETH
+ automationType: USDC_GATEWAY_DEPOSIT
+ timeBased:
+ intervalValue: 60
+ intervalUnit: MINUTES
+ items:
+ $ref: "#/components/schemas/AutomationSettingsResponse"
+ type: array
+ required:
+ - settings
+ type: object
+ AutomationSettingsRequest:
+ description: Request body for setting up a USDC Gateway deposit automation for
+ a vault account.
+ example:
+ assetId: USDC_ETH
+ timeBased:
+ intervalUnit: MINUTES
+ balanceThreshold: "1000"
+ intervalValue: 60
+ automationType: USDC_GATEWAY_DEPOSIT
+ properties:
+ automationType:
+ description: The type of automation to configure.
+ enum:
+ - USDC_GATEWAY_DEPOSIT
+ example: USDC_GATEWAY_DEPOSIT
+ type: string
+ assetId:
+ description: The Fireblocks asset ID this automation applies to. Omit to
+ cover all supported USDC Gateway assets.
+ example: USDC_ETH
+ type: string
+ timeBased:
+ $ref: "#/components/schemas/TimeBasedTrigger"
+ required:
+ - automationType
+ - timeBased
+ type: object
+ SaveAutomationSettingsResponse:
+ example:
+ automationId: b68a9e08-b59c-4ff9-893f-52d4f78c21e6
+ properties:
+ automationId:
+ description: The ID of the newly created deposit automation.
+ example: b68a9e08-b59c-4ff9-893f-52d4f78c21e6
+ format: uuid
+ type: string
+ required:
+ - automationId
+ type: object
+ UpdateAutomationSettingsRequest:
+ description: Request body for changing an existing USDC Gateway deposit automation.
+ example:
+ timeBased:
+ intervalUnit: MINUTES
+ balanceThreshold: "1000"
+ intervalValue: 60
+ properties:
+ timeBased:
+ $ref: "#/components/schemas/TimeBasedTrigger"
+ required:
+ - timeBased
+ type: object
CreateAssetsRequest:
example:
eosAccountName: eosAccountName
@@ -39279,7 +40677,7 @@ components:
type: string
creds:
description: Base64-encoded RSA-encrypted credential blob. Encrypt using
- the public key from GET /exchange_accounts/credentials_public_key.
+ the public key from GET /connected_accounts/credentials/public_key.
example: !!binary |-
YmFzZTY0ZW5jb2RlZGVuY3J5cHRlZGNyZWRlbnRpYWxzPT0=
format: byte
@@ -39376,6 +40774,24 @@ components:
- code
- message
type: object
+ GetConnectedAccountsCredentialsPublicKeyResponse:
+ example:
+ publicKey: |-
+ -----BEGIN PUBLIC KEY-----
+ MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...
+ -----END PUBLIC KEY-----
+ properties:
+ publicKey:
+ description: RSA public key (PEM) used to encrypt credential payloads sent
+ to POST /connected_accounts.
+ example: |-
+ -----BEGIN PUBLIC KEY-----
+ MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...
+ -----END PUBLIC KEY-----
+ type: string
+ required:
+ - publicKey
+ type: object
ConnectedSingleAccount:
properties:
subAccountsIds:
@@ -41514,6 +42930,7 @@ components:
- MTN
- TIGO
- WAVE
+ - ORANGE
example: MTN
type: string
email:
@@ -42975,16 +44392,245 @@ components:
required:
- type
type: object
+ ScreeningVerdictEnum:
+ description: |
+ The final verdict of the screening (unified for AML, Travel Rule, and TRLink).
+ Different providers may return different verdict values:
+ - AML: ACCEPT, REJECT, ALERT
+ - Travel Rule: PASS, FAIL, TRAVEL_RULE_REQUIRED
+ - TRLink: PASS, REJECT, WARN
+ enum:
+ - PASS
+ - FAIL
+ - ALERT
+ - REJECT
+ - WARN
+ - TRAVEL_RULE_REQUIRED
+ - ACCEPT
+ - REVIEW
+ - WAIT
+ example: PASS
+ type: string
+ ScreeningStatusEnum:
+ description: |
+ Current status of the screening process.
+ Applies to AML, Travel Rule, and TRLink screening flows.
+ enum:
+ - COMPLETED
+ - PENDING
+ - BYPASSED
+ - FAILED
+ - FROZEN
+ example: COMPLETED
+ type: string
+ AmlBypassReasonEnum:
+ description: "Reason for bypassing AML screening, when applicable."
+ enum:
+ - MANUAL
+ - UNSUPPORTED_ASSET
+ - BYPASSED_FAILURE
+ - UNSUPPORTED_ROUTE
+ - PASSED_BY_POLICY
+ - TIMED_OUT
+ - BAD_CREDENTIALS
+ - CONFIGURATION_ERROR
+ - DROPPED_BY_BLOCKCHAIN
+ - PROCESS_DISMISSED
+ example: PASSED_BY_POLICY
+ type: string
+ PolicyVerdictActionEnum:
+ description: Policy verdict action
+ enum:
+ - ALLOW
+ - BLOCK
+ - 2-TIER
+ - SCREEN
+ - ACCEPT
+ - REJECT
+ - ALERT
+ - WAIT
+ - FREEZE
+ - CANCEL
+ example: ALLOW
+ type: string
+ AmlMatchedRule:
+ description: AML matched rule information
+ example:
+ ruleName: High Risk Sanctions Check
+ action: ALLOW
+ ruleId: rule_001
+ properties:
+ ruleId:
+ description: Identifier of the matched rule
+ example: rule_001
+ type: string
+ ruleName:
+ description: Name of the matched rule
+ example: High Risk Sanctions Check
+ type: string
+ action:
+ $ref: "#/components/schemas/PolicyVerdictActionEnum"
+ type: object
+ AlertLevelEnum:
+ description: Alert level severity
+ enum:
+ - SEVERE
+ - HIGH
+ - MEDIUM
+ - LOW
+ example: HIGH
+ type: string
+ AlertExposureTypeEnum:
+ description: Alert exposure type (AlertExposureType enum)
+ enum:
+ - DIRECT
+ - INDIRECT
+ example: DIRECT
+ type: string
+ AmlAlert:
+ description: AML alert information
+ example:
+ policyAction: BLOCK
+ alertName: Sanctions Match
+ service: CHAINALYSIS
+ exposureType: DIRECT
+ alertLevel: HIGH
+ externalId: alert_12345
+ category: SANCTIONED_ENTITY
+ categoryId: 101
+ alertAmount: 1000.5
+ properties:
+ alertLevel:
+ $ref: "#/components/schemas/AlertLevelEnum"
+ alertName:
+ description: Name or type of the alert
+ example: Sanctions Match
+ type: string
+ category:
+ description: Alert category
+ example: SANCTIONED_ENTITY
+ type: string
+ service:
+ description: Service that generated the alert
+ example: CHAINALYSIS
+ type: string
+ externalId:
+ description: External identifier for the alert
+ example: alert_12345
+ type: string
+ alertAmount:
+ description: Amount associated with the alert
+ example: 1000.5
+ type: number
+ exposureType:
+ $ref: "#/components/schemas/AlertExposureTypeEnum"
+ policyAction:
+ description: Recommended action based on policy
+ example: BLOCK
+ type: string
+ categoryId:
+ description: Category identifier
+ example: 101
+ type: number
+ required:
+ - alertAmount
+ - alertLevel
+ - exposureType
+ - externalId
+ type: object
AmlScreeningResult:
- description: The result of the AML screening.
+ description: |
+ The result of the AML screening.
+ Mirrors the output of the developer-api transaction formatter (IFormattedAmlResult).
+ Not all fields are present in every response — the set depends on the AML provider and screening flow.
example:
- provider: provider
- payload: "{}"
+ matchedPrescreeningRule:
+ ruleName: High Risk Sanctions Check
+ action: ALLOW
+ ruleId: rule_001
+ externalId: 3fa85f64-5717-4562-b3fc-2c963f66afa6
+ bypassReason: PASSED_BY_POLICY
+ customerRefId: DEFAULT
+ matchedRule:
+ ruleName: High Risk Sanctions Check
+ action: ALLOW
+ ruleId: rule_001
+ provider: CHAINALYSIS
+ payload:
+ key: ""
+ verdict: PASS
+ destAddress: 0xA2dC2490ED1DcA2D21613508fdb0c82daEAb0715
+ risk: lowRisk
+ category: EXCHANGE
+ matchedAlert:
+ policyAction: BLOCK
+ alertName: Sanctions Match
+ service: CHAINALYSIS
+ exposureType: DIRECT
+ alertLevel: HIGH
+ externalId: alert_12345
+ category: SANCTIONED_ENTITY
+ categoryId: 101
+ alertAmount: 1000.5
+ screeningStatus: COMPLETED
+ categoryId: 5
+ timestamp: 1774363599908
properties:
provider:
+ description: |
+ The AML provider name.
+ Known values: CHAINALYSIS, ELLIPTIC, CHAINALYSIS_V2, ELLIPTIC_HOLISTIC, BYORK_SLITE, BYORK_LITE, NONE.
+ example: CHAINALYSIS
type: string
payload:
+ additionalProperties: true
+ description: |
+ The raw, unmodified screening response from the provider.
+ Structure varies per provider.
type: object
+ verdict:
+ $ref: "#/components/schemas/ScreeningVerdictEnum"
+ screeningStatus:
+ $ref: "#/components/schemas/ScreeningStatusEnum"
+ bypassReason:
+ $ref: "#/components/schemas/AmlBypassReasonEnum"
+ timestamp:
+ description: Unix timestamp in milliseconds when the screening result was
+ generated.
+ example: 1774363599908
+ type: number
+ customerRefId:
+ description: Customer-provided reference identifier for tracking.
+ example: DEFAULT
+ type: string
+ externalId:
+ description: External identifier for the screening (provider-specific).
+ example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
+ type: string
+ category:
+ description: |
+ Risk category classification.
+ The available categories are subject to change depending on the provider.
+ example: EXCHANGE
+ type: string
+ categoryId:
+ description: Numeric identifier for the risk category.
+ example: 5
+ type: number
+ risk:
+ description: Provider-specific risk level. Values vary by provider.
+ example: lowRisk
+ type: string
+ destAddress:
+ description: The destination blockchain address associated with the screening.
+ example: 0xA2dC2490ED1DcA2D21613508fdb0c82daEAb0715
+ type: string
+ matchedRule:
+ $ref: "#/components/schemas/AmlMatchedRule"
+ matchedPrescreeningRule:
+ $ref: "#/components/schemas/AmlMatchedRule"
+ matchedAlert:
+ $ref: "#/components/schemas/AmlAlert"
type: object
AuthorizationGroups:
example:
@@ -43044,8 +44690,37 @@ components:
key: PENDING_AUTHORIZATION
logic: AND
amlScreeningResult:
- provider: provider
- payload: "{}"
+ matchedPrescreeningRule:
+ ruleName: High Risk Sanctions Check
+ action: ALLOW
+ ruleId: rule_001
+ externalId: 3fa85f64-5717-4562-b3fc-2c963f66afa6
+ bypassReason: PASSED_BY_POLICY
+ customerRefId: DEFAULT
+ matchedRule:
+ ruleName: High Risk Sanctions Check
+ action: ALLOW
+ ruleId: rule_001
+ provider: CHAINALYSIS
+ payload:
+ key: ""
+ verdict: PASS
+ destAddress: 0xA2dC2490ED1DcA2D21613508fdb0c82daEAb0715
+ risk: lowRisk
+ category: EXCHANGE
+ matchedAlert:
+ policyAction: BLOCK
+ alertName: Sanctions Match
+ service: CHAINALYSIS
+ exposureType: DIRECT
+ alertLevel: HIGH
+ externalId: alert_12345
+ category: SANCTIONED_ENTITY
+ categoryId: 101
+ alertAmount: 1000.5
+ screeningStatus: COMPLETED
+ categoryId: 5
+ timestamp: 1774363599908
destination:
walletId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
tradingAccount: tradingAccount
@@ -43077,6 +44752,54 @@ components:
authorizationInfo:
$ref: "#/components/schemas/AuthorizationInfo"
type: object
+ ProgramCallInstructionData:
+ additionalProperties:
+ description: "Instruction-specific field value. May be a string, number, or\
+ \ nested object."
+ description: "Decoded instruction arguments. Keys and values depend on the instruction\
+ \ type — values may be strings, numbers, or nested objects (e.g. `args`, `accounts`,\
+ \ `name`)."
+ example:
+ name: transferSol
+ args:
+ lamports: 1000000
+ accounts:
+ - pubkey: "11111111111111111111111111111111"
+ isSigner: false
+ isWritable: true
+ type: object
+ ProgramCallDecodedDataItem:
+ description: A single decoded Solana instruction from a PROGRAM_CALL transaction.
+ properties:
+ programId:
+ description: The on-chain program address that owns this instruction.
+ example: "11111111111111111111111111111111"
+ type: string
+ programName:
+ description: "Human-readable program name (e.g. `SystemProgram`, `ComputeBudget`)."
+ example: SystemProgram
+ type: string
+ instructionData:
+ additionalProperties:
+ description: "Instruction-specific field value. May be a string, number,\
+ \ or nested object."
+ description: "Decoded instruction arguments. Keys and values depend on the\
+ \ instruction type — values may be strings, numbers, or nested objects\
+ \ (e.g. `args`, `accounts`, `name`)."
+ example:
+ name: transferSol
+ args:
+ lamports: 1000000
+ accounts:
+ - pubkey: "11111111111111111111111111111111"
+ isSigner: false
+ isWritable: true
+ type: object
+ required:
+ - instructionData
+ - programId
+ - programName
+ type: object
AmountInfo:
description: The details of the requested amount to transfer.
example:
@@ -43241,124 +44964,6 @@ components:
- FROZEN
example: COMPLETED
type: string
- ScreeningVerdictEnum:
- description: |
- The final verdict of the screening (unified for AML, Travel Rule, and TRLink).
- Different providers may return different verdict values:
- - AML: PASS, FAIL, ALERT
- - Travel Rule: PASS, FAIL, TRAVEL_RULE_REQUIRED
- - TRLink: PASS, REJECT, WARN
- enum:
- - PASS
- - FAIL
- - ALERT
- - REJECT
- - WARN
- - TRAVEL_RULE_REQUIRED
- - ACCEPT
- - REVIEW
- example: PASS
- type: string
- AlertLevelEnum:
- description: Alert level severity
- enum:
- - SEVERE
- - HIGH
- - MEDIUM
- - LOW
- example: HIGH
- type: string
- AlertExposureTypeEnum:
- description: Alert exposure type (AlertExposureType enum)
- enum:
- - DIRECT
- - INDIRECT
- example: DIRECT
- type: string
- AmlAlert:
- description: AML alert information
- example:
- policyAction: BLOCK
- alertName: Sanctions Match
- service: CHAINALYSIS
- exposureType: DIRECT
- alertLevel: HIGH
- externalId: alert_12345
- category: SANCTIONED_ENTITY
- categoryId: 101
- alertAmount: 1000.5
- properties:
- alertLevel:
- $ref: "#/components/schemas/AlertLevelEnum"
- alertName:
- description: Name or type of the alert
- example: Sanctions Match
- type: string
- category:
- description: Alert category
- example: SANCTIONED_ENTITY
- type: string
- service:
- description: Service that generated the alert
- example: CHAINALYSIS
- type: string
- externalId:
- description: External identifier for the alert
- example: alert_12345
- type: string
- alertAmount:
- description: Amount associated with the alert
- example: 1000.5
- type: number
- exposureType:
- $ref: "#/components/schemas/AlertExposureTypeEnum"
- policyAction:
- description: Recommended action based on policy
- example: BLOCK
- type: string
- categoryId:
- description: Category identifier
- example: 101
- type: number
- required:
- - alertAmount
- - alertLevel
- - exposureType
- - externalId
- type: object
- PolicyVerdictActionEnum:
- description: Policy verdict action
- enum:
- - ALLOW
- - BLOCK
- - 2-TIER
- - SCREEN
- - ACCEPT
- - REJECT
- - ALERT
- - WAIT
- - FREEZE
- - CANCEL
- example: ALLOW
- type: string
- AmlMatchedRule:
- description: AML matched rule information
- example:
- ruleName: High Risk Sanctions Check
- action: ALLOW
- ruleId: rule_001
- properties:
- ruleId:
- description: Identifier of the matched rule
- example: rule_001
- type: string
- ruleName:
- description: Name of the matched rule
- example: High Risk Sanctions Check
- type: string
- action:
- $ref: "#/components/schemas/PolicyVerdictActionEnum"
- type: object
AmlResult:
deprecated: true
description: |
@@ -45421,8 +47026,37 @@ components:
key: PENDING_AUTHORIZATION
logic: AND
amlScreeningResult:
- provider: provider
- payload: "{}"
+ matchedPrescreeningRule:
+ ruleName: High Risk Sanctions Check
+ action: ALLOW
+ ruleId: rule_001
+ externalId: 3fa85f64-5717-4562-b3fc-2c963f66afa6
+ bypassReason: PASSED_BY_POLICY
+ customerRefId: DEFAULT
+ matchedRule:
+ ruleName: High Risk Sanctions Check
+ action: ALLOW
+ ruleId: rule_001
+ provider: CHAINALYSIS
+ payload:
+ key: ""
+ verdict: PASS
+ destAddress: 0xA2dC2490ED1DcA2D21613508fdb0c82daEAb0715
+ risk: lowRisk
+ category: EXCHANGE
+ matchedAlert:
+ policyAction: BLOCK
+ alertName: Sanctions Match
+ service: CHAINALYSIS
+ exposureType: DIRECT
+ alertLevel: HIGH
+ externalId: alert_12345
+ category: SANCTIONED_ENTITY
+ categoryId: 101
+ alertAmount: 1000.5
+ screeningStatus: COMPLETED
+ categoryId: 5
+ timestamp: 1774363599908
destination:
walletId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
tradingAccount: tradingAccount
@@ -45447,8 +47081,37 @@ components:
key: PENDING_AUTHORIZATION
logic: AND
amlScreeningResult:
- provider: provider
- payload: "{}"
+ matchedPrescreeningRule:
+ ruleName: High Risk Sanctions Check
+ action: ALLOW
+ ruleId: rule_001
+ externalId: 3fa85f64-5717-4562-b3fc-2c963f66afa6
+ bypassReason: PASSED_BY_POLICY
+ customerRefId: DEFAULT
+ matchedRule:
+ ruleName: High Risk Sanctions Check
+ action: ALLOW
+ ruleId: rule_001
+ provider: CHAINALYSIS
+ payload:
+ key: ""
+ verdict: PASS
+ destAddress: 0xA2dC2490ED1DcA2D21613508fdb0c82daEAb0715
+ risk: lowRisk
+ category: EXCHANGE
+ matchedAlert:
+ policyAction: BLOCK
+ alertName: Sanctions Match
+ service: CHAINALYSIS
+ exposureType: DIRECT
+ alertLevel: HIGH
+ externalId: alert_12345
+ category: SANCTIONED_ENTITY
+ categoryId: 101
+ alertAmount: 1000.5
+ screeningStatus: COMPLETED
+ categoryId: 5
+ timestamp: 1774363599908
destination:
walletId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
tradingAccount: tradingAccount
@@ -45489,6 +47152,13 @@ components:
amountUSD: amountUSD
netAmount: netAmount
requestedAmount: requestedAmount
+ programCallDecodedData:
+ - programId: "11111111111111111111111111111111"
+ programName: SystemProgram
+ instructionData:
+ name: transferSol
+ args:
+ lamports: 1000000
customerRefId: customerRefId
nonce: "11228"
subStatus: subStatus
@@ -45502,8 +47172,37 @@ components:
destRewards: destRewards
srcRewards: srcRewards
amlScreeningResult:
- provider: provider
- payload: "{}"
+ matchedPrescreeningRule:
+ ruleName: High Risk Sanctions Check
+ action: ALLOW
+ ruleId: rule_001
+ externalId: 3fa85f64-5717-4562-b3fc-2c963f66afa6
+ bypassReason: PASSED_BY_POLICY
+ customerRefId: DEFAULT
+ matchedRule:
+ ruleName: High Risk Sanctions Check
+ action: ALLOW
+ ruleId: rule_001
+ provider: CHAINALYSIS
+ payload:
+ key: ""
+ verdict: PASS
+ destAddress: 0xA2dC2490ED1DcA2D21613508fdb0c82daEAb0715
+ risk: lowRisk
+ category: EXCHANGE
+ matchedAlert:
+ policyAction: BLOCK
+ alertName: Sanctions Match
+ service: CHAINALYSIS
+ exposureType: DIRECT
+ alertLevel: HIGH
+ externalId: alert_12345
+ category: SANCTIONED_ENTITY
+ categoryId: 101
+ alertAmount: 1000.5
+ screeningStatus: COMPLETED
+ categoryId: 5
+ timestamp: 1774363599908
requestedAmount: 3.616076749251911
status: status
note: note
@@ -46317,6 +48016,21 @@ components:
type: string
contractCallDecodedData:
$ref: "#/components/schemas/TransactionResponse_contractCallDecodedData"
+ programCallDecodedData:
+ description: "Decoded instruction list for `PROGRAM_CALL` (Solana) operations.\
+ \ Each entry represents one instruction in the transaction, in execution\
+ \ order. Fireblocks-injected instructions (e.g. `AdvanceNonceAccount`,\
+ \ `ComputeBudget`) appear first, followed by the original dApp instructions."
+ example:
+ - programId: "11111111111111111111111111111111"
+ programName: SystemProgram
+ instructionData:
+ name: transferSol
+ args:
+ lamports: 1000000
+ items:
+ $ref: "#/components/schemas/ProgramCallDecodedDataItem"
+ type: array
amountInfo:
$ref: "#/components/schemas/AmountInfo"
treatAsGrossAmount:
@@ -50694,26 +52408,26 @@ components:
gasLimit: gasLimit
feePerByte: feePerByte
networkFee: networkFee
- priorityFee: 1.4658129805029452
+ priorityFee: priorityFee
l1Fee: l1Fee
- baseFee: 6.027456183070403
- gasPrice: 0.8008281904610115
+ baseFee: baseFee
+ gasPrice: gasPrice
maxFeePerGasDelta: maxFeePerGasDelta
properties:
feePerByte:
type: string
gasPrice:
- type: number
+ type: string
gasLimit:
type: string
networkFee:
type: string
baseFee:
description: (optional) Base Fee according to EIP-1559 (ETH assets)
- type: number
+ type: string
priorityFee:
description: (optional) Priority Fee according to EIP-1559 (ETH assets)
- type: number
+ type: string
maxFeePerGasDelta:
description: Max Fee Per Gas Delta added only for EIP-1559 (ETH assets)
type: string
@@ -50774,19 +52488,19 @@ components:
gasLimit: gasLimit
feePerByte: feePerByte
networkFee: networkFee
- priorityFee: 1.4658129805029452
+ priorityFee: priorityFee
l1Fee: l1Fee
- baseFee: 6.027456183070403
- gasPrice: 0.8008281904610115
+ baseFee: baseFee
+ gasPrice: gasPrice
maxFeePerGasDelta: maxFeePerGasDelta
low:
gasLimit: gasLimit
feePerByte: feePerByte
networkFee: networkFee
- priorityFee: 1.4658129805029452
+ priorityFee: priorityFee
l1Fee: l1Fee
- baseFee: 6.027456183070403
- gasPrice: 0.8008281904610115
+ baseFee: baseFee
+ gasPrice: gasPrice
maxFeePerGasDelta: maxFeePerGasDelta
feeDetails:
high:
@@ -50808,10 +52522,10 @@ components:
gasLimit: gasLimit
feePerByte: feePerByte
networkFee: networkFee
- priorityFee: 1.4658129805029452
+ priorityFee: priorityFee
l1Fee: l1Fee
- baseFee: 6.027456183070403
- gasPrice: 0.8008281904610115
+ baseFee: baseFee
+ gasPrice: gasPrice
maxFeePerGasDelta: maxFeePerGasDelta
properties:
low:
@@ -62120,6 +63834,13 @@ components:
example: 4.05
format: double
type: number
+ supplyIncentiveApy:
+ description: "Additional incentive APY from reward programs (e.g. Merkl\
+ \ rewards on Aave), as a percentage. Only present when the opportunity\
+ \ has active incentives."
+ example: 0.5
+ format: double
+ type: number
type: object
Exposure:
description: Vault allocation exposure item (Morpho MetaMorpho allocation slice).
@@ -62154,6 +63875,30 @@ components:
- address
- amount
type: object
+ EarnCurator:
+ properties:
+ name:
+ description: Curator display name.
+ example: Sentora
+ type: string
+ iconUrl:
+ description: URL of the curator's icon/logo.
+ example: https://example.com/sentora-icon.png
+ format: uri
+ type: string
+ type: object
+ EarnMetadata:
+ properties:
+ name:
+ description: "Protocol display name (e.g. \"Aave\", \"Aave Horizon\")."
+ example: Aave
+ type: string
+ iconUrl:
+ description: URL of the protocol's icon/logo.
+ example: https://example.com/aave-icon.png
+ format: uri
+ type: string
+ type: object
Opportunity:
properties:
id:
@@ -62203,10 +63948,18 @@ components:
description: Human-readable total value locked / assets in the opportunity.
example: "50000000.0"
type: string
+ totalAssetsUsd:
+ description: USD-denominated total assets / TVL.
+ example: "50000000.00"
+ type: string
liquidity:
description: Human-readable available liquidity.
example: "1200000.0"
type: string
+ liquidityUsd:
+ description: USD-denominated available liquidity.
+ example: "1200000.00"
+ type: string
apy:
allOf:
- $ref: "#/components/schemas/Apy"
@@ -62237,6 +63990,20 @@ components:
maxItems: 20
minItems: 0
type: array
+ curator:
+ allOf:
+ - $ref: "#/components/schemas/EarnCurator"
+ description: Curator information for Morpho vaults.
+ example:
+ name: Sentora
+ iconUrl: https://example.com/sentora-icon.png
+ metadata:
+ allOf:
+ - $ref: "#/components/schemas/EarnMetadata"
+ description: Protocol-level metadata (display name and logo).
+ example:
+ name: Aave
+ iconUrl: https://example.com/aave-icon.png
type: object
GetOpportunitiesResponse:
example:
@@ -62401,6 +64168,11 @@ components:
description: Last successful on-chain sync time (ISO-8601).
example: 2025-03-20T08:29:55Z
type: string
+ lastModifiedAt:
+ description: Timestamp of the last user-triggered action on this position
+ (ISO-8601). Empty if the user has never interacted with it.
+ example: 2025-03-19T14:00:00Z
+ type: string
availableActions:
description: Actions the API allows next for this position.
example:
@@ -71570,6 +73342,28 @@ components:
policy rule on tenant configuration.
type: boolean
type: object
+ RescreenTransactionRequest:
+ example:
+ resetTravelRuleMessage: false
+ properties:
+ resetTravelRuleMessage:
+ default: false
+ description: "When true, clears the existing travel rule message on the\
+ \ transaction before rescreening."
+ example: false
+ type: boolean
+ type: object
+ RescreenTransactionResponse:
+ example:
+ success: true
+ properties:
+ success:
+ description: Whether the rescreen was triggered successfully
+ example: true
+ type: boolean
+ required:
+ - success
+ type: object
ScreeningAlertExposureTypeEnum:
description: Alert exposure type
enum:
@@ -81684,6 +83478,94 @@ components:
- rules
- status
type: object
+ PolicyRuleQuotaParticipant:
+ description: Participant identifier for AOT quota calculation
+ example:
+ id: "123"
+ type: VAULT
+ properties:
+ id:
+ description: "Participant identifier (integer for VAULT accounts, UUID for\
+ \ others)"
+ example: "123"
+ type: string
+ type:
+ description: Participant type
+ example: VAULT
+ type: string
+ required:
+ - id
+ - type
+ type: object
+ PolicyRuleQuotaRequest:
+ example:
+ initiator: a1b2c3d4-e5f6-7890-abcd-ef1234567890
+ destination:
+ id: "123"
+ type: VAULT
+ source:
+ id: "123"
+ type: VAULT
+ ruleId: a1b2c3d4-e5f6-7890-abcd-ef1234567890
+ properties:
+ ruleId:
+ description: The ID of the policy rule to calculate AOT quota for
+ example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
+ type: string
+ initiator:
+ description: Optional initiator identifier for the AOT calculation
+ example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
+ type: string
+ source:
+ $ref: "#/components/schemas/PolicyRuleQuotaParticipant"
+ destination:
+ $ref: "#/components/schemas/PolicyRuleQuotaParticipant"
+ required:
+ - ruleId
+ type: object
+ PolicyRuleQuotaResponse:
+ example:
+ amount: "10000"
+ quotaConfig:
+ timePeriod:
+ seconds: "86400"
+ initiator: PER_SINGLE_MATCH
+ destination: PER_SINGLE_MATCH
+ source: PER_SINGLE_MATCH
+ range:
+ min: "100"
+ max: "10000"
+ currency: USD
+ windowStart: 1699913600
+ currency: USD
+ windowEnd: 1700000000
+ transactionCount: 5
+ properties:
+ amount:
+ description: The calculated Amount Over Time (AOT) quota for the rule
+ example: "10000"
+ type: string
+ quotaConfig:
+ $ref: "#/components/schemas/AmountOverTimeConfig"
+ currency:
+ description: The currency of the AOT amount
+ example: USD
+ type: string
+ windowStart:
+ description: Unix timestamp (seconds) of the start of the current AOT time
+ window
+ example: 1699913600
+ type: number
+ windowEnd:
+ description: Unix timestamp (seconds) of the end of the current AOT time
+ window (when the AOT was calculated)
+ example: 1700000000
+ type: number
+ transactionCount:
+ description: Number of transactions in the current AOT time window
+ example: 5
+ type: number
+ type: object
UserId:
description: The unique identifier of the user
type: string
@@ -82974,6 +84856,8 @@ components:
id: df4c0987-30da-4976-8dcf-bc2dd41ae331
label: VIP
type: WALLET_POOL
+ allowedEntityTypes:
+ - vault_account
pendingApprovalRequest:
id: "12345"
state: PENDING
@@ -82985,6 +84869,8 @@ components:
id: df4c0987-30da-4976-8dcf-bc2dd41ae331
label: VIP
type: WALLET_POOL
+ allowedEntityTypes:
+ - vault_account
pendingApprovalRequest:
id: "12345"
state: PENDING
@@ -83011,6 +84897,8 @@ components:
description: Tag for VIP customers
label: VIP
type: WALLET_POOL
+ allowedEntityTypes:
+ - vault_account
properties:
label:
description: The tag label
@@ -83033,6 +84921,18 @@ components:
type: boolean
type:
$ref: "#/components/schemas/TagType"
+ allowedEntityTypes:
+ default:
+ - vault_account
+ description: "Allow-list of entity types this tag may be attached to. Soft-defaults\
+ \ to ['vault_account'] when omitted, and is immutable after creation.\
+ \ Known values: vault_account (default), contact."
+ example:
+ - vault_account
+ items:
+ type: string
+ minItems: 1
+ type: array
required:
- label
type: object
@@ -84460,6 +86360,622 @@ components:
- requestedByUserId
- status
type: object
+ BlockchainStateFilter:
+ description: Blockchain lifecycle state used for list filtering.
+ enum:
+ - BLOCKCHAIN_STATE_CREATED
+ - BLOCKCHAIN_STATE_ACTIVATING
+ - BLOCKCHAIN_STATE_ACTIVATED
+ - BLOCKCHAIN_STATE_DEACTIVATING
+ - BLOCKCHAIN_STATE_DEACTIVATED
+ - BLOCKCHAIN_STATE_TECHNICAL_FAILURE
+ type: string
+ BlockchainEnvironment:
+ description: Blockchain network environment.
+ enum:
+ - MAINNET
+ - TESTNET
+ type: string
+ BlockchainSortField:
+ description: Field to sort the blockchain list by.
+ enum:
+ - createdAt
+ - chainName
+ - symbolName
+ - status
+ type: string
+ BlockchainRpcAuth:
+ description: Discriminated RPC auth payload. Sent on create/update so backend
+ can distinguish "no auth" from "field unchanged" on PUT updates. Credential
+ values are stored inside declaredProperties and fetched at activation time;
+ they are deliberately not carried through workflow context.
+ example:
+ password: my-password
+ headerName: X-Custom-Auth
+ headerValue: my-header-value
+ type: RPC_AUTH_BASIC
+ username: rpc_user
+ token: my-bearer-token
+ properties:
+ type:
+ description: Authentication scheme used when calling the RPC endpoint.
+ enum:
+ - RPC_AUTH_BASIC
+ - RPC_AUTH_BEARER
+ - RPC_AUTH_CUSTOM_HEADER
+ example: RPC_AUTH_BASIC
+ type: string
+ username:
+ description: Username for RPC_AUTH_BASIC authentication.
+ example: rpc_user
+ type: string
+ password:
+ description: Password for RPC_AUTH_BASIC authentication.
+ example: my-password
+ type: string
+ token:
+ description: Bearer token for RPC_AUTH_BEARER authentication.
+ example: my-bearer-token
+ type: string
+ headerName:
+ description: Header name for RPC_AUTH_CUSTOM_HEADER authentication.
+ example: X-Custom-Auth
+ type: string
+ headerValue:
+ description: Header value for RPC_AUTH_CUSTOM_HEADER authentication.
+ example: my-header-value
+ type: string
+ required:
+ - type
+ type: object
+ BlockchainDeclaredProperties:
+ description: Declared properties for blockchain configuration (create/update
+ API and response) Only the fields sent by the API and returned in list/create/update
+ responses.
+ example:
+ explorerApiUrl: https://api.etherscan.io
+ chainName: Ethereum
+ baseAssetTenantIds:
+ - f47ac10b-58cc-4372-a567-0e02b2c3d479
+ isPoa: false
+ environmentType: ENVIRONMENT_TYPE_MAINNET
+ blockExplorerTransactionPath: /tx
+ hasFee: true
+ rpcUrls:
+ - https://rpc.example.com
+ nodeType: NODE_TYPE_CORE_GETH
+ explorerApiKey: my-explorer-api-key
+ transactionFormat: 0
+ blockExplorerAddressPath: /address
+ chainId: 1
+ decimals: 18
+ isTraceEnabled: false
+ symbolName: ETH
+ networkId: 1
+ rpcAuth:
+ password: my-password
+ headerName: X-Custom-Auth
+ headerValue: my-header-value
+ type: RPC_AUTH_BASIC
+ username: rpc_user
+ token: my-bearer-token
+ blockExplorerUrl: https://etherscan.io
+ hasLayeredFee: false
+ properties:
+ chainName:
+ description: Human-readable name of the blockchain.
+ example: Ethereum
+ type: string
+ chainId:
+ description: EVM chain ID of the blockchain.
+ example: 1
+ type: number
+ symbolName:
+ description: Native asset symbol of the blockchain.
+ example: ETH
+ type: string
+ decimals:
+ description: Number of decimals for the native asset.
+ example: 18
+ type: number
+ rpcUrls:
+ description: RPC endpoint URLs for the blockchain.
+ example:
+ - https://rpc.example.com
+ items:
+ type: string
+ maxItems: 1
+ minItems: 1
+ type: array
+ environmentType:
+ description: Network environment (mainnet or testnet).
+ enum:
+ - ENVIRONMENT_TYPE_MAINNET
+ - ENVIRONMENT_TYPE_TESTNET
+ example: ENVIRONMENT_TYPE_MAINNET
+ type: string
+ blockExplorerUrl:
+ description: Base URL of the block explorer.
+ example: https://etherscan.io
+ type: string
+ blockExplorerTransactionPath:
+ description: Path template for a transaction on the block explorer.
+ example: /tx
+ type: string
+ blockExplorerAddressPath:
+ description: Path template for an address on the block explorer.
+ example: /address
+ type: string
+ networkId:
+ description: EVM network ID of the blockchain.
+ example: 1
+ type: number
+ hasFee:
+ description: Whether the blockchain charges transaction fees.
+ example: true
+ type: boolean
+ isPoa:
+ description: Whether the blockchain uses proof-of-authority consensus.
+ example: false
+ type: boolean
+ hasLayeredFee:
+ description: Whether the blockchain uses a layered fee model.
+ example: false
+ type: boolean
+ nodeType:
+ description: Node client type for the blockchain.
+ enum:
+ - NODE_TYPE_CORE_GETH
+ - NODE_TYPE_FANTOM
+ - NODE_TYPE_ERIGON
+ - NODE_TYPE_PARITY
+ - NODE_TYPE_BESU
+ example: NODE_TYPE_CORE_GETH
+ type: string
+ transactionFormat:
+ description: Transaction format identifier.
+ example: 0
+ type: number
+ baseAssetTenantIds:
+ description: Tenant IDs that share this base asset.
+ example:
+ - f47ac10b-58cc-4372-a567-0e02b2c3d479
+ items:
+ type: string
+ type: array
+ explorerApiUrl:
+ description: Block explorer API base URL.
+ example: https://api.etherscan.io
+ type: string
+ explorerApiKey:
+ description: API key for the block explorer API.
+ example: my-explorer-api-key
+ type: string
+ isTraceEnabled:
+ description: Whether trace/debug RPC methods are enabled.
+ example: false
+ type: boolean
+ rpcAuth:
+ $ref: "#/components/schemas/BlockchainRpcAuth"
+ required:
+ - chainId
+ - chainName
+ - environmentType
+ - rpcUrls
+ - symbolName
+ type: object
+ Blockchain:
+ description: Blockchain entity
+ example:
+ validationCreatedAtUtc: 1700000000000
+ validationUpdatedAtUtc: 1700000000000
+ validationSessionId: f47ac10b-58cc-4372-a567-0e02b2c3d479
+ declaredProperties:
+ explorerApiUrl: https://api.etherscan.io
+ chainName: Ethereum
+ baseAssetTenantIds:
+ - f47ac10b-58cc-4372-a567-0e02b2c3d479
+ isPoa: false
+ environmentType: ENVIRONMENT_TYPE_MAINNET
+ blockExplorerTransactionPath: /tx
+ hasFee: true
+ rpcUrls:
+ - https://rpc.example.com
+ nodeType: NODE_TYPE_CORE_GETH
+ explorerApiKey: my-explorer-api-key
+ transactionFormat: 0
+ blockExplorerAddressPath: /address
+ chainId: 1
+ decimals: 18
+ isTraceEnabled: false
+ symbolName: ETH
+ networkId: 1
+ rpcAuth:
+ password: my-password
+ headerName: X-Custom-Auth
+ headerValue: my-header-value
+ type: RPC_AUTH_BASIC
+ username: rpc_user
+ token: my-bearer-token
+ blockExplorerUrl: https://etherscan.io
+ hasLayeredFee: false
+ failedStep: FAILED_STEP_CONFIGURATION
+ blockchainState: BLOCKCHAIN_STATE_ACTIVATED
+ createdAtUtc: 1700000000000
+ validationFailureReasons:
+ - RPC endpoint unreachable
+ id: f47ac10b-58cc-4372-a567-0e02b2c3d479
+ validationCompletedAtUtc: 1700000000000
+ validationStatus: VALIDATION_STATUS_SUCCEEDED
+ updatedAtUtc: 1700000000000
+ properties:
+ id:
+ description: Unique blockchain identifier.
+ example: f47ac10b-58cc-4372-a567-0e02b2c3d479
+ type: string
+ blockchainState:
+ description: Current lifecycle state of the blockchain.
+ enum:
+ - BLOCKCHAIN_STATE_CREATED
+ - BLOCKCHAIN_STATE_ACTIVATING
+ - BLOCKCHAIN_STATE_ACTIVATED
+ - BLOCKCHAIN_STATE_DEACTIVATING
+ - BLOCKCHAIN_STATE_DEACTIVATED
+ - BLOCKCHAIN_STATE_TECHNICAL_FAILURE
+ example: BLOCKCHAIN_STATE_ACTIVATED
+ type: string
+ declaredProperties:
+ $ref: "#/components/schemas/BlockchainDeclaredProperties"
+ createdAtUtc:
+ description: "Creation timestamp (epoch milliseconds, UTC)."
+ example: 1700000000000
+ type: number
+ updatedAtUtc:
+ description: "Last update timestamp (epoch milliseconds, UTC)."
+ example: 1700000000000
+ type: number
+ validationSessionId:
+ description: Validation session data (optional - only present if validation
+ session exists)
+ example: f47ac10b-58cc-4372-a567-0e02b2c3d479
+ type: string
+ validationStatus:
+ description: Status of the latest validation session.
+ enum:
+ - VALIDATION_STATUS_PENDING
+ - VALIDATION_STATUS_IN_PROGRESS
+ - VALIDATION_STATUS_SUCCEEDED
+ - VALIDATION_STATUS_FAILED
+ - VALIDATION_STATUS_TECHNICAL_FAILURE
+ example: VALIDATION_STATUS_SUCCEEDED
+ type: string
+ validationCreatedAtUtc:
+ description: "Validation session creation timestamp (epoch milliseconds,\
+ \ UTC)."
+ example: 1700000000000
+ type: number
+ validationUpdatedAtUtc:
+ description: "Validation session last update timestamp (epoch milliseconds,\
+ \ UTC)."
+ example: 1700000000000
+ type: number
+ validationCompletedAtUtc:
+ description: "Validation session completion timestamp (epoch milliseconds,\
+ \ UTC)."
+ example: 1700000000000
+ type: number
+ validationFailureReasons:
+ description: "Reasons the latest validation failed, if any."
+ example:
+ - RPC endpoint unreachable
+ items:
+ type: string
+ type: array
+ failedStep:
+ description: Business step at which the activation flow failed. Absent when
+ no failure has been recorded.
+ enum:
+ - FAILED_STEP_CONFIGURATION
+ - FAILED_STEP_RESOURCES_ALLOCATION
+ - FAILED_STEP_TEST_TX_EXTERNAL_TO_FIREBLOCKS
+ - FAILED_STEP_TEST_TX_FIREBLOCKS_TO_FIREBLOCKS
+ example: FAILED_STEP_CONFIGURATION
+ type: string
+ required:
+ - blockchainState
+ - createdAtUtc
+ - declaredProperties
+ - id
+ - updatedAtUtc
+ - validationFailureReasons
+ type: object
+ ListBlockchainsResponse-2:
+ example:
+ next: some_value
+ total: 100
+ data: []
+ prev: some_value
+ properties:
+ data:
+ description: Blockchains for the current page.
+ example: []
+ items:
+ $ref: "#/components/schemas/Blockchain"
+ type: array
+ total:
+ description: "Total number of items across all pages, matching the current\
+ \ filter."
+ example: 100
+ type: number
+ next:
+ description: "Cursor for the next page; absent when the current page is\
+ \ the last. Opaque base64 blob bundling the target pageCursor and current\
+ \ query params (pageSize, search, status, statusExclude, blockchainEnv,\
+ \ sortBy, order)."
+ example: some_value
+ type: string
+ prev:
+ description: Cursor for the previous page; absent when the current page
+ is the first.
+ example: some_value
+ type: string
+ required:
+ - data
+ - total
+ type: object
+ CreateBlockchainRequest:
+ description: Create blockchain request. tenant_id is derived from the JWT token
+ context.
+ example:
+ declaredProperties:
+ explorerApiUrl: https://api.etherscan.io
+ chainName: Ethereum
+ baseAssetTenantIds:
+ - f47ac10b-58cc-4372-a567-0e02b2c3d479
+ isPoa: false
+ environmentType: ENVIRONMENT_TYPE_MAINNET
+ blockExplorerTransactionPath: /tx
+ hasFee: true
+ rpcUrls:
+ - https://rpc.example.com
+ nodeType: NODE_TYPE_CORE_GETH
+ explorerApiKey: my-explorer-api-key
+ transactionFormat: 0
+ blockExplorerAddressPath: /address
+ chainId: 1
+ decimals: 18
+ isTraceEnabled: false
+ symbolName: ETH
+ networkId: 1
+ rpcAuth:
+ password: my-password
+ headerName: X-Custom-Auth
+ headerValue: my-header-value
+ type: RPC_AUTH_BASIC
+ username: rpc_user
+ token: my-bearer-token
+ blockExplorerUrl: https://etherscan.io
+ hasLayeredFee: false
+ properties:
+ declaredProperties:
+ $ref: "#/components/schemas/BlockchainDeclaredProperties"
+ required:
+ - declaredProperties
+ type: object
+ CreateBlockchainResponse:
+ example:
+ blockchain:
+ validationCreatedAtUtc: 1700000000000
+ validationUpdatedAtUtc: 1700000000000
+ validationSessionId: f47ac10b-58cc-4372-a567-0e02b2c3d479
+ declaredProperties:
+ explorerApiUrl: https://api.etherscan.io
+ chainName: Ethereum
+ baseAssetTenantIds:
+ - f47ac10b-58cc-4372-a567-0e02b2c3d479
+ isPoa: false
+ environmentType: ENVIRONMENT_TYPE_MAINNET
+ blockExplorerTransactionPath: /tx
+ hasFee: true
+ rpcUrls:
+ - https://rpc.example.com
+ nodeType: NODE_TYPE_CORE_GETH
+ explorerApiKey: my-explorer-api-key
+ transactionFormat: 0
+ blockExplorerAddressPath: /address
+ chainId: 1
+ decimals: 18
+ isTraceEnabled: false
+ symbolName: ETH
+ networkId: 1
+ rpcAuth:
+ password: my-password
+ headerName: X-Custom-Auth
+ headerValue: my-header-value
+ type: RPC_AUTH_BASIC
+ username: rpc_user
+ token: my-bearer-token
+ blockExplorerUrl: https://etherscan.io
+ hasLayeredFee: false
+ failedStep: FAILED_STEP_CONFIGURATION
+ blockchainState: BLOCKCHAIN_STATE_ACTIVATED
+ createdAtUtc: 1700000000000
+ validationFailureReasons:
+ - RPC endpoint unreachable
+ id: f47ac10b-58cc-4372-a567-0e02b2c3d479
+ validationCompletedAtUtc: 1700000000000
+ validationStatus: VALIDATION_STATUS_SUCCEEDED
+ updatedAtUtc: 1700000000000
+ message: Blockchain created successfully
+ properties:
+ blockchain:
+ $ref: "#/components/schemas/Blockchain"
+ message:
+ description: Human-readable result message.
+ example: Blockchain created successfully
+ type: string
+ required:
+ - blockchain
+ - message
+ type: object
+ GetTestWalletAddressResponse:
+ example:
+ testWalletAddress: 0x0000000000000000000000000000000000000000
+ properties:
+ testWalletAddress:
+ description: Ethereum address derived from BLOCKCHAIN_LINK_EXTERNAL_WALLET_PRIVATE_KEY
+ (for UI display).
+ example: 0x0000000000000000000000000000000000000000
+ type: string
+ type: object
+ GetBillingInfoResponse:
+ example:
+ activatedBlockchainsLimit: 10
+ activatedBlockchainsUsed: 3
+ properties:
+ activatedBlockchainsLimit:
+ description: Maximum number of activated blockchains allowed for this tenant
+ (0 = not purchased).
+ example: 10
+ type: number
+ activatedBlockchainsUsed:
+ description: "Number of blockchains currently in Activating, Activated,\
+ \ or Deactivating state for this tenant. Filter-independent (ignores list\
+ \ filters/pagination)."
+ example: 3
+ type: number
+ required:
+ - activatedBlockchainsLimit
+ - activatedBlockchainsUsed
+ type: object
+ GetBlockchainByIdResponse:
+ example:
+ blockchain:
+ validationCreatedAtUtc: 1700000000000
+ validationUpdatedAtUtc: 1700000000000
+ validationSessionId: f47ac10b-58cc-4372-a567-0e02b2c3d479
+ declaredProperties:
+ explorerApiUrl: https://api.etherscan.io
+ chainName: Ethereum
+ baseAssetTenantIds:
+ - f47ac10b-58cc-4372-a567-0e02b2c3d479
+ isPoa: false
+ environmentType: ENVIRONMENT_TYPE_MAINNET
+ blockExplorerTransactionPath: /tx
+ hasFee: true
+ rpcUrls:
+ - https://rpc.example.com
+ nodeType: NODE_TYPE_CORE_GETH
+ explorerApiKey: my-explorer-api-key
+ transactionFormat: 0
+ blockExplorerAddressPath: /address
+ chainId: 1
+ decimals: 18
+ isTraceEnabled: false
+ symbolName: ETH
+ networkId: 1
+ rpcAuth:
+ password: my-password
+ headerName: X-Custom-Auth
+ headerValue: my-header-value
+ type: RPC_AUTH_BASIC
+ username: rpc_user
+ token: my-bearer-token
+ blockExplorerUrl: https://etherscan.io
+ hasLayeredFee: false
+ failedStep: FAILED_STEP_CONFIGURATION
+ blockchainState: BLOCKCHAIN_STATE_ACTIVATED
+ createdAtUtc: 1700000000000
+ validationFailureReasons:
+ - RPC endpoint unreachable
+ id: f47ac10b-58cc-4372-a567-0e02b2c3d479
+ validationCompletedAtUtc: 1700000000000
+ validationStatus: VALIDATION_STATUS_SUCCEEDED
+ updatedAtUtc: 1700000000000
+ properties:
+ blockchain:
+ $ref: "#/components/schemas/Blockchain"
+ required:
+ - blockchain
+ type: object
+ UpdateBlockchainResponse:
+ example:
+ blockchain:
+ validationCreatedAtUtc: 1700000000000
+ validationUpdatedAtUtc: 1700000000000
+ validationSessionId: f47ac10b-58cc-4372-a567-0e02b2c3d479
+ declaredProperties:
+ explorerApiUrl: https://api.etherscan.io
+ chainName: Ethereum
+ baseAssetTenantIds:
+ - f47ac10b-58cc-4372-a567-0e02b2c3d479
+ isPoa: false
+ environmentType: ENVIRONMENT_TYPE_MAINNET
+ blockExplorerTransactionPath: /tx
+ hasFee: true
+ rpcUrls:
+ - https://rpc.example.com
+ nodeType: NODE_TYPE_CORE_GETH
+ explorerApiKey: my-explorer-api-key
+ transactionFormat: 0
+ blockExplorerAddressPath: /address
+ chainId: 1
+ decimals: 18
+ isTraceEnabled: false
+ symbolName: ETH
+ networkId: 1
+ rpcAuth:
+ password: my-password
+ headerName: X-Custom-Auth
+ headerValue: my-header-value
+ type: RPC_AUTH_BASIC
+ username: rpc_user
+ token: my-bearer-token
+ blockExplorerUrl: https://etherscan.io
+ hasLayeredFee: false
+ failedStep: FAILED_STEP_CONFIGURATION
+ blockchainState: BLOCKCHAIN_STATE_ACTIVATED
+ createdAtUtc: 1700000000000
+ validationFailureReasons:
+ - RPC endpoint unreachable
+ id: f47ac10b-58cc-4372-a567-0e02b2c3d479
+ validationCompletedAtUtc: 1700000000000
+ validationStatus: VALIDATION_STATUS_SUCCEEDED
+ updatedAtUtc: 1700000000000
+ message: Blockchain updated successfully
+ properties:
+ blockchain:
+ $ref: "#/components/schemas/Blockchain"
+ message:
+ description: Human-readable result message.
+ example: Blockchain updated successfully
+ type: string
+ required:
+ - blockchain
+ - message
+ type: object
+ ActivateBlockchainResponse:
+ example:
+ message: Blockchain activation started
+ properties:
+ message:
+ description: Human-readable result message.
+ example: Blockchain activation started
+ type: string
+ required:
+ - message
+ type: object
+ TriggerValidationFlowResponse:
+ example:
+ message: Validation flow triggered
+ properties:
+ message:
+ description: Human-readable result message.
+ example: Validation flow triggered
+ type: string
+ required:
+ - message
+ type: object
get_filter_parameter:
properties:
id:
diff --git a/build.gradle b/build.gradle
index 3d8829b8..d43e483e 100644
--- a/build.gradle
+++ b/build.gradle
@@ -3,7 +3,7 @@ apply plugin: 'eclipse'
apply plugin: 'com.diffplug.spotless'
group = 'com.fireblocks.sdk'
-version = '23.0.0'
+version = '0.0.0'
buildscript {
repositories {
diff --git a/docs/ActivateBlockchainResponse.md b/docs/ActivateBlockchainResponse.md
new file mode 100644
index 00000000..2847800e
--- /dev/null
+++ b/docs/ActivateBlockchainResponse.md
@@ -0,0 +1,13 @@
+
+
+# ActivateBlockchainResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**message** | **String** | Human-readable result message. | |
+
+
+
diff --git a/docs/AddConnectedAccountRequest.md b/docs/AddConnectedAccountRequest.md
index 38adc9fe..f97c82d7 100644
--- a/docs/AddConnectedAccountRequest.md
+++ b/docs/AddConnectedAccountRequest.md
@@ -9,7 +9,7 @@
|------------ | ------------- | ------------- | -------------|
|**providerId** | **String** | Integration key identifying the provider (e.g. BINANCE, KINGDOM_BANK, GEMINI_NLV2). | |
|**displayName** | **String** | Human-readable account name. Required for non-NLV2 providers. | [optional] |
-|**creds** | **byte[]** | Base64-encoded RSA-encrypted credential blob. Encrypt using the public key from GET /exchange_accounts/credentials_public_key. | |
+|**creds** | **byte[]** | Base64-encoded RSA-encrypted credential blob. Encrypt using the public key from GET /connected_accounts/credentials/public_key. | |
|**apiKey** | **String** | Account-level API key. | |
|**mainAccountId** | **String** | Parent main account ID for sub-account creation. Not allowed for NLV2 providers. | [optional] |
|**accountId** | **String** | Optional provider-side account ID to associate with the created account. | [optional] |
diff --git a/docs/AmlBypassReasonEnum.md b/docs/AmlBypassReasonEnum.md
new file mode 100644
index 00000000..032db27b
--- /dev/null
+++ b/docs/AmlBypassReasonEnum.md
@@ -0,0 +1,29 @@
+
+
+# AmlBypassReasonEnum
+
+## Enum
+
+
+* `MANUAL` (value: `"MANUAL"`)
+
+* `UNSUPPORTED_ASSET` (value: `"UNSUPPORTED_ASSET"`)
+
+* `BYPASSED_FAILURE` (value: `"BYPASSED_FAILURE"`)
+
+* `UNSUPPORTED_ROUTE` (value: `"UNSUPPORTED_ROUTE"`)
+
+* `PASSED_BY_POLICY` (value: `"PASSED_BY_POLICY"`)
+
+* `TIMED_OUT` (value: `"TIMED_OUT"`)
+
+* `BAD_CREDENTIALS` (value: `"BAD_CREDENTIALS"`)
+
+* `CONFIGURATION_ERROR` (value: `"CONFIGURATION_ERROR"`)
+
+* `DROPPED_BY_BLOCKCHAIN` (value: `"DROPPED_BY_BLOCKCHAIN"`)
+
+* `PROCESS_DISMISSED` (value: `"PROCESS_DISMISSED"`)
+
+
+
diff --git a/docs/AmlScreeningResult.md b/docs/AmlScreeningResult.md
index 6ad70884..5fa4d972 100644
--- a/docs/AmlScreeningResult.md
+++ b/docs/AmlScreeningResult.md
@@ -2,14 +2,27 @@
# AmlScreeningResult
-The result of the AML screening.
+The result of the AML screening. Mirrors the output of the developer-api transaction formatter (IFormattedAmlResult). Not all fields are present in every response — the set depends on the AML provider and screening flow.
## Properties
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-|**provider** | **String** | | [optional] |
-|**payload** | **Object** | | [optional] |
+|**provider** | **String** | The AML provider name. Known values: CHAINALYSIS, ELLIPTIC, CHAINALYSIS_V2, ELLIPTIC_HOLISTIC, BYORK_SLITE, BYORK_LITE, NONE. | [optional] |
+|**payload** | **Map<String, Object>** | The raw, unmodified screening response from the provider. Structure varies per provider. | [optional] |
+|**verdict** | **ScreeningVerdictEnum** | | [optional] |
+|**screeningStatus** | **ScreeningStatusEnum** | | [optional] |
+|**bypassReason** | **AmlBypassReasonEnum** | | [optional] |
+|**timestamp** | **BigDecimal** | Unix timestamp in milliseconds when the screening result was generated. | [optional] |
+|**customerRefId** | **String** | Customer-provided reference identifier for tracking. | [optional] |
+|**externalId** | **String** | External identifier for the screening (provider-specific). | [optional] |
+|**category** | **String** | Risk category classification. The available categories are subject to change depending on the provider. | [optional] |
+|**categoryId** | **BigDecimal** | Numeric identifier for the risk category. | [optional] |
+|**risk** | **String** | Provider-specific risk level. Values vary by provider. | [optional] |
+|**destAddress** | **String** | The destination blockchain address associated with the screening. | [optional] |
+|**matchedRule** | [**AmlMatchedRule**](AmlMatchedRule.md) | | [optional] |
+|**matchedPrescreeningRule** | [**AmlMatchedRule**](AmlMatchedRule.md) | | [optional] |
+|**matchedAlert** | [**AmlAlert**](AmlAlert.md) | | [optional] |
diff --git a/docs/Apy.md b/docs/Apy.md
index 7a0141ce..8f12683f 100644
--- a/docs/Apy.md
+++ b/docs/Apy.md
@@ -10,6 +10,7 @@
|**_native** | **Double** | APY in native format (before fees), as a percentage (e.g. 4.25 means 4.25%, not 0.0425). | [optional] |
|**gross** | **Double** | Gross APY before fees, as a percentage (e.g. 4.25 means 4.25%, not 0.0425). | [optional] |
|**net** | **Double** | Net APY after fees, as a percentage (e.g. 4.25 means 4.25%, not 0.0425). | [optional] |
+|**supplyIncentiveApy** | **Double** | Additional incentive APY from reward programs (e.g. Merkl rewards on Aave), as a percentage. Only present when the opportunity has active incentives. | [optional] |
diff --git a/docs/AutomationSettingsRequest.md b/docs/AutomationSettingsRequest.md
new file mode 100644
index 00000000..695cb164
--- /dev/null
+++ b/docs/AutomationSettingsRequest.md
@@ -0,0 +1,24 @@
+
+
+# AutomationSettingsRequest
+
+Request body for setting up a USDC Gateway deposit automation for a vault account.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**automationType** | [**AutomationTypeEnum**](#AutomationTypeEnum) | The type of automation to configure. | |
+|**assetId** | **String** | The Fireblocks asset ID this automation applies to. Omit to cover all supported USDC Gateway assets. | [optional] |
+|**timeBased** | [**TimeBasedTrigger**](TimeBasedTrigger.md) | | |
+
+
+
+## Enum: AutomationTypeEnum
+
+| Name | Value |
+|---- | -----|
+| USDC_GATEWAY_DEPOSIT | "USDC_GATEWAY_DEPOSIT" |
+
+
+
diff --git a/docs/AutomationSettingsResponse.md b/docs/AutomationSettingsResponse.md
new file mode 100644
index 00000000..9f088230
--- /dev/null
+++ b/docs/AutomationSettingsResponse.md
@@ -0,0 +1,25 @@
+
+
+# AutomationSettingsResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**automationId** | **UUID** | The ID of this deposit automation. | |
+|**vaultAccountId** | **String** | The vault account this deposit automation applies to. | |
+|**assetId** | **String** | The Fireblocks asset ID this automation applies to, if scoped to one. | [optional] |
+|**automationType** | [**AutomationTypeEnum**](#AutomationTypeEnum) | The type of this automation. | |
+|**timeBased** | [**TimeBasedTrigger**](TimeBasedTrigger.md) | | |
+
+
+
+## Enum: AutomationTypeEnum
+
+| Name | Value |
+|---- | -----|
+| USDC_GATEWAY_DEPOSIT | "USDC_GATEWAY_DEPOSIT" |
+
+
+
diff --git a/docs/Blockchain.md b/docs/Blockchain.md
new file mode 100644
index 00000000..5bd3f5fb
--- /dev/null
+++ b/docs/Blockchain.md
@@ -0,0 +1,61 @@
+
+
+# Blockchain
+
+Blockchain entity
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**id** | **String** | Unique blockchain identifier. | |
+|**blockchainState** | [**BlockchainStateEnum**](#BlockchainStateEnum) | Current lifecycle state of the blockchain. | |
+|**declaredProperties** | [**BlockchainDeclaredProperties**](BlockchainDeclaredProperties.md) | | |
+|**createdAtUtc** | **BigDecimal** | Creation timestamp (epoch milliseconds, UTC). | |
+|**updatedAtUtc** | **BigDecimal** | Last update timestamp (epoch milliseconds, UTC). | |
+|**validationSessionId** | **String** | Validation session data (optional - only present if validation session exists) | [optional] |
+|**validationStatus** | [**ValidationStatusEnum**](#ValidationStatusEnum) | Status of the latest validation session. | [optional] |
+|**validationCreatedAtUtc** | **BigDecimal** | Validation session creation timestamp (epoch milliseconds, UTC). | [optional] |
+|**validationUpdatedAtUtc** | **BigDecimal** | Validation session last update timestamp (epoch milliseconds, UTC). | [optional] |
+|**validationCompletedAtUtc** | **BigDecimal** | Validation session completion timestamp (epoch milliseconds, UTC). | [optional] |
+|**validationFailureReasons** | **List<String>** | Reasons the latest validation failed, if any. | |
+|**failedStep** | [**FailedStepEnum**](#FailedStepEnum) | Business step at which the activation flow failed. Absent when no failure has been recorded. | [optional] |
+
+
+
+## Enum: BlockchainStateEnum
+
+| Name | Value |
+|---- | -----|
+| BLOCKCHAIN_STATE_CREATED | "BLOCKCHAIN_STATE_CREATED" |
+| BLOCKCHAIN_STATE_ACTIVATING | "BLOCKCHAIN_STATE_ACTIVATING" |
+| BLOCKCHAIN_STATE_ACTIVATED | "BLOCKCHAIN_STATE_ACTIVATED" |
+| BLOCKCHAIN_STATE_DEACTIVATING | "BLOCKCHAIN_STATE_DEACTIVATING" |
+| BLOCKCHAIN_STATE_DEACTIVATED | "BLOCKCHAIN_STATE_DEACTIVATED" |
+| BLOCKCHAIN_STATE_TECHNICAL_FAILURE | "BLOCKCHAIN_STATE_TECHNICAL_FAILURE" |
+
+
+
+## Enum: ValidationStatusEnum
+
+| Name | Value |
+|---- | -----|
+| VALIDATION_STATUS_PENDING | "VALIDATION_STATUS_PENDING" |
+| VALIDATION_STATUS_IN_PROGRESS | "VALIDATION_STATUS_IN_PROGRESS" |
+| VALIDATION_STATUS_SUCCEEDED | "VALIDATION_STATUS_SUCCEEDED" |
+| VALIDATION_STATUS_FAILED | "VALIDATION_STATUS_FAILED" |
+| VALIDATION_STATUS_TECHNICAL_FAILURE | "VALIDATION_STATUS_TECHNICAL_FAILURE" |
+
+
+
+## Enum: FailedStepEnum
+
+| Name | Value |
+|---- | -----|
+| FAILED_STEP_CONFIGURATION | "FAILED_STEP_CONFIGURATION" |
+| FAILED_STEP_RESOURCES_ALLOCATION | "FAILED_STEP_RESOURCES_ALLOCATION" |
+| FAILED_STEP_TEST_TX_EXTERNAL_TO_FIREBLOCKS | "FAILED_STEP_TEST_TX_EXTERNAL_TO_FIREBLOCKS" |
+| FAILED_STEP_TEST_TX_FIREBLOCKS_TO_FIREBLOCKS | "FAILED_STEP_TEST_TX_FIREBLOCKS_TO_FIREBLOCKS" |
+
+
+
diff --git a/docs/BlockchainDeclaredProperties.md b/docs/BlockchainDeclaredProperties.md
new file mode 100644
index 00000000..32d85aa2
--- /dev/null
+++ b/docs/BlockchainDeclaredProperties.md
@@ -0,0 +1,54 @@
+
+
+# BlockchainDeclaredProperties
+
+Declared properties for blockchain configuration (create/update API and response) Only the fields sent by the API and returned in list/create/update responses.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**chainName** | **String** | Human-readable name of the blockchain. | |
+|**chainId** | **BigDecimal** | EVM chain ID of the blockchain. | |
+|**symbolName** | **String** | Native asset symbol of the blockchain. | |
+|**decimals** | **BigDecimal** | Number of decimals for the native asset. | [optional] |
+|**rpcUrls** | **List<String>** | RPC endpoint URLs for the blockchain. | |
+|**environmentType** | [**EnvironmentTypeEnum**](#EnvironmentTypeEnum) | Network environment (mainnet or testnet). | |
+|**blockExplorerUrl** | **String** | Base URL of the block explorer. | [optional] |
+|**blockExplorerTransactionPath** | **String** | Path template for a transaction on the block explorer. | [optional] |
+|**blockExplorerAddressPath** | **String** | Path template for an address on the block explorer. | [optional] |
+|**networkId** | **BigDecimal** | EVM network ID of the blockchain. | [optional] |
+|**hasFee** | **Boolean** | Whether the blockchain charges transaction fees. | [optional] |
+|**isPoa** | **Boolean** | Whether the blockchain uses proof-of-authority consensus. | [optional] |
+|**hasLayeredFee** | **Boolean** | Whether the blockchain uses a layered fee model. | [optional] |
+|**nodeType** | [**NodeTypeEnum**](#NodeTypeEnum) | Node client type for the blockchain. | [optional] |
+|**transactionFormat** | **BigDecimal** | Transaction format identifier. | [optional] |
+|**baseAssetTenantIds** | **List<String>** | Tenant IDs that share this base asset. | [optional] |
+|**explorerApiUrl** | **String** | Block explorer API base URL. | [optional] |
+|**explorerApiKey** | **String** | API key for the block explorer API. | [optional] |
+|**isTraceEnabled** | **Boolean** | Whether trace/debug RPC methods are enabled. | [optional] |
+|**rpcAuth** | [**BlockchainRpcAuth**](BlockchainRpcAuth.md) | | [optional] |
+
+
+
+## Enum: EnvironmentTypeEnum
+
+| Name | Value |
+|---- | -----|
+| ENVIRONMENT_TYPE_MAINNET | "ENVIRONMENT_TYPE_MAINNET" |
+| ENVIRONMENT_TYPE_TESTNET | "ENVIRONMENT_TYPE_TESTNET" |
+
+
+
+## Enum: NodeTypeEnum
+
+| Name | Value |
+|---- | -----|
+| NODE_TYPE_CORE_GETH | "NODE_TYPE_CORE_GETH" |
+| NODE_TYPE_FANTOM | "NODE_TYPE_FANTOM" |
+| NODE_TYPE_ERIGON | "NODE_TYPE_ERIGON" |
+| NODE_TYPE_PARITY | "NODE_TYPE_PARITY" |
+| NODE_TYPE_BESU | "NODE_TYPE_BESU" |
+
+
+
diff --git a/docs/BlockchainEnvironment.md b/docs/BlockchainEnvironment.md
new file mode 100644
index 00000000..9ae23d51
--- /dev/null
+++ b/docs/BlockchainEnvironment.md
@@ -0,0 +1,13 @@
+
+
+# BlockchainEnvironment
+
+## Enum
+
+
+* `MAINNET` (value: `"MAINNET"`)
+
+* `TESTNET` (value: `"TESTNET"`)
+
+
+
diff --git a/docs/BlockchainLinkBetaApi.md b/docs/BlockchainLinkBetaApi.md
new file mode 100644
index 00000000..1d7a8742
--- /dev/null
+++ b/docs/BlockchainLinkBetaApi.md
@@ -0,0 +1,779 @@
+# BlockchainLinkBetaApi
+
+All URIs are relative to https://developers.fireblocks.com/reference/
+
+| Method | HTTP request | Description |
+|------------- | ------------- | -------------|
+| [**activateBlockchainLinkChain**](BlockchainLinkBetaApi.md#activateBlockchainLinkChain) | **POST** /blockchain_link/blockchains/{blockchainId}/activate | Activate a blockchain (triggers activation workflow) |
+| [**createBlockchainLinkChain**](BlockchainLinkBetaApi.md#createBlockchainLinkChain) | **POST** /blockchain_link/blockchains | Create a new blockchain |
+| [**deleteBlockchainLinkChain**](BlockchainLinkBetaApi.md#deleteBlockchainLinkChain) | **DELETE** /blockchain_link/blockchains/{blockchainId} | Delete a blockchain |
+| [**getBlockchainLinkBillingInfo**](BlockchainLinkBetaApi.md#getBlockchainLinkBillingInfo) | **GET** /blockchain_link/blockchains/billing_info | Get tenant billing info |
+| [**getBlockchainLinkChain**](BlockchainLinkBetaApi.md#getBlockchainLinkChain) | **GET** /blockchain_link/blockchains/{blockchainId} | Get a blockchain by ID |
+| [**getBlockchainLinkTestWalletAddress**](BlockchainLinkBetaApi.md#getBlockchainLinkTestWalletAddress) | **GET** /blockchain_link/blockchains/test_wallet_address | Get the test wallet address |
+| [**listBlockchainLinkChains**](BlockchainLinkBetaApi.md#listBlockchainLinkChains) | **GET** /blockchain_link/blockchains | List blockchains with pagination and filtering |
+| [**triggerBlockchainLinkValidation**](BlockchainLinkBetaApi.md#triggerBlockchainLinkValidation) | **POST** /blockchain_link/blockchains/{blockchainId}/validate | Trigger validation workflow |
+| [**updateBlockchainLinkChain**](BlockchainLinkBetaApi.md#updateBlockchainLinkChain) | **PUT** /blockchain_link/blockchains/{blockchainId} | Update a blockchain |
+
+
+
+## activateBlockchainLinkChain
+
+> CompletableFuture> activateBlockchainLinkChain activateBlockchainLinkChain(blockchainId, idempotencyKey)
+
+Activate a blockchain (triggers activation workflow)
+
+Starts the asynchronous activation workflow for the blockchain identified by its ID, transitioning it towards the ACTIVATED state.
+
+### Example
+
+```java
+// Import classes:
+import com.fireblocks.sdk.ApiClient;
+import com.fireblocks.sdk.ApiException;
+import com.fireblocks.sdk.ApiResponse;
+import com.fireblocks.sdk.BasePath;
+import com.fireblocks.sdk.Fireblocks;
+import com.fireblocks.sdk.ConfigurationOptions;
+import com.fireblocks.sdk.model.*;
+import com.fireblocks.sdk.api.BlockchainLinkBetaApi;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+
+public class Example {
+ public static void main(String[] args) {
+ ConfigurationOptions configurationOptions = new ConfigurationOptions()
+ .basePath(BasePath.Sandbox)
+ .apiKey("my-api-key")
+ .secretKey("my-secret-key");
+ Fireblocks fireblocks = new Fireblocks(configurationOptions);
+
+ String blockchainId = "blockchainId_example"; // String | Required blockchain ID to activate
+ String idempotencyKey = "idempotencyKey_example"; // String | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
+ try {
+ CompletableFuture> response = fireblocks.blockchainLinkBeta().activateBlockchainLinkChain(blockchainId, idempotencyKey);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling BlockchainLinkBetaApi#activateBlockchainLinkChain");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling BlockchainLinkBetaApi#activateBlockchainLinkChain");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **blockchainId** | **String**| Required blockchain ID to activate | |
+| **idempotencyKey** | **String**| A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **202** | Accepted | * X-Request-ID -
|
+| **0** | Error Response | * X-Request-ID -
|
+
+
+## createBlockchainLinkChain
+
+> CompletableFuture> createBlockchainLinkChain createBlockchainLinkChain(createBlockchainRequest, idempotencyKey)
+
+Create a new blockchain
+
+Registers a new tenant-managed blockchain from the supplied declared properties. The blockchain starts in the CREATED state and must be activated separately before it can be used.
+
+### Example
+
+```java
+// Import classes:
+import com.fireblocks.sdk.ApiClient;
+import com.fireblocks.sdk.ApiException;
+import com.fireblocks.sdk.ApiResponse;
+import com.fireblocks.sdk.BasePath;
+import com.fireblocks.sdk.Fireblocks;
+import com.fireblocks.sdk.ConfigurationOptions;
+import com.fireblocks.sdk.model.*;
+import com.fireblocks.sdk.api.BlockchainLinkBetaApi;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+
+public class Example {
+ public static void main(String[] args) {
+ ConfigurationOptions configurationOptions = new ConfigurationOptions()
+ .basePath(BasePath.Sandbox)
+ .apiKey("my-api-key")
+ .secretKey("my-secret-key");
+ Fireblocks fireblocks = new Fireblocks(configurationOptions);
+
+ CreateBlockchainRequest createBlockchainRequest = new CreateBlockchainRequest(); // CreateBlockchainRequest |
+ String idempotencyKey = "idempotencyKey_example"; // String | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
+ try {
+ CompletableFuture> response = fireblocks.blockchainLinkBeta().createBlockchainLinkChain(createBlockchainRequest, idempotencyKey);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling BlockchainLinkBetaApi#createBlockchainLinkChain");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling BlockchainLinkBetaApi#createBlockchainLinkChain");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **createBlockchainRequest** | [**CreateBlockchainRequest**](CreateBlockchainRequest.md)| | |
+| **idempotencyKey** | **String**| A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | * X-Request-ID -
|
+| **0** | Error Response | * X-Request-ID -
|
+
+
+## deleteBlockchainLinkChain
+
+> CompletableFuture> deleteBlockchainLinkChain deleteBlockchainLinkChain(blockchainId)
+
+Delete a blockchain
+
+Permanently removes a blockchain identified by its ID. The blockchain must not be in an active lifecycle state.
+
+### Example
+
+```java
+// Import classes:
+import com.fireblocks.sdk.ApiClient;
+import com.fireblocks.sdk.ApiException;
+import com.fireblocks.sdk.ApiResponse;
+import com.fireblocks.sdk.BasePath;
+import com.fireblocks.sdk.Fireblocks;
+import com.fireblocks.sdk.ConfigurationOptions;
+import com.fireblocks.sdk.model.*;
+import com.fireblocks.sdk.api.BlockchainLinkBetaApi;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+
+public class Example {
+ public static void main(String[] args) {
+ ConfigurationOptions configurationOptions = new ConfigurationOptions()
+ .basePath(BasePath.Sandbox)
+ .apiKey("my-api-key")
+ .secretKey("my-secret-key");
+ Fireblocks fireblocks = new Fireblocks(configurationOptions);
+
+ String blockchainId = "blockchainId_example"; // String | tenant_id is extracted from JWT token context
+ try {
+ CompletableFuture> response = fireblocks.blockchainLinkBeta().deleteBlockchainLinkChain(blockchainId);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling BlockchainLinkBetaApi#deleteBlockchainLinkChain");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling BlockchainLinkBetaApi#deleteBlockchainLinkChain");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **blockchainId** | **String**| tenant_id is extracted from JWT token context | |
+
+### Return type
+
+
+CompletableFuture>
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **204** | No Content | * X-Request-ID -
|
+| **0** | Error Response | * X-Request-ID -
|
+
+
+## getBlockchainLinkBillingInfo
+
+> CompletableFuture> getBlockchainLinkBillingInfo getBlockchainLinkBillingInfo()
+
+Get tenant billing info
+
+Returns the tenant's blockchain activation limit and current usage. tenant_id is derived from the JWT token context.
+
+### Example
+
+```java
+// Import classes:
+import com.fireblocks.sdk.ApiClient;
+import com.fireblocks.sdk.ApiException;
+import com.fireblocks.sdk.ApiResponse;
+import com.fireblocks.sdk.BasePath;
+import com.fireblocks.sdk.Fireblocks;
+import com.fireblocks.sdk.ConfigurationOptions;
+import com.fireblocks.sdk.model.*;
+import com.fireblocks.sdk.api.BlockchainLinkBetaApi;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+
+public class Example {
+ public static void main(String[] args) {
+ ConfigurationOptions configurationOptions = new ConfigurationOptions()
+ .basePath(BasePath.Sandbox)
+ .apiKey("my-api-key")
+ .secretKey("my-secret-key");
+ Fireblocks fireblocks = new Fireblocks(configurationOptions);
+
+ try {
+ CompletableFuture> response = fireblocks.blockchainLinkBeta().getBlockchainLinkBillingInfo();
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling BlockchainLinkBetaApi#getBlockchainLinkBillingInfo");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling BlockchainLinkBetaApi#getBlockchainLinkBillingInfo");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+This endpoint does not need any parameter.
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | * X-Request-ID -
|
+| **0** | Error Response | * X-Request-ID -
|
+
+
+## getBlockchainLinkChain
+
+> CompletableFuture> getBlockchainLinkChain getBlockchainLinkChain(blockchainId)
+
+Get a blockchain by ID
+
+Returns a single blockchain owned by the tenant, identified by its ID.
+
+### Example
+
+```java
+// Import classes:
+import com.fireblocks.sdk.ApiClient;
+import com.fireblocks.sdk.ApiException;
+import com.fireblocks.sdk.ApiResponse;
+import com.fireblocks.sdk.BasePath;
+import com.fireblocks.sdk.Fireblocks;
+import com.fireblocks.sdk.ConfigurationOptions;
+import com.fireblocks.sdk.model.*;
+import com.fireblocks.sdk.api.BlockchainLinkBetaApi;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+
+public class Example {
+ public static void main(String[] args) {
+ ConfigurationOptions configurationOptions = new ConfigurationOptions()
+ .basePath(BasePath.Sandbox)
+ .apiKey("my-api-key")
+ .secretKey("my-secret-key");
+ Fireblocks fireblocks = new Fireblocks(configurationOptions);
+
+ String blockchainId = "f47ac10b-58cc-4372-a567-0e02b2c3d479"; // String | ID of the blockchain to retrieve (supplied as a path parameter).
+ try {
+ CompletableFuture> response = fireblocks.blockchainLinkBeta().getBlockchainLinkChain(blockchainId);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling BlockchainLinkBetaApi#getBlockchainLinkChain");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling BlockchainLinkBetaApi#getBlockchainLinkChain");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **blockchainId** | **String**| ID of the blockchain to retrieve (supplied as a path parameter). | |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | * X-Request-ID -
|
+| **0** | Error Response | * X-Request-ID -
|
+
+
+## getBlockchainLinkTestWalletAddress
+
+> CompletableFuture> getBlockchainLinkTestWalletAddress getBlockchainLinkTestWalletAddress()
+
+Get the test wallet address
+
+Returns the Ethereum address derived from the configured external wallet private key, used by the UI for test transfers. tenant_id is derived from the JWT token context.
+
+### Example
+
+```java
+// Import classes:
+import com.fireblocks.sdk.ApiClient;
+import com.fireblocks.sdk.ApiException;
+import com.fireblocks.sdk.ApiResponse;
+import com.fireblocks.sdk.BasePath;
+import com.fireblocks.sdk.Fireblocks;
+import com.fireblocks.sdk.ConfigurationOptions;
+import com.fireblocks.sdk.model.*;
+import com.fireblocks.sdk.api.BlockchainLinkBetaApi;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+
+public class Example {
+ public static void main(String[] args) {
+ ConfigurationOptions configurationOptions = new ConfigurationOptions()
+ .basePath(BasePath.Sandbox)
+ .apiKey("my-api-key")
+ .secretKey("my-secret-key");
+ Fireblocks fireblocks = new Fireblocks(configurationOptions);
+
+ try {
+ CompletableFuture> response = fireblocks.blockchainLinkBeta().getBlockchainLinkTestWalletAddress();
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling BlockchainLinkBetaApi#getBlockchainLinkTestWalletAddress");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling BlockchainLinkBetaApi#getBlockchainLinkTestWalletAddress");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+This endpoint does not need any parameter.
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | * X-Request-ID -
|
+| **0** | Error Response | * X-Request-ID -
|
+
+
+## listBlockchainLinkChains
+
+> CompletableFuture> listBlockchainLinkChains listBlockchainLinkChains(pageCursor, pageSize, search, status, blockchainEnv, sortBy, order, statusExclude)
+
+List blockchains with pagination and filtering
+
+Returns the tenant's blockchains, paginated and filterable by state, network environment, and free-text search, with configurable sorting.
+
+### Example
+
+```java
+// Import classes:
+import com.fireblocks.sdk.ApiClient;
+import com.fireblocks.sdk.ApiException;
+import com.fireblocks.sdk.ApiResponse;
+import com.fireblocks.sdk.BasePath;
+import com.fireblocks.sdk.Fireblocks;
+import com.fireblocks.sdk.ConfigurationOptions;
+import com.fireblocks.sdk.model.*;
+import com.fireblocks.sdk.api.BlockchainLinkBetaApi;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+
+public class Example {
+ public static void main(String[] args) {
+ ConfigurationOptions configurationOptions = new ConfigurationOptions()
+ .basePath(BasePath.Sandbox)
+ .apiKey("my-api-key")
+ .secretKey("my-secret-key");
+ Fireblocks fireblocks = new Fireblocks(configurationOptions);
+
+ String pageCursor = "1"; // String | tenant_id is extracted from JWT token context. Opaque cursor for the requested page. Currently encodes the 1-based page number as a decimal string (\"1\", \"2\", ...); treat as opaque on the client. Absent = first page.
+ BigDecimal pageSize = new BigDecimal("20"); // BigDecimal | Maximum number of items per page. Default 20, clamped to [1, 1000].
+ String search = "eth"; // String | Free-text search across chain and symbol name.
+ List status = Arrays.asList(); // List | Include filter (repeated query params).
+ BlockchainEnvironment blockchainEnv = BlockchainEnvironment.fromValue("MAINNET"); // BlockchainEnvironment | Filter by network.
+ BlockchainSortField sortBy = BlockchainSortField.fromValue("createdAt"); // BlockchainSortField | Sort field. Default: createdAt.
+ String order = "ASC"; // String | Sort order. Default: DESC.
+ List statusExclude = Arrays.asList(); // List | Exclude filter (repeated query params).
+ try {
+ CompletableFuture> response = fireblocks.blockchainLinkBeta().listBlockchainLinkChains(pageCursor, pageSize, search, status, blockchainEnv, sortBy, order, statusExclude);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling BlockchainLinkBetaApi#listBlockchainLinkChains");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling BlockchainLinkBetaApi#listBlockchainLinkChains");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **pageCursor** | **String**| tenant_id is extracted from JWT token context. Opaque cursor for the requested page. Currently encodes the 1-based page number as a decimal string (\"1\", \"2\", ...); treat as opaque on the client. Absent = first page. | [optional] |
+| **pageSize** | **BigDecimal**| Maximum number of items per page. Default 20, clamped to [1, 1000]. | [optional] [default to 20] |
+| **search** | **String**| Free-text search across chain and symbol name. | [optional] |
+| **status** | [**List<BlockchainStateFilter>**](BlockchainStateFilter.md)| Include filter (repeated query params). | [optional] |
+| **blockchainEnv** | [**BlockchainEnvironment**](.md)| Filter by network. | [optional] [enum: MAINNET, TESTNET] |
+| **sortBy** | [**BlockchainSortField**](.md)| Sort field. Default: createdAt. | [optional] [enum: createdAt, chainName, symbolName, status] |
+| **order** | **String**| Sort order. Default: DESC. | [optional] [default to DESC] [enum: ASC, DESC] |
+| **statusExclude** | [**List<BlockchainStateFilter>**](BlockchainStateFilter.md)| Exclude filter (repeated query params). | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | * X-Request-ID -
|
+| **0** | Error Response | * X-Request-ID -
|
+
+
+## triggerBlockchainLinkValidation
+
+> CompletableFuture> triggerBlockchainLinkValidation triggerBlockchainLinkValidation(blockchainId, idempotencyKey)
+
+Trigger validation workflow
+
+Starts the asynchronous validation workflow for a blockchain and its associated validation session.
+
+### Example
+
+```java
+// Import classes:
+import com.fireblocks.sdk.ApiClient;
+import com.fireblocks.sdk.ApiException;
+import com.fireblocks.sdk.ApiResponse;
+import com.fireblocks.sdk.BasePath;
+import com.fireblocks.sdk.Fireblocks;
+import com.fireblocks.sdk.ConfigurationOptions;
+import com.fireblocks.sdk.model.*;
+import com.fireblocks.sdk.api.BlockchainLinkBetaApi;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+
+public class Example {
+ public static void main(String[] args) {
+ ConfigurationOptions configurationOptions = new ConfigurationOptions()
+ .basePath(BasePath.Sandbox)
+ .apiKey("my-api-key")
+ .secretKey("my-secret-key");
+ Fireblocks fireblocks = new Fireblocks(configurationOptions);
+
+ UUID blockchainId = UUID.fromString("f47ac10b-58cc-4372-a567-0e02b2c3d479"); // UUID | ID of the blockchain to validate.
+ String idempotencyKey = "idempotencyKey_example"; // String | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
+ try {
+ CompletableFuture> response = fireblocks.blockchainLinkBeta().triggerBlockchainLinkValidation(blockchainId, idempotencyKey);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling BlockchainLinkBetaApi#triggerBlockchainLinkValidation");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling BlockchainLinkBetaApi#triggerBlockchainLinkValidation");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **blockchainId** | **UUID**| ID of the blockchain to validate. | |
+| **idempotencyKey** | **String**| A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **202** | Accepted | * X-Request-ID -
|
+| **0** | Error Response | * X-Request-ID -
|
+
+
+## updateBlockchainLinkChain
+
+> CompletableFuture> updateBlockchainLinkChain updateBlockchainLinkChain(blockchainDeclaredProperties, blockchainId, idempotencyKey)
+
+Update a blockchain
+
+Updates the declared properties of an existing blockchain identified by its ID. Only the fields supplied in the request are modified.
+
+### Example
+
+```java
+// Import classes:
+import com.fireblocks.sdk.ApiClient;
+import com.fireblocks.sdk.ApiException;
+import com.fireblocks.sdk.ApiResponse;
+import com.fireblocks.sdk.BasePath;
+import com.fireblocks.sdk.Fireblocks;
+import com.fireblocks.sdk.ConfigurationOptions;
+import com.fireblocks.sdk.model.*;
+import com.fireblocks.sdk.api.BlockchainLinkBetaApi;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+
+public class Example {
+ public static void main(String[] args) {
+ ConfigurationOptions configurationOptions = new ConfigurationOptions()
+ .basePath(BasePath.Sandbox)
+ .apiKey("my-api-key")
+ .secretKey("my-secret-key");
+ Fireblocks fireblocks = new Fireblocks(configurationOptions);
+
+ BlockchainDeclaredProperties blockchainDeclaredProperties = new BlockchainDeclaredProperties(); // BlockchainDeclaredProperties |
+ String blockchainId = "f47ac10b-58cc-4372-a567-0e02b2c3d479"; // String | ID of the blockchain to update (supplied as a path parameter).
+ String idempotencyKey = "idempotencyKey_example"; // String | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
+ try {
+ CompletableFuture> response = fireblocks.blockchainLinkBeta().updateBlockchainLinkChain(blockchainDeclaredProperties, blockchainId, idempotencyKey);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling BlockchainLinkBetaApi#updateBlockchainLinkChain");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling BlockchainLinkBetaApi#updateBlockchainLinkChain");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **blockchainDeclaredProperties** | [**BlockchainDeclaredProperties**](BlockchainDeclaredProperties.md)| | |
+| **blockchainId** | **String**| ID of the blockchain to update (supplied as a path parameter). | |
+| **idempotencyKey** | **String**| A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | * X-Request-ID -
|
+| **0** | Error Response | * X-Request-ID -
|
+
diff --git a/docs/BlockchainRpcAuth.md b/docs/BlockchainRpcAuth.md
new file mode 100644
index 00000000..bcc9f7fd
--- /dev/null
+++ b/docs/BlockchainRpcAuth.md
@@ -0,0 +1,29 @@
+
+
+# BlockchainRpcAuth
+
+Discriminated RPC auth payload. Sent on create/update so backend can distinguish \"no auth\" from \"field unchanged\" on PUT updates. Credential values are stored inside declaredProperties and fetched at activation time; they are deliberately not carried through workflow context.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**type** | [**TypeEnum**](#TypeEnum) | Authentication scheme used when calling the RPC endpoint. | |
+|**username** | **String** | Username for RPC_AUTH_BASIC authentication. | [optional] |
+|**password** | **String** | Password for RPC_AUTH_BASIC authentication. | [optional] |
+|**token** | **String** | Bearer token for RPC_AUTH_BEARER authentication. | [optional] |
+|**headerName** | **String** | Header name for RPC_AUTH_CUSTOM_HEADER authentication. | [optional] |
+|**headerValue** | **String** | Header value for RPC_AUTH_CUSTOM_HEADER authentication. | [optional] |
+
+
+
+## Enum: TypeEnum
+
+| Name | Value |
+|---- | -----|
+| RPC_AUTH_BASIC | "RPC_AUTH_BASIC" |
+| RPC_AUTH_BEARER | "RPC_AUTH_BEARER" |
+| RPC_AUTH_CUSTOM_HEADER | "RPC_AUTH_CUSTOM_HEADER" |
+
+
+
diff --git a/docs/BlockchainSortField.md b/docs/BlockchainSortField.md
new file mode 100644
index 00000000..e189e429
--- /dev/null
+++ b/docs/BlockchainSortField.md
@@ -0,0 +1,17 @@
+
+
+# BlockchainSortField
+
+## Enum
+
+
+* `CREATED_AT` (value: `"createdAt"`)
+
+* `CHAIN_NAME` (value: `"chainName"`)
+
+* `SYMBOL_NAME` (value: `"symbolName"`)
+
+* `STATUS` (value: `"status"`)
+
+
+
diff --git a/docs/BlockchainStateFilter.md b/docs/BlockchainStateFilter.md
new file mode 100644
index 00000000..36a14e0f
--- /dev/null
+++ b/docs/BlockchainStateFilter.md
@@ -0,0 +1,21 @@
+
+
+# BlockchainStateFilter
+
+## Enum
+
+
+* `BLOCKCHAIN_STATE_CREATED` (value: `"BLOCKCHAIN_STATE_CREATED"`)
+
+* `BLOCKCHAIN_STATE_ACTIVATING` (value: `"BLOCKCHAIN_STATE_ACTIVATING"`)
+
+* `BLOCKCHAIN_STATE_ACTIVATED` (value: `"BLOCKCHAIN_STATE_ACTIVATED"`)
+
+* `BLOCKCHAIN_STATE_DEACTIVATING` (value: `"BLOCKCHAIN_STATE_DEACTIVATING"`)
+
+* `BLOCKCHAIN_STATE_DEACTIVATED` (value: `"BLOCKCHAIN_STATE_DEACTIVATED"`)
+
+* `BLOCKCHAIN_STATE_TECHNICAL_FAILURE` (value: `"BLOCKCHAIN_STATE_TECHNICAL_FAILURE"`)
+
+
+
diff --git a/docs/ComplianceApi.md b/docs/ComplianceApi.md
index 0bdc3047..bf731a2c 100644
--- a/docs/ComplianceApi.md
+++ b/docs/ComplianceApi.md
@@ -34,6 +34,7 @@ All URIs are relative to https://developers.fireblocks.com/reference/
| [**registerLegalEntity**](ComplianceApi.md#registerLegalEntity) | **POST** /legal_entities | Register a new legal entity |
| [**removeAddressRegistryVaultOptOut**](ComplianceApi.md#removeAddressRegistryVaultOptOut) | **DELETE** /address_registry/vaults/{vaultAccountId} | Remove a single vault account from the address registry opt-out list |
| [**removeAllAddressRegistryVaultOptOuts**](ComplianceApi.md#removeAllAddressRegistryVaultOptOuts) | **DELETE** /address_registry/vaults | Remove all vault-level address registry opt-outs for the workspace |
+| [**rescreenRejectedTransaction**](ComplianceApi.md#rescreenRejectedTransaction) | **POST** /screening/transaction/{txId}/rescreen | Rescreen a rejected transaction |
| [**retryRejectedTransactionBypassScreeningChecks**](ComplianceApi.md#retryRejectedTransactionBypassScreeningChecks) | **POST** /screening/transaction/{txId}/bypass_screening_policy | Bypass Screening Policy |
| [**setAmlVerdict**](ComplianceApi.md#setAmlVerdict) | **POST** /screening/aml/verdict/manual | Set AML Verdict (BYORK Super Light) |
| [**setByorkTimeouts**](ComplianceApi.md#setByorkTimeouts) | **PUT** /screening/byork/config/timeouts | Set BYORK Light timeouts |
@@ -2547,6 +2548,93 @@ No authorization required
| **0** | Error Response | * X-Request-ID -
|
+## rescreenRejectedTransaction
+
+> CompletableFuture> rescreenRejectedTransaction rescreenRejectedTransaction(txId, rescreenTransactionRequest, idempotencyKey)
+
+Rescreen a rejected transaction
+
+Re-runs compliance screening on an incoming transaction that was rejected or failed by screening checks, moving it back to pending screening. This endpoint is only applicable to incoming transactions with a rejected/failed AML screening status.
+
+### Example
+
+```java
+// Import classes:
+import com.fireblocks.sdk.ApiClient;
+import com.fireblocks.sdk.ApiException;
+import com.fireblocks.sdk.ApiResponse;
+import com.fireblocks.sdk.BasePath;
+import com.fireblocks.sdk.Fireblocks;
+import com.fireblocks.sdk.ConfigurationOptions;
+import com.fireblocks.sdk.model.*;
+import com.fireblocks.sdk.api.ComplianceApi;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+
+public class Example {
+ public static void main(String[] args) {
+ ConfigurationOptions configurationOptions = new ConfigurationOptions()
+ .basePath(BasePath.Sandbox)
+ .apiKey("my-api-key")
+ .secretKey("my-secret-key");
+ Fireblocks fireblocks = new Fireblocks(configurationOptions);
+
+ String txId = "550e8400-e29b-41d4-a716-446655440000"; // String | The transaction id that was rejected by screening checks
+ RescreenTransactionRequest rescreenTransactionRequest = new RescreenTransactionRequest(); // RescreenTransactionRequest |
+ String idempotencyKey = "idempotencyKey_example"; // String | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
+ try {
+ CompletableFuture> response = fireblocks.compliance().rescreenRejectedTransaction(txId, rescreenTransactionRequest, idempotencyKey);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling ComplianceApi#rescreenRejectedTransaction");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling ComplianceApi#rescreenRejectedTransaction");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **txId** | **String**| The transaction id that was rejected by screening checks | |
+| **rescreenTransactionRequest** | [**RescreenTransactionRequest**](RescreenTransactionRequest.md)| | [optional] |
+| **idempotencyKey** | **String**| A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Rescreen result | * X-Request-ID -
|
+| **0** | Error Response | * X-Request-ID -
|
+
+
## retryRejectedTransactionBypassScreeningChecks
> CompletableFuture> retryRejectedTransactionBypassScreeningChecks retryRejectedTransactionBypassScreeningChecks(txId, idempotencyKey)
diff --git a/docs/ConnectedAccountsBetaApi.md b/docs/ConnectedAccountsBetaApi.md
index 6147442b..bdc7dea3 100644
--- a/docs/ConnectedAccountsBetaApi.md
+++ b/docs/ConnectedAccountsBetaApi.md
@@ -13,6 +13,7 @@ All URIs are relative to https://developers.fireblocks.com/reference/
| [**getConnectedAccountRates**](ConnectedAccountsBetaApi.md#getConnectedAccountRates) | **GET** /connected_accounts/{accountId}/rates | Get exchange rates for an account |
| [**getConnectedAccountTradingPairs**](ConnectedAccountsBetaApi.md#getConnectedAccountTradingPairs) | **GET** /connected_accounts/{accountId}/manifest/capabilities/trading/pairs | Get supported trading pairs for an account |
| [**getConnectedAccounts**](ConnectedAccountsBetaApi.md#getConnectedAccounts) | **GET** /connected_accounts | Get connected accounts |
+| [**getConnectedAccountsCredentialsPublicKey**](ConnectedAccountsBetaApi.md#getConnectedAccountsCredentialsPublicKey) | **GET** /connected_accounts/credentials/public_key | Get public key to encrypt connected account credentials |
| [**renameConnectedAccount**](ConnectedAccountsBetaApi.md#renameConnectedAccount) | **POST** /connected_accounts/{accountId}/rename | Rename Connected Account |
| [**syncConnectedAccountAllowlist**](ConnectedAccountsBetaApi.md#syncConnectedAccountAllowlist) | **POST** /connected_accounts/{accountId}/allowlist/sync | Sync allowlist for connected account |
@@ -24,7 +25,7 @@ All URIs are relative to https://developers.fireblocks.com/reference/
Add a connected account
-Creates a new connected account for the authenticated tenant. The `creds` field must be a Base64-encoded RSA-encrypted credential blob. Use `GET /exchange_accounts/credentials_public_key` to retrieve the public key for encryption. The `providerType` is derived server-side from the `providerId` — callers do not supply it. Endpoint Permission: Editor, Admin, Non-Signing Admin. **Note:** This endpoint is currently in beta and might be subject to changes.
+Creates a new connected account for the authenticated tenant. The `creds` field must be a Base64-encoded RSA-encrypted credential blob. Use `GET /connected_accounts/credentials/public_key` to retrieve the public key for encryption. The `providerType` is derived server-side from the `providerId` — callers do not supply it. Endpoint Permission: Editor, Admin, Non-Signing Admin. **Note:** This endpoint is currently in beta and might be subject to changes.
### Example
@@ -275,7 +276,7 @@ No authorization required
## getConnectedAccountAllowlist
-> CompletableFuture> getConnectedAccountAllowlist getConnectedAccountAllowlist(accountId, status, assetId, networkId, address, pageCursor, pageSize, sortBy, order)
+> CompletableFuture> getConnectedAccountAllowlist getConnectedAccountAllowlist(accountId, status, assetId, networkId, address, pageCursor, pageSize, order)
Get allowlist for connected account
@@ -311,10 +312,9 @@ public class Example {
String address = "address_example"; // String | Filter by specific address
String pageCursor = "pageCursor_example"; // String | Pagination cursor for next page
Integer pageSize = 56; // Integer | Maximum number of entries to return
- String sortBy = "addedAt"; // String | Field to sort results by.
String order = "ASC"; // String | Sort order (ASC or DESC).
try {
- CompletableFuture> response = fireblocks.connectedAccountsBeta().getConnectedAccountAllowlist(accountId, status, assetId, networkId, address, pageCursor, pageSize, sortBy, order);
+ CompletableFuture> response = fireblocks.connectedAccountsBeta().getConnectedAccountAllowlist(accountId, status, assetId, networkId, address, pageCursor, pageSize, order);
System.out.println("Status code: " + response.get().getStatusCode());
System.out.println("Response headers: " + response.get().getHeaders());
System.out.println("Response body: " + response.get().getData());
@@ -348,7 +348,6 @@ public class Example {
| **address** | **String**| Filter by specific address | [optional] |
| **pageCursor** | **String**| Pagination cursor for next page | [optional] |
| **pageSize** | **Integer**| Maximum number of entries to return | [optional] |
-| **sortBy** | **String**| Field to sort results by. | [optional] [default to addedAt] [enum: addedAt, lastSyncedAt] |
| **order** | **String**| Sort order (ASC or DESC). | [optional] [default to DESC] [enum: ASC, DESC] |
### Return type
@@ -807,6 +806,85 @@ No authorization required
| **0** | Error Response | * X-Request-ID -
|
+## getConnectedAccountsCredentialsPublicKey
+
+> CompletableFuture> getConnectedAccountsCredentialsPublicKey getConnectedAccountsCredentialsPublicKey()
+
+Get public key to encrypt connected account credentials
+
+Returns the RSA public key used to encrypt the `creds` field before calling `POST /connected_accounts`. The key is a singleton resource scoped to the connected-accounts credentials domain — there is one per tenant context. **Note:** This endpoint is currently in beta and might be subject to changes.
+
+### Example
+
+```java
+// Import classes:
+import com.fireblocks.sdk.ApiClient;
+import com.fireblocks.sdk.ApiException;
+import com.fireblocks.sdk.ApiResponse;
+import com.fireblocks.sdk.BasePath;
+import com.fireblocks.sdk.Fireblocks;
+import com.fireblocks.sdk.ConfigurationOptions;
+import com.fireblocks.sdk.model.*;
+import com.fireblocks.sdk.api.ConnectedAccountsBetaApi;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+
+public class Example {
+ public static void main(String[] args) {
+ ConfigurationOptions configurationOptions = new ConfigurationOptions()
+ .basePath(BasePath.Sandbox)
+ .apiKey("my-api-key")
+ .secretKey("my-secret-key");
+ Fireblocks fireblocks = new Fireblocks(configurationOptions);
+
+ try {
+ CompletableFuture> response = fireblocks.connectedAccountsBeta().getConnectedAccountsCredentialsPublicKey();
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling ConnectedAccountsBetaApi#getConnectedAccountsCredentialsPublicKey");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling ConnectedAccountsBetaApi#getConnectedAccountsCredentialsPublicKey");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+This endpoint does not need any parameter.
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Public key retrieved successfully. | * X-Request-ID -
|
+| **0** | Error Response | * X-Request-ID -
|
+
+
## renameConnectedAccount
> CompletableFuture> renameConnectedAccount renameConnectedAccount(renameConnectedAccountRequest, accountId, idempotencyKey)
diff --git a/docs/CreateBlockchainRequest.md b/docs/CreateBlockchainRequest.md
new file mode 100644
index 00000000..46078d80
--- /dev/null
+++ b/docs/CreateBlockchainRequest.md
@@ -0,0 +1,14 @@
+
+
+# CreateBlockchainRequest
+
+Create blockchain request. tenant_id is derived from the JWT token context.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**declaredProperties** | [**BlockchainDeclaredProperties**](BlockchainDeclaredProperties.md) | | |
+
+
+
diff --git a/docs/CreateBlockchainResponse.md b/docs/CreateBlockchainResponse.md
new file mode 100644
index 00000000..986b2874
--- /dev/null
+++ b/docs/CreateBlockchainResponse.md
@@ -0,0 +1,14 @@
+
+
+# CreateBlockchainResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**blockchain** | [**Blockchain**](Blockchain.md) | | |
+|**message** | **String** | Human-readable result message. | |
+
+
+
diff --git a/docs/CreateTagRequest.md b/docs/CreateTagRequest.md
index 9ea0dec8..ba539a04 100644
--- a/docs/CreateTagRequest.md
+++ b/docs/CreateTagRequest.md
@@ -12,6 +12,7 @@
|**color** | **String** | The tag color in hex format | [optional] |
|**isProtected** | **Boolean** | Indication if the tag is protected tag | [optional] |
|**type** | **TagType** | | [optional] |
+|**allowedEntityTypes** | **List<String>** | Allow-list of entity types this tag may be attached to. Soft-defaults to ['vault_account'] when omitted, and is immutable after creation. Known values: vault_account (default), contact. | [optional] |
diff --git a/docs/EarnBetaApi.md b/docs/EarnApi.md
similarity index 87%
rename from docs/EarnBetaApi.md
rename to docs/EarnApi.md
index 5df33ef5..3a8bad29 100644
--- a/docs/EarnBetaApi.md
+++ b/docs/EarnApi.md
@@ -1,16 +1,16 @@
-# EarnBetaApi
+# EarnApi
All URIs are relative to https://developers.fireblocks.com/reference/
| Method | HTTP request | Description |
|------------- | ------------- | -------------|
-| [**approveTermsOfService**](EarnBetaApi.md#approveTermsOfService) | **POST** /earn/providers/approve_terms_of_service | Approve earn provider terms of service |
-| [**createEarnAction**](EarnBetaApi.md#createEarnAction) | **POST** /earn/actions | Create and execute a lending action (deposit or withdraw) |
-| [**getEarnAction**](EarnBetaApi.md#getEarnAction) | **GET** /earn/actions/{id} | Get a single earn lending action |
-| [**getEarnActions**](EarnBetaApi.md#getEarnActions) | **GET** /earn/actions | List earn lending actions |
-| [**getEarnOpportunities**](EarnBetaApi.md#getEarnOpportunities) | **GET** /earn/opportunities | Get list of earn opportunities |
-| [**getEarnPositions**](EarnBetaApi.md#getEarnPositions) | **GET** /earn/positions | Get list of earn positions |
-| [**getEarnProviders**](EarnBetaApi.md#getEarnProviders) | **GET** /earn/providers | Get list of earn providers |
+| [**approveTermsOfService**](EarnApi.md#approveTermsOfService) | **POST** /earn/providers/approve_terms_of_service | Approve earn provider terms of service |
+| [**createEarnAction**](EarnApi.md#createEarnAction) | **POST** /earn/actions | Create and execute a lending action (deposit or withdraw) |
+| [**getEarnAction**](EarnApi.md#getEarnAction) | **GET** /earn/actions/{id} | Get a single earn lending action |
+| [**getEarnActions**](EarnApi.md#getEarnActions) | **GET** /earn/actions | List earn lending actions |
+| [**getEarnOpportunities**](EarnApi.md#getEarnOpportunities) | **GET** /earn/opportunities | Get list of earn opportunities |
+| [**getEarnPositions**](EarnApi.md#getEarnPositions) | **GET** /earn/positions | Get list of earn positions |
+| [**getEarnProviders**](EarnApi.md#getEarnProviders) | **GET** /earn/providers | Get list of earn providers |
@@ -20,7 +20,7 @@ All URIs are relative to https://developers.fireblocks.com/reference/
Approve earn provider terms of service
-Approves earn provider terms of service for this workspace (one-time per tenant). When `isTermsApprovalRequired` is true on a provider (see list providers), call this once before creating or executing earn actions with providers that require it. After success, `GET /earn/providers` reflects `isTermsOfServiceApproved`. **Note:** This endpoint is currently in beta and might be subject to changes.
+Approves earn provider terms of service for this workspace (one-time per tenant). When `isTermsApprovalRequired` is true on a provider (see list providers), call this once before creating or executing earn actions with providers that require it. After success, `GET /earn/providers` reflects `isTermsOfServiceApproved`.
### Example
@@ -33,7 +33,7 @@ import com.fireblocks.sdk.BasePath;
import com.fireblocks.sdk.Fireblocks;
import com.fireblocks.sdk.ConfigurationOptions;
import com.fireblocks.sdk.model.*;
-import com.fireblocks.sdk.api.EarnBetaApi;
+import com.fireblocks.sdk.api.EarnApi;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
@@ -47,18 +47,18 @@ public class Example {
String idempotencyKey = "idempotencyKey_example"; // String | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
try {
- CompletableFuture> response = fireblocks.earnBeta().approveTermsOfService(idempotencyKey);
+ CompletableFuture> response = fireblocks.earn().approveTermsOfService(idempotencyKey);
System.out.println("Status code: " + response.get().getStatusCode());
System.out.println("Response headers: " + response.get().getHeaders());
} catch (InterruptedException | ExecutionException e) {
ApiException apiException = (ApiException)e.getCause();
- System.err.println("Exception when calling EarnBetaApi#approveTermsOfService");
+ System.err.println("Exception when calling EarnApi#approveTermsOfService");
System.err.println("Status code: " + apiException.getCode());
System.err.println("Response headers: " + apiException.getResponseHeaders());
System.err.println("Reason: " + apiException.getResponseBody());
e.printStackTrace();
} catch (ApiException e) {
- System.err.println("Exception when calling EarnBetaApi#approveTermsOfService");
+ System.err.println("Exception when calling EarnApi#approveTermsOfService");
System.err.println("Status code: " + e.getCode());
System.err.println("Response headers: " + e.getResponseHeaders());
System.err.println("Reason: " + e.getResponseBody());
@@ -107,7 +107,7 @@ No authorization required
Create and execute a lending action (deposit or withdraw)
-Creates and runs a sequence of on-chain steps for either a deposit into or a withdrawal from an earn vault/market. Specify the operation with `action` in the request body (`DEPOSIT` or `WITHDRAW`). **Note:** This endpoint is currently in beta and might be subject to changes.
+Creates and runs a sequence of on-chain steps for either a deposit into or a withdrawal from an earn vault/market. Specify the operation with `action` in the request body (`DEPOSIT` or `WITHDRAW`).
### Example
@@ -120,7 +120,7 @@ import com.fireblocks.sdk.BasePath;
import com.fireblocks.sdk.Fireblocks;
import com.fireblocks.sdk.ConfigurationOptions;
import com.fireblocks.sdk.model.*;
-import com.fireblocks.sdk.api.EarnBetaApi;
+import com.fireblocks.sdk.api.EarnApi;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
@@ -135,19 +135,19 @@ public class Example {
CreateEarnActionRequest createEarnActionRequest = new CreateEarnActionRequest(); // CreateEarnActionRequest |
String idempotencyKey = "idempotencyKey_example"; // String | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
try {
- CompletableFuture> response = fireblocks.earnBeta().createEarnAction(createEarnActionRequest, idempotencyKey);
+ CompletableFuture> response = fireblocks.earn().createEarnAction(createEarnActionRequest, idempotencyKey);
System.out.println("Status code: " + response.get().getStatusCode());
System.out.println("Response headers: " + response.get().getHeaders());
System.out.println("Response body: " + response.get().getData());
} catch (InterruptedException | ExecutionException e) {
ApiException apiException = (ApiException)e.getCause();
- System.err.println("Exception when calling EarnBetaApi#createEarnAction");
+ System.err.println("Exception when calling EarnApi#createEarnAction");
System.err.println("Status code: " + apiException.getCode());
System.err.println("Response headers: " + apiException.getResponseHeaders());
System.err.println("Reason: " + apiException.getResponseBody());
e.printStackTrace();
} catch (ApiException e) {
- System.err.println("Exception when calling EarnBetaApi#createEarnAction");
+ System.err.println("Exception when calling EarnApi#createEarnAction");
System.err.println("Status code: " + e.getCode());
System.err.println("Response headers: " + e.getResponseHeaders());
System.err.println("Reason: " + e.getResponseBody());
@@ -197,7 +197,7 @@ No authorization required
Get a single earn lending action
-Returns one lending action by its action sequence id (tenant-scoped). **Note:** This endpoint is currently in beta and might be subject to changes.
+Returns one lending action by its action sequence id (tenant-scoped).
### Example
@@ -210,7 +210,7 @@ import com.fireblocks.sdk.BasePath;
import com.fireblocks.sdk.Fireblocks;
import com.fireblocks.sdk.ConfigurationOptions;
import com.fireblocks.sdk.model.*;
-import com.fireblocks.sdk.api.EarnBetaApi;
+import com.fireblocks.sdk.api.EarnApi;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
@@ -224,19 +224,19 @@ public class Example {
String id = "id_example"; // String | Action sequence id (UUID).
try {
- CompletableFuture> response = fireblocks.earnBeta().getEarnAction(id);
+ CompletableFuture> response = fireblocks.earn().getEarnAction(id);
System.out.println("Status code: " + response.get().getStatusCode());
System.out.println("Response headers: " + response.get().getHeaders());
System.out.println("Response body: " + response.get().getData());
} catch (InterruptedException | ExecutionException e) {
ApiException apiException = (ApiException)e.getCause();
- System.err.println("Exception when calling EarnBetaApi#getEarnAction");
+ System.err.println("Exception when calling EarnApi#getEarnAction");
System.err.println("Status code: " + apiException.getCode());
System.err.println("Response headers: " + apiException.getResponseHeaders());
System.err.println("Reason: " + apiException.getResponseBody());
e.printStackTrace();
} catch (ApiException e) {
- System.err.println("Exception when calling EarnBetaApi#getEarnAction");
+ System.err.println("Exception when calling EarnApi#getEarnAction");
System.err.println("Status code: " + e.getCode());
System.err.println("Response headers: " + e.getResponseHeaders());
System.err.println("Reason: " + e.getResponseBody());
@@ -284,7 +284,7 @@ No authorization required
List earn lending actions
-Returns a paginated list of lending actions (deposits and withdrawals) for the authenticated tenant. **Note:** This endpoint is currently in beta and might be subject to changes.
+Returns a paginated list of lending actions (deposits and withdrawals) for the authenticated tenant.
### Example
@@ -297,7 +297,7 @@ import com.fireblocks.sdk.BasePath;
import com.fireblocks.sdk.Fireblocks;
import com.fireblocks.sdk.ConfigurationOptions;
import com.fireblocks.sdk.model.*;
-import com.fireblocks.sdk.api.EarnBetaApi;
+import com.fireblocks.sdk.api.EarnApi;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
@@ -314,19 +314,19 @@ public class Example {
String sortBy = "createdAt"; // String | Field to sort results by.
String order = "ASC"; // String | Sort order (ASC or DESC).
try {
- CompletableFuture> response = fireblocks.earnBeta().getEarnActions(pageCursor, pageSize, sortBy, order);
+ CompletableFuture> response = fireblocks.earn().getEarnActions(pageCursor, pageSize, sortBy, order);
System.out.println("Status code: " + response.get().getStatusCode());
System.out.println("Response headers: " + response.get().getHeaders());
System.out.println("Response body: " + response.get().getData());
} catch (InterruptedException | ExecutionException e) {
ApiException apiException = (ApiException)e.getCause();
- System.err.println("Exception when calling EarnBetaApi#getEarnActions");
+ System.err.println("Exception when calling EarnApi#getEarnActions");
System.err.println("Status code: " + apiException.getCode());
System.err.println("Response headers: " + apiException.getResponseHeaders());
System.err.println("Reason: " + apiException.getResponseBody());
e.printStackTrace();
} catch (ApiException e) {
- System.err.println("Exception when calling EarnBetaApi#getEarnActions");
+ System.err.println("Exception when calling EarnApi#getEarnActions");
System.err.println("Status code: " + e.getCode());
System.err.println("Response headers: " + e.getResponseHeaders());
System.err.println("Reason: " + e.getResponseBody());
@@ -377,7 +377,7 @@ No authorization required
Get list of earn opportunities
-Get list of earn opportunities (vaults). **Note:** This endpoint is currently in beta and might be subject to changes.
+Get list of earn opportunities (vaults).
### Example
@@ -390,7 +390,7 @@ import com.fireblocks.sdk.BasePath;
import com.fireblocks.sdk.Fireblocks;
import com.fireblocks.sdk.ConfigurationOptions;
import com.fireblocks.sdk.model.*;
-import com.fireblocks.sdk.api.EarnBetaApi;
+import com.fireblocks.sdk.api.EarnApi;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
@@ -407,19 +407,19 @@ public class Example {
String sortBy = "sortBy_example"; // String | Field to sort results by.
String order = "ASC"; // String | Sort order (ASC or DESC).
try {
- CompletableFuture> response = fireblocks.earnBeta().getEarnOpportunities(pageCursor, pageSize, sortBy, order);
+ CompletableFuture> response = fireblocks.earn().getEarnOpportunities(pageCursor, pageSize, sortBy, order);
System.out.println("Status code: " + response.get().getStatusCode());
System.out.println("Response headers: " + response.get().getHeaders());
System.out.println("Response body: " + response.get().getData());
} catch (InterruptedException | ExecutionException e) {
ApiException apiException = (ApiException)e.getCause();
- System.err.println("Exception when calling EarnBetaApi#getEarnOpportunities");
+ System.err.println("Exception when calling EarnApi#getEarnOpportunities");
System.err.println("Status code: " + apiException.getCode());
System.err.println("Response headers: " + apiException.getResponseHeaders());
System.err.println("Reason: " + apiException.getResponseBody());
e.printStackTrace();
} catch (ApiException e) {
- System.err.println("Exception when calling EarnBetaApi#getEarnOpportunities");
+ System.err.println("Exception when calling EarnApi#getEarnOpportunities");
System.err.println("Status code: " + e.getCode());
System.err.println("Response headers: " + e.getResponseHeaders());
System.err.println("Reason: " + e.getResponseBody());
@@ -470,7 +470,7 @@ No authorization required
Get list of earn positions
-Get list of earn positions for accounts tracked for this workspace. Optional query parameters filter by chain, provider, and pagination. **Note:** This endpoint is currently in beta and might be subject to changes.
+Get list of earn positions for accounts tracked for this workspace. Optional query parameters filter by chain, provider, and pagination.
### Example
@@ -483,7 +483,7 @@ import com.fireblocks.sdk.BasePath;
import com.fireblocks.sdk.Fireblocks;
import com.fireblocks.sdk.ConfigurationOptions;
import com.fireblocks.sdk.model.*;
-import com.fireblocks.sdk.api.EarnBetaApi;
+import com.fireblocks.sdk.api.EarnApi;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
@@ -502,19 +502,19 @@ public class Example {
String sortBy = "sortBy_example"; // String | Field to sort results by.
String order = "ASC"; // String | Sort order (ASC or DESC).
try {
- CompletableFuture> response = fireblocks.earnBeta().getEarnPositions(chainId, providerId, pageCursor, pageSize, sortBy, order);
+ CompletableFuture> response = fireblocks.earn().getEarnPositions(chainId, providerId, pageCursor, pageSize, sortBy, order);
System.out.println("Status code: " + response.get().getStatusCode());
System.out.println("Response headers: " + response.get().getHeaders());
System.out.println("Response body: " + response.get().getData());
} catch (InterruptedException | ExecutionException e) {
ApiException apiException = (ApiException)e.getCause();
- System.err.println("Exception when calling EarnBetaApi#getEarnPositions");
+ System.err.println("Exception when calling EarnApi#getEarnPositions");
System.err.println("Status code: " + apiException.getCode());
System.err.println("Response headers: " + apiException.getResponseHeaders());
System.err.println("Reason: " + apiException.getResponseBody());
e.printStackTrace();
} catch (ApiException e) {
- System.err.println("Exception when calling EarnBetaApi#getEarnPositions");
+ System.err.println("Exception when calling EarnApi#getEarnPositions");
System.err.println("Status code: " + e.getCode());
System.err.println("Response headers: " + e.getResponseHeaders());
System.err.println("Reason: " + e.getResponseBody());
@@ -567,7 +567,7 @@ No authorization required
Get list of earn providers
-Get list of earn providers. **Note:** This endpoint is currently in beta and might be subject to changes.
+Get list of earn providers.
### Example
@@ -580,7 +580,7 @@ import com.fireblocks.sdk.BasePath;
import com.fireblocks.sdk.Fireblocks;
import com.fireblocks.sdk.ConfigurationOptions;
import com.fireblocks.sdk.model.*;
-import com.fireblocks.sdk.api.EarnBetaApi;
+import com.fireblocks.sdk.api.EarnApi;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
@@ -597,19 +597,19 @@ public class Example {
String sortBy = "sortBy_example"; // String | Field to sort results by.
String order = "ASC"; // String | Sort order (ASC or DESC).
try {
- CompletableFuture> response = fireblocks.earnBeta().getEarnProviders(pageCursor, pageSize, sortBy, order);
+ CompletableFuture> response = fireblocks.earn().getEarnProviders(pageCursor, pageSize, sortBy, order);
System.out.println("Status code: " + response.get().getStatusCode());
System.out.println("Response headers: " + response.get().getHeaders());
System.out.println("Response body: " + response.get().getData());
} catch (InterruptedException | ExecutionException e) {
ApiException apiException = (ApiException)e.getCause();
- System.err.println("Exception when calling EarnBetaApi#getEarnProviders");
+ System.err.println("Exception when calling EarnApi#getEarnProviders");
System.err.println("Status code: " + apiException.getCode());
System.err.println("Response headers: " + apiException.getResponseHeaders());
System.err.println("Reason: " + apiException.getResponseBody());
e.printStackTrace();
} catch (ApiException e) {
- System.err.println("Exception when calling EarnBetaApi#getEarnProviders");
+ System.err.println("Exception when calling EarnApi#getEarnProviders");
System.err.println("Status code: " + e.getCode());
System.err.println("Response headers: " + e.getResponseHeaders());
System.err.println("Reason: " + e.getResponseBody());
diff --git a/docs/EarnCurator.md b/docs/EarnCurator.md
new file mode 100644
index 00000000..664ffa81
--- /dev/null
+++ b/docs/EarnCurator.md
@@ -0,0 +1,14 @@
+
+
+# EarnCurator
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**name** | **String** | Curator display name. | [optional] |
+|**iconUrl** | **URI** | URL of the curator's icon/logo. | [optional] |
+
+
+
diff --git a/docs/EarnMetadata.md b/docs/EarnMetadata.md
new file mode 100644
index 00000000..0aa12fc3
--- /dev/null
+++ b/docs/EarnMetadata.md
@@ -0,0 +1,14 @@
+
+
+# EarnMetadata
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**name** | **String** | Protocol display name (e.g. \"Aave\", \"Aave Horizon\"). | [optional] |
+|**iconUrl** | **URI** | URL of the protocol's icon/logo. | [optional] |
+
+
+
diff --git a/docs/GetAutomationSettingsResponse.md b/docs/GetAutomationSettingsResponse.md
new file mode 100644
index 00000000..408d6ba7
--- /dev/null
+++ b/docs/GetAutomationSettingsResponse.md
@@ -0,0 +1,13 @@
+
+
+# GetAutomationSettingsResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**settings** | [**List<AutomationSettingsResponse>**](AutomationSettingsResponse.md) | The deposit automations configured for the vault account. | |
+
+
+
diff --git a/docs/GetBillingInfoResponse.md b/docs/GetBillingInfoResponse.md
new file mode 100644
index 00000000..f8f866a6
--- /dev/null
+++ b/docs/GetBillingInfoResponse.md
@@ -0,0 +1,14 @@
+
+
+# GetBillingInfoResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**activatedBlockchainsLimit** | **BigDecimal** | Maximum number of activated blockchains allowed for this tenant (0 = not purchased). | |
+|**activatedBlockchainsUsed** | **BigDecimal** | Number of blockchains currently in Activating, Activated, or Deactivating state for this tenant. Filter-independent (ignores list filters/pagination). | |
+
+
+
diff --git a/docs/GetBlockchainByIdResponse.md b/docs/GetBlockchainByIdResponse.md
new file mode 100644
index 00000000..e05dba5f
--- /dev/null
+++ b/docs/GetBlockchainByIdResponse.md
@@ -0,0 +1,13 @@
+
+
+# GetBlockchainByIdResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**blockchain** | [**Blockchain**](Blockchain.md) | | |
+
+
+
diff --git a/docs/GetConnectedAccountsCredentialsPublicKeyResponse.md b/docs/GetConnectedAccountsCredentialsPublicKeyResponse.md
new file mode 100644
index 00000000..c117f298
--- /dev/null
+++ b/docs/GetConnectedAccountsCredentialsPublicKeyResponse.md
@@ -0,0 +1,13 @@
+
+
+# GetConnectedAccountsCredentialsPublicKeyResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**publicKey** | **String** | RSA public key (PEM) used to encrypt credential payloads sent to POST /connected_accounts. | |
+
+
+
diff --git a/docs/GetTestWalletAddressResponse.md b/docs/GetTestWalletAddressResponse.md
new file mode 100644
index 00000000..7b223209
--- /dev/null
+++ b/docs/GetTestWalletAddressResponse.md
@@ -0,0 +1,13 @@
+
+
+# GetTestWalletAddressResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**testWalletAddress** | **String** | Ethereum address derived from BLOCKCHAIN_LINK_EXTERNAL_WALLET_PRIVATE_KEY (for UI display). | [optional] |
+
+
+
diff --git a/docs/ListBlockchainsResponse2.md b/docs/ListBlockchainsResponse2.md
new file mode 100644
index 00000000..1ca9d39b
--- /dev/null
+++ b/docs/ListBlockchainsResponse2.md
@@ -0,0 +1,16 @@
+
+
+# ListBlockchainsResponse2
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**data** | [**List<Blockchain>**](Blockchain.md) | Blockchains for the current page. | |
+|**total** | **BigDecimal** | Total number of items across all pages, matching the current filter. | |
+|**next** | **String** | Cursor for the next page; absent when the current page is the last. Opaque base64 blob bundling the target pageCursor and current query params (pageSize, search, status, statusExclude, blockchainEnv, sortBy, order). | [optional] |
+|**prev** | **String** | Cursor for the previous page; absent when the current page is the first. | [optional] |
+
+
+
diff --git a/docs/MomoPaymentInfo.md b/docs/MomoPaymentInfo.md
index 317b84b8..fa5f936b 100644
--- a/docs/MomoPaymentInfo.md
+++ b/docs/MomoPaymentInfo.md
@@ -46,6 +46,7 @@ Mobile Money (MOMO) payment information for African mobile payment services
| MTN | "MTN" |
| TIGO | "TIGO" |
| WAVE | "WAVE" |
+| ORANGE | "ORANGE" |
diff --git a/docs/Opportunity.md b/docs/Opportunity.md
index 23bf4bbf..3278e711 100644
--- a/docs/Opportunity.md
+++ b/docs/Opportunity.md
@@ -17,12 +17,16 @@
|**principalAsset** | [**EarnAsset**](EarnAsset.md) | Underlying token the user deposits (principal). | [optional] |
|**positionAsset** | [**EarnAsset**](EarnAsset.md) | Token representing the user’s position in the protocol (e.g. vault share). | [optional] |
|**totalAssets** | **String** | Human-readable total value locked / assets in the opportunity. | [optional] |
+|**totalAssetsUsd** | **String** | USD-denominated total assets / TVL. | [optional] |
|**liquidity** | **String** | Human-readable available liquidity. | [optional] |
+|**liquidityUsd** | **String** | USD-denominated available liquidity. | [optional] |
|**apy** | [**Apy**](Apy.md) | APY breakdown; values are percentages (e.g. 4.25 means 4.25%). | [optional] |
|**performanceFee** | **String** | Performance fee as a human-readable decimal string. | [optional] |
|**managementFee** | **String** | Management fee as a human-readable decimal string. | [optional] |
|**exposureType** | [**ExposureTypeEnum**](#ExposureTypeEnum) | What the `exposure` rows represent; `UNSPECIFIED` when there is no exposure. | [optional] |
|**exposure** | [**List<Exposure>**](Exposure.md) | Per-asset exposure breakdown (vault allocation slices, top 20 by USD notional). Empty when not applicable. | [optional] |
+|**curator** | [**EarnCurator**](EarnCurator.md) | Curator information for Morpho vaults. | [optional] |
+|**metadata** | [**EarnMetadata**](EarnMetadata.md) | Protocol-level metadata (display name and logo). | [optional] |
diff --git a/docs/PolicyEditorV2BetaApi.md b/docs/PolicyEditorV2BetaApi.md
new file mode 100644
index 00000000..41c397ba
--- /dev/null
+++ b/docs/PolicyEditorV2BetaApi.md
@@ -0,0 +1,99 @@
+# PolicyEditorV2BetaApi
+
+All URIs are relative to https://developers.fireblocks.com/reference/
+
+| Method | HTTP request | Description |
+|------------- | ------------- | -------------|
+| [**getPolicyRuleQuota**](PolicyEditorV2BetaApi.md#getPolicyRuleQuota) | **POST** /policy/rules/quota | Calculate the AOT quota for a policy rule |
+
+
+
+## getPolicyRuleQuota
+
+> CompletableFuture> getPolicyRuleQuota getPolicyRuleQuota(policyRuleQuotaRequest, idempotencyKey)
+
+Calculate the AOT quota for a policy rule
+
+Returns the Amount Over Time (AOT) quota calculated for a specific policy rule. Endpoint Permissions: Owner, Admin, Non-Signing Admin.
+
+### Example
+
+```java
+// Import classes:
+import com.fireblocks.sdk.ApiClient;
+import com.fireblocks.sdk.ApiException;
+import com.fireblocks.sdk.ApiResponse;
+import com.fireblocks.sdk.BasePath;
+import com.fireblocks.sdk.Fireblocks;
+import com.fireblocks.sdk.ConfigurationOptions;
+import com.fireblocks.sdk.model.*;
+import com.fireblocks.sdk.api.PolicyEditorV2BetaApi;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+
+public class Example {
+ public static void main(String[] args) {
+ ConfigurationOptions configurationOptions = new ConfigurationOptions()
+ .basePath(BasePath.Sandbox)
+ .apiKey("my-api-key")
+ .secretKey("my-secret-key");
+ Fireblocks fireblocks = new Fireblocks(configurationOptions);
+
+ PolicyRuleQuotaRequest policyRuleQuotaRequest = new PolicyRuleQuotaRequest(); // PolicyRuleQuotaRequest |
+ String idempotencyKey = "idempotencyKey_example"; // String | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
+ try {
+ CompletableFuture> response = fireblocks.policyEditorV2Beta().getPolicyRuleQuota(policyRuleQuotaRequest, idempotencyKey);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling PolicyEditorV2BetaApi#getPolicyRuleQuota");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling PolicyEditorV2BetaApi#getPolicyRuleQuota");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **policyRuleQuotaRequest** | [**PolicyRuleQuotaRequest**](PolicyRuleQuotaRequest.md)| | |
+| **idempotencyKey** | **String**| A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | The calculated AOT quota for the rule | * X-Request-ID -
|
+| **400** | Invalid request parameters or rule configuration prevents AOT calculation. | * X-Request-ID -
|
+| **403** | Caller lacks permission to access the requested rule. | * X-Request-ID -
|
+| **404** | The requested policy rule was not found. | * X-Request-ID -
|
+| **429** | Rate limit exceeded: slow down and retry later. | * X-Request-ID -
|
+| **500** | Internal server error while calculating AOT quota. | * X-Request-ID -
|
+| **0** | Error Response | * X-Request-ID -
|
+
diff --git a/docs/PolicyRuleQuotaParticipant.md b/docs/PolicyRuleQuotaParticipant.md
new file mode 100644
index 00000000..74953575
--- /dev/null
+++ b/docs/PolicyRuleQuotaParticipant.md
@@ -0,0 +1,15 @@
+
+
+# PolicyRuleQuotaParticipant
+
+Participant identifier for AOT quota calculation
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**id** | **String** | Participant identifier (integer for VAULT accounts, UUID for others) | |
+|**type** | **String** | Participant type | |
+
+
+
diff --git a/docs/PolicyRuleQuotaRequest.md b/docs/PolicyRuleQuotaRequest.md
new file mode 100644
index 00000000..47ffe811
--- /dev/null
+++ b/docs/PolicyRuleQuotaRequest.md
@@ -0,0 +1,16 @@
+
+
+# PolicyRuleQuotaRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**ruleId** | **String** | The ID of the policy rule to calculate AOT quota for | |
+|**initiator** | **String** | Optional initiator identifier for the AOT calculation | [optional] |
+|**source** | [**PolicyRuleQuotaParticipant**](PolicyRuleQuotaParticipant.md) | | [optional] |
+|**destination** | [**PolicyRuleQuotaParticipant**](PolicyRuleQuotaParticipant.md) | | [optional] |
+
+
+
diff --git a/docs/PolicyRuleQuotaResponse.md b/docs/PolicyRuleQuotaResponse.md
new file mode 100644
index 00000000..69630402
--- /dev/null
+++ b/docs/PolicyRuleQuotaResponse.md
@@ -0,0 +1,18 @@
+
+
+# PolicyRuleQuotaResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**amount** | **String** | The calculated Amount Over Time (AOT) quota for the rule | [optional] |
+|**quotaConfig** | [**AmountOverTimeConfig**](AmountOverTimeConfig.md) | | [optional] |
+|**currency** | **String** | The currency of the AOT amount | [optional] |
+|**windowStart** | **BigDecimal** | Unix timestamp (seconds) of the start of the current AOT time window | [optional] |
+|**windowEnd** | **BigDecimal** | Unix timestamp (seconds) of the end of the current AOT time window (when the AOT was calculated) | [optional] |
+|**transactionCount** | **BigDecimal** | Number of transactions in the current AOT time window | [optional] |
+
+
+
diff --git a/docs/Position2.md b/docs/Position2.md
index 1316990a..ff6dffd8 100644
--- a/docs/Position2.md
+++ b/docs/Position2.md
@@ -23,6 +23,7 @@
|**createdAt** | **String** | Creation time (ISO-8601). | |
|**updatedAt** | **String** | Last update time (ISO-8601). | |
|**lastSyncedAt** | **String** | Last successful on-chain sync time (ISO-8601). | [optional] |
+|**lastModifiedAt** | **String** | Timestamp of the last user-triggered action on this position (ISO-8601). Empty if the user has never interacted with it. | [optional] |
|**availableActions** | [**List<AvailableActionsEnum>**](#List<AvailableActionsEnum>) | Actions the API allows next for this position. | |
|**yield** | **String** | Accrued yield in principal token units (decimal string). Only present for Morpho positions. | [optional] |
diff --git a/docs/ProgramCallDecodedDataItem.md b/docs/ProgramCallDecodedDataItem.md
new file mode 100644
index 00000000..fbcb9f72
--- /dev/null
+++ b/docs/ProgramCallDecodedDataItem.md
@@ -0,0 +1,16 @@
+
+
+# ProgramCallDecodedDataItem
+
+A single decoded Solana instruction from a PROGRAM_CALL transaction.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**programId** | **String** | The on-chain program address that owns this instruction. | |
+|**programName** | **String** | Human-readable program name (e.g. `SystemProgram`, `ComputeBudget`). | |
+|**instructionData** | **Map<String, Object>** | Decoded instruction arguments. Keys and values depend on the instruction type — values may be strings, numbers, or nested objects (e.g. `args`, `accounts`, `name`). | |
+
+
+
diff --git a/docs/RescreenTransactionRequest.md b/docs/RescreenTransactionRequest.md
new file mode 100644
index 00000000..d4176e55
--- /dev/null
+++ b/docs/RescreenTransactionRequest.md
@@ -0,0 +1,13 @@
+
+
+# RescreenTransactionRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**resetTravelRuleMessage** | **Boolean** | When true, clears the existing travel rule message on the transaction before rescreening. | [optional] |
+
+
+
diff --git a/docs/RescreenTransactionResponse.md b/docs/RescreenTransactionResponse.md
new file mode 100644
index 00000000..a7f24272
--- /dev/null
+++ b/docs/RescreenTransactionResponse.md
@@ -0,0 +1,13 @@
+
+
+# RescreenTransactionResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**success** | **Boolean** | Whether the rescreen was triggered successfully | |
+
+
+
diff --git a/docs/SaveAutomationSettingsResponse.md b/docs/SaveAutomationSettingsResponse.md
new file mode 100644
index 00000000..bc7ca779
--- /dev/null
+++ b/docs/SaveAutomationSettingsResponse.md
@@ -0,0 +1,13 @@
+
+
+# SaveAutomationSettingsResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**automationId** | **UUID** | The ID of the newly created deposit automation. | |
+
+
+
diff --git a/docs/ScreeningStatusEnum.md b/docs/ScreeningStatusEnum.md
new file mode 100644
index 00000000..95e3b3ed
--- /dev/null
+++ b/docs/ScreeningStatusEnum.md
@@ -0,0 +1,19 @@
+
+
+# ScreeningStatusEnum
+
+## Enum
+
+
+* `COMPLETED` (value: `"COMPLETED"`)
+
+* `PENDING` (value: `"PENDING"`)
+
+* `BYPASSED` (value: `"BYPASSED"`)
+
+* `FAILED` (value: `"FAILED"`)
+
+* `FROZEN` (value: `"FROZEN"`)
+
+
+
diff --git a/docs/ScreeningVerdictEnum.md b/docs/ScreeningVerdictEnum.md
index 5e706464..7b390e2f 100644
--- a/docs/ScreeningVerdictEnum.md
+++ b/docs/ScreeningVerdictEnum.md
@@ -21,5 +21,7 @@
* `REVIEW` (value: `"REVIEW"`)
+* `WAIT` (value: `"WAIT"`)
+
diff --git a/docs/Tag.md b/docs/Tag.md
index bfeaf0a1..0d2faa3c 100644
--- a/docs/Tag.md
+++ b/docs/Tag.md
@@ -14,6 +14,7 @@
|**isProtected** | **Boolean** | Indication if the tag is a protected tag | |
|**updatedAt** | **BigDecimal** | The date and time the tag was last updated | |
|**type** | **TagType** | | [optional] |
+|**allowedEntityTypes** | **List<String>** | The entity types this tag may be attached to. Tags created before this field was introduced read back as ['vault_account']. Known values: vault_account (default), contact. | [optional] |
|**pendingApprovalRequest** | [**ApprovalRequest**](ApprovalRequest.md) | | [optional] |
diff --git a/docs/TagsApi.md b/docs/TagsApi.md
index 837e5e99..124ada40 100644
--- a/docs/TagsApi.md
+++ b/docs/TagsApi.md
@@ -347,7 +347,7 @@ No authorization required
## getTags
-> CompletableFuture> getTags getTags(pageCursor, pageSize, label, tagIds, includePendingApprovalsInfo, isProtected, type)
+> CompletableFuture> getTags getTags(pageCursor, pageSize, label, tagIds, includePendingApprovalsInfo, isProtected, type, allowedEntityType)
Get list of tags
@@ -383,8 +383,9 @@ public class Example {
Boolean includePendingApprovalsInfo = false; // Boolean | Whether to include pending approval requests info.
Boolean isProtected = true; // Boolean |
List type = Arrays.asList(); // List | Filter by tag type
+ String allowedEntityType = "contact"; // String | Filter tags whose allow-list contains this entity type. Known values: vault_account, contact.
try {
- CompletableFuture> response = fireblocks.tags().getTags(pageCursor, pageSize, label, tagIds, includePendingApprovalsInfo, isProtected, type);
+ CompletableFuture> response = fireblocks.tags().getTags(pageCursor, pageSize, label, tagIds, includePendingApprovalsInfo, isProtected, type, allowedEntityType);
System.out.println("Status code: " + response.get().getStatusCode());
System.out.println("Response headers: " + response.get().getHeaders());
System.out.println("Response body: " + response.get().getData());
@@ -418,6 +419,7 @@ public class Example {
| **includePendingApprovalsInfo** | **Boolean**| Whether to include pending approval requests info. | [optional] [default to false] |
| **isProtected** | **Boolean**| | [optional] |
| **type** | [**List<TagType>**](TagType.md)| Filter by tag type | [optional] |
+| **allowedEntityType** | **String**| Filter tags whose allow-list contains this entity type. Known values: vault_account, contact. | [optional] |
### Return type
diff --git a/docs/TimeBasedTrigger.md b/docs/TimeBasedTrigger.md
new file mode 100644
index 00000000..d62dd86f
--- /dev/null
+++ b/docs/TimeBasedTrigger.md
@@ -0,0 +1,26 @@
+
+
+# TimeBasedTrigger
+
+The schedule for this deposit automation.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**intervalValue** | **Integer** | How often the deposit runs, in units of intervalUnit. | |
+|**intervalUnit** | [**IntervalUnitEnum**](#IntervalUnitEnum) | The unit for intervalValue. | |
+|**balanceThreshold** | **String** | Minimum USDC balance required before a deposit runs. Set to \"0\" to sweep the full available balance every time, with no minimum. | |
+
+
+
+## Enum: IntervalUnitEnum
+
+| Name | Value |
+|---- | -----|
+| MINUTES | "MINUTES" |
+| HOURS | "HOURS" |
+| DAYS | "DAYS" |
+
+
+
diff --git a/docs/TransactionFee.md b/docs/TransactionFee.md
index 85ac0cf7..4e5f0159 100644
--- a/docs/TransactionFee.md
+++ b/docs/TransactionFee.md
@@ -8,11 +8,11 @@
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
|**feePerByte** | **String** | | [optional] |
-|**gasPrice** | **BigDecimal** | | [optional] |
+|**gasPrice** | **String** | | [optional] |
|**gasLimit** | **String** | | [optional] |
|**networkFee** | **String** | | [optional] |
-|**baseFee** | **BigDecimal** | (optional) Base Fee according to EIP-1559 (ETH assets) | [optional] |
-|**priorityFee** | **BigDecimal** | (optional) Priority Fee according to EIP-1559 (ETH assets) | [optional] |
+|**baseFee** | **String** | (optional) Base Fee according to EIP-1559 (ETH assets) | [optional] |
+|**priorityFee** | **String** | (optional) Priority Fee according to EIP-1559 (ETH assets) | [optional] |
|**maxFeePerGasDelta** | **String** | Max Fee Per Gas Delta added only for EIP-1559 (ETH assets) | [optional] |
|**l1Fee** | **String** | Layer 1 fee for Layer 2 chains | [optional] |
diff --git a/docs/TransactionResponse.md b/docs/TransactionResponse.md
index 680e6aaf..d9c30c60 100644
--- a/docs/TransactionResponse.md
+++ b/docs/TransactionResponse.md
@@ -25,6 +25,7 @@
|**destinationAddressDescription** | **String** | Description of the address. | [optional] |
|**destinationTag** | **String** | Destination address tag for XRP, used as memo for EOS/XLM, or Bank Transfer Description for the fiat provider BLINC (by BCB Group). | [optional] |
|**contractCallDecodedData** | [**TransactionResponseContractCallDecodedData**](TransactionResponseContractCallDecodedData.md) | | [optional] |
+|**programCallDecodedData** | [**List<ProgramCallDecodedDataItem>**](ProgramCallDecodedDataItem.md) | Decoded instruction list for `PROGRAM_CALL` (Solana) operations. Each entry represents one instruction in the transaction, in execution order. Fireblocks-injected instructions (e.g. `AdvanceNonceAccount`, `ComputeBudget`) appear first, followed by the original dApp instructions. | [optional] |
|**amountInfo** | [**AmountInfo**](AmountInfo.md) | | [optional] |
|**treatAsGrossAmount** | **Boolean** | For transactions initiated via this Fireblocks workspace, when set to `true`, the fee is deducted from the requested amount. **Note**: This parameter can only be considered if a transaction's asset is a base asset, such as ETH or MATIC. If the asset can't be used for transaction fees, like USDC, this parameter is ignored and the fee is deducted from the relevant base asset wallet in the source account. | [optional] |
|**feeInfo** | [**FeeInfo**](FeeInfo.md) | | [optional] |
diff --git a/docs/TriggerValidationFlowResponse.md b/docs/TriggerValidationFlowResponse.md
new file mode 100644
index 00000000..0657dc37
--- /dev/null
+++ b/docs/TriggerValidationFlowResponse.md
@@ -0,0 +1,13 @@
+
+
+# TriggerValidationFlowResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**message** | **String** | Human-readable result message. | |
+
+
+
diff --git a/docs/UpdateAutomationSettingsRequest.md b/docs/UpdateAutomationSettingsRequest.md
new file mode 100644
index 00000000..094151dd
--- /dev/null
+++ b/docs/UpdateAutomationSettingsRequest.md
@@ -0,0 +1,14 @@
+
+
+# UpdateAutomationSettingsRequest
+
+Request body for changing an existing USDC Gateway deposit automation.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**timeBased** | [**TimeBasedTrigger**](TimeBasedTrigger.md) | | |
+
+
+
diff --git a/docs/UpdateBlockchainResponse.md b/docs/UpdateBlockchainResponse.md
new file mode 100644
index 00000000..f21d1f61
--- /dev/null
+++ b/docs/UpdateBlockchainResponse.md
@@ -0,0 +1,14 @@
+
+
+# UpdateBlockchainResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**blockchain** | [**Blockchain**](Blockchain.md) | | |
+|**message** | **String** | Human-readable result message. | |
+
+
+
diff --git a/docs/UtxoManagementBetaApi.md b/docs/UtxoManagementBetaApi.md
index a792ee5a..8f44508a 100644
--- a/docs/UtxoManagementBetaApi.md
+++ b/docs/UtxoManagementBetaApi.md
@@ -11,7 +11,7 @@ All URIs are relative to https://developers.fireblocks.com/reference/
## getUtxos
-> CompletableFuture> getUtxos getUtxos(vaultAccountId, assetId, pageCursor, pageSize, sort, order, includeAllLabels, includeAnyLabels, excludeAnyLabels, includeStatuses, address, minAmount, maxAmount)
+> CompletableFuture> getUtxos getUtxos(vaultAccountId, assetId, pageCursor, pageSize, sort, order, includeAllLabels, includeAnyLabels, excludeAnyLabels, includeStatuses, address, txHash, txId, minAmount, maxAmount)
List unspent outputs (UTXOs)
@@ -51,10 +51,12 @@ public class Example {
List excludeAnyLabels = Arrays.asList(); // List | Exclude UTXOs that have ANY of these labels.
List includeStatuses = Arrays.asList(); // List | Filter by UTXO statuses to include.
String address = "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"; // String | Filter by address
+ String txHash = "0000000000000000000a1b2c3d4e5f60718293a4b5c6d7e8f900112233445566"; // String | Filter by the on-chain hash of the transaction that created the UTXOs. Returns all UTXOs originating from that transaction.
+ UUID txId = UUID.fromString("f47ac10b-58cc-4372-a567-0e02b2c3d479"); // UUID | Filter by the Fireblocks transaction ID that created the UTXOs.
String minAmount = "0.001"; // String | Minimum amount filter
String maxAmount = "1.0"; // String | Maximum amount filter
try {
- CompletableFuture> response = fireblocks.utxoManagementBeta().getUtxos(vaultAccountId, assetId, pageCursor, pageSize, sort, order, includeAllLabels, includeAnyLabels, excludeAnyLabels, includeStatuses, address, minAmount, maxAmount);
+ CompletableFuture> response = fireblocks.utxoManagementBeta().getUtxos(vaultAccountId, assetId, pageCursor, pageSize, sort, order, includeAllLabels, includeAnyLabels, excludeAnyLabels, includeStatuses, address, txHash, txId, minAmount, maxAmount);
System.out.println("Status code: " + response.get().getStatusCode());
System.out.println("Response headers: " + response.get().getHeaders());
System.out.println("Response body: " + response.get().getData());
@@ -92,6 +94,8 @@ public class Example {
| **excludeAnyLabels** | [**List<String>**](String.md)| Exclude UTXOs that have ANY of these labels. | [optional] |
| **includeStatuses** | [**List<String>**](String.md)| Filter by UTXO statuses to include. | [optional] |
| **address** | **String**| Filter by address | [optional] |
+| **txHash** | **String**| Filter by the on-chain hash of the transaction that created the UTXOs. Returns all UTXOs originating from that transaction. | [optional] |
+| **txId** | **UUID**| Filter by the Fireblocks transaction ID that created the UTXOs. | [optional] |
| **minAmount** | **String**| Minimum amount filter | [optional] |
| **maxAmount** | **String**| Maximum amount filter | [optional] |
diff --git a/docs/VaultsApi.md b/docs/VaultsApi.md
index d1a9502e..2b9f8973 100644
--- a/docs/VaultsApi.md
+++ b/docs/VaultsApi.md
@@ -14,6 +14,7 @@ All URIs are relative to https://developers.fireblocks.com/reference/
| [**createVaultAccountAsset**](VaultsApi.md#createVaultAccountAsset) | **POST** /vault/accounts/{vaultAccountId}/{assetId} | Create a new vault wallet |
| [**createVaultAccountAssetAddress**](VaultsApi.md#createVaultAccountAssetAddress) | **POST** /vault/accounts/{vaultAccountId}/{assetId}/addresses | Create new asset deposit address |
| [**deactivateUsdcGatewayWalletBeta**](VaultsApi.md#deactivateUsdcGatewayWalletBeta) | **POST** /vault/accounts/{vaultAccountId}/usdc_gateway/deactivate | Deactivate a USDC Gateway wallet |
+| [**disableUsdcGatewayDepositAutomationScheduleBeta**](VaultsApi.md#disableUsdcGatewayDepositAutomationScheduleBeta) | **DELETE** /vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation/{automationId} | Stop a USDC Gateway deposit automation's schedule |
| [**getAssetWallets**](VaultsApi.md#getAssetWallets) | **GET** /vault/asset_wallets | Get vault wallets (Paginated) |
| [**getCreateMultipleDepositAddressesJobStatus**](VaultsApi.md#getCreateMultipleDepositAddressesJobStatus) | **GET** /vault/accounts/addresses/bulk/{jobId} | Get the job status of the bulk deposit address creation |
| [**getCreateMultipleVaultAccountsJobStatus**](VaultsApi.md#getCreateMultipleVaultAccountsJobStatus) | **GET** /vault/accounts/bulk/{jobId} | Get job status of bulk creation of new vault accounts |
@@ -23,6 +24,7 @@ All URIs are relative to https://developers.fireblocks.com/reference/
| [**getPublicKeyInfo**](VaultsApi.md#getPublicKeyInfo) | **GET** /vault/public_key_info | Get the public key for a derivation path |
| [**getPublicKeyInfoForAddress**](VaultsApi.md#getPublicKeyInfoForAddress) | **GET** /vault/accounts/{vaultAccountId}/{assetId}/{change}/{addressIndex}/public_key_info | Get an asset's public key |
| [**getUnspentInputs**](VaultsApi.md#getUnspentInputs) | **GET** /vault/accounts/{vaultAccountId}/{assetId}/unspent_inputs | Get UTXO unspent inputs information |
+| [**getUsdcGatewayDepositAutomationBeta**](VaultsApi.md#getUsdcGatewayDepositAutomationBeta) | **GET** /vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation | Read the USDC Gateway deposit automations for a vault account |
| [**getUsdcGatewayWalletInfoBeta**](VaultsApi.md#getUsdcGatewayWalletInfoBeta) | **GET** /vault/accounts/{vaultAccountId}/usdc_gateway | Get USDC Gateway wallet info |
| [**getVaultAccount**](VaultsApi.md#getVaultAccount) | **GET** /vault/accounts/{vaultAccountId} | Get a vault account by ID |
| [**getVaultAccountAsset**](VaultsApi.md#getVaultAccountAsset) | **GET** /vault/accounts/{vaultAccountId}/{assetId} | Get the asset balance for a vault account |
@@ -32,9 +34,11 @@ All URIs are relative to https://developers.fireblocks.com/reference/
| [**hideVaultAccount**](VaultsApi.md#hideVaultAccount) | **POST** /vault/accounts/{vaultAccountId}/hide | Hide a vault account in the console |
| [**lookupVaultByAddress**](VaultsApi.md#lookupVaultByAddress) | **GET** /vault/lookup_by_address | Look up a vault account by blockchain address |
| [**setCustomerRefIdForAddress**](VaultsApi.md#setCustomerRefIdForAddress) | **POST** /vault/accounts/{vaultAccountId}/{assetId}/addresses/{addressId}/set_customer_ref_id | Assign AML customer reference ID |
+| [**setUsdcGatewayDepositAutomationBeta**](VaultsApi.md#setUsdcGatewayDepositAutomationBeta) | **POST** /vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation | Set up a USDC Gateway deposit automation for a vault account |
| [**setVaultAccountAutoFuel**](VaultsApi.md#setVaultAccountAutoFuel) | **POST** /vault/accounts/{vaultAccountId}/set_auto_fuel | Set auto fueling to on or off |
| [**setVaultAccountCustomerRefId**](VaultsApi.md#setVaultAccountCustomerRefId) | **POST** /vault/accounts/{vaultAccountId}/set_customer_ref_id | Set an AML/KYT ID for a vault account |
| [**unhideVaultAccount**](VaultsApi.md#unhideVaultAccount) | **POST** /vault/accounts/{vaultAccountId}/unhide | Unhide a vault account in the console |
+| [**updateUsdcGatewayDepositAutomationBeta**](VaultsApi.md#updateUsdcGatewayDepositAutomationBeta) | **PATCH** /vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation/{automationId} | Change a USDC Gateway deposit automation |
| [**updateVaultAccount**](VaultsApi.md#updateVaultAccount) | **PUT** /vault/accounts/{vaultAccountId} | Rename a vault account |
| [**updateVaultAccountAssetAddress**](VaultsApi.md#updateVaultAccountAssetAddress) | **PUT** /vault/accounts/{vaultAccountId}/{assetId}/addresses/{addressId} | Update address description |
| [**updateVaultAccountAssetBalance**](VaultsApi.md#updateVaultAccountAssetBalance) | **POST** /vault/accounts/{vaultAccountId}/{assetId}/balance | Refresh asset balance data |
@@ -910,6 +914,90 @@ No authorization required
| **0** | Error Response | * X-Request-ID -
|
+## disableUsdcGatewayDepositAutomationScheduleBeta
+
+> CompletableFuture> disableUsdcGatewayDepositAutomationScheduleBeta disableUsdcGatewayDepositAutomationScheduleBeta(vaultAccountId, automationId)
+
+Stop a USDC Gateway deposit automation's schedule
+
+Stops the schedule for an existing deposit automation. The automation itself stays configured, only its schedule stops. Turn it back on later with PATCH, without setting up the automation again from scratch. **Note:** This endpoint is currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver.
+
+### Example
+
+```java
+// Import classes:
+import com.fireblocks.sdk.ApiClient;
+import com.fireblocks.sdk.ApiException;
+import com.fireblocks.sdk.ApiResponse;
+import com.fireblocks.sdk.BasePath;
+import com.fireblocks.sdk.Fireblocks;
+import com.fireblocks.sdk.ConfigurationOptions;
+import com.fireblocks.sdk.model.*;
+import com.fireblocks.sdk.api.VaultsApi;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+
+public class Example {
+ public static void main(String[] args) {
+ ConfigurationOptions configurationOptions = new ConfigurationOptions()
+ .basePath(BasePath.Sandbox)
+ .apiKey("my-api-key")
+ .secretKey("my-secret-key");
+ Fireblocks fireblocks = new Fireblocks(configurationOptions);
+
+ String vaultAccountId = "vaultAccountId_example"; // String | The ID of the vault account
+ UUID automationId = UUID.randomUUID(); // UUID | The ID of the deposit automation, returned when it was created or read
+ try {
+ CompletableFuture> response = fireblocks.vaults().disableUsdcGatewayDepositAutomationScheduleBeta(vaultAccountId, automationId);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling VaultsApi#disableUsdcGatewayDepositAutomationScheduleBeta");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling VaultsApi#disableUsdcGatewayDepositAutomationScheduleBeta");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **vaultAccountId** | **String**| The ID of the vault account | |
+| **automationId** | **UUID**| The ID of the deposit automation, returned when it was created or read | |
+
+### Return type
+
+
+CompletableFuture>
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **204** | Deposit automation schedule disabled | * X-Request-ID -
|
+| **0** | Error Response | * X-Request-ID -
|
+
+
## getAssetWallets
> CompletableFuture> getAssetWallets getAssetWallets(totalAmountLargerThan, assetId, orderBy, before, after, limit)
@@ -1255,7 +1343,7 @@ No authorization required
## getMaxSpendableAmount
-> CompletableFuture> getMaxSpendableAmount getMaxSpendableAmount(vaultAccountId, assetId, manualSignging)
+> CompletableFuture> getMaxSpendableAmount getMaxSpendableAmount(vaultAccountId, assetId, manualSignging, includeAllLabels, includeAnyLabels, excludeAnyLabels, address, minAmount, maxAmount)
Get max spendable amount in a transaction
@@ -1287,8 +1375,14 @@ public class Example {
String vaultAccountId = "vaultAccountId_example"; // String | The ID of the vault account, or 'default' for the default vault account
String assetId = "assetId_example"; // String | The ID of the asset
Boolean manualSignging = true; // Boolean | False by default. The maximum number of inputs depends if the transaction will be signed by an automated co-signer server or on a mobile device.
+ List includeAllLabels = Arrays.asList(); // List | Only include UTXOs that have ALL of these labels (AND logic). Requires the UTXO Manager. This feature is currently in beta and might be subject to changes.
+ List includeAnyLabels = Arrays.asList(); // List | Only include UTXOs that have ANY of these labels (OR logic). Requires the UTXO Manager. This feature is currently in beta and might be subject to changes.
+ List excludeAnyLabels = Arrays.asList(); // List | Exclude UTXOs that have ANY of these labels. Requires the UTXO Manager. This feature is currently in beta and might be subject to changes.
+ String address = "address_example"; // String | Only include UTXOs from this specific address. Requires the UTXO Manager. This feature is currently in beta and might be subject to changes.
+ String minAmount = "minAmount_example"; // String | Minimum UTXO amount in the asset's base unit. Requires the UTXO Manager. This feature is currently in beta and might be subject to changes.
+ String maxAmount = "maxAmount_example"; // String | Maximum UTXO amount in the asset's base unit. Requires the UTXO Manager. This feature is currently in beta and might be subject to changes.
try {
- CompletableFuture> response = fireblocks.vaults().getMaxSpendableAmount(vaultAccountId, assetId, manualSignging);
+ CompletableFuture> response = fireblocks.vaults().getMaxSpendableAmount(vaultAccountId, assetId, manualSignging, includeAllLabels, includeAnyLabels, excludeAnyLabels, address, minAmount, maxAmount);
System.out.println("Status code: " + response.get().getStatusCode());
System.out.println("Response headers: " + response.get().getHeaders());
System.out.println("Response body: " + response.get().getData());
@@ -1318,6 +1412,12 @@ public class Example {
| **vaultAccountId** | **String**| The ID of the vault account, or 'default' for the default vault account | |
| **assetId** | **String**| The ID of the asset | |
| **manualSignging** | **Boolean**| False by default. The maximum number of inputs depends if the transaction will be signed by an automated co-signer server or on a mobile device. | [optional] |
+| **includeAllLabels** | [**List<String>**](String.md)| Only include UTXOs that have ALL of these labels (AND logic). Requires the UTXO Manager. This feature is currently in beta and might be subject to changes. | [optional] |
+| **includeAnyLabels** | [**List<String>**](String.md)| Only include UTXOs that have ANY of these labels (OR logic). Requires the UTXO Manager. This feature is currently in beta and might be subject to changes. | [optional] |
+| **excludeAnyLabels** | [**List<String>**](String.md)| Exclude UTXOs that have ANY of these labels. Requires the UTXO Manager. This feature is currently in beta and might be subject to changes. | [optional] |
+| **address** | **String**| Only include UTXOs from this specific address. Requires the UTXO Manager. This feature is currently in beta and might be subject to changes. | [optional] |
+| **minAmount** | **String**| Minimum UTXO amount in the asset's base unit. Requires the UTXO Manager. This feature is currently in beta and might be subject to changes. | [optional] |
+| **maxAmount** | **String**| Maximum UTXO amount in the asset's base unit. Requires the UTXO Manager. This feature is currently in beta and might be subject to changes. | [optional] |
### Return type
@@ -1705,6 +1805,89 @@ No authorization required
| **0** | Error Response | * X-Request-ID -
|
+## getUsdcGatewayDepositAutomationBeta
+
+> CompletableFuture> getUsdcGatewayDepositAutomationBeta getUsdcGatewayDepositAutomationBeta(vaultAccountId)
+
+Read the USDC Gateway deposit automations for a vault account
+
+Returns the USDC Gateway deposit automations configured for the given vault account. **Note:** This endpoint is currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
+
+### Example
+
+```java
+// Import classes:
+import com.fireblocks.sdk.ApiClient;
+import com.fireblocks.sdk.ApiException;
+import com.fireblocks.sdk.ApiResponse;
+import com.fireblocks.sdk.BasePath;
+import com.fireblocks.sdk.Fireblocks;
+import com.fireblocks.sdk.ConfigurationOptions;
+import com.fireblocks.sdk.model.*;
+import com.fireblocks.sdk.api.VaultsApi;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+
+public class Example {
+ public static void main(String[] args) {
+ ConfigurationOptions configurationOptions = new ConfigurationOptions()
+ .basePath(BasePath.Sandbox)
+ .apiKey("my-api-key")
+ .secretKey("my-secret-key");
+ Fireblocks fireblocks = new Fireblocks(configurationOptions);
+
+ String vaultAccountId = "vaultAccountId_example"; // String | The ID of the vault account
+ try {
+ CompletableFuture> response = fireblocks.vaults().getUsdcGatewayDepositAutomationBeta(vaultAccountId);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling VaultsApi#getUsdcGatewayDepositAutomationBeta");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling VaultsApi#getUsdcGatewayDepositAutomationBeta");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **vaultAccountId** | **String**| The ID of the vault account | |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | USDC Gateway deposit automations | * X-Request-ID -
|
+| **0** | Error Response | * X-Request-ID -
|
+
+
## getUsdcGatewayWalletInfoBeta
> CompletableFuture> getUsdcGatewayWalletInfoBeta getUsdcGatewayWalletInfoBeta(vaultAccountId)
@@ -2477,6 +2660,93 @@ No authorization required
| **0** | Error Response | * X-Request-ID -
|
+## setUsdcGatewayDepositAutomationBeta
+
+> CompletableFuture> setUsdcGatewayDepositAutomationBeta setUsdcGatewayDepositAutomationBeta(automationSettingsRequest, vaultAccountId, idempotencyKey)
+
+Set up a USDC Gateway deposit automation for a vault account
+
+Turns on automatic deposits into the USDC Gateway wallet for the given vault account, on the schedule you choose. Returns an error if an automation already exists for this vault account and asset. Use PATCH to change it instead. **Note:** This endpoint is currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver.
+
+### Example
+
+```java
+// Import classes:
+import com.fireblocks.sdk.ApiClient;
+import com.fireblocks.sdk.ApiException;
+import com.fireblocks.sdk.ApiResponse;
+import com.fireblocks.sdk.BasePath;
+import com.fireblocks.sdk.Fireblocks;
+import com.fireblocks.sdk.ConfigurationOptions;
+import com.fireblocks.sdk.model.*;
+import com.fireblocks.sdk.api.VaultsApi;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+
+public class Example {
+ public static void main(String[] args) {
+ ConfigurationOptions configurationOptions = new ConfigurationOptions()
+ .basePath(BasePath.Sandbox)
+ .apiKey("my-api-key")
+ .secretKey("my-secret-key");
+ Fireblocks fireblocks = new Fireblocks(configurationOptions);
+
+ AutomationSettingsRequest automationSettingsRequest = new AutomationSettingsRequest(); // AutomationSettingsRequest |
+ String vaultAccountId = "vaultAccountId_example"; // String | The ID of the vault account
+ String idempotencyKey = "idempotencyKey_example"; // String | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
+ try {
+ CompletableFuture> response = fireblocks.vaults().setUsdcGatewayDepositAutomationBeta(automationSettingsRequest, vaultAccountId, idempotencyKey);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling VaultsApi#setUsdcGatewayDepositAutomationBeta");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling VaultsApi#setUsdcGatewayDepositAutomationBeta");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **automationSettingsRequest** | [**AutomationSettingsRequest**](AutomationSettingsRequest.md)| | |
+| **vaultAccountId** | **String**| The ID of the vault account | |
+| **idempotencyKey** | **String**| A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **201** | Deposit automation created | * X-Request-ID -
|
+| **0** | Error Response | * X-Request-ID -
|
+
+
## setVaultAccountAutoFuel
> CompletableFuture> setVaultAccountAutoFuel setVaultAccountAutoFuel(setAutoFuelRequest, vaultAccountId, idempotencyKey)
@@ -2736,6 +3006,95 @@ No authorization required
| **0** | Error Response | * X-Request-ID -
|
+## updateUsdcGatewayDepositAutomationBeta
+
+> CompletableFuture> updateUsdcGatewayDepositAutomationBeta updateUsdcGatewayDepositAutomationBeta(updateAutomationSettingsRequest, vaultAccountId, automationId, idempotencyKey)
+
+Change a USDC Gateway deposit automation
+
+Changes an existing USDC Gateway deposit automation for a vault account. **Note:** This endpoint is currently in beta and might be subject to changes. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver.
+
+### Example
+
+```java
+// Import classes:
+import com.fireblocks.sdk.ApiClient;
+import com.fireblocks.sdk.ApiException;
+import com.fireblocks.sdk.ApiResponse;
+import com.fireblocks.sdk.BasePath;
+import com.fireblocks.sdk.Fireblocks;
+import com.fireblocks.sdk.ConfigurationOptions;
+import com.fireblocks.sdk.model.*;
+import com.fireblocks.sdk.api.VaultsApi;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+
+public class Example {
+ public static void main(String[] args) {
+ ConfigurationOptions configurationOptions = new ConfigurationOptions()
+ .basePath(BasePath.Sandbox)
+ .apiKey("my-api-key")
+ .secretKey("my-secret-key");
+ Fireblocks fireblocks = new Fireblocks(configurationOptions);
+
+ UpdateAutomationSettingsRequest updateAutomationSettingsRequest = new UpdateAutomationSettingsRequest(); // UpdateAutomationSettingsRequest |
+ String vaultAccountId = "vaultAccountId_example"; // String | The ID of the vault account
+ UUID automationId = UUID.randomUUID(); // UUID | The ID of the deposit automation, returned when it was created or read
+ String idempotencyKey = "idempotencyKey_example"; // String | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
+ try {
+ CompletableFuture> response = fireblocks.vaults().updateUsdcGatewayDepositAutomationBeta(updateAutomationSettingsRequest, vaultAccountId, automationId, idempotencyKey);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling VaultsApi#updateUsdcGatewayDepositAutomationBeta");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling VaultsApi#updateUsdcGatewayDepositAutomationBeta");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **updateAutomationSettingsRequest** | [**UpdateAutomationSettingsRequest**](UpdateAutomationSettingsRequest.md)| | |
+| **vaultAccountId** | **String**| The ID of the vault account | |
+| **automationId** | **UUID**| The ID of the deposit automation, returned when it was created or read | |
+| **idempotencyKey** | **String**| A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Deposit automation updated | * X-Request-ID -
|
+| **0** | Error Response | * X-Request-ID -
|
+
+
## updateVaultAccount
> CompletableFuture> updateVaultAccount updateVaultAccount(updateVaultAccountRequest, vaultAccountId, idempotencyKey)
diff --git a/pom.xml b/pom.xml
index 46e1e136..5c58d835 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
fireblocks-sdk
jar
fireblocks-sdk
- 23.0.0
+ 0.0.0
https://github.com/fireblocks/java-sdk
The Fireblocks Official SDK is a comprehensive software development kit that enables seamless integration and interaction with the Fireblocks platform. Fireblocks is a cutting-edge blockchain infrastructure platform that provides secure and scalable solutions for managing digital assets and transactions.
This SDK empowers developers to build robust applications that can interact with the Fireblocks platform's features, including creating and managing vault accounts, initiating secure transactions, managing assets, and more. It abstracts complex interactions with the Fireblocks API, making it easier for developers to leverage the platform's capabilities while adhering to best practices in security and efficiency.
diff --git a/src/main/java/com/fireblocks/sdk/Configuration.java b/src/main/java/com/fireblocks/sdk/Configuration.java
index 01b35060..aa53bae8 100644
--- a/src/main/java/com/fireblocks/sdk/Configuration.java
+++ b/src/main/java/com/fireblocks/sdk/Configuration.java
@@ -21,7 +21,7 @@
value = "org.openapitools.codegen.languages.JavaClientCodegen",
comments = "Generator version: 7.14.0")
public class Configuration {
- public static final String VERSION = "23.0.0";
+ public static final String VERSION = "0.0.0";
private static final AtomicReference defaultApiClient = new AtomicReference<>();
private static volatile Supplier apiClientFactory = ApiClient::new;
diff --git a/src/main/java/com/fireblocks/sdk/Fireblocks.java b/src/main/java/com/fireblocks/sdk/Fireblocks.java
index da6fd37a..3931bbf9 100644
--- a/src/main/java/com/fireblocks/sdk/Fireblocks.java
+++ b/src/main/java/com/fireblocks/sdk/Fireblocks.java
@@ -38,6 +38,7 @@ public class Fireblocks {
private ApiUserApi apiUser;
private AuditLogsApi auditLogs;
+ private BlockchainLinkBetaApi blockchainLinkBeta;
private BlockchainsAssetsApi blockchainsAssets;
private ComplianceApi compliance;
private ComplianceScreeningConfigurationApi complianceScreeningConfiguration;
@@ -48,7 +49,7 @@ public class Fireblocks {
private ContractsApi contracts;
private CosignersBetaApi cosignersBeta;
private DeployedContractsApi deployedContracts;
- private EarnBetaApi earnBeta;
+ private EarnApi earn;
private EmbeddedWalletsApi embeddedWallets;
private ExchangeAccountsApi exchangeAccounts;
private ExternalWalletsApi externalWallets;
@@ -66,6 +67,7 @@ public class Fireblocks {
private PaymentsPayoutApi paymentsPayout;
private PolicyEditorBetaApi policyEditorBeta;
private PolicyEditorV2Api policyEditorV2;
+ private PolicyEditorV2BetaApi policyEditorV2Beta;
private ReportsBetaApi reportsBeta;
private ResetDeviceApi resetDevice;
private SmartTransferApi smartTransfer;
@@ -239,6 +241,13 @@ public AuditLogsApi auditLogs() {
return auditLogs;
}
+ public BlockchainLinkBetaApi blockchainLinkBeta() {
+ if (blockchainLinkBeta == null) {
+ blockchainLinkBeta = new BlockchainLinkBetaApi(apiClient);
+ }
+ return blockchainLinkBeta;
+ }
+
public BlockchainsAssetsApi blockchainsAssets() {
if (blockchainsAssets == null) {
blockchainsAssets = new BlockchainsAssetsApi(apiClient);
@@ -309,11 +318,11 @@ public DeployedContractsApi deployedContracts() {
return deployedContracts;
}
- public EarnBetaApi earnBeta() {
- if (earnBeta == null) {
- earnBeta = new EarnBetaApi(apiClient);
+ public EarnApi earn() {
+ if (earn == null) {
+ earn = new EarnApi(apiClient);
}
- return earnBeta;
+ return earn;
}
public EmbeddedWalletsApi embeddedWallets() {
@@ -435,6 +444,13 @@ public PolicyEditorV2Api policyEditorV2() {
return policyEditorV2;
}
+ public PolicyEditorV2BetaApi policyEditorV2Beta() {
+ if (policyEditorV2Beta == null) {
+ policyEditorV2Beta = new PolicyEditorV2BetaApi(apiClient);
+ }
+ return policyEditorV2Beta;
+ }
+
public ReportsBetaApi reportsBeta() {
if (reportsBeta == null) {
reportsBeta = new ReportsBetaApi(apiClient);
diff --git a/src/main/java/com/fireblocks/sdk/api/BlockchainLinkBetaApi.java b/src/main/java/com/fireblocks/sdk/api/BlockchainLinkBetaApi.java
new file mode 100644
index 00000000..819ac2a0
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/api/BlockchainLinkBetaApi.java
@@ -0,0 +1,824 @@
+/*
+ * Fireblocks API
+ * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: developers@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.api;
+
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fireblocks.sdk.ApiClient;
+import com.fireblocks.sdk.ApiException;
+import com.fireblocks.sdk.ApiResponse;
+import com.fireblocks.sdk.Pair;
+import com.fireblocks.sdk.ValidationUtils;
+import com.fireblocks.sdk.model.ActivateBlockchainResponse;
+import com.fireblocks.sdk.model.BlockchainDeclaredProperties;
+import com.fireblocks.sdk.model.BlockchainEnvironment;
+import com.fireblocks.sdk.model.BlockchainSortField;
+import com.fireblocks.sdk.model.BlockchainStateFilter;
+import com.fireblocks.sdk.model.CreateBlockchainRequest;
+import com.fireblocks.sdk.model.CreateBlockchainResponse;
+import com.fireblocks.sdk.model.GetBillingInfoResponse;
+import com.fireblocks.sdk.model.GetBlockchainByIdResponse;
+import com.fireblocks.sdk.model.GetTestWalletAddressResponse;
+import com.fireblocks.sdk.model.ListBlockchainsResponse2;
+import com.fireblocks.sdk.model.TriggerValidationFlowResponse;
+import com.fireblocks.sdk.model.UpdateBlockchainResponse;
+import java.io.IOException;
+import java.io.InputStream;
+import java.math.BigDecimal;
+import java.net.URI;
+import java.net.http.HttpClient;
+import java.net.http.HttpRequest;
+import java.net.http.HttpResponse;
+import java.time.Duration;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.StringJoiner;
+import java.util.UUID;
+import java.util.concurrent.CompletableFuture;
+import java.util.function.Consumer;
+
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class BlockchainLinkBetaApi {
+ private final HttpClient memberVarHttpClient;
+ private final ObjectMapper memberVarObjectMapper;
+ private final String memberVarBaseUri;
+ private final Consumer memberVarInterceptor;
+ private final Duration memberVarReadTimeout;
+ private final Consumer> memberVarResponseInterceptor;
+ private final Consumer> memberVarAsyncResponseInterceptor;
+
+ public BlockchainLinkBetaApi() {
+ this(new ApiClient());
+ }
+
+ public BlockchainLinkBetaApi(ApiClient apiClient) {
+ memberVarHttpClient = apiClient.getHttpClient();
+ memberVarObjectMapper = apiClient.getObjectMapper();
+ memberVarBaseUri = apiClient.getBaseUri();
+ memberVarInterceptor = apiClient.getRequestInterceptor();
+ memberVarReadTimeout = apiClient.getReadTimeout();
+ memberVarResponseInterceptor = apiClient.getResponseInterceptor();
+ memberVarAsyncResponseInterceptor = apiClient.getAsyncResponseInterceptor();
+ }
+
+ private ApiException getApiException(String operationId, HttpResponse response) {
+ String message =
+ formatExceptionMessage(operationId, response.statusCode(), response.body());
+ return new ApiException(
+ response.statusCode(), message, response.headers(), response.body());
+ }
+
+ private String formatExceptionMessage(String operationId, int statusCode, String body) {
+ if (body == null || body.isEmpty()) {
+ body = "[no body]";
+ }
+ return operationId + " call failed with: " + statusCode + " - " + body;
+ }
+
+ /**
+ * Activate a blockchain (triggers activation workflow) Starts the asynchronous activation
+ * workflow for the blockchain identified by its ID, transitioning it towards the ACTIVATED
+ * state.
+ *
+ * @param blockchainId Required blockchain ID to activate (required)
+ * @param idempotencyKey A unique identifier for the request. If the request is sent multiple
+ * times with the same idempotency key, the server will return the same response as the
+ * first request. The idempotency key is valid for 24 hours. (optional)
+ * @return CompletableFuture<ApiResponse<ActivateBlockchainResponse>>
+ * @throws ApiException if fails to make API call
+ */
+ public CompletableFuture> activateBlockchainLinkChain(
+ String blockchainId, String idempotencyKey) throws ApiException {
+ try {
+ HttpRequest.Builder localVarRequestBuilder =
+ activateBlockchainLinkChainRequestBuilder(blockchainId, idempotencyKey);
+ return memberVarHttpClient
+ .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString())
+ .thenComposeAsync(
+ localVarResponse -> {
+ if (memberVarAsyncResponseInterceptor != null) {
+ memberVarAsyncResponseInterceptor.accept(localVarResponse);
+ }
+ if (localVarResponse.statusCode() / 100 != 2) {
+ return CompletableFuture.failedFuture(
+ getApiException(
+ "activateBlockchainLinkChain",
+ localVarResponse));
+ }
+ try {
+ String responseBody = localVarResponse.body();
+ return CompletableFuture.completedFuture(
+ new ApiResponse(
+ localVarResponse.statusCode(),
+ localVarResponse.headers().map(),
+ responseBody == null || responseBody.isBlank()
+ ? null
+ : memberVarObjectMapper.readValue(
+ responseBody,
+ new TypeReference<
+ ActivateBlockchainResponse>() {})));
+ } catch (IOException e) {
+ return CompletableFuture.failedFuture(new ApiException(e));
+ }
+ });
+ } catch (ApiException e) {
+ return CompletableFuture.failedFuture(e);
+ }
+ }
+
+ private HttpRequest.Builder activateBlockchainLinkChainRequestBuilder(
+ String blockchainId, String idempotencyKey) throws ApiException {
+ ValidationUtils.assertParamExistsAndNotEmpty(
+ "activateBlockchainLinkChain", "blockchainId", blockchainId);
+
+ HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();
+
+ String localVarPath =
+ "/blockchain_link/blockchains/{blockchainId}/activate"
+ .replace("{blockchainId}", ApiClient.urlEncode(blockchainId.toString()));
+
+ localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));
+
+ if (idempotencyKey != null) {
+ localVarRequestBuilder.header("Idempotency-Key", idempotencyKey.toString());
+ }
+ localVarRequestBuilder.header("Accept", "application/json");
+
+ localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody());
+ if (memberVarReadTimeout != null) {
+ localVarRequestBuilder.timeout(memberVarReadTimeout);
+ }
+ if (memberVarInterceptor != null) {
+ memberVarInterceptor.accept(localVarRequestBuilder);
+ }
+ return localVarRequestBuilder;
+ }
+ /**
+ * Create a new blockchain Registers a new tenant-managed blockchain from the supplied declared
+ * properties. The blockchain starts in the CREATED state and must be activated separately
+ * before it can be used.
+ *
+ * @param createBlockchainRequest (required)
+ * @param idempotencyKey A unique identifier for the request. If the request is sent multiple
+ * times with the same idempotency key, the server will return the same response as the
+ * first request. The idempotency key is valid for 24 hours. (optional)
+ * @return CompletableFuture<ApiResponse<CreateBlockchainResponse>>
+ * @throws ApiException if fails to make API call
+ */
+ public CompletableFuture> createBlockchainLinkChain(
+ CreateBlockchainRequest createBlockchainRequest, String idempotencyKey)
+ throws ApiException {
+ try {
+ HttpRequest.Builder localVarRequestBuilder =
+ createBlockchainLinkChainRequestBuilder(
+ createBlockchainRequest, idempotencyKey);
+ return memberVarHttpClient
+ .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString())
+ .thenComposeAsync(
+ localVarResponse -> {
+ if (memberVarAsyncResponseInterceptor != null) {
+ memberVarAsyncResponseInterceptor.accept(localVarResponse);
+ }
+ if (localVarResponse.statusCode() / 100 != 2) {
+ return CompletableFuture.failedFuture(
+ getApiException(
+ "createBlockchainLinkChain", localVarResponse));
+ }
+ try {
+ String responseBody = localVarResponse.body();
+ return CompletableFuture.completedFuture(
+ new ApiResponse(
+ localVarResponse.statusCode(),
+ localVarResponse.headers().map(),
+ responseBody == null || responseBody.isBlank()
+ ? null
+ : memberVarObjectMapper.readValue(
+ responseBody,
+ new TypeReference<
+ CreateBlockchainResponse>() {})));
+ } catch (IOException e) {
+ return CompletableFuture.failedFuture(new ApiException(e));
+ }
+ });
+ } catch (ApiException e) {
+ return CompletableFuture.failedFuture(e);
+ }
+ }
+
+ private HttpRequest.Builder createBlockchainLinkChainRequestBuilder(
+ CreateBlockchainRequest createBlockchainRequest, String idempotencyKey)
+ throws ApiException {
+ ValidationUtils.assertParamExists(
+ "createBlockchainLinkChain", "createBlockchainRequest", createBlockchainRequest);
+
+ HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();
+
+ String localVarPath = "/blockchain_link/blockchains";
+
+ localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));
+
+ if (idempotencyKey != null) {
+ localVarRequestBuilder.header("Idempotency-Key", idempotencyKey.toString());
+ }
+ localVarRequestBuilder.header("Content-Type", "application/json");
+ localVarRequestBuilder.header("Accept", "application/json");
+
+ try {
+ byte[] localVarPostBody =
+ memberVarObjectMapper.writeValueAsBytes(createBlockchainRequest);
+ localVarRequestBuilder.method(
+ "POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody));
+ } catch (IOException e) {
+ throw new ApiException(e);
+ }
+ if (memberVarReadTimeout != null) {
+ localVarRequestBuilder.timeout(memberVarReadTimeout);
+ }
+ if (memberVarInterceptor != null) {
+ memberVarInterceptor.accept(localVarRequestBuilder);
+ }
+ return localVarRequestBuilder;
+ }
+ /**
+ * Delete a blockchain Permanently removes a blockchain identified by its ID. The blockchain
+ * must not be in an active lifecycle state.
+ *
+ * @param blockchainId tenant_id is extracted from JWT token context (required)
+ * @return CompletableFuture<ApiResponse<Void>>
+ * @throws ApiException if fails to make API call
+ */
+ public CompletableFuture> deleteBlockchainLinkChain(String blockchainId)
+ throws ApiException {
+ try {
+ HttpRequest.Builder localVarRequestBuilder =
+ deleteBlockchainLinkChainRequestBuilder(blockchainId);
+ return memberVarHttpClient
+ .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString())
+ .thenComposeAsync(
+ localVarResponse -> {
+ if (memberVarAsyncResponseInterceptor != null) {
+ memberVarAsyncResponseInterceptor.accept(localVarResponse);
+ }
+ if (localVarResponse.statusCode() / 100 != 2) {
+ return CompletableFuture.failedFuture(
+ getApiException(
+ "deleteBlockchainLinkChain", localVarResponse));
+ }
+ return CompletableFuture.completedFuture(
+ new ApiResponse(
+ localVarResponse.statusCode(),
+ localVarResponse.headers().map(),
+ null));
+ });
+ } catch (ApiException e) {
+ return CompletableFuture.failedFuture(e);
+ }
+ }
+
+ private HttpRequest.Builder deleteBlockchainLinkChainRequestBuilder(String blockchainId)
+ throws ApiException {
+ ValidationUtils.assertParamExistsAndNotEmpty(
+ "deleteBlockchainLinkChain", "blockchainId", blockchainId);
+
+ HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();
+
+ String localVarPath =
+ "/blockchain_link/blockchains/{blockchainId}"
+ .replace("{blockchainId}", ApiClient.urlEncode(blockchainId.toString()));
+
+ localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));
+
+ localVarRequestBuilder.header("Accept", "application/json");
+
+ localVarRequestBuilder.method("DELETE", HttpRequest.BodyPublishers.noBody());
+ if (memberVarReadTimeout != null) {
+ localVarRequestBuilder.timeout(memberVarReadTimeout);
+ }
+ if (memberVarInterceptor != null) {
+ memberVarInterceptor.accept(localVarRequestBuilder);
+ }
+ return localVarRequestBuilder;
+ }
+ /**
+ * Get tenant billing info Returns the tenant's blockchain activation limit and current
+ * usage. tenant_id is derived from the JWT token context.
+ *
+ * @return CompletableFuture<ApiResponse<GetBillingInfoResponse>>
+ * @throws ApiException if fails to make API call
+ */
+ public CompletableFuture> getBlockchainLinkBillingInfo()
+ throws ApiException {
+ try {
+ HttpRequest.Builder localVarRequestBuilder =
+ getBlockchainLinkBillingInfoRequestBuilder();
+ return memberVarHttpClient
+ .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString())
+ .thenComposeAsync(
+ localVarResponse -> {
+ if (memberVarAsyncResponseInterceptor != null) {
+ memberVarAsyncResponseInterceptor.accept(localVarResponse);
+ }
+ if (localVarResponse.statusCode() / 100 != 2) {
+ return CompletableFuture.failedFuture(
+ getApiException(
+ "getBlockchainLinkBillingInfo",
+ localVarResponse));
+ }
+ try {
+ String responseBody = localVarResponse.body();
+ return CompletableFuture.completedFuture(
+ new ApiResponse(
+ localVarResponse.statusCode(),
+ localVarResponse.headers().map(),
+ responseBody == null || responseBody.isBlank()
+ ? null
+ : memberVarObjectMapper.readValue(
+ responseBody,
+ new TypeReference<
+ GetBillingInfoResponse>() {})));
+ } catch (IOException e) {
+ return CompletableFuture.failedFuture(new ApiException(e));
+ }
+ });
+ } catch (ApiException e) {
+ return CompletableFuture.failedFuture(e);
+ }
+ }
+
+ private HttpRequest.Builder getBlockchainLinkBillingInfoRequestBuilder() throws ApiException {
+
+ HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();
+
+ String localVarPath = "/blockchain_link/blockchains/billing_info";
+
+ localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));
+
+ localVarRequestBuilder.header("Accept", "application/json");
+
+ localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody());
+ if (memberVarReadTimeout != null) {
+ localVarRequestBuilder.timeout(memberVarReadTimeout);
+ }
+ if (memberVarInterceptor != null) {
+ memberVarInterceptor.accept(localVarRequestBuilder);
+ }
+ return localVarRequestBuilder;
+ }
+ /**
+ * Get a blockchain by ID Returns a single blockchain owned by the tenant, identified by its ID.
+ *
+ * @param blockchainId ID of the blockchain to retrieve (supplied as a path parameter).
+ * (required)
+ * @return CompletableFuture<ApiResponse<GetBlockchainByIdResponse>>
+ * @throws ApiException if fails to make API call
+ */
+ public CompletableFuture> getBlockchainLinkChain(
+ String blockchainId) throws ApiException {
+ try {
+ HttpRequest.Builder localVarRequestBuilder =
+ getBlockchainLinkChainRequestBuilder(blockchainId);
+ return memberVarHttpClient
+ .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString())
+ .thenComposeAsync(
+ localVarResponse -> {
+ if (memberVarAsyncResponseInterceptor != null) {
+ memberVarAsyncResponseInterceptor.accept(localVarResponse);
+ }
+ if (localVarResponse.statusCode() / 100 != 2) {
+ return CompletableFuture.failedFuture(
+ getApiException(
+ "getBlockchainLinkChain", localVarResponse));
+ }
+ try {
+ String responseBody = localVarResponse.body();
+ return CompletableFuture.completedFuture(
+ new ApiResponse(
+ localVarResponse.statusCode(),
+ localVarResponse.headers().map(),
+ responseBody == null || responseBody.isBlank()
+ ? null
+ : memberVarObjectMapper.readValue(
+ responseBody,
+ new TypeReference<
+ GetBlockchainByIdResponse>() {})));
+ } catch (IOException e) {
+ return CompletableFuture.failedFuture(new ApiException(e));
+ }
+ });
+ } catch (ApiException e) {
+ return CompletableFuture.failedFuture(e);
+ }
+ }
+
+ private HttpRequest.Builder getBlockchainLinkChainRequestBuilder(String blockchainId)
+ throws ApiException {
+ ValidationUtils.assertParamExistsAndNotEmpty(
+ "getBlockchainLinkChain", "blockchainId", blockchainId);
+
+ HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();
+
+ String localVarPath =
+ "/blockchain_link/blockchains/{blockchainId}"
+ .replace("{blockchainId}", ApiClient.urlEncode(blockchainId.toString()));
+
+ localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));
+
+ localVarRequestBuilder.header("Accept", "application/json");
+
+ localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody());
+ if (memberVarReadTimeout != null) {
+ localVarRequestBuilder.timeout(memberVarReadTimeout);
+ }
+ if (memberVarInterceptor != null) {
+ memberVarInterceptor.accept(localVarRequestBuilder);
+ }
+ return localVarRequestBuilder;
+ }
+ /**
+ * Get the test wallet address Returns the Ethereum address derived from the configured external
+ * wallet private key, used by the UI for test transfers. tenant_id is derived from the JWT
+ * token context.
+ *
+ * @return CompletableFuture<ApiResponse<GetTestWalletAddressResponse>>
+ * @throws ApiException if fails to make API call
+ */
+ public CompletableFuture>
+ getBlockchainLinkTestWalletAddress() throws ApiException {
+ try {
+ HttpRequest.Builder localVarRequestBuilder =
+ getBlockchainLinkTestWalletAddressRequestBuilder();
+ return memberVarHttpClient
+ .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString())
+ .thenComposeAsync(
+ localVarResponse -> {
+ if (memberVarAsyncResponseInterceptor != null) {
+ memberVarAsyncResponseInterceptor.accept(localVarResponse);
+ }
+ if (localVarResponse.statusCode() / 100 != 2) {
+ return CompletableFuture.failedFuture(
+ getApiException(
+ "getBlockchainLinkTestWalletAddress",
+ localVarResponse));
+ }
+ try {
+ String responseBody = localVarResponse.body();
+ return CompletableFuture.completedFuture(
+ new ApiResponse(
+ localVarResponse.statusCode(),
+ localVarResponse.headers().map(),
+ responseBody == null || responseBody.isBlank()
+ ? null
+ : memberVarObjectMapper.readValue(
+ responseBody,
+ new TypeReference<
+ GetTestWalletAddressResponse>() {})));
+ } catch (IOException e) {
+ return CompletableFuture.failedFuture(new ApiException(e));
+ }
+ });
+ } catch (ApiException e) {
+ return CompletableFuture.failedFuture(e);
+ }
+ }
+
+ private HttpRequest.Builder getBlockchainLinkTestWalletAddressRequestBuilder()
+ throws ApiException {
+
+ HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();
+
+ String localVarPath = "/blockchain_link/blockchains/test_wallet_address";
+
+ localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));
+
+ localVarRequestBuilder.header("Accept", "application/json");
+
+ localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody());
+ if (memberVarReadTimeout != null) {
+ localVarRequestBuilder.timeout(memberVarReadTimeout);
+ }
+ if (memberVarInterceptor != null) {
+ memberVarInterceptor.accept(localVarRequestBuilder);
+ }
+ return localVarRequestBuilder;
+ }
+ /**
+ * List blockchains with pagination and filtering Returns the tenant's blockchains,
+ * paginated and filterable by state, network environment, and free-text search, with
+ * configurable sorting.
+ *
+ * @param pageCursor tenant_id is extracted from JWT token context. Opaque cursor for the
+ * requested page. Currently encodes the 1-based page number as a decimal string
+ * (\"1\", \"2\", ...); treat as opaque on the client. Absent =
+ * first page. (optional)
+ * @param pageSize Maximum number of items per page. Default 20, clamped to [1, 1000].
+ * (optional, default to 20)
+ * @param search Free-text search across chain and symbol name. (optional)
+ * @param status Include filter (repeated query params). (optional
+ * @param blockchainEnv Filter by network. (optional)
+ * @param sortBy Sort field. Default: createdAt. (optional)
+ * @param order Sort order. Default: DESC. (optional, default to DESC)
+ * @param statusExclude Exclude filter (repeated query params). (optional
+ * @return CompletableFuture<ApiResponse<ListBlockchainsResponse2>>
+ * @throws ApiException if fails to make API call
+ */
+ public CompletableFuture> listBlockchainLinkChains(
+ String pageCursor,
+ BigDecimal pageSize,
+ String search,
+ List status,
+ BlockchainEnvironment blockchainEnv,
+ BlockchainSortField sortBy,
+ String order,
+ List statusExclude)
+ throws ApiException {
+ try {
+ HttpRequest.Builder localVarRequestBuilder =
+ listBlockchainLinkChainsRequestBuilder(
+ pageCursor,
+ pageSize,
+ search,
+ status,
+ blockchainEnv,
+ sortBy,
+ order,
+ statusExclude);
+ return memberVarHttpClient
+ .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString())
+ .thenComposeAsync(
+ localVarResponse -> {
+ if (memberVarAsyncResponseInterceptor != null) {
+ memberVarAsyncResponseInterceptor.accept(localVarResponse);
+ }
+ if (localVarResponse.statusCode() / 100 != 2) {
+ return CompletableFuture.failedFuture(
+ getApiException(
+ "listBlockchainLinkChains", localVarResponse));
+ }
+ try {
+ String responseBody = localVarResponse.body();
+ return CompletableFuture.completedFuture(
+ new ApiResponse(
+ localVarResponse.statusCode(),
+ localVarResponse.headers().map(),
+ responseBody == null || responseBody.isBlank()
+ ? null
+ : memberVarObjectMapper.readValue(
+ responseBody,
+ new TypeReference<
+ ListBlockchainsResponse2>() {})));
+ } catch (IOException e) {
+ return CompletableFuture.failedFuture(new ApiException(e));
+ }
+ });
+ } catch (ApiException e) {
+ return CompletableFuture.failedFuture(e);
+ }
+ }
+
+ private HttpRequest.Builder listBlockchainLinkChainsRequestBuilder(
+ String pageCursor,
+ BigDecimal pageSize,
+ String search,
+ List status,
+ BlockchainEnvironment blockchainEnv,
+ BlockchainSortField sortBy,
+ String order,
+ List statusExclude)
+ throws ApiException {
+
+ HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();
+
+ String localVarPath = "/blockchain_link/blockchains";
+
+ List localVarQueryParams = new ArrayList<>();
+ StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
+ String localVarQueryParameterBaseName;
+ localVarQueryParameterBaseName = "pageCursor";
+ localVarQueryParams.addAll(ApiClient.parameterToPairs("pageCursor", pageCursor));
+ localVarQueryParameterBaseName = "pageSize";
+ localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize));
+ localVarQueryParameterBaseName = "search";
+ localVarQueryParams.addAll(ApiClient.parameterToPairs("search", search));
+ localVarQueryParameterBaseName = "status";
+ localVarQueryParams.addAll(ApiClient.parameterToPairs("multi", "status", status));
+ localVarQueryParameterBaseName = "blockchainEnv";
+ localVarQueryParams.addAll(ApiClient.parameterToPairs("blockchainEnv", blockchainEnv));
+ localVarQueryParameterBaseName = "sortBy";
+ localVarQueryParams.addAll(ApiClient.parameterToPairs("sortBy", sortBy));
+ localVarQueryParameterBaseName = "order";
+ localVarQueryParams.addAll(ApiClient.parameterToPairs("order", order));
+ localVarQueryParameterBaseName = "statusExclude";
+ localVarQueryParams.addAll(
+ ApiClient.parameterToPairs("multi", "statusExclude", statusExclude));
+
+ if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) {
+ StringJoiner queryJoiner = new StringJoiner("&");
+ localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue()));
+ if (localVarQueryStringJoiner.length() != 0) {
+ queryJoiner.add(localVarQueryStringJoiner.toString());
+ }
+ localVarRequestBuilder.uri(
+ URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString()));
+ } else {
+ localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));
+ }
+
+ localVarRequestBuilder.header("Accept", "application/json");
+
+ localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody());
+ if (memberVarReadTimeout != null) {
+ localVarRequestBuilder.timeout(memberVarReadTimeout);
+ }
+ if (memberVarInterceptor != null) {
+ memberVarInterceptor.accept(localVarRequestBuilder);
+ }
+ return localVarRequestBuilder;
+ }
+ /**
+ * Trigger validation workflow Starts the asynchronous validation workflow for a blockchain and
+ * its associated validation session.
+ *
+ * @param blockchainId ID of the blockchain to validate. (required)
+ * @param idempotencyKey A unique identifier for the request. If the request is sent multiple
+ * times with the same idempotency key, the server will return the same response as the
+ * first request. The idempotency key is valid for 24 hours. (optional)
+ * @return CompletableFuture<ApiResponse<TriggerValidationFlowResponse>>
+ * @throws ApiException if fails to make API call
+ */
+ public CompletableFuture>
+ triggerBlockchainLinkValidation(UUID blockchainId, String idempotencyKey)
+ throws ApiException {
+ try {
+ HttpRequest.Builder localVarRequestBuilder =
+ triggerBlockchainLinkValidationRequestBuilder(blockchainId, idempotencyKey);
+ return memberVarHttpClient
+ .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString())
+ .thenComposeAsync(
+ localVarResponse -> {
+ if (memberVarAsyncResponseInterceptor != null) {
+ memberVarAsyncResponseInterceptor.accept(localVarResponse);
+ }
+ if (localVarResponse.statusCode() / 100 != 2) {
+ return CompletableFuture.failedFuture(
+ getApiException(
+ "triggerBlockchainLinkValidation",
+ localVarResponse));
+ }
+ try {
+ String responseBody = localVarResponse.body();
+ return CompletableFuture.completedFuture(
+ new ApiResponse(
+ localVarResponse.statusCode(),
+ localVarResponse.headers().map(),
+ responseBody == null || responseBody.isBlank()
+ ? null
+ : memberVarObjectMapper.readValue(
+ responseBody,
+ new TypeReference<
+ TriggerValidationFlowResponse>() {})));
+ } catch (IOException e) {
+ return CompletableFuture.failedFuture(new ApiException(e));
+ }
+ });
+ } catch (ApiException e) {
+ return CompletableFuture.failedFuture(e);
+ }
+ }
+
+ private HttpRequest.Builder triggerBlockchainLinkValidationRequestBuilder(
+ UUID blockchainId, String idempotencyKey) throws ApiException {
+ ValidationUtils.assertParamExistsAndNotEmpty(
+ "triggerBlockchainLinkValidation", "blockchainId", blockchainId.toString());
+
+ HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();
+
+ String localVarPath =
+ "/blockchain_link/blockchains/{blockchainId}/validate"
+ .replace("{blockchainId}", ApiClient.urlEncode(blockchainId.toString()));
+
+ localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));
+
+ if (idempotencyKey != null) {
+ localVarRequestBuilder.header("Idempotency-Key", idempotencyKey.toString());
+ }
+ localVarRequestBuilder.header("Accept", "application/json");
+
+ localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody());
+ if (memberVarReadTimeout != null) {
+ localVarRequestBuilder.timeout(memberVarReadTimeout);
+ }
+ if (memberVarInterceptor != null) {
+ memberVarInterceptor.accept(localVarRequestBuilder);
+ }
+ return localVarRequestBuilder;
+ }
+ /**
+ * Update a blockchain Updates the declared properties of an existing blockchain identified by
+ * its ID. Only the fields supplied in the request are modified.
+ *
+ * @param blockchainDeclaredProperties (required)
+ * @param blockchainId ID of the blockchain to update (supplied as a path parameter). (required)
+ * @param idempotencyKey A unique identifier for the request. If the request is sent multiple
+ * times with the same idempotency key, the server will return the same response as the
+ * first request. The idempotency key is valid for 24 hours. (optional)
+ * @return CompletableFuture<ApiResponse<UpdateBlockchainResponse>>
+ * @throws ApiException if fails to make API call
+ */
+ public CompletableFuture> updateBlockchainLinkChain(
+ BlockchainDeclaredProperties blockchainDeclaredProperties,
+ String blockchainId,
+ String idempotencyKey)
+ throws ApiException {
+ try {
+ HttpRequest.Builder localVarRequestBuilder =
+ updateBlockchainLinkChainRequestBuilder(
+ blockchainDeclaredProperties, blockchainId, idempotencyKey);
+ return memberVarHttpClient
+ .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString())
+ .thenComposeAsync(
+ localVarResponse -> {
+ if (memberVarAsyncResponseInterceptor != null) {
+ memberVarAsyncResponseInterceptor.accept(localVarResponse);
+ }
+ if (localVarResponse.statusCode() / 100 != 2) {
+ return CompletableFuture.failedFuture(
+ getApiException(
+ "updateBlockchainLinkChain", localVarResponse));
+ }
+ try {
+ String responseBody = localVarResponse.body();
+ return CompletableFuture.completedFuture(
+ new ApiResponse(
+ localVarResponse.statusCode(),
+ localVarResponse.headers().map(),
+ responseBody == null || responseBody.isBlank()
+ ? null
+ : memberVarObjectMapper.readValue(
+ responseBody,
+ new TypeReference<
+ UpdateBlockchainResponse>() {})));
+ } catch (IOException e) {
+ return CompletableFuture.failedFuture(new ApiException(e));
+ }
+ });
+ } catch (ApiException e) {
+ return CompletableFuture.failedFuture(e);
+ }
+ }
+
+ private HttpRequest.Builder updateBlockchainLinkChainRequestBuilder(
+ BlockchainDeclaredProperties blockchainDeclaredProperties,
+ String blockchainId,
+ String idempotencyKey)
+ throws ApiException {
+ ValidationUtils.assertParamExists(
+ "updateBlockchainLinkChain",
+ "blockchainDeclaredProperties",
+ blockchainDeclaredProperties);
+ ValidationUtils.assertParamExistsAndNotEmpty(
+ "updateBlockchainLinkChain", "blockchainId", blockchainId);
+
+ HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();
+
+ String localVarPath =
+ "/blockchain_link/blockchains/{blockchainId}"
+ .replace("{blockchainId}", ApiClient.urlEncode(blockchainId.toString()));
+
+ localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));
+
+ if (idempotencyKey != null) {
+ localVarRequestBuilder.header("Idempotency-Key", idempotencyKey.toString());
+ }
+ localVarRequestBuilder.header("Content-Type", "application/json");
+ localVarRequestBuilder.header("Accept", "application/json");
+
+ try {
+ byte[] localVarPostBody =
+ memberVarObjectMapper.writeValueAsBytes(blockchainDeclaredProperties);
+ localVarRequestBuilder.method(
+ "PUT", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody));
+ } catch (IOException e) {
+ throw new ApiException(e);
+ }
+ if (memberVarReadTimeout != null) {
+ localVarRequestBuilder.timeout(memberVarReadTimeout);
+ }
+ if (memberVarInterceptor != null) {
+ memberVarInterceptor.accept(localVarRequestBuilder);
+ }
+ return localVarRequestBuilder;
+ }
+}
diff --git a/src/main/java/com/fireblocks/sdk/api/ComplianceApi.java b/src/main/java/com/fireblocks/sdk/api/ComplianceApi.java
index 15da6909..3ed43f73 100644
--- a/src/main/java/com/fireblocks/sdk/api/ComplianceApi.java
+++ b/src/main/java/com/fireblocks/sdk/api/ComplianceApi.java
@@ -48,6 +48,8 @@
import com.fireblocks.sdk.model.ListLegalEntitiesResponse;
import com.fireblocks.sdk.model.ListVaultsForRegistrationResponse;
import com.fireblocks.sdk.model.RegisterLegalEntityRequest;
+import com.fireblocks.sdk.model.RescreenTransactionRequest;
+import com.fireblocks.sdk.model.RescreenTransactionResponse;
import com.fireblocks.sdk.model.ScreeningConfigurationsRequest;
import com.fireblocks.sdk.model.ScreeningPolicyResponse;
import com.fireblocks.sdk.model.ScreeningProviderRulesConfigurationResponse;
@@ -2344,6 +2346,100 @@ private HttpRequest.Builder removeAllAddressRegistryVaultOptOutsRequestBuilder()
}
return localVarRequestBuilder;
}
+ /**
+ * Rescreen a rejected transaction Re-runs compliance screening on an incoming transaction that
+ * was rejected or failed by screening checks, moving it back to pending screening. This
+ * endpoint is only applicable to incoming transactions with a rejected/failed AML screening
+ * status.
+ *
+ * @param txId The transaction id that was rejected by screening checks (required)
+ * @param rescreenTransactionRequest (optional)
+ * @param idempotencyKey A unique identifier for the request. If the request is sent multiple
+ * times with the same idempotency key, the server will return the same response as the
+ * first request. The idempotency key is valid for 24 hours. (optional)
+ * @return CompletableFuture<ApiResponse<RescreenTransactionResponse>>
+ * @throws ApiException if fails to make API call
+ */
+ public CompletableFuture> rescreenRejectedTransaction(
+ String txId,
+ RescreenTransactionRequest rescreenTransactionRequest,
+ String idempotencyKey)
+ throws ApiException {
+ try {
+ HttpRequest.Builder localVarRequestBuilder =
+ rescreenRejectedTransactionRequestBuilder(
+ txId, rescreenTransactionRequest, idempotencyKey);
+ return memberVarHttpClient
+ .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString())
+ .thenComposeAsync(
+ localVarResponse -> {
+ if (memberVarAsyncResponseInterceptor != null) {
+ memberVarAsyncResponseInterceptor.accept(localVarResponse);
+ }
+ if (localVarResponse.statusCode() / 100 != 2) {
+ return CompletableFuture.failedFuture(
+ getApiException(
+ "rescreenRejectedTransaction",
+ localVarResponse));
+ }
+ try {
+ String responseBody = localVarResponse.body();
+ return CompletableFuture.completedFuture(
+ new ApiResponse(
+ localVarResponse.statusCode(),
+ localVarResponse.headers().map(),
+ responseBody == null || responseBody.isBlank()
+ ? null
+ : memberVarObjectMapper.readValue(
+ responseBody,
+ new TypeReference<
+ RescreenTransactionResponse>() {})));
+ } catch (IOException e) {
+ return CompletableFuture.failedFuture(new ApiException(e));
+ }
+ });
+ } catch (ApiException e) {
+ return CompletableFuture.failedFuture(e);
+ }
+ }
+
+ private HttpRequest.Builder rescreenRejectedTransactionRequestBuilder(
+ String txId,
+ RescreenTransactionRequest rescreenTransactionRequest,
+ String idempotencyKey)
+ throws ApiException {
+ ValidationUtils.assertParamExistsAndNotEmpty("rescreenRejectedTransaction", "txId", txId);
+
+ HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();
+
+ String localVarPath =
+ "/screening/transaction/{txId}/rescreen"
+ .replace("{txId}", ApiClient.urlEncode(txId.toString()));
+
+ localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));
+
+ if (idempotencyKey != null) {
+ localVarRequestBuilder.header("Idempotency-Key", idempotencyKey.toString());
+ }
+ localVarRequestBuilder.header("Content-Type", "application/json");
+ localVarRequestBuilder.header("Accept", "application/json");
+
+ try {
+ byte[] localVarPostBody =
+ memberVarObjectMapper.writeValueAsBytes(rescreenTransactionRequest);
+ localVarRequestBuilder.method(
+ "POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody));
+ } catch (IOException e) {
+ throw new ApiException(e);
+ }
+ if (memberVarReadTimeout != null) {
+ localVarRequestBuilder.timeout(memberVarReadTimeout);
+ }
+ if (memberVarInterceptor != null) {
+ memberVarInterceptor.accept(localVarRequestBuilder);
+ }
+ return localVarRequestBuilder;
+ }
/**
* Bypass Screening Policy Triggers a new transaction, with the API user as the initiator,
* bypassing the screening policy checks. This endpoint is restricted to Admin API users and is
diff --git a/src/main/java/com/fireblocks/sdk/api/ConnectedAccountsBetaApi.java b/src/main/java/com/fireblocks/sdk/api/ConnectedAccountsBetaApi.java
index 23e6e797..b59bb90f 100644
--- a/src/main/java/com/fireblocks/sdk/api/ConnectedAccountsBetaApi.java
+++ b/src/main/java/com/fireblocks/sdk/api/ConnectedAccountsBetaApi.java
@@ -30,6 +30,7 @@
import com.fireblocks.sdk.model.ConnectedAccountTradingPairsResponse;
import com.fireblocks.sdk.model.ConnectedAccountsResponse;
import com.fireblocks.sdk.model.ConnectedSingleAccountResponse;
+import com.fireblocks.sdk.model.GetConnectedAccountsCredentialsPublicKeyResponse;
import com.fireblocks.sdk.model.RenameConnectedAccountRequest;
import com.fireblocks.sdk.model.RenameConnectedAccountResponse;
import java.io.IOException;
@@ -88,7 +89,7 @@ private String formatExceptionMessage(String operationId, int statusCode, String
/**
* Add a connected account Creates a new connected account for the authenticated tenant. The
* `creds` field must be a Base64-encoded RSA-encrypted credential blob. Use `GET
- * /exchange_accounts/credentials_public_key` to retrieve the public key for encryption.
+ * /connected_accounts/credentials/public_key` to retrieve the public key for encryption.
* The `providerType` is derived server-side from the `providerId` — callers
* do not supply it. Endpoint Permission: Editor, Admin, Non-Signing Admin. **Note:** This
* endpoint is currently in beta and might be subject to changes.
@@ -319,7 +320,6 @@ private HttpRequest.Builder getConnectedAccountRequestBuilder(String accountId)
* @param address Filter by specific address (optional)
* @param pageCursor Pagination cursor for next page (optional)
* @param pageSize Maximum number of entries to return (optional)
- * @param sortBy Field to sort results by. (optional, default to addedAt)
* @param order Sort order (ASC or DESC). (optional, default to DESC)
* @return CompletableFuture<ApiResponse<AllowlistResponse>>
* @throws ApiException if fails to make API call
@@ -332,7 +332,6 @@ public CompletableFuture> getConnectedAccountAllo
String address,
String pageCursor,
Integer pageSize,
- String sortBy,
String order)
throws ApiException {
try {
@@ -345,7 +344,6 @@ public CompletableFuture> getConnectedAccountAllo
address,
pageCursor,
pageSize,
- sortBy,
order);
return memberVarHttpClient
.sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString())
@@ -389,7 +387,6 @@ private HttpRequest.Builder getConnectedAccountAllowlistRequestBuilder(
String address,
String pageCursor,
Integer pageSize,
- String sortBy,
String order)
throws ApiException {
ValidationUtils.assertParamExistsAndNotEmpty(
@@ -416,8 +413,6 @@ private HttpRequest.Builder getConnectedAccountAllowlistRequestBuilder(
localVarQueryParams.addAll(ApiClient.parameterToPairs("pageCursor", pageCursor));
localVarQueryParameterBaseName = "pageSize";
localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize));
- localVarQueryParameterBaseName = "sortBy";
- localVarQueryParams.addAll(ApiClient.parameterToPairs("sortBy", sortBy));
localVarQueryParameterBaseName = "order";
localVarQueryParams.addAll(ApiClient.parameterToPairs("order", order));
@@ -892,6 +887,77 @@ private HttpRequest.Builder getConnectedAccountsRequestBuilder(
}
return localVarRequestBuilder;
}
+ /**
+ * Get public key to encrypt connected account credentials Returns the RSA public key used to
+ * encrypt the `creds` field before calling `POST /connected_accounts`. The
+ * key is a singleton resource scoped to the connected-accounts credentials domain — there is
+ * one per tenant context. **Note:** This endpoint is currently in beta and might be subject to
+ * changes.
+ *
+ * @return
+ * CompletableFuture<ApiResponse<GetConnectedAccountsCredentialsPublicKeyResponse>>
+ * @throws ApiException if fails to make API call
+ */
+ public CompletableFuture>
+ getConnectedAccountsCredentialsPublicKey() throws ApiException {
+ try {
+ HttpRequest.Builder localVarRequestBuilder =
+ getConnectedAccountsCredentialsPublicKeyRequestBuilder();
+ return memberVarHttpClient
+ .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString())
+ .thenComposeAsync(
+ localVarResponse -> {
+ if (memberVarAsyncResponseInterceptor != null) {
+ memberVarAsyncResponseInterceptor.accept(localVarResponse);
+ }
+ if (localVarResponse.statusCode() / 100 != 2) {
+ return CompletableFuture.failedFuture(
+ getApiException(
+ "getConnectedAccountsCredentialsPublicKey",
+ localVarResponse));
+ }
+ try {
+ String responseBody = localVarResponse.body();
+ return CompletableFuture.completedFuture(
+ new ApiResponse<
+ GetConnectedAccountsCredentialsPublicKeyResponse>(
+ localVarResponse.statusCode(),
+ localVarResponse.headers().map(),
+ responseBody == null || responseBody.isBlank()
+ ? null
+ : memberVarObjectMapper.readValue(
+ responseBody,
+ new TypeReference<
+ GetConnectedAccountsCredentialsPublicKeyResponse>() {})));
+ } catch (IOException e) {
+ return CompletableFuture.failedFuture(new ApiException(e));
+ }
+ });
+ } catch (ApiException e) {
+ return CompletableFuture.failedFuture(e);
+ }
+ }
+
+ private HttpRequest.Builder getConnectedAccountsCredentialsPublicKeyRequestBuilder()
+ throws ApiException {
+
+ HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();
+
+ String localVarPath = "/connected_accounts/credentials/public_key";
+
+ localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));
+
+ localVarRequestBuilder.header("Accept", "application/json");
+
+ localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody());
+ if (memberVarReadTimeout != null) {
+ localVarRequestBuilder.timeout(memberVarReadTimeout);
+ }
+ if (memberVarInterceptor != null) {
+ memberVarInterceptor.accept(localVarRequestBuilder);
+ }
+ return localVarRequestBuilder;
+ }
/**
* Rename Connected Account Rename a connected account by account ID. **Note:** This endpoint is
* currently in beta and might be subject to changes.
diff --git a/src/main/java/com/fireblocks/sdk/api/EarnBetaApi.java b/src/main/java/com/fireblocks/sdk/api/EarnApi.java
similarity index 97%
rename from src/main/java/com/fireblocks/sdk/api/EarnBetaApi.java
rename to src/main/java/com/fireblocks/sdk/api/EarnApi.java
index 41b88ad5..e7a57f0d 100644
--- a/src/main/java/com/fireblocks/sdk/api/EarnBetaApi.java
+++ b/src/main/java/com/fireblocks/sdk/api/EarnApi.java
@@ -43,7 +43,7 @@
@jakarta.annotation.Generated(
value = "org.openapitools.codegen.languages.JavaClientCodegen",
comments = "Generator version: 7.14.0")
-public class EarnBetaApi {
+public class EarnApi {
private final HttpClient memberVarHttpClient;
private final ObjectMapper memberVarObjectMapper;
private final String memberVarBaseUri;
@@ -52,11 +52,11 @@ public class EarnBetaApi {
private final Consumer> memberVarResponseInterceptor;
private final Consumer> memberVarAsyncResponseInterceptor;
- public EarnBetaApi() {
+ public EarnApi() {
this(new ApiClient());
}
- public EarnBetaApi(ApiClient apiClient) {
+ public EarnApi(ApiClient apiClient) {
memberVarHttpClient = apiClient.getHttpClient();
memberVarObjectMapper = apiClient.getObjectMapper();
memberVarBaseUri = apiClient.getBaseUri();
@@ -85,8 +85,7 @@ private String formatExceptionMessage(String operationId, int statusCode, String
* workspace (one-time per tenant). When `isTermsApprovalRequired` is true on a
* provider (see list providers), call this once before creating or executing earn actions with
* providers that require it. After success, `GET /earn/providers` reflects
- * `isTermsOfServiceApproved`. **Note:** This endpoint is currently in beta and might
- * be subject to changes.
+ * `isTermsOfServiceApproved`.
*
* @param idempotencyKey A unique identifier for the request. If the request is sent multiple
* times with the same idempotency key, the server will return the same response as the
@@ -149,8 +148,7 @@ private HttpRequest.Builder approveTermsOfServiceRequestBuilder(String idempoten
* Create and execute a lending action (deposit or withdraw) Creates and runs a sequence of
* on-chain steps for either a deposit into or a withdrawal from an earn vault/market. Specify
* the operation with `action` in the request body (`DEPOSIT` or
- * `WITHDRAW`). **Note:** This endpoint is currently in beta and might be subject to
- * changes.
+ * `WITHDRAW`).
*
* @param createEarnActionRequest (required)
* @param idempotencyKey A unique identifier for the request. If the request is sent multiple
@@ -233,8 +231,7 @@ private HttpRequest.Builder createEarnActionRequestBuilder(
}
/**
* Get a single earn lending action Returns one lending action by its action sequence id
- * (tenant-scoped). **Note:** This endpoint is currently in beta and might be subject to
- * changes.
+ * (tenant-scoped).
*
* @param id Action sequence id (UUID). (required)
* @return CompletableFuture<ApiResponse<GetActionResponse>>
@@ -299,8 +296,7 @@ private HttpRequest.Builder getEarnActionRequestBuilder(String id) throws ApiExc
}
/**
* List earn lending actions Returns a paginated list of lending actions (deposits and
- * withdrawals) for the authenticated tenant. **Note:** This endpoint is currently in beta and
- * might be subject to changes.
+ * withdrawals) for the authenticated tenant.
*
* @param pageCursor Cursor for the next or previous page of results. (optional)
* @param pageSize Number of items per page (default 100, max 100). (optional, default to 100)
@@ -389,8 +385,7 @@ private HttpRequest.Builder getEarnActionsRequestBuilder(
return localVarRequestBuilder;
}
/**
- * Get list of earn opportunities Get list of earn opportunities (vaults). **Note:** This
- * endpoint is currently in beta and might be subject to changes.
+ * Get list of earn opportunities Get list of earn opportunities (vaults).
*
* @param pageCursor Cursor for the next or previous page of results. (optional)
* @param pageSize Number of items per page. (optional, default to 100)
@@ -481,8 +476,7 @@ private HttpRequest.Builder getEarnOpportunitiesRequestBuilder(
}
/**
* Get list of earn positions Get list of earn positions for accounts tracked for this
- * workspace. Optional query parameters filter by chain, provider, and pagination. **Note:**
- * This endpoint is currently in beta and might be subject to changes.
+ * workspace. Optional query parameters filter by chain, provider, and pagination.
*
* @param chainId (optional)
* @param providerId (optional)
@@ -590,8 +584,7 @@ private HttpRequest.Builder getEarnPositionsRequestBuilder(
return localVarRequestBuilder;
}
/**
- * Get list of earn providers Get list of earn providers. **Note:** This endpoint is currently
- * in beta and might be subject to changes.
+ * Get list of earn providers Get list of earn providers.
*
* @param pageCursor Cursor for the next or previous page of results. (optional)
* @param pageSize Number of items per page. (optional, default to 100)
diff --git a/src/main/java/com/fireblocks/sdk/api/PolicyEditorV2BetaApi.java b/src/main/java/com/fireblocks/sdk/api/PolicyEditorV2BetaApi.java
new file mode 100644
index 00000000..eefee87b
--- /dev/null
+++ b/src/main/java/com/fireblocks/sdk/api/PolicyEditorV2BetaApi.java
@@ -0,0 +1,158 @@
+/*
+ * Fireblocks API
+ * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
+ *
+ * The version of the OpenAPI document: 1.6.2
+ * Contact: developers@fireblocks.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.fireblocks.sdk.api;
+
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fireblocks.sdk.ApiClient;
+import com.fireblocks.sdk.ApiException;
+import com.fireblocks.sdk.ApiResponse;
+import com.fireblocks.sdk.ValidationUtils;
+import com.fireblocks.sdk.model.PolicyRuleQuotaRequest;
+import com.fireblocks.sdk.model.PolicyRuleQuotaResponse;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URI;
+import java.net.http.HttpClient;
+import java.net.http.HttpRequest;
+import java.net.http.HttpResponse;
+import java.time.Duration;
+import java.util.concurrent.CompletableFuture;
+import java.util.function.Consumer;
+
+@jakarta.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.14.0")
+public class PolicyEditorV2BetaApi {
+ private final HttpClient memberVarHttpClient;
+ private final ObjectMapper memberVarObjectMapper;
+ private final String memberVarBaseUri;
+ private final Consumer memberVarInterceptor;
+ private final Duration memberVarReadTimeout;
+ private final Consumer> memberVarResponseInterceptor;
+ private final Consumer> memberVarAsyncResponseInterceptor;
+
+ public PolicyEditorV2BetaApi() {
+ this(new ApiClient());
+ }
+
+ public PolicyEditorV2BetaApi(ApiClient apiClient) {
+ memberVarHttpClient = apiClient.getHttpClient();
+ memberVarObjectMapper = apiClient.getObjectMapper();
+ memberVarBaseUri = apiClient.getBaseUri();
+ memberVarInterceptor = apiClient.getRequestInterceptor();
+ memberVarReadTimeout = apiClient.getReadTimeout();
+ memberVarResponseInterceptor = apiClient.getResponseInterceptor();
+ memberVarAsyncResponseInterceptor = apiClient.getAsyncResponseInterceptor();
+ }
+
+ private ApiException getApiException(String operationId, HttpResponse response) {
+ String message =
+ formatExceptionMessage(operationId, response.statusCode(), response.body());
+ return new ApiException(
+ response.statusCode(), message, response.headers(), response.body());
+ }
+
+ private String formatExceptionMessage(String operationId, int statusCode, String body) {
+ if (body == null || body.isEmpty()) {
+ body = "[no body]";
+ }
+ return operationId + " call failed with: " + statusCode + " - " + body;
+ }
+
+ /**
+ * Calculate the AOT quota for a policy rule Returns the Amount Over Time (AOT) quota calculated
+ * for a specific policy rule. Endpoint Permissions: Owner, Admin, Non-Signing Admin.
+ *
+ * @param policyRuleQuotaRequest (required)
+ * @param idempotencyKey A unique identifier for the request. If the request is sent multiple
+ * times with the same idempotency key, the server will return the same response as the
+ * first request. The idempotency key is valid for 24 hours. (optional)
+ * @return CompletableFuture<ApiResponse<PolicyRuleQuotaResponse>>
+ * @throws ApiException if fails to make API call
+ */
+ public CompletableFuture> getPolicyRuleQuota(
+ PolicyRuleQuotaRequest policyRuleQuotaRequest, String idempotencyKey)
+ throws ApiException {
+ try {
+ HttpRequest.Builder localVarRequestBuilder =
+ getPolicyRuleQuotaRequestBuilder(policyRuleQuotaRequest, idempotencyKey);
+ return memberVarHttpClient
+ .sendAsync(localVarRequestBuilder.build(), HttpResponse.BodyHandlers.ofString())
+ .thenComposeAsync(
+ localVarResponse -> {
+ if (memberVarAsyncResponseInterceptor != null) {
+ memberVarAsyncResponseInterceptor.accept(localVarResponse);
+ }
+ if (localVarResponse.statusCode() / 100 != 2) {
+ return CompletableFuture.failedFuture(
+ getApiException(
+ "getPolicyRuleQuota", localVarResponse));
+ }
+ try {
+ String responseBody = localVarResponse.body();
+ return CompletableFuture.completedFuture(
+ new ApiResponse