diff --git a/README.md b/README.md
index ef6d8e3..4fd5332 100644
--- a/README.md
+++ b/README.md
@@ -32,7 +32,7 @@ Add this dependency to your project's POM:
com.fireblocks.sdk
fireblocks-sdk
- 1.1.0
+ 2.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:1.1.0"
+compile "com.fireblocks.sdk:fireblocks-sdk:2.0.0"
```
### Others
@@ -55,7 +55,7 @@ mvn clean package
Then manually install the following JARs:
-- `target/fireblocks-sdk-1.1.0.jar`
+- `target/fireblocks-sdk-2.0.0.jar`
- `target/lib/*.jar`
@@ -141,8 +141,8 @@ All URIs are relative to *https://api.fireblocks.io/v1*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
-*ApiUserApi* | [**createApiUser**](docs/ApiUserApi.md#createApiUser) | **POST** /management/api_users | create api user
-*ApiUserApi* | [**getApiUsers**](docs/ApiUserApi.md#getApiUsers) | **GET** /management/api_users | get api users
+*ApiUserApi* | [**createApiUser**](docs/ApiUserApi.md#createApiUser) | **POST** /management/api_users | Create Api user
+*ApiUserApi* | [**getApiUsers**](docs/ApiUserApi.md#getApiUsers) | **GET** /management/api_users | Get Api users
*AssetsApi* | [**createAssetsBulk**](docs/AssetsApi.md#createAssetsBulk) | **POST** /vault/assets/bulk | Bulk creation of wallets
*AuditLogsApi* | [**getAuditLogs**](docs/AuditLogsApi.md#getAuditLogs) | **GET** /management/audit_logs | Get audit logs
*AuditLogsApi* | [**getAudits**](docs/AuditLogsApi.md#getAudits) | **GET** /audits | Get audit logs
@@ -157,8 +157,18 @@ Class | Method | HTTP request | Description
*ComplianceApi* | [**updateTravelRuleConfig**](docs/ComplianceApi.md#updateTravelRuleConfig) | **PUT** /screening/travel_rule/policy_configuration | Update Travel Rule Configuration
*ComplianceScreeningConfigurationApi* | [**getAmlScreeningConfiguration**](docs/ComplianceScreeningConfigurationApi.md#getAmlScreeningConfiguration) | **GET** /screening/aml/policy_configuration | Get AML Screening Policy Configuration
*ComplianceScreeningConfigurationApi* | [**getScreeningConfiguration**](docs/ComplianceScreeningConfigurationApi.md#getScreeningConfiguration) | **GET** /screening/travel_rule/policy_configuration | Get Travel Rule Screening Policy Configuration
-*ConsoleUserApi* | [**createConsoleUser**](docs/ConsoleUserApi.md#createConsoleUser) | **POST** /management/users | create console user
-*ConsoleUserApi* | [**getConsoleUsers**](docs/ConsoleUserApi.md#getConsoleUsers) | **GET** /management/users | get console users
+*ConsoleUserApi* | [**createConsoleUser**](docs/ConsoleUserApi.md#createConsoleUser) | **POST** /management/users | Create console user
+*ConsoleUserApi* | [**getConsoleUsers**](docs/ConsoleUserApi.md#getConsoleUsers) | **GET** /management/users | Get console users
+*ContractInteractionsApi* | [**getDeployedContractAbi**](docs/ContractInteractionsApi.md#getDeployedContractAbi) | **GET** /contract_interactions/base_asset_id/{assetId}/contract_address/{contractAddress}/functions | Return deployed contract's ABI
+*ContractInteractionsApi* | [**readCallFunction**](docs/ContractInteractionsApi.md#readCallFunction) | **POST** /contract_interactions/base_asset_id/{assetId}/contract_address/{contractAddress}/functions/read | Call a read function on a deployed contract
+*ContractInteractionsApi* | [**writeCallFunction**](docs/ContractInteractionsApi.md#writeCallFunction) | **POST** /contract_interactions/base_asset_id/{assetId}/contract_address/{contractAddress}/functions/write | Call a write function on a deployed contract
+*ContractTemplatesApi* | [**deleteContractTemplateById**](docs/ContractTemplatesApi.md#deleteContractTemplateById) | **DELETE** /tokenization/templates/{contractTemplateId} | Delete a contract template by id
+*ContractTemplatesApi* | [**deployContract**](docs/ContractTemplatesApi.md#deployContract) | **POST** /tokenization/templates/{contractTemplateId}/deploy | Deploy contract
+*ContractTemplatesApi* | [**getConstructorByContractTemplateId**](docs/ContractTemplatesApi.md#getConstructorByContractTemplateId) | **GET** /tokenization/templates/{contractTemplateId}/constructor | Return contract template's constructor
+*ContractTemplatesApi* | [**getContractTemplateById**](docs/ContractTemplatesApi.md#getContractTemplateById) | **GET** /tokenization/templates/{contractTemplateId} | Return contract template by id
+*ContractTemplatesApi* | [**getContractTemplates**](docs/ContractTemplatesApi.md#getContractTemplates) | **GET** /tokenization/templates | List all contract templates
+*ContractTemplatesApi* | [**getFunctionAbiByContractTemplateId**](docs/ContractTemplatesApi.md#getFunctionAbiByContractTemplateId) | **GET** /tokenization/templates/{contractTemplateId}/function | Return contract template's function
+*ContractTemplatesApi* | [**uploadContractTemplate**](docs/ContractTemplatesApi.md#uploadContractTemplate) | **POST** /tokenization/templates | Upload contract template
*ContractsApi* | [**addContractAsset**](docs/ContractsApi.md#addContractAsset) | **POST** /contracts/{contractId}/{assetId} | Add an asset to a contract
*ContractsApi* | [**createContract**](docs/ContractsApi.md#createContract) | **POST** /contracts | Create a contract
*ContractsApi* | [**deleteContract**](docs/ContractsApi.md#deleteContract) | **DELETE** /contracts/{contractId} | Delete a contract
@@ -171,6 +181,9 @@ Class | Method | HTTP request | Description
*CosignersBetaApi* | [**getCosigner**](docs/CosignersBetaApi.md#getCosigner) | **GET** /cosigners/{cosignerId} | Get cosigner
*CosignersBetaApi* | [**getCosigners**](docs/CosignersBetaApi.md#getCosigners) | **GET** /cosigners | Get all cosigners
*CosignersBetaApi* | [**renameCosigner**](docs/CosignersBetaApi.md#renameCosigner) | **PATCH** /cosigners/{cosignerId} | Rename cosigner
+*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
*ExchangeAccountsApi* | [**convertAssets**](docs/ExchangeAccountsApi.md#convertAssets) | **POST** /exchange_accounts/{exchangeAccountId}/convert | Convert exchange account funds from the source asset to the destination asset.
*ExchangeAccountsApi* | [**getExchangeAccount**](docs/ExchangeAccountsApi.md#getExchangeAccount) | **GET** /exchange_accounts/{exchangeAccountId} | Find a specific exchange account
*ExchangeAccountsApi* | [**getExchangeAccountAsset**](docs/ExchangeAccountsApi.md#getExchangeAccountAsset) | **GET** /exchange_accounts/{exchangeAccountId}/{assetId} | Find an asset for an exchange account
@@ -215,6 +228,7 @@ Class | Method | HTTP request | Description
*NetworkConnectionsApi* | [**getNetworkConnections**](docs/NetworkConnectionsApi.md#getNetworkConnections) | **GET** /network_connections | List network connections
*NetworkConnectionsApi* | [**getNetworkId**](docs/NetworkConnectionsApi.md#getNetworkId) | **GET** /network_ids/{networkId} | Returns specific network ID.
*NetworkConnectionsApi* | [**getNetworkIds**](docs/NetworkConnectionsApi.md#getNetworkIds) | **GET** /network_ids | Returns all network IDs, both local IDs and discoverable remote IDs
+*NetworkConnectionsApi* | [**getRoutingPolicyAssetGroups**](docs/NetworkConnectionsApi.md#getRoutingPolicyAssetGroups) | **GET** /network_ids/routing_policy_asset_groups | Returns all enabled routing policy asset groups
*NetworkConnectionsApi* | [**setNetworkIdDiscoverability**](docs/NetworkConnectionsApi.md#setNetworkIdDiscoverability) | **PATCH** /network_ids/{networkId}/set_discoverability | Update network ID's discoverability.
*NetworkConnectionsApi* | [**setNetworkIdName**](docs/NetworkConnectionsApi.md#setNetworkIdName) | **PATCH** /network_ids/{networkId}/set_name | Update network ID's name.
*NetworkConnectionsApi* | [**setNetworkIdRoutingPolicy**](docs/NetworkConnectionsApi.md#setNetworkIdRoutingPolicy) | **PATCH** /network_ids/{networkId}/set_routing_policy | Update network id routing policy.
@@ -244,7 +258,7 @@ Class | Method | HTTP request | Description
*PolicyEditorBetaApi* | [**publishDraft**](docs/PolicyEditorBetaApi.md#publishDraft) | **POST** /tap/draft | Send publish request for a certain draft id
*PolicyEditorBetaApi* | [**publishPolicyRules**](docs/PolicyEditorBetaApi.md#publishPolicyRules) | **POST** /tap/publish | Send publish request for a set of policy rules
*PolicyEditorBetaApi* | [**updateDraft**](docs/PolicyEditorBetaApi.md#updateDraft) | **PUT** /tap/draft | Update the draft with a new set of rules
-*ResetDeviceApi* | [**resetDevice**](docs/ResetDeviceApi.md#resetDevice) | **POST** /management/users/{id}/reset_device | resets device
+*ResetDeviceApi* | [**resetDevice**](docs/ResetDeviceApi.md#resetDevice) | **POST** /management/users/{id}/reset_device | Resets device
*SmartTransferApi* | [**cancelTicket**](docs/SmartTransferApi.md#cancelTicket) | **PUT** /smart-transfers/{ticketId}/cancel | Cancel Ticket
*SmartTransferApi* | [**createTicket**](docs/SmartTransferApi.md#createTicket) | **POST** /smart-transfers | Create Ticket
*SmartTransferApi* | [**createTicketTerm**](docs/SmartTransferApi.md#createTicketTerm) | **POST** /smart-transfers/{ticketId}/terms | Create leg (term)
@@ -270,6 +284,11 @@ Class | Method | HTTP request | Description
*StakingBetaApi* | [**getProviders**](docs/StakingBetaApi.md#getProviders) | **GET** /staking/providers |
*StakingBetaApi* | [**getSummary**](docs/StakingBetaApi.md#getSummary) | **GET** /staking/positions/summary |
*StakingBetaApi* | [**getSummaryByVault**](docs/StakingBetaApi.md#getSummaryByVault) | **GET** /staking/positions/summary/vaults |
+*TokenizationApi* | [**getLinkedToken**](docs/TokenizationApi.md#getLinkedToken) | **GET** /tokenization/tokens/{id} | Return a linked token
+*TokenizationApi* | [**getLinkedTokens**](docs/TokenizationApi.md#getLinkedTokens) | **GET** /tokenization/tokens | List all linked tokens
+*TokenizationApi* | [**issueNewToken**](docs/TokenizationApi.md#issueNewToken) | **POST** /tokenization/tokens | Issue a new token
+*TokenizationApi* | [**link**](docs/TokenizationApi.md#link) | **POST** /tokenization/tokens/link | Link a token
+*TokenizationApi* | [**unlink**](docs/TokenizationApi.md#unlink) | **DELETE** /tokenization/tokens/{id} | Unlink a token
*TransactionsApi* | [**cancelTransaction**](docs/TransactionsApi.md#cancelTransaction) | **POST** /transactions/{txId}/cancel | Cancel a transaction
*TransactionsApi* | [**createTransaction**](docs/TransactionsApi.md#createTransaction) | **POST** /transactions | Create a new transaction
*TransactionsApi* | [**dropTransaction**](docs/TransactionsApi.md#dropTransaction) | **POST** /transactions/{txId}/drop | Drop ETH transaction by ID
@@ -325,13 +344,14 @@ Class | Method | HTTP request | Description
*Web3ConnectionsApi* | [**submit**](docs/Web3ConnectionsApi.md#submit) | **PUT** /connections/wc/{id} | Respond to a pending Web3 connection request.
*WebhooksApi* | [**resendTransactionWebhooks**](docs/WebhooksApi.md#resendTransactionWebhooks) | **POST** /webhooks/resend/{txId} | Resend failed webhooks for a transaction by ID
*WebhooksApi* | [**resendWebhooks**](docs/WebhooksApi.md#resendWebhooks) | **POST** /webhooks/resend | Resend failed webhooks
-*WhitelistIpAddressesApi* | [**getWhitelistIpAddresses**](docs/WhitelistIpAddressesApi.md#getWhitelistIpAddresses) | **GET** /management/api_users/{userId}/whitelist_ip_addresses | gets ip addresses
+*WhitelistIpAddressesApi* | [**getWhitelistIpAddresses**](docs/WhitelistIpAddressesApi.md#getWhitelistIpAddresses) | **GET** /management/api_users/{userId}/whitelist_ip_addresses | Gets whitelisted ip addresses
*WorkspaceStatusBetaApi* | [**getWorkspaceStatus**](docs/WorkspaceStatusBetaApi.md#getWorkspaceStatus) | **GET** /management/workspace_status | Returns current workspace status
## Documentation for Models
- [APIUser](docs/APIUser.md)
+ - [AbiFunction](docs/AbiFunction.md)
- [Account](docs/Account.md)
- [AccountType](docs/AccountType.md)
- [AddAssetToExternalWalletRequest](docs/AddAssetToExternalWalletRequest.md)
@@ -351,10 +371,14 @@ Class | Method | HTTP request | Description
- [AmountInfo](docs/AmountInfo.md)
- [ApiKey](docs/ApiKey.md)
- [ApiKeysPaginatedResponse](docs/ApiKeysPaginatedResponse.md)
+ - [AssetAlreadyExistHttpError](docs/AssetAlreadyExistHttpError.md)
- [AssetAmount](docs/AssetAmount.md)
- [AssetBadRequestErrorResponse](docs/AssetBadRequestErrorResponse.md)
- [AssetConflictErrorResponse](docs/AssetConflictErrorResponse.md)
+ - [AssetDoesNotExistHttpError](docs/AssetDoesNotExistHttpError.md)
+ - [AssetForbiddenErrorResponse](docs/AssetForbiddenErrorResponse.md)
- [AssetInternalServerErrorResponse](docs/AssetInternalServerErrorResponse.md)
+ - [AssetMetadataDto](docs/AssetMetadataDto.md)
- [AssetNotFoundErrorResponse](docs/AssetNotFoundErrorResponse.md)
- [AssetResponse](docs/AssetResponse.md)
- [AssetResponseMetadata](docs/AssetResponseMetadata.md)
@@ -362,11 +386,13 @@ Class | Method | HTTP request | Description
- [AssetTypeResponse](docs/AssetTypeResponse.md)
- [AssetWallet](docs/AssetWallet.md)
- [AuditLogData](docs/AuditLogData.md)
+ - [AuditorData](docs/AuditorData.md)
- [AuthorizationGroups](docs/AuthorizationGroups.md)
- [AuthorizationInfo](docs/AuthorizationInfo.md)
- [BlockInfo](docs/BlockInfo.md)
- [CancelTransactionResponse](docs/CancelTransactionResponse.md)
- [ChainInfoResponseDto](docs/ChainInfoResponseDto.md)
+ - [CollectionMetadataDto](docs/CollectionMetadataDto.md)
- [CollectionOwnershipResponse](docs/CollectionOwnershipResponse.md)
- [ComplianceResult](docs/ComplianceResult.md)
- [ComplianceScreeningResult](docs/ComplianceScreeningResult.md)
@@ -378,6 +404,14 @@ Class | Method | HTTP request | Description
- [ConfigOperationStatus](docs/ConfigOperationStatus.md)
- [ConfigTransferOperationSnapshot](docs/ConfigTransferOperationSnapshot.md)
- [ConsoleUser](docs/ConsoleUser.md)
+ - [ContractAbiResponseDto](docs/ContractAbiResponseDto.md)
+ - [ContractAttributes](docs/ContractAttributes.md)
+ - [ContractDeployRequest](docs/ContractDeployRequest.md)
+ - [ContractDeployResponse](docs/ContractDeployResponse.md)
+ - [ContractDoc](docs/ContractDoc.md)
+ - [ContractMetadataDto](docs/ContractMetadataDto.md)
+ - [ContractTemplateDto](docs/ContractTemplateDto.md)
+ - [ContractUploadRequest](docs/ContractUploadRequest.md)
- [ConversionConfigOperation](docs/ConversionConfigOperation.md)
- [ConversionOperationConfigParams](docs/ConversionOperationConfigParams.md)
- [ConversionOperationExecution](docs/ConversionOperationExecution.md)
@@ -411,10 +445,12 @@ Class | Method | HTTP request | Description
- [CreateNcwConnectionRequest](docs/CreateNcwConnectionRequest.md)
- [CreateNetworkIdRequest](docs/CreateNetworkIdRequest.md)
- [CreatePayoutRequest](docs/CreatePayoutRequest.md)
- - [CreateRequest](docs/CreateRequest.md)
+ - [CreateTokenRequestDto](docs/CreateTokenRequestDto.md)
+ - [CreateTokenRequestDtoCreateParams](docs/CreateTokenRequestDtoCreateParams.md)
- [CreateTransactionResponse](docs/CreateTransactionResponse.md)
- [CreateTransferConfigOperationRequest](docs/CreateTransferConfigOperationRequest.md)
- [CreateUserGroupResponse](docs/CreateUserGroupResponse.md)
+ - [CreateVaultAccountConnectionRequest](docs/CreateVaultAccountConnectionRequest.md)
- [CreateVaultAccountRequest](docs/CreateVaultAccountRequest.md)
- [CreateVaultAssetResponse](docs/CreateVaultAssetResponse.md)
- [CreateWalletRequest](docs/CreateWalletRequest.md)
@@ -423,6 +459,10 @@ Class | Method | HTTP request | Description
- [DefaultNetworkRoutingDest](docs/DefaultNetworkRoutingDest.md)
- [DelegationDto](docs/DelegationDto.md)
- [DelegationSummaryDto](docs/DelegationSummaryDto.md)
+ - [DeleteNetworkConnectionResponse](docs/DeleteNetworkConnectionResponse.md)
+ - [DeleteNetworkIdResponse](docs/DeleteNetworkIdResponse.md)
+ - [DeployedContractResponseDto](docs/DeployedContractResponseDto.md)
+ - [DeployedContractsPaginatedResponse](docs/DeployedContractsPaginatedResponse.md)
- [DepositFundsFromLinkedDDAResponse](docs/DepositFundsFromLinkedDDAResponse.md)
- [Destination](docs/Destination.md)
- [DestinationTransferPeerPath](docs/DestinationTransferPeerPath.md)
@@ -448,6 +488,7 @@ Class | Method | HTTP request | Description
- [DraftReviewAndValidationResponse](docs/DraftReviewAndValidationResponse.md)
- [DropTransactionRequest](docs/DropTransactionRequest.md)
- [DropTransactionResponse](docs/DropTransactionResponse.md)
+ - [EVMTokenCreateParamsDto](docs/EVMTokenCreateParamsDto.md)
- [EditGasStationConfigurationResponse](docs/EditGasStationConfigurationResponse.md)
- [ErrorResponse](docs/ErrorResponse.md)
- [ErrorResponseError](docs/ErrorResponseError.md)
@@ -474,6 +515,7 @@ Class | Method | HTTP request | Description
- [FiatAccountType](docs/FiatAccountType.md)
- [FiatAsset](docs/FiatAsset.md)
- [FreezeTransactionResponse](docs/FreezeTransactionResponse.md)
+ - [FunctionDoc](docs/FunctionDoc.md)
- [Funds](docs/Funds.md)
- [GasStationConfiguration](docs/GasStationConfiguration.md)
- [GasStationConfigurationResponse](docs/GasStationConfigurationResponse.md)
@@ -485,17 +527,22 @@ Class | Method | HTTP request | Description
- [GetConsoleUsersResponse](docs/GetConsoleUsersResponse.md)
- [GetFilterParameter](docs/GetFilterParameter.md)
- [GetMaxSpendableAmountResponse](docs/GetMaxSpendableAmountResponse.md)
- - [GetOtaStatus200Response](docs/GetOtaStatus200Response.md)
- - [GetOwnershipTokens200Response](docs/GetOwnershipTokens200Response.md)
+ - [GetNFTsResponse](docs/GetNFTsResponse.md)
+ - [GetOtaStatusResponse](docs/GetOtaStatusResponse.md)
+ - [GetOwnershipTokensResponse](docs/GetOwnershipTokensResponse.md)
- [GetTransactionOperation](docs/GetTransactionOperation.md)
- [GetWhitelistIpAddressesResponse](docs/GetWhitelistIpAddressesResponse.md)
- - [GetWorkspaceStatus200Response](docs/GetWorkspaceStatus200Response.md)
+ - [GetWorkspaceStatusResponse](docs/GetWorkspaceStatusResponse.md)
+ - [HttpContractDoesNotExistError](docs/HttpContractDoesNotExistError.md)
- [InstructionAmount](docs/InstructionAmount.md)
- [InternalTransferResponse](docs/InternalTransferResponse.md)
- [Job](docs/Job.md)
- [JobCreated](docs/JobCreated.md)
- - [ListOwnedCollections200Response](docs/ListOwnedCollections200Response.md)
- - [ListOwnedTokens200Response](docs/ListOwnedTokens200Response.md)
+ - [LeanAbiFunction](docs/LeanAbiFunction.md)
+ - [LeanContractDto](docs/LeanContractDto.md)
+ - [LeanDeployedContractResponseDto](docs/LeanDeployedContractResponseDto.md)
+ - [ListOwnedCollectionsResponse](docs/ListOwnedCollectionsResponse.md)
+ - [ListOwnedTokensResponse](docs/ListOwnedTokensResponse.md)
- [MediaEntityResponse](docs/MediaEntityResponse.md)
- [NetworkChannel](docs/NetworkChannel.md)
- [NetworkConnection](docs/NetworkConnection.md)
@@ -508,6 +555,7 @@ Class | Method | HTTP request | Description
- [NetworkIdRoutingPolicyValue](docs/NetworkIdRoutingPolicyValue.md)
- [NetworkRecord](docs/NetworkRecord.md)
- [NoneNetworkRoutingDest](docs/NoneNetworkRoutingDest.md)
+ - [NotFoundException](docs/NotFoundException.md)
- [OneTimeAddress](docs/OneTimeAddress.md)
- [OneTimeAddressAccount](docs/OneTimeAddressAccount.md)
- [OperationExecutionFailure](docs/OperationExecutionFailure.md)
@@ -516,6 +564,8 @@ Class | Method | HTTP request | Description
- [PaginatedAssetWalletResponse](docs/PaginatedAssetWalletResponse.md)
- [PaginatedAssetWalletResponsePaging](docs/PaginatedAssetWalletResponsePaging.md)
- [Paging](docs/Paging.md)
+ - [Parameter](docs/Parameter.md)
+ - [ParameterWithValue](docs/ParameterWithValue.md)
- [PayeeAccount](docs/PayeeAccount.md)
- [PayeeAccountResponse](docs/PayeeAccountResponse.md)
- [PayeeAccountType](docs/PayeeAccountType.md)
@@ -556,6 +606,8 @@ Class | Method | HTTP request | Description
- [PublicKeyInformation](docs/PublicKeyInformation.md)
- [PublishDraftRequest](docs/PublishDraftRequest.md)
- [PublishResult](docs/PublishResult.md)
+ - [ReadAbiFunction](docs/ReadAbiFunction.md)
+ - [ReadCallFunctionDto](docs/ReadCallFunctionDto.md)
- [RedeemFundsToLinkedDDAResponse](docs/RedeemFundsToLinkedDDAResponse.md)
- [RegisterNewAssetRequest](docs/RegisterNewAssetRequest.md)
- [RelatedTransactionDto](docs/RelatedTransactionDto.md)
@@ -595,8 +647,8 @@ Class | Method | HTTP request | Description
- [SetOtaStatusRequest](docs/SetOtaStatusRequest.md)
- [SetOtaStatusResponse](docs/SetOtaStatusResponse.md)
- [SetOtaStatusResponseOneOf](docs/SetOtaStatusResponseOneOf.md)
- - [SetRoutingPolicy200Response](docs/SetRoutingPolicy200Response.md)
- [SetRoutingPolicyRequest](docs/SetRoutingPolicyRequest.md)
+ - [SetRoutingPolicyResponse](docs/SetRoutingPolicyResponse.md)
- [SettlementRequestBody](docs/SettlementRequestBody.md)
- [SettlementResponse](docs/SettlementResponse.md)
- [SignedMessage](docs/SignedMessage.md)
@@ -628,16 +680,23 @@ Class | Method | HTTP request | Description
- [SrcOrDestAttributesInner](docs/SrcOrDestAttributesInner.md)
- [StakeRequestDto](docs/StakeRequestDto.md)
- [StakeResponseDto](docs/StakeResponseDto.md)
+ - [StellarRippleCreateParamsDto](docs/StellarRippleCreateParamsDto.md)
- [SystemMessageInfo](docs/SystemMessageInfo.md)
- [Task](docs/Task.md)
+ - [TemplatesPaginatedResponse](docs/TemplatesPaginatedResponse.md)
- [ThirdPartyRouting](docs/ThirdPartyRouting.md)
- [ToCollateralTransaction](docs/ToCollateralTransaction.md)
- [ToExchangeTransaction](docs/ToExchangeTransaction.md)
- [TokenCollectionResponse](docs/TokenCollectionResponse.md)
+ - [TokenLinkDto](docs/TokenLinkDto.md)
+ - [TokenLinkDtoTokenMetadata](docs/TokenLinkDtoTokenMetadata.md)
+ - [TokenLinkExistsHttpError](docs/TokenLinkExistsHttpError.md)
+ - [TokenLinkRequestDto](docs/TokenLinkRequestDto.md)
- [TokenOwnershipResponse](docs/TokenOwnershipResponse.md)
- [TokenOwnershipSpamUpdatePayload](docs/TokenOwnershipSpamUpdatePayload.md)
- [TokenOwnershipStatusUpdatePayload](docs/TokenOwnershipStatusUpdatePayload.md)
- [TokenResponse](docs/TokenResponse.md)
+ - [TokensPaginatedResponse](docs/TokensPaginatedResponse.md)
- [TradingAccountType](docs/TradingAccountType.md)
- [Transaction](docs/Transaction.md)
- [TransactionFee](docs/TransactionFee.md)
@@ -706,12 +765,16 @@ Class | Method | HTTP request | Description
- [VaultActionStatus](docs/VaultActionStatus.md)
- [VaultAsset](docs/VaultAsset.md)
- [VaultWalletAddress](docs/VaultWalletAddress.md)
+ - [VendorDto](docs/VendorDto.md)
- [WalletAsset](docs/WalletAsset.md)
- [WalletAssetAdditionalInfo](docs/WalletAssetAdditionalInfo.md)
- [WithdrawRequestDto](docs/WithdrawRequestDto.md)
- [WorkflowConfigStatus](docs/WorkflowConfigStatus.md)
- [WorkflowConfigurationId](docs/WorkflowConfigurationId.md)
- [WorkflowExecutionOperation](docs/WorkflowExecutionOperation.md)
+ - [WriteAbiFunction](docs/WriteAbiFunction.md)
+ - [WriteCallFunctionDto](docs/WriteCallFunctionDto.md)
+ - [WriteCallFunctionResponseDto](docs/WriteCallFunctionResponseDto.md)
## Author
diff --git a/api/openapi.yaml b/api/openapi.yaml
index 9240b8a..0af58e2 100644
--- a/api/openapi.yaml
+++ b/api/openapi.yaml
@@ -46,9 +46,7 @@ paths:
content:
application/json:
schema:
- items:
- $ref: '#/components/schemas/VaultAccount'
- type: array
+ $ref: '#/components/schemas/GetVaultAccountsResponse'
description: A list of vault accounts
headers:
X-Request-ID:
@@ -1117,9 +1115,7 @@ paths:
content:
application/json:
schema:
- items:
- $ref: '#/components/schemas/VaultWalletAddress'
- type: array
+ $ref: '#/components/schemas/GetVaultAccountAssetAddressesResponse'
description: A list of deposit addresses
headers:
X-Request-ID:
@@ -1448,7 +1444,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/updateVaultAccountAssetAddress_request'
+ $ref: '#/components/schemas/UpdateVaultAccountAssetAddressRequest'
required: false
responses:
"201":
@@ -1540,7 +1536,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/setCustomerRefIdForAddress_request'
+ $ref: '#/components/schemas/SetCustomerRefIdForAddressRequest'
required: true
responses:
"201":
@@ -1690,9 +1686,7 @@ paths:
content:
application/json:
schema:
- items:
- $ref: '#/components/schemas/UnspentInputsResponse'
- type: array
+ $ref: '#/components/schemas/GetUnspentInputsResponse'
description: List of Unspent information per input
headers:
X-Request-ID:
@@ -1719,11 +1713,12 @@ paths:
\ assetId);"
name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise> = fireblocks.vaults.getUnspentInputs(vaultsApiGetUnspentInputsRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.vaults.getUnspentInputs(vaultsApiGetUnspentInputsRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.vaults().getUnspentInputs(vaultAccountId,\
- \ assetId);"
+ code: "CompletableFuture>> response\
+ \ = fireblocks.vaults().getUnspentInputs(vaultAccountId, assetId);"
name: Fireblocks SDK Java example
x-accepts: application/json
/vault/public_key_info:
@@ -1902,9 +1897,7 @@ paths:
content:
application/json:
schema:
- items:
- $ref: '#/components/schemas/VaultAsset'
- type: array
+ $ref: '#/components/schemas/GetVaultAssetsResponse'
description: Amount by asset
headers:
X-Request-ID:
@@ -1932,10 +1925,11 @@ paths:
\ accountNameSuffix);"
name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise> = fireblocks.vaults.getVaultAssets(vaultsApiGetVaultAssetsRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.vaults.getVaultAssets(vaultsApiGetVaultAssetsRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.vaults().getVaultAssets(accountNamePrefix,\
+ code: "CompletableFuture>> response = fireblocks.vaults().getVaultAssets(accountNamePrefix,\
\ accountNameSuffix);"
name: Fireblocks SDK Java example
x-accepts: application/json
@@ -2100,9 +2094,7 @@ paths:
content:
application/json:
schema:
- items:
- $ref: '#/components/schemas/ExchangeAccount'
- type: array
+ $ref: '#/components/schemas/GetExchangeAccountsResponse'
description: An ExchangeAccount object
headers:
X-Request-ID:
@@ -2164,9 +2156,7 @@ paths:
content:
application/json:
schema:
- items:
- $ref: '#/components/schemas/ExchangeAccountsPaged'
- type: array
+ $ref: '#/components/schemas/GetPagedExchangeAccountsResponse'
description: An ExchangeAccount object
headers:
X-Request-ID:
@@ -2192,11 +2182,13 @@ paths:
code: exchangeAccounts = fireblocks.get_exchange_accounts_paged()
name: Fireblocks SDK Python example
- language: typescript
- code: "const response: Promise> = fireblocks.exchangeAccounts.getPagedExchangeAccounts(exchangeAccountsApiGetPagedExchangeAccountsRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.exchangeAccounts.getPagedExchangeAccounts(exchangeAccountsApiGetPagedExchangeAccountsRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.exchangeAccounts().getPagedExchangeAccounts(limit,\
- \ before, after);"
+ code: "CompletableFuture>> response\
+ \ = fireblocks.exchangeAccounts().getPagedExchangeAccounts(limit, before,\
+ \ after);"
name: Fireblocks SDK Java example
x-accepts: application/json
/exchange_accounts/{exchangeAccountId}:
@@ -2452,9 +2444,7 @@ paths:
content:
application/json:
schema:
- items:
- $ref: '#/components/schemas/FiatAccount'
- type: array
+ $ref: '#/components/schemas/GetFiatAccountsResponse'
description: A fiat account object
headers:
X-Request-ID:
@@ -2480,10 +2470,11 @@ paths:
code: const transactions = await fireblocks.getFiatAccounts();
name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise> = fireblocks.fiatAccounts.getFiatAccounts();"
+ code: "const response: Promise>\
+ \ = fireblocks.fiatAccounts.getFiatAccounts();"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response = fireblocks.fiatAccounts().getFiatAccounts();
+ code: CompletableFuture>> response = fireblocks.fiatAccounts().getFiatAccounts();
name: Fireblocks SDK Java example
x-accepts: application/json
/fiat_accounts/{accountId}:
@@ -2704,9 +2695,7 @@ paths:
content:
application/json:
schema:
- items:
- $ref: '#/components/schemas/NetworkConnectionResponse'
- type: array
+ $ref: '#/components/schemas/GetNetworkConnectionsResponse'
description: A list of network connections
headers:
X-Request-ID:
@@ -2732,10 +2721,12 @@ paths:
code: const networkConnections = await fireblocks.getNetworkConnections();
name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise> = fireblocks.networkConnections.getNetworkConnections();"
+ code: "const response: Promise>\
+ \ = fireblocks.networkConnections.getNetworkConnections();"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response = fireblocks.networkConnections().getNetworkConnections();
+ code: CompletableFuture>> response
+ = fireblocks.networkConnections().getNetworkConnections();
name: Fireblocks SDK Java example
x-accepts: application/json
post:
@@ -2756,7 +2747,7 @@ paths:
- Network Connection Crypto → **Default**
- Network Connection FIAT → **Default**
- Supported asset groups for routing police can be found at `/enabled_routing_policy_asset_groups`
+ Supported asset groups for routing police can be found at `/network_ids/routing_policy_asset_groups`
- **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
operationId: createNetworkConnection
@@ -2831,7 +2822,7 @@ paths:
- Network Connection Crypto → **Default**
- Network Connection FIAT → **Default**
- Supported asset groups for routing police can be found at `/enabled_routing_policy_asset_groups`
+ Supported asset groups for routing police can be found at `/network_ids/routing_policy_asset_groups`
- **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
operationId: setRoutingPolicy
@@ -2854,7 +2845,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/setRoutingPolicy_200_response'
+ $ref: '#/components/schemas/SetRoutingPolicyResponse'
description: Network ID
headers:
X-Request-ID:
@@ -2874,11 +2865,12 @@ paths:
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise> = fireblocks.networkConnections.setRoutingPolicy(networkConnectionsApiSetRoutingPolicyRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.networkConnections.setRoutingPolicy(networkConnectionsApiSetRoutingPolicyRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.networkConnections().setRoutingPolicy(connectionId,\
- \ setRoutingPolicyRequest);"
+ code: "CompletableFuture> response\
+ \ = fireblocks.networkConnections().setRoutingPolicy(connectionId, setRoutingPolicyRequest);"
name: Fireblocks SDK Java example
x-content-type: application/json
x-accepts: application/json
@@ -2974,7 +2966,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/setRoutingPolicy_200_response'
+ $ref: '#/components/schemas/DeleteNetworkConnectionResponse'
description: Network ID
headers:
X-Request-ID:
@@ -2994,10 +2986,12 @@ paths:
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise> = fireblocks.networkConnections.deleteNetworkConnection(networkConnectionsApiDeleteNetworkConnectionRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.networkConnections.deleteNetworkConnection(networkConnectionsApiDeleteNetworkConnectionRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response = fireblocks.networkConnections().deleteNetworkConnection(connectionId);
+ code: CompletableFuture> response
+ = fireblocks.networkConnections().deleteNetworkConnection(connectionId);
name: Fireblocks SDK Java example
x-accepts: application/json
get:
@@ -3094,10 +3088,7 @@ paths:
content:
application/json:
schema:
- items:
- allOf:
- - $ref: '#/components/schemas/NetworkIdResponse'
- type: array
+ $ref: '#/components/schemas/GetNetworkIdsResponse'
description: A list of network IDs
headers:
X-Request-ID:
@@ -3117,10 +3108,11 @@ paths:
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise> = fireblocks.networkConnections.getNetworkIds();"
+ code: "const response: Promise>\
+ \ = fireblocks.networkConnections.getNetworkIds();"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response = fireblocks.networkConnections().getNetworkIds();
+ code: CompletableFuture>> response = fireblocks.networkConnections().getNetworkIds();
name: Fireblocks SDK Java example
x-accepts: application/json
post:
@@ -3141,7 +3133,7 @@ paths:
- Network Connection Crypto → **Default**
- Network Connection FIAT → **Default**
- Supported asset groups for routing police can be found at `/enabled_routing_policy_asset_groups`
+ Supported asset groups for routing police can be found at `/network_ids/routing_policy_asset_groups`
- **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
operationId: createNetworkId
@@ -3196,19 +3188,19 @@ paths:
name: Fireblocks SDK Java example
x-content-type: application/json
x-accepts: application/json
- /enabled_routing_policy_asset_groups:
+ /network_ids/routing_policy_asset_groups:
get:
description: |
Retrieves a list of all enabled routing policy asset groups.
Your routing policy defines how your transactions are routed.
You can use one or more enabled routing policy asset groups to describe connection or network id routing policy.
- operationId: getEnabledRoutingPolicyAssetGroups
+ operationId: getRoutingPolicyAssetGroups
responses:
"200":
content:
application/json:
schema:
- $ref: '#/components/schemas/GetEnabledRoutingPolicyAssetGroupsResponse'
+ $ref: '#/components/schemas/GetRoutingPolicyAssetGroupsResponse'
description: A list of enabled routing policy asset groups
headers:
X-Request-ID:
@@ -3225,7 +3217,15 @@ paths:
summary: Returns all enabled routing policy asset groups
tags:
- Network connections
- x-internal: true
+ x-readme:
+ code-samples:
+ - language: typescript
+ code: "const response: Promise>\
+ \ = fireblocks.networkConnections.getRoutingPolicyAssetGroups();"
+ name: Fireblocks SDK TypeScript example
+ - language: java
+ code: CompletableFuture>> response = fireblocks.networkConnections().getRoutingPolicyAssetGroups();
+ name: Fireblocks SDK Java example
x-accepts: application/json
/network_ids/{networkId}:
delete:
@@ -3262,7 +3262,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/setRoutingPolicy_200_response'
+ $ref: '#/components/schemas/DeleteNetworkIdResponse'
description: Network ID
default:
content:
@@ -3279,10 +3279,12 @@ paths:
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise> = fireblocks.networkConnections.deleteNetworkId(networkConnectionsApiDeleteNetworkIdRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.networkConnections.deleteNetworkId(networkConnectionsApiDeleteNetworkIdRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response = fireblocks.networkConnections().deleteNetworkId(networkId);
+ code: CompletableFuture> response =
+ fireblocks.networkConnections().deleteNetworkId(networkId);
name: Fireblocks SDK Java example
x-accepts: application/json
get:
@@ -3365,7 +3367,7 @@ paths:
- Network Connection Crypto → **Default**
- Network Connection FIAT → **Default**
- Supported asset groups for routing police can be found at `/enabled_routing_policy_asset_groups`
+ Supported asset groups for routing police can be found at `/network_ids/routing_policy_asset_groups`
- **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
operationId: setNetworkIdRoutingPolicy
@@ -3569,9 +3571,7 @@ paths:
content:
application/json:
schema:
- items:
- $ref: '#/components/schemas/UnmanagedWallet'
- type: array
+ $ref: '#/components/schemas/GetInternalWalletsResponse'
description: A list of internal wallets
headers:
X-Request-ID:
@@ -3591,10 +3591,11 @@ paths:
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise> = fireblocks.internalWallets.getInternalWallets();"
+ code: "const response: Promise>\
+ \ = fireblocks.internalWallets.getInternalWallets();"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response = fireblocks.internalWallets().getInternalWallets();
+ code: CompletableFuture>> response = fireblocks.internalWallets().getInternalWallets();
name: Fireblocks SDK Java example
x-accepts: application/json
post:
@@ -4025,9 +4026,7 @@ paths:
content:
application/json:
schema:
- items:
- $ref: '#/components/schemas/UnmanagedWallet'
- type: array
+ $ref: '#/components/schemas/GetExternalWalletsResponse'
description: A list of external wallets
headers:
X-Request-ID:
@@ -4053,10 +4052,11 @@ paths:
code: const externalWallets = await fireblocks.getExternalWallets();
name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise> = fireblocks.externalWallets.getExternalWallets();"
+ code: "const response: Promise>\
+ \ = fireblocks.externalWallets.getExternalWallets();"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response = fireblocks.externalWallets().getExternalWallets();
+ code: CompletableFuture>> response = fireblocks.externalWallets().getExternalWallets();
name: Fireblocks SDK Java example
x-accepts: application/json
post:
@@ -4489,9 +4489,7 @@ paths:
content:
application/json:
schema:
- items:
- $ref: '#/components/schemas/UnmanagedWallet'
- type: array
+ $ref: '#/components/schemas/GetContractsResponse'
description: A list of contracts
headers:
X-Request-ID:
@@ -4511,10 +4509,11 @@ paths:
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise> = fireblocks.contracts.getContracts();"
+ code: "const response: Promise>\
+ \ = fireblocks.contracts.getContracts();"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response = fireblocks.contracts().getContracts();
+ code: CompletableFuture>> response = fireblocks.contracts().getContracts();
name: Fireblocks SDK Java example
x-accepts: application/json
post:
@@ -4837,9 +4836,7 @@ paths:
content:
application/json:
schema:
- items:
- $ref: '#/components/schemas/AssetTypeResponse'
- type: array
+ $ref: '#/components/schemas/GetSupportedAssetsResponse'
description: A Transaction object
headers:
X-Request-ID:
@@ -4865,10 +4862,12 @@ paths:
code: const supportedAssets = await fireblocks.getSupportedAssets();
name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise> = fireblocks.blockchainsAssets.getSupportedAssets();"
+ code: "const response: Promise>\
+ \ = fireblocks.blockchainsAssets.getSupportedAssets();"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response = fireblocks.blockchainsAssets().getSupportedAssets();
+ code: CompletableFuture>> response =
+ fireblocks.blockchainsAssets().getSupportedAssets();
name: Fireblocks SDK Java example
x-accepts: application/json
/assets:
@@ -4908,23 +4907,32 @@ paths:
description: |
- Listing an asset on the requested blockchain is not supported. Error code: 1000
- - The asset address is invalid. Error code: 1004
+ - The asset address is invalid. Error code: 1003
+
+ - Self serve listing an asset on the requested blockchain is currently not supported, please contact support. Error code: 1004
+ "403":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AssetForbiddenErrorResponse'
+ description: |
+ - The asset creation quota reached. Error code: 1005
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/AssetNotFoundErrorResponse'
description: |
- - Invalid address, could not get asset information. Error code 1004
+ - Invalid address, could not get asset information. Error code 1003
"409":
content:
application/json:
schema:
$ref: '#/components/schemas/AssetConflictErrorResponse'
description: |
- - The asset is already supported globally. Error code: 1002
+ - The asset is already supported globally. Error code: 1001
- - The asset has already been added to this workspace. Error code: 1003
+ - The asset has already been added to this workspace. Error code: 1002
"500":
content:
application/json:
@@ -5114,9 +5122,7 @@ paths:
content:
application/json:
schema:
- items:
- $ref: '#/components/schemas/TransactionResponse'
- type: array
+ $ref: '#/components/schemas/GetTransactionsResponse'
description: A list of transactions
headers:
X-Request-ID:
@@ -5149,12 +5155,14 @@ paths:
after: from });
name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise> = fireblocks.transactions.getTransactions(transactionsApiGetTransactionsRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.transactions.getTransactions(transactionsApiGetTransactionsRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.transactions().getTransactions(before,\
- \ after, status, orderBy, sort, limit, sourceType, sourceId, destType,\
- \ destId, assets, txHash, sourceWalletId, destWalletId);"
+ code: "CompletableFuture>> response\
+ \ = fireblocks.transactions().getTransactions(before, after, status, orderBy,\
+ \ sort, limit, sourceType, sourceId, destType, destId, assets, txHash,\
+ \ sourceWalletId, destWalletId);"
name: Fireblocks SDK Java example
x-accepts: application/json
post:
@@ -6777,7 +6785,8 @@ paths:
\ fireblocks.userGroupsBeta.getUserGroups();"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response = fireblocks.userGroupsBeta().getUserGroups();
+ code: CompletableFuture>> response =
+ fireblocks.userGroupsBeta().getUserGroups();
name: Fireblocks SDK Java example
x-accepts: application/json
post:
@@ -7045,7 +7054,7 @@ paths:
code: "const response: Promise> = fireblocks.users.getUsers();"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response = fireblocks.users().getUsers();
+ code: CompletableFuture>> response = fireblocks.users().getUsers();
name: Fireblocks SDK Java example
x-accepts: application/json
/audits:
@@ -7526,105 +7535,120 @@ paths:
name: Fireblocks SDK Java example
x-content-type: application/json
x-accepts: application/json
- /staking/chains:
- get:
- description: Return an alphabetical list of supported chains.
- operationId: getChains
- parameters: []
- responses:
- "200":
- content:
- application/json:
- example:
- - ETH
- - SOL
- schema:
- items:
- type: string
- type: array
- description: ""
- summary: ""
- tags:
- - Staking (Beta)
- x-readme:
- code-samples:
- - language: typescript
- code: "const response: Promise> = fireblocks.stakingBeta.getChains();"
- name: Fireblocks SDK TypeScript example
- - language: java
- code: CompletableFuture> response = fireblocks.stakingBeta().getChains();
- name: Fireblocks SDK Java example
- x-accepts: application/json
- /staking/chains/{chainDescriptor}/chainInfo:
+ /tokenization/templates:
get:
- description: "Return chain-specific, staking-related information summary (e.g.\
- \ epoch details, lockup durations, estimated rewards, etc.)"
- operationId: getChainInfo
+ description: Return minimal representation of all the contract templates available
+ for the workspace
+ operationId: getContractTemplates
parameters:
- - description: The protocol identifier (e.g. "ETH"/"SOL") to use
- explode: false
- in: path
- name: chainDescriptor
- required: true
+ - description: Items per page (max 100)
+ explode: true
+ in: query
+ name: limit
+ required: false
+ schema:
+ default: 100
+ maximum: 100
+ minimum: 1
+ type: number
+ style: form
+ - description: Paging offset
+ explode: true
+ in: query
+ name: offset
+ required: false
+ schema:
+ default: 0
+ minimum: 0
+ type: number
+ style: form
+ - description: Page cursor to get the next page
+ example: MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA==
+ explode: true
+ in: query
+ name: pageCursor
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: "Number of items per page, requesting more then max will return\
+ \ max items"
+ example: 10
+ explode: true
+ in: query
+ name: pageSize
+ required: false
+ schema:
+ maximum: 100
+ minimum: 1
+ type: number
+ style: form
+ - description: "The type of the contract templates you wish to retrieve. Can\
+ \ accept one type, more or none"
+ example: FUNGIBLE_TOKEN
+ explode: true
+ in: query
+ name: type
+ required: false
schema:
enum:
- - ETH
- - SOL
- - ETH_TEST3
- - SOL_TEST
+ - FUNGIBLE_TOKEN
+ - NON_FUNGIBLE_TOKEN
+ - TOKEN_UTILITY
type: string
- style: simple
+ style: form
+ - explode: true
+ in: query
+ name: initializationPhase
+ required: false
+ schema:
+ enum:
+ - ON_DEPLOYMENT
+ - POST_DEPLOYMENT
+ type: string
+ style: form
responses:
"200":
content:
application/json:
schema:
- $ref: '#/components/schemas/ChainInfoResponseDto'
- description: Chain specific info summary was returned successfully
- summary: ""
+ $ref: '#/components/schemas/TemplatesPaginatedResponse'
+ description: List of contract templates was returned successfully
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorSchema'
+ description: Error Response
+ headers:
+ X-Request-ID:
+ $ref: '#/components/headers/X-Request-ID'
+ summary: List all contract templates
tags:
- - Staking (Beta)
+ - Contract Templates
x-readme:
code-samples:
+ - language: python
+ code: contract_templates = fireblocks.get_contract_templates()
+ name: Fireblocks SDK Python example
+ - language: javascript
+ code: const contractTemplates = await fireblocks.getContractTemplates();
+ name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise>\
- \ = fireblocks.stakingBeta.getChainInfo(stakingBetaApiGetChainInfoRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.contractTemplates.getContractTemplates(contractTemplatesApiGetContractTemplatesRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response = fireblocks.stakingBeta().getChainInfo(chainDescriptor);
+ code: "CompletableFuture> response\
+ \ = fireblocks.contractTemplates().getContractTemplates(limit, offset,\
+ \ pageCursor, pageSize, type, initializationPhase);"
name: Fireblocks SDK Java example
x-accepts: application/json
- /staking/chains/{chainDescriptor}/{actionId}:
post:
- description: "Perform a chain-specific staking action (e.g. stake, unstake,\
- \ withdraw)."
- operationId: executeAction
+ description: Upload a new contract template. This contract template will be
+ available for the workspace
+ operationId: uploadContractTemplate
parameters:
- - description: The protocol identifier (e.g. "ETH"/"SOL") to use
- explode: false
- in: path
- name: chainDescriptor
- required: true
- schema:
- enum:
- - ETH
- - SOL
- - ETH_TEST3
- - SOL_TEST
- type: string
- style: simple
- - description: The operation that can be executed on a vault/position
- explode: false
- in: path
- name: actionId
- required: true
- schema:
- enum:
- - stake
- - unstake
- - withdraw
- 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\
@@ -7639,324 +7663,286 @@ paths:
requestBody:
content:
application/json:
- examples:
- stake:
- value:
- vaultAccountId: "22"
- providerId: kiln
- stakeAmount: "32"
- chainDescriptor: ETH
- txNote: stake request id CcaHc2L43ZWjwCHART3oZoJvHLAe9hzT2DJNUpBzoTN1
- of 32ETH created on 02.04.23
- feeLevel: MEDIUM
- unstake:
- value:
- id: b70701f4-d7b1-4795-a8ee-b09cdb5b850b
- txNote: "unstake request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d\
- \ #ETH"
- feeLevel: MEDIUM
- withdraw:
- value:
- id: b70701f4-d7b1-4795-a8ee-b09cdb5b850c
- txNote: "withdraw request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d\
- \ #ETH"
- feeLevel: MEDIUM
schema:
- $ref: '#/components/schemas/ExecuteActionRequest'
+ $ref: '#/components/schemas/ContractUploadRequest'
required: true
responses:
"201":
content:
application/json:
- examples:
- stake:
- value:
- id: afedfd2e4-e3c9-4b70-90d6-eb0f74bfd4sd8
- unstake:
- value: {}
- withdraw:
- value: {}
schema:
- $ref: '#/components/schemas/ExecuteActionResponse'
- description: A chain-specific action has been executed successfully on vault/position
- and is associated with 201 status code.
- summary: ""
+ $ref: '#/components/schemas/ContractTemplateDto'
+ description: Contract was uploaded successfully
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorSchema'
+ description: Error Response
+ headers:
+ X-Request-ID:
+ $ref: '#/components/headers/X-Request-ID'
+ summary: Upload contract template
tags:
- - Staking (Beta)
+ - Contract Templates
x-readme:
code-samples:
+ - language: python
+ code: template = fireblocks.upload_contract_template(upload_request)
+ name: Fireblocks SDK Python example
+ - language: javascript
+ code: const contractTemplate = await fireblocks.uploadContractTemplate(uploadRequest);
+ name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise>\
- \ = fireblocks.stakingBeta.executeAction(stakingBetaApiExecuteActionRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.contractTemplates.uploadContractTemplate(contractTemplatesApiUploadContractTemplateRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response =\
- \ fireblocks.stakingBeta().executeAction(executeActionRequest, chainDescriptor,\
- \ actionId, idempotencyKey);"
+ code: "CompletableFuture> response = fireblocks.contractTemplates().uploadContractTemplate(contractUploadRequest,\
+ \ idempotencyKey);"
name: Fireblocks SDK Java example
x-content-type: application/json
x-accepts: application/json
- /staking/positions:
- get:
- description: "Return detailed information on all staking positions, including\
- \ the staked amount, rewards, status and more."
- operationId: getAllDelegations
+ /tokenization/templates/{contractTemplateId}:
+ delete:
+ description: "Delete a contract by id. allowed only for private contract templates.\
+ \ Notice: it is irreversible!"
+ operationId: deleteContractTemplateById
parameters:
- - description: Use "ETH" / "SOL" in order to obtain information related to the
- specific blockchain network or retrieve information about all chains that
- have data available by providing no argument.
- explode: true
- in: query
- name: chainDescriptor
- required: false
+ - description: The Contract Template identifier
+ example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
+ explode: false
+ in: path
+ name: contractTemplateId
+ required: true
schema:
type: string
- style: form
+ style: simple
responses:
- "200":
+ "204":
+ description: Contract was deleted successfully
+ "404":
content:
application/json:
schema:
- items:
- $ref: '#/components/schemas/DelegationDto'
- type: array
- description: An array of position data was returned successfully
- summary: ""
+ $ref: '#/components/schemas/HttpContractDoesNotExistError'
+ description: Could not find contract.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorSchema'
+ description: Error Response
+ headers:
+ X-Request-ID:
+ $ref: '#/components/headers/X-Request-ID'
+ summary: Delete a contract template by id
tags:
- - Staking (Beta)
+ - Contract Templates
x-readme:
code-samples:
+ - language: python
+ code: fireblocks.deleteContractTemplate(contract_id)
+ name: Fireblocks SDK Python example
+ - language: javascript
+ code: await fireblocks.getContractTemplate(contractId);
+ name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise> = fireblocks.stakingBeta.getAllDelegations(stakingBetaApiGetAllDelegationsRequest);"
+ code: "const response: Promise> = fireblocks.contractTemplates.deleteContractTemplateById(contractTemplatesApiDeleteContractTemplateByIdRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response = fireblocks.stakingBeta().getAllDelegations(chainDescriptor);
+ code: CompletableFuture> response = fireblocks.contractTemplates().deleteContractTemplateById(contractTemplateId);
name: Fireblocks SDK Java example
x-accepts: application/json
- /staking/positions/summary:
get:
- description: "Return a summary of all vaults, categorized by their status (active,\
- \ inactive), the total amounts staked and total rewards per-chain."
- operationId: getSummary
- parameters: []
+ description: Return detailed information about the contract template
+ operationId: getContractTemplateById
+ parameters:
+ - description: The Contract Template identifier
+ example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
+ explode: false
+ in: path
+ name: contractTemplateId
+ required: true
+ schema:
+ type: string
+ style: simple
responses:
"200":
content:
application/json:
- example:
- active:
- - chainDescriptor: ETH
- amount: "64.036604667"
- - chainDescriptor: SOL
- amount: "0.077345939"
- inactive:
- - chainDescriptor: ETH
- amount: "0"
- - chainDescriptor: SOL
- amount: "0"
- rewardsAmount:
- - chainDescriptor: ETH
- amount: "0.036604667"
- - chainDescriptor: SOL
- amount: "0.001345939"
- totalStaked:
- - chainDescriptor: ETH
- amount: "64.036604667"
- - chainDescriptor: SOL
- amount: "0.077345939"
schema:
- $ref: '#/components/schemas/DelegationSummaryDto'
- description: A summary for all vaults were returned successfully
- summary: ""
- tags:
- - Staking (Beta)
- x-readme:
- code-samples:
- - language: typescript
- code: "const response: Promise>\
- \ = fireblocks.stakingBeta.getSummary();"
- name: Fireblocks SDK TypeScript example
- - language: java
- code: CompletableFuture> response = fireblocks.stakingBeta().getSummary();
- name: Fireblocks SDK Java example
- x-accepts: application/json
- /staking/positions/summary/vaults:
- get:
- description: "Return a summary for each vault, categorized by their status (active,\
- \ inactive), the total amounts staked and total rewards per-chain."
- operationId: getSummaryByVault
- parameters: []
- responses:
- "200":
+ $ref: '#/components/schemas/ContractTemplateDto'
+ description: Contract template was returned successfully
+ "404":
content:
application/json:
- example:
- "0":
- active:
- - chainDescriptor: SOL
- amount: "0.015202376"
- inactive:
- - chainDescriptor: SOL
- amount: "0"
- rewardsAmount:
- - chainDescriptor: SOL
- amount: "0.000202376"
- totalStaked:
- - chainDescriptor: SOL
- amount: "0.015202376"
- "1":
- active:
- - chainDescriptor: ETH
- amount: "64.036604667"
- - chainDescriptor: SOL
- amount: "0.011191566"
- inactive:
- - chainDescriptor: ETH
- amount: "0"
- - chainDescriptor: SOL
- amount: "0"
- rewardsAmount:
- - chainDescriptor: ETH
- amount: "0.036604667"
- - chainDescriptor: SOL
- amount: "0.000191566"
- totalStaked:
- - chainDescriptor: ETH
- amount: "64.036604667"
- - chainDescriptor: SOL
- amount: "0.011191566"
schema:
- additionalProperties:
- $ref: '#/components/schemas/DelegationSummaryDto'
- type: object
- description: A summary for each vault were returned successfully
- summary: ""
+ $ref: '#/components/schemas/HttpContractDoesNotExistError'
+ description: Could not find contract.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorSchema'
+ description: Error Response
+ headers:
+ X-Request-ID:
+ $ref: '#/components/headers/X-Request-ID'
+ summary: Return contract template by id
tags:
- - Staking (Beta)
+ - Contract Templates
x-readme:
code-samples:
+ - language: python
+ code: contract_template = fireblocks.get_contract_template(contract_id)
+ name: Fireblocks SDK Python example
+ - language: javascript
+ code: const contractTemplate = await fireblocks.getContractTemplate(contractId);
+ name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise> = fireblocks.stakingBeta.getSummaryByVault();"
+ code: "const response: Promise>\
+ \ = fireblocks.contractTemplates.getContractTemplateById(contractTemplatesApiGetContractTemplateByIdRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response = fireblocks.stakingBeta().getSummaryByVault();
+ code: CompletableFuture> response = fireblocks.contractTemplates().getContractTemplateById(contractTemplateId);
name: Fireblocks SDK Java example
x-accepts: application/json
- /staking/positions/{id}:
+ /tokenization/templates/{contractTemplateId}/constructor:
get:
- description: "Return detailed information on a staking position, including the\
- \ staked amount, rewards, status and more."
- operationId: getDelegationById
+ description: Return contract template's constructor ABI
+ operationId: getConstructorByContractTemplateId
parameters:
- - description: The unique identifier of the staking position
+ - description: The Contract Template identifier
+ example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
explode: false
in: path
- name: id
+ name: contractTemplateId
required: true
schema:
type: string
style: simple
+ - description: true if you want to get the abi with its docs
+ explode: true
+ in: query
+ name: withDocs
+ required: false
+ schema:
+ default: false
+ type: boolean
+ style: form
responses:
"200":
content:
application/json:
schema:
- $ref: '#/components/schemas/DelegationDto'
- description: Position data was returned successfully
- summary: ""
- tags:
- - Staking (Beta)
- x-readme:
- code-samples:
- - language: typescript
- code: "const response: Promise> = fireblocks.stakingBeta.getDelegationById(stakingBetaApiGetDelegationByIdRequest);"
- name: Fireblocks SDK TypeScript example
- - language: java
- code: CompletableFuture> response = fireblocks.stakingBeta().getDelegationById(id);
- name: Fireblocks SDK Java example
- x-accepts: application/json
- /staking/providers:
- get:
- description: Return information on all the available staking providers.
- operationId: getProviders
- parameters: []
- responses:
- "200":
+ $ref: '#/components/schemas/AbiFunction'
+ description: Contract template's constructor ABI was returned successfully
+ "404":
content:
application/json:
schema:
- items:
- $ref: '#/components/schemas/ProviderDto'
- type: array
- description: An array of supported providers was returned successfully
- summary: ""
+ $ref: '#/components/schemas/HttpContractDoesNotExistError'
+ description: Could not find contract.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorSchema'
+ description: Error Response
+ headers:
+ X-Request-ID:
+ $ref: '#/components/headers/X-Request-ID'
+ summary: Return contract template's constructor
tags:
- - Staking (Beta)
+ - Contract Templates
x-readme:
code-samples:
+ - language: python
+ code: contract_constructor_abi = fireblocks.get_contract_template_constructor(contract_id)
+ name: Fireblocks SDK Python example
+ - language: javascript
+ code: const contractConstructorAbi = await fireblocks.getContractTemplateConstructor(contractId);
+ name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise> = fireblocks.stakingBeta.getProviders();"
+ code: "const response: Promise> = fireblocks.contractTemplates.getConstructorByContractTemplateId(contractTemplatesApiGetConstructorByContractTemplateIdRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response = fireblocks.stakingBeta().getProviders();
+ code: "CompletableFuture> response = fireblocks.contractTemplates().getConstructorByContractTemplateId(contractTemplateId,\
+ \ withDocs);"
name: Fireblocks SDK Java example
x-accepts: application/json
- /staking/providers/{providerId}/approveTermsOfService:
- post:
- description: |-
- Approve the terms of service of the staking provider.
- This must be called before performing a staking action for the first time with this provider.
- operationId: approveTermsOfServiceByProviderId
+ /tokenization/templates/{contractTemplateId}/function:
+ get:
+ description: Return contract template`s function ABI by signature
+ operationId: getFunctionAbiByContractTemplateId
parameters:
- - description: The unique identifier of the staking provider
+ - description: The Contract Template identifier
+ example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
explode: false
in: path
- name: providerId
+ name: contractTemplateId
required: true
schema:
- enum:
- - kiln
- - figment
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
+ - explode: true
+ in: query
+ name: functionSignature
+ required: true
schema:
type: string
- style: simple
+ style: form
responses:
- "201":
+ "200":
content:
application/json:
schema:
- $ref: '#/components/schemas/ProvidersResponseDto'
- description: The terms of service have been successfully approved and is
- associated with 201 status code.
- summary: ""
+ $ref: '#/components/schemas/AbiFunction'
+ description: Contract template`s function ABI was returned successfully
+ "404":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/HttpContractDoesNotExistError'
+ description: Could not find contract.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorSchema'
+ description: Error Response
+ headers:
+ X-Request-ID:
+ $ref: '#/components/headers/X-Request-ID'
+ summary: Return contract template's function
tags:
- - Staking (Beta)
+ - Contract Templates
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise>\
- \ = fireblocks.stakingBeta.approveTermsOfServiceByProviderId(stakingBetaApiApproveTermsOfServiceByProviderIdRequest);"
+ code: "const response: Promise> = fireblocks.contractTemplates.getFunctionAbiByContractTemplateId(contractTemplatesApiGetFunctionAbiByContractTemplateIdRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.stakingBeta().approveTermsOfServiceByProviderId(providerId,\
- \ idempotencyKey);"
+ code: "CompletableFuture> response = fireblocks.contractTemplates().getFunctionAbiByContractTemplateId(contractTemplateId,\
+ \ functionSignature);"
name: Fireblocks SDK Java example
x-accepts: application/json
- /admin_quorum:
- put:
- description: Update admin quorum threshold
- operationId: setAdminQuorumThreshold
+ /tokenization/templates/{contractTemplateId}/deploy:
+ post:
+ description: "Deploy a new contract by contract template id. If you wish to\
+ \ deploy a token (ERC20, ERC721 etc), and create asset please use POST /tokenization"
+ operationId: deployContract
parameters:
+ - description: The Contract Template identifier
+ example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
+ explode: false
+ in: path
+ name: contractTemplateId
+ 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\
@@ -7972,18 +7958,21 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/SetAdminQuorumThresholdRequest'
+ $ref: '#/components/schemas/ContractDeployRequest'
required: true
responses:
"202":
content:
application/json:
schema:
- $ref: '#/components/schemas/SetAdminQuorumThresholdResponse'
- description: OK
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
+ $ref: '#/components/schemas/ContractDeployResponse'
+ description: Contract was deployed successfully
+ "404":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/HttpContractDoesNotExistError'
+ description: Could not find contract.
default:
content:
application/json:
@@ -7993,102 +7982,233 @@ paths:
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
- summary: Update admin quorum threshold
+ summary: Deploy contract
tags:
- - Admin Quorum
- x-internal: true
+ - Contract Templates
x-readme:
code-samples:
- language: python
- code: result = fireblocks.set_admin_quorum_threshold(adminQuorumThreshold)
+ code: "response = fireblocks.deploy_contract(contract_id, contract_deploy_request)"
name: Fireblocks SDK Python example
- language: javascript
- code: const result = await fireblocks.setAdminQuorumThreshold(adminQuorumThreshold)
+ code: "const { txId } = await fireblocks.deployContract(contractId, contractDeployRequest);"
name: Fireblocks SDK Javascript example
+ - language: typescript
+ code: "const response: Promise>\
+ \ = fireblocks.contractTemplates.deployContract(contractTemplatesApiDeployContractRequest);"
+ name: Fireblocks SDK TypeScript example
+ - language: java
+ code: "CompletableFuture> response =\
+ \ fireblocks.contractTemplates().deployContract(contractDeployRequest,\
+ \ contractTemplateId, idempotencyKey);"
+ name: Fireblocks SDK Java example
x-content-type: application/json
x-accepts: application/json
- /nfts/ownership/tokens:
+ /tokenization/contracts:
get:
- description: |
- Returns all tokens and their data in your workspace.
- operationId: getOwnershipTokens
+ description: Return a filtered lean representation of the deployed contracts
+ data on all blockchains (paginated)
+ operationId: getDeployedContracts
parameters:
- - description: Blockchain descriptor filter
+ - description: Page cursor to get the next page
+ example: MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA==
explode: true
in: query
- name: blockchainDescriptor
+ name: pageCursor
required: false
schema:
- enum:
- - ETH
- - ETH_TEST3
- - ETH_TEST5
- - POLYGON
- - POLYGON_TEST_MUMBAI
- - XTZ
- - XTZ_TEST
- - BASECHAIN_ETH
type: string
style: form
- - description: A comma separated list of Vault Account IDs. Up to 100 are allowed
- in a single request. This field will be ignored when walletType=END_USER_WALLET
- or ncwId is provided.
+ - description: "Number of items per page, requesting more then max will return\
+ \ max items"
+ example: 10
explode: true
in: query
- name: vaultAccountIds
+ name: pageSize
required: false
schema:
- type: string
+ maximum: 100
+ minimum: 1
+ type: number
style: form
- - description: Tenant's Non-Custodial Wallet ID
+ - description: The contract's onchain address
+ example: 0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66
explode: true
in: query
- name: ncwId
+ name: contractAddress
required: false
schema:
type: string
style: form
- - description: A comma separated list of Non-Custodial account IDs. Up to 100
- are allowed in a single request. This field will be ignored when walletType=VAULT_ACCOUNT
- or ncwId is not provided.
- explode: true
+ - explode: true
in: query
- name: ncwAccountIds
+ name: assetId
required: false
schema:
type: string
style: form
- - description: "Wallet type, it can be `VAULT_ACCOUNT` or `END_USER_WALLET`"
- explode: true
+ - explode: true
in: query
- name: walletType
+ name: templateId
required: false
schema:
- default: VAULT_ACCOUNT
- enum:
- - VAULT_ACCOUNT
- - END_USER_WALLET
type: string
style: form
- - description: A comma separated list of NFT IDs. Up to 100 are allowed in a
- single request.
- explode: true
- in: query
- name: ids
- required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DeployedContractsPaginatedResponse'
+ description: Deployed contracts fetched successfully
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorSchema'
+ description: Error Response
+ headers:
+ X-Request-ID:
+ $ref: '#/components/headers/X-Request-ID'
+ summary: List deployed contracts data
+ tags:
+ - Deployed Contracts
+ x-readme:
+ code-samples:
+ - language: python
+ code: deployed_contracts = fireblocks.get_contracts_by_filter(template_id)
+ name: Fireblocks SDK Python example
+ - language: javascript
+ code: const deployedContracts = await fireblocks.getContractsByFilter(templateId);
+ name: Fireblocks SDK Javascript example
+ - language: typescript
+ code: "const response: Promise>\
+ \ = fireblocks.deployedContracts.getDeployedContracts(deployedContractsApiGetDeployedContractsRequest);"
+ name: Fireblocks SDK TypeScript example
+ - language: java
+ code: "CompletableFuture>\
+ \ response = fireblocks.deployedContracts().getDeployedContracts(pageCursor,\
+ \ pageSize, contractAddress, assetId, templateId);"
+ name: Fireblocks SDK Java example
+ x-accepts: application/json
+ /tokenization/contracts/{id}:
+ get:
+ description: Return deployed contract data by id
+ operationId: getDeployedContractById
+ parameters:
+ - description: The deployed contract data identifier
+ example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
+ explode: false
+ in: path
+ name: id
+ required: true
schema:
type: string
- style: form
- - description: A comma separated list of collection IDs. Up to 100 are allowed
- in a single request.
- explode: true
- in: query
- name: collectionIds
- required: false
+ style: simple
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DeployedContractResponseDto'
+ description: ""
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorSchema'
+ description: Error Response
+ headers:
+ X-Request-ID:
+ $ref: '#/components/headers/X-Request-ID'
+ summary: Return deployed contract data by id
+ tags:
+ - Deployed Contracts
+ x-readme:
+ code-samples:
+ - language: python
+ code: deployed_contracts = fireblocks.get_contract_by_id(contract_id)
+ name: Fireblocks SDK Python example
+ - language: javascript
+ code: const deployedContracts = await fireblocks.getContractById(contractId);
+ name: Fireblocks SDK Javascript example
+ - language: typescript
+ code: "const response: Promise>\
+ \ = fireblocks.deployedContracts.getDeployedContractById(deployedContractsApiGetDeployedContractByIdRequest);"
+ name: Fireblocks SDK TypeScript example
+ - language: java
+ code: CompletableFuture> response
+ = fireblocks.deployedContracts().getDeployedContractById(id);
+ name: Fireblocks SDK Java example
+ x-accepts: application/json
+ /tokenization/contracts/{assetId}/{contractAddress}:
+ get:
+ description: Return deployed contract data by blockchain native asset id and
+ contract address
+ operationId: getDeployedContractByAddress
+ parameters:
+ - description: The contract's onchain address
+ example: 0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66
+ explode: false
+ in: path
+ name: contractAddress
+ required: true
schema:
type: string
- style: form
- - description: Page cursor to fetch
+ style: simple
+ - explode: false
+ in: path
+ name: assetId
+ required: true
+ schema:
+ type: string
+ style: simple
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DeployedContractResponseDto'
+ description: ""
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorSchema'
+ description: Error Response
+ headers:
+ X-Request-ID:
+ $ref: '#/components/headers/X-Request-ID'
+ summary: Return deployed contract data
+ tags:
+ - Deployed Contracts
+ x-readme:
+ code-samples:
+ - language: python
+ code: "deployed_contract = fireblocks.get_contract_by_address(base_asset_id,\
+ \ contract_address)"
+ name: Fireblocks SDK Python example
+ - language: javascript
+ code: "const deployedContract = await fireblocks.getContractByAddress(baseAssetId,\
+ \ contractAddress);"
+ name: Fireblocks SDK Javascript example
+ - language: typescript
+ code: "const response: Promise>\
+ \ = fireblocks.deployedContracts.getDeployedContractByAddress(deployedContractsApiGetDeployedContractByAddressRequest);"
+ name: Fireblocks SDK TypeScript example
+ - language: java
+ code: "CompletableFuture> response\
+ \ = fireblocks.deployedContracts().getDeployedContractByAddress(contractAddress,\
+ \ assetId);"
+ name: Fireblocks SDK Java example
+ x-accepts: application/json
+ /tokenization/tokens:
+ get:
+ description: Return all linked tokens (paginated)
+ operationId: getLinkedTokens
+ parameters:
+ - description: Page cursor to get the next page
+ example: MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA==
explode: true
in: query
name: pageCursor
@@ -8096,7 +8216,9 @@ paths:
schema:
type: string
style: form
- - description: Items per page (max 100)
+ - description: "Number of items per page, requesting more then max will return\
+ \ max items"
+ example: 10
explode: true
in: query
name: pageSize
@@ -8106,122 +8228,59 @@ paths:
minimum: 1
type: number
style: form
- - description: "Sort by param, it can be one param or a list of params separated\
- \ by comma"
- explode: true
- in: query
- name: sort
- required: false
- schema:
- items:
- enum:
- - ownershipLastUpdateTime
- - name
- - collection.name
- - blockchainDescriptor
- type: string
- type: array
- style: form
- - description: "Order direction, it can be `ASC` for ascending or `DESC` for\
- \ descending"
- explode: true
- in: query
- name: order
- required: false
- schema:
- default: ASC
- enum:
- - DESC
- - ASC
- type: string
- style: form
- - description: Token ownership status
+ - description: A comma separated list of statuses to filter. Default is "COMPLETED"
+ example: COMPLETED
explode: true
in: query
name: status
required: false
- schema:
- default: LISTED
- enum:
- - LISTED
- - ARCHIVED
- type: string
- style: form
- - description: "Search owned tokens and their collections. Possible criteria\
- \ for search: token name and id within the contract/collection, collection\
- \ name, blockchain descriptor and name."
- explode: true
- in: query
- name: search
- required: false
- schema:
- maximum: 100
- type: string
- style: form
- - description: Token ownership spam status.
- explode: true
- in: query
- name: spam
- required: false
- schema:
- enum:
- - "true"
- - "false"
- - all
- type: string
+ schema: {}
style: form
responses:
"200":
content:
application/json:
schema:
- $ref: '#/components/schemas/getOwnershipTokens_200_response'
+ $ref: '#/components/schemas/TokensPaginatedResponse'
description: ""
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorSchema'
+ description: Error Response
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
- summary: List all owned tokens (paginated)
+ summary: List all linked tokens
tags:
- - NFTs
+ - Tokenization
x-readme:
code-samples:
+ - language: python
+ code: linked_tokens = fireblocks.get_linked_tokens(payload)
+ name: Fireblocks SDK Python example
+ - language: javascript
+ code: const linkedTokens = await fireblocks.getLinkedTokens(payload);
+ name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise> = fireblocks.nFTs.getOwnershipTokens(nFTsApiGetOwnershipTokensRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.tokenization.getLinkedTokens(tokenizationApiGetLinkedTokensRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.nFTs().getOwnershipTokens(blockchainDescriptor,\
- \ vaultAccountIds, ncwId, ncwAccountIds, walletType, ids, collectionIds,\
- \ pageCursor, pageSize, sort, order, status, search, spam);"
+ code: "CompletableFuture> response\
+ \ = fireblocks.tokenization().getLinkedTokens(pageCursor, pageSize, status);"
name: Fireblocks SDK Java example
x-accepts: application/json
- put:
- description: |
- Updates all tokens and balances per blockchain and vault account.
- operationId: updateOwnershipTokens
+ post:
+ description: "Facilitates the creation of a new token, supporting both EVM-based\
+ \ and Stellar/Ripple platforms. For EVM, it deploys the corresponding contract\
+ \ template to the blockchain and links the token to the workspace. For Stellar/Ripple,\
+ \ it links a newly created token directly to the workspace without deploying\
+ \ a contract. Returns the token link with status \"PENDING\" until the token\
+ \ is deployed or \"SUCCESS\" if no deployment is needed."
+ operationId: issueNewToken
parameters:
- - description: Blockchain descriptor filter
- explode: true
- in: query
- name: blockchainDescriptor
- required: true
- schema:
- enum:
- - ETH
- - ETH_TEST3
- - ETH_TEST5
- - POLYGON
- - POLYGON_TEST_MUMBAI
- - BASECHAIN_ETH
- type: string
- style: form
- - description: Vault account filter
- explode: true
- in: query
- name: vaultAccountId
- required: true
- schema:
- type: string
- style: form
- 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\
@@ -8233,274 +8292,186 @@ paths:
schema:
type: string
style: simple
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateTokenRequestDto'
+ required: true
responses:
- "202":
- description: ""
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- summary: Refresh vault account tokens
+ "201":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TokenLinkDto'
+ description: Token was created successfully
+ "409":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AssetAlreadyExistHttpError'
+ description: Asset already exists
+ summary: Issue a new token
tags:
- - NFTs
+ - Tokenization
x-readme:
code-samples:
+ - language: python
+ code: token = fireblocks.issue_new_token(payload)
+ name: Fireblocks SDK Python example
+ - language: javascript
+ code: const token = await fireblocks.issueNewToken(payload);
+ name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise> = fireblocks.nFTs.updateOwnershipTokens(nFTsApiUpdateOwnershipTokensRequest);"
+ code: "const response: Promise> = fireblocks.tokenization.issueNewToken(tokenizationApiIssueNewTokenRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.nFTs().updateOwnershipTokens(blockchainDescriptor,\
- \ vaultAccountId, idempotencyKey);"
+ code: "CompletableFuture> response = fireblocks.tokenization().issueNewToken(createTokenRequestDto,\
+ \ idempotencyKey);"
name: Fireblocks SDK Java example
+ x-content-type: application/json
x-accepts: application/json
- /nfts/ownership/assets:
- get:
- description: |
- Returns all owned distinct tokens (for your tenant) and their data in your workspace.
- operationId: listOwnedTokens
+ /tokenization/tokens/link:
+ post:
+ description: "Link an already existing token (by assetId, collectionId or contractId\
+ \ as refId) to a workspace across EVM, Stellar, or Ripple platforms. The token\
+ \ will be linked to the workspace if it does not already exist."
+ operationId: link
parameters:
- - description: Tenant's Non-Custodial Wallet ID
- explode: true
- in: query
- name: ncwId
- required: false
- schema:
- type: string
- style: form
- - description: "Wallet type, it can be `VAULT_ACCOUNT` or `END_USER_WALLET`"
- explode: true
- in: query
- name: walletType
- required: false
- schema:
- default: VAULT_ACCOUNT
- enum:
- - VAULT_ACCOUNT
- - END_USER_WALLET
- type: string
- style: form
- - description: Page cursor to fetch
- explode: true
- in: query
- name: pageCursor
- required: false
- schema:
- type: string
- style: form
- - description: Items per page (max 100)
- explode: true
- in: query
- name: pageSize
- required: false
- schema:
- maximum: 100
- minimum: 1
- type: number
- style: form
- - description: "Sort by param, it can be one param or a list of params separated\
- \ by comma"
- explode: true
- in: query
- name: sort
- required: false
- schema:
- items:
- enum:
- - name
- type: string
- type: array
- style: form
- - description: "Order direction, it can be `ASC` for ascending or `DESC` for\
- \ descending"
- explode: true
- in: query
- name: order
- required: false
- schema:
- default: ASC
- enum:
- - DESC
- - ASC
- type: string
- style: form
- - description: Token ownership status
- explode: true
- in: query
- name: status
- required: false
- schema:
- default: LISTED
- enum:
- - LISTED
- - ARCHIVED
- type: string
- style: form
- - description: Search owned tokens by token name
- explode: true
- in: query
- name: search
- required: false
- schema:
- maximum: 100
- type: string
- style: form
- - description: Token ownership spam status.
- explode: true
- in: query
- name: spam
+ - 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:
- enum:
- - "true"
- - "false"
- - all
type: string
- style: form
+ style: simple
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TokenLinkRequestDto'
+ required: true
responses:
"200":
content:
application/json:
schema:
- $ref: '#/components/schemas/listOwnedTokens_200_response'
+ $ref: '#/components/schemas/TokenLinkDto'
+ description: Token linked successfully
+ "201":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TokenLinkDto'
description: ""
+ "404":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AssetDoesNotExistHttpError'
+ description: Could not find the underlying token identifier (refId) to link
+ the token to
+ "409":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TokenLinkExistsHttpError'
+ description: "Token link for {refId} already exists"
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorSchema'
+ description: Error Response
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
- summary: List all distinct owned tokens (paginated)
+ summary: Link a token
tags:
- - NFTs
+ - Tokenization
x-readme:
code-samples:
+ - language: python
+ code: "token = fireblocks.link_token(\"FUNGIBLE_TOKEN\", ref_id)"
+ name: Fireblocks SDK Python example
+ - language: javascript
+ code: "const token = await fireblocks.linkToken(\"FUNGIBLE_TOKEN\", refId);"
+ name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise> = fireblocks.nFTs.listOwnedTokens(nFTsApiListOwnedTokensRequest);"
+ code: "const response: Promise> = fireblocks.tokenization.link(tokenizationApiLinkRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.nFTs().listOwnedTokens(ncwId,\
- \ walletType, pageCursor, pageSize, sort, order, status, search, spam);"
+ code: "CompletableFuture> response = fireblocks.tokenization().link(tokenLinkRequestDto,\
+ \ idempotencyKey);"
name: Fireblocks SDK Java example
+ x-content-type: application/json
x-accepts: application/json
- /nfts/ownership/collections:
- get:
- description: |
- Returns all collections in your workspace
- operationId: listOwnedCollections
+ /tokenization/tokens/{id}:
+ delete:
+ description: "Unlink a token. The token will be unlinked from the workspace.\
+ \ The token will not be deleted on chain nor the refId, only the link to the\
+ \ workspace will be removed."
+ operationId: unlink
parameters:
- - description: Tenant's Non-Custodial Wallet ID
- explode: true
- in: query
- name: ncwId
- required: false
- schema:
- type: string
- style: form
- - description: "Wallet type, it can be `VAULT_ACCOUNT` or `END_USER_WALLET`"
- explode: true
- in: query
- name: walletType
- required: false
- schema:
- default: VAULT_ACCOUNT
- enum:
- - VAULT_ACCOUNT
- - END_USER_WALLET
- type: string
- style: form
- - description: "Search owned collections. Possible criteria for search: collection\
- \ name, collection contract address."
- explode: true
- in: query
- name: search
- required: false
- schema:
- maximum: 100
- type: string
- style: form
- - description: Page cursor to fetch
- explode: true
- in: query
- name: pageCursor
- required: false
- schema:
- type: string
- style: form
- - description: Items per page (max 100)
- explode: true
- in: query
- name: pageSize
- required: false
- schema:
- maximum: 100
- minimum: 1
- type: number
- style: form
- - description: "Sort by param, it can be one param or a list of params separated\
- \ by comma"
- explode: true
- in: query
- name: sort
- required: false
- schema:
- items:
- enum:
- - name
- type: string
- type: array
- style: form
- - description: "Order direction, it can be `ASC` for ascending or `DESC` for\
- \ descending"
- explode: true
- in: query
- name: order
- required: false
- schema:
- default: ASC
- enum:
- - DESC
- - ASC
- type: string
- style: form
- - description: Token ownership status
- explode: true
- in: query
- name: status
- required: false
+ - description: The token link id
+ example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb
+ explode: false
+ in: path
+ name: id
+ required: true
schema:
- default: LISTED
- enum:
- - LISTED
- - ARCHIVED
type: string
- style: form
+ style: simple
responses:
"200":
+ content: {}
+ description: Token unlinked successfully
+ "204":
+ content: {}
+ description: ""
+ "404":
content:
application/json:
schema:
- $ref: '#/components/schemas/listOwnedCollections_200_response'
- description: ""
+ $ref: '#/components/schemas/NotFoundException'
+ description: Link did not exist
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorSchema'
+ description: Error Response
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
- summary: List owned collections (paginated)
+ summary: Unlink a token
tags:
- - NFTs
+ - Tokenization
x-readme:
code-samples:
+ - language: python
+ code: token = fireblocks.unlink_token(token_id)
+ name: Fireblocks SDK Python example
+ - language: javascript
+ code: const token = await fireblocks.unlinkToken(tokenId);
+ name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise> = fireblocks.nFTs.listOwnedCollections(nFTsApiListOwnedCollectionsRequest);"
+ code: "const response: Promise> = fireblocks.tokenization.unlink(tokenizationApiUnlinkRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.nFTs().listOwnedCollections(ncwId,\
- \ walletType, search, pageCursor, pageSize, sort, order, status);"
+ code: CompletableFuture> response = fireblocks.tokenization().unlink(id);
name: Fireblocks SDK Java example
x-accepts: application/json
- /nfts/tokens/{id}:
get:
- description: |
- Returns the requested token data.
- operationId: getNFT
+ description: "Return a linked token, with its status and metadata."
+ operationId: getLinkedToken
parameters:
- - description: NFT ID
- example: NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd
+ - description: The token link id
+ example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb
explode: false
in: path
name: id
@@ -8513,37 +8484,41 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/TokenResponse'
- description: ""
+ $ref: '#/components/schemas/TokenLinkDto'
+ description: Token fetched successfully
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorSchema'
+ description: Error Response
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
- summary: List token data by ID
+ summary: Return a linked token
tags:
- - NFTs
+ - Tokenization
x-readme:
code-samples:
+ - language: python
+ code: token = fireblocks.get_linked_token(token_id)
+ name: Fireblocks SDK Python example
+ - language: javascript
+ code: const token = await fireblocks.getLinkedToken(tokenId);
+ name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise> = fireblocks.nFTs.getNFT(nFTsApiGetNFTRequest);"
+ code: "const response: Promise> = fireblocks.tokenization.getLinkedToken(tokenizationApiGetLinkedTokenRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response = fireblocks.nFTs().getNFT(id);
+ code: CompletableFuture> response = fireblocks.tokenization().getLinkedToken(id);
name: Fireblocks SDK Java example
x-accepts: application/json
- put:
- description: |
- Updates the latest token metadata.
- operationId: refreshNFTMetadata
+ /contract_interactions/base_asset_id/{assetId}/contract_address/{contractAddress}/functions:
+ get:
+ description: Return deployed contract's ABI by blockchain native asset id and
+ contract address
+ operationId: getDeployedContractAbi
parameters:
- - description: NFT ID
- example: NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd
- explode: false
- in: path
- name: id
- 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\
@@ -8555,124 +8530,67 @@ paths:
schema:
type: string
style: simple
- responses:
- "202":
- description: ""
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- summary: Refresh token metadata
- tags:
- - NFTs
- x-readme:
- code-samples:
- - language: typescript
- code: "const response: Promise> = fireblocks.nFTs.refreshNFTMetadata(nFTsApiRefreshNFTMetadataRequest);"
- name: Fireblocks SDK TypeScript example
- - language: java
- code: "CompletableFuture> response = fireblocks.nFTs().refreshNFTMetadata(id,\
- \ idempotencyKey);"
- name: Fireblocks SDK Java example
- x-accepts: application/json
- /nfts/tokens:
- get:
- description: |
- Returns the requested tokens data.
- operationId: getNFTs
- parameters:
- - description: A comma separated list of NFT IDs. Up to 100 are allowed in a
- single request.
- explode: true
- in: query
- name: ids
+ - description: The contract's onchain address
+ example: 0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66
+ explode: false
+ in: path
+ name: contractAddress
required: true
schema:
type: string
- style: form
- - description: Page cursor to fetch
- explode: true
- in: query
- name: pageCursor
- required: false
- schema:
- type: string
- style: form
- - description: Items per page (max 100)
- explode: true
- in: query
- name: pageSize
- required: false
- schema:
- maximum: 100
- minimum: 1
- type: number
- style: form
- - description: "Sort by param, it can be one param or a list of params separated\
- \ by comma"
- explode: true
- in: query
- name: sort
- required: false
- schema:
- items:
- enum:
- - collection.name
- - name
- - blockchainDescriptor
- type: string
- type: array
- style: form
- - description: "Order direction, it can be `ASC` for ascending or `DESC` for\
- \ descending"
- explode: true
- in: query
- name: order
- required: false
+ style: simple
+ - explode: false
+ in: path
+ name: assetId
+ required: true
schema:
- default: ASC
- enum:
- - DESC
- - ASC
type: string
- style: form
+ style: simple
responses:
"200":
content:
application/json:
schema:
- $ref: '#/components/schemas/listOwnedTokens_200_response'
+ $ref: '#/components/schemas/ContractAbiResponseDto'
description: ""
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorSchema'
+ description: Error Response
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
- summary: List tokens by IDs
+ summary: Return deployed contract's ABI
tags:
- - NFTs
+ - Contract Interactions
x-readme:
code-samples:
+ - language: python
+ code: "deployed_contract_abi = fireblocks.get_contracts_abi(base_asset_id,\
+ \ contract_address)"
+ name: Fireblocks SDK Python example
+ - language: javascript
+ code: "const deployedContractAbi = await fireblocks.getContractAbi(baseAssetId,\
+ \ contractAddress);"
+ name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise> = fireblocks.nFTs.getNFTs(nFTsApiGetNFTsRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.contractInteractions.getDeployedContractAbi(contractInteractionsApiGetDeployedContractAbiRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.nFTs().getNFTs(ids,\
- \ pageCursor, pageSize, sort, order);"
+ code: "CompletableFuture> response =\
+ \ fireblocks.contractInteractions().getDeployedContractAbi(contractAddress,\
+ \ assetId, idempotencyKey);"
name: Fireblocks SDK Java example
x-accepts: application/json
- /nfts/ownership/tokens/{id}/status:
- put:
- description: |
- Updates token status for a tenant, in all tenant vaults.
- operationId: updateTokenOwnershipStatus
+ /contract_interactions/base_asset_id/{assetId}/contract_address/{contractAddress}/functions/read:
+ post:
+ description: Call a read function on a deployed contract by blockchain native
+ asset id and contract address
+ operationId: readCallFunction
parameters:
- - description: NFT ID
- example: NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd
- explode: false
- in: path
- name: id
- 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\
@@ -8684,36 +8602,75 @@ paths:
schema:
type: string
style: simple
+ - description: The contract's onchain address
+ example: 0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66
+ explode: false
+ in: path
+ name: contractAddress
+ required: true
+ schema:
+ type: string
+ style: simple
+ - explode: false
+ in: path
+ name: assetId
+ required: true
+ schema:
+ type: string
+ style: simple
requestBody:
content:
application/json:
schema:
- $ref: '#/components/schemas/UpdateTokenOwnershipStatusDto'
+ $ref: '#/components/schemas/ReadCallFunctionDto'
required: true
responses:
"200":
- description: ""
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ParameterWithValueList'
+ description: Read Call Retrieved Successfully
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorSchema'
+ description: Error Response
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
- summary: Update token ownership status
+ summary: Call a read function on a deployed contract
tags:
- - NFTs
+ - Contract Interactions
x-readme:
code-samples:
+ - language: python
+ code: "read_response = fireblocks.read_contract_call_function(base_asset_id,\
+ \ contract_address, payload)"
+ name: Fireblocks SDK Python example
+ - language: javascript
+ code: "const readResponse= await fireblocks.readContractCallFunction(baseAssetId,\
+ \ contractAddress, payload);"
+ name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise> = fireblocks.nFTs.updateTokenOwnershipStatus(nFTsApiUpdateTokenOwnershipStatusRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.contractInteractions.readCallFunction(contractInteractionsApiReadCallFunctionRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.nFTs().updateTokenOwnershipStatus(updateTokenOwnershipStatusDto,\
- \ id, idempotencyKey);"
+ code: "CompletableFuture>> response\
+ \ = fireblocks.contractInteractions().readCallFunction(readCallFunctionDto,\
+ \ contractAddress, assetId, idempotencyKey);"
name: Fireblocks SDK Java example
x-content-type: application/json
x-accepts: application/json
- /nfts/ownership/tokens/status:
- put:
- description: "Updates tokens status for a tenant, in all tenant vaults."
- operationId: updateTokensOwnershipStatus
+ /contract_interactions/base_asset_id/{assetId}/contract_address/{contractAddress}/functions/write:
+ post:
+ description: "Call a write function on a deployed contract by blockchain native\
+ \ asset id and contract address. This creates an onchain transaction, thus\
+ \ it is an async operation. It returns a transaction id that can be polled\
+ \ for status check"
+ operationId: writeCallFunction
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\
@@ -8726,220 +8683,166 @@ paths:
schema:
type: string
style: simple
+ - description: The contract's onchain address
+ example: 0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66
+ explode: false
+ in: path
+ name: contractAddress
+ required: true
+ schema:
+ type: string
+ style: simple
+ - explode: false
+ in: path
+ name: assetId
+ required: true
+ schema:
+ type: string
+ style: simple
requestBody:
content:
application/json:
schema:
- items:
- $ref: '#/components/schemas/TokenOwnershipStatusUpdatePayload'
- type: array
+ $ref: '#/components/schemas/WriteCallFunctionDto'
required: true
responses:
- "200":
- description: All token statuses have been updated
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "400":
- description: Invalid data sent
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "404":
- description: When ownership for token ID is not found
+ "202":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/WriteCallFunctionResponseDto'
+ description: ""
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorSchema'
+ description: Error Response
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
- summary: Update tokens ownership status
+ summary: Call a write function on a deployed contract
tags:
- - NFTs
+ - Contract Interactions
x-readme:
code-samples:
+ - language: python
+ code: "write_function_response = fireblocks.write_contract_call_function(base_asset_id,\
+ \ contract_address, payload)"
+ name: Fireblocks SDK Python example
+ - language: javascript
+ code: "const writeFunctionResponse = await fireblocks.writeContractCallFunction(baseAssetId,\
+ \ contractAddress, payload);"
+ name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise> = fireblocks.nFTs.updateTokensOwnershipStatus(nFTsApiUpdateTokensOwnershipStatusRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.contractInteractions.writeCallFunction(contractInteractionsApiWriteCallFunctionRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.nFTs().updateTokensOwnershipStatus(updateTokensOwnershipStatusRequest,\
- \ idempotencyKey);"
+ code: "CompletableFuture> response\
+ \ = fireblocks.contractInteractions().writeCallFunction(writeCallFunctionDto,\
+ \ contractAddress, assetId, idempotencyKey);"
name: Fireblocks SDK Java example
x-content-type: application/json
x-accepts: application/json
- /nfts/ownership/tokens/spam:
- put:
- description: "Updates tokens spam property for a tenant's token ownerships,\
- \ in all tenant vaults."
- operationId: updateTokensOwnershipSpam
- 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:
- items:
- $ref: '#/components/schemas/TokenOwnershipSpamUpdatePayload'
- type: array
- required: true
+ /staking/chains:
+ get:
+ description: Return an alphabetical list of supported chains.
+ operationId: getChains
+ parameters: []
responses:
"200":
- description: All token spam properties have been updated
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "400":
- description: Invalid data sent
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "404":
- description: When ownership for token ID is not found
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- summary: Update tokens ownership spam property
+ content:
+ application/json:
+ example:
+ - ETH
+ - SOL
+ schema:
+ $ref: '#/components/schemas/StakingGetChainsResponse'
+ description: ""
+ summary: ""
tags:
- - NFTs
+ - Staking (Beta)
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise> = fireblocks.nFTs.updateTokensOwnershipSpam(nFTsApiUpdateTokensOwnershipSpamRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.stakingBeta.getChains();"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.nFTs().updateTokensOwnershipSpam(updateTokensOwnershipSpamRequest,\
- \ idempotencyKey);"
+ code: CompletableFuture>> response = fireblocks.stakingBeta().getChains();
name: Fireblocks SDK Java example
- x-content-type: application/json
x-accepts: application/json
- /connections:
+ /staking/chains/{chainDescriptor}/chainInfo:
get:
- description: Get open Web3 connections.
- operationId: get
+ description: "Return chain-specific, staking-related information summary (e.g.\
+ \ epoch details, lockup durations, estimated rewards, etc.)"
+ operationId: getChainInfo
parameters:
- - description: List order; ascending or descending.
- explode: true
- in: query
- name: order
- required: false
- schema:
- default: ASC
- enum:
- - ASC
- - DESC
- type: string
- style: form
- - description: Parsed filter object
- examples:
- object:
- description: ""
- summary: The filter object
- value:
- id: string
- userId: string
- vaultAccountId: number
- connectionMethod: string
- feeLevel: string
- appUrl: string
- appName: string
- stringified:
- description: |-
- About stringified parsed objects:
-
- * Each key-value pair is separated by '=', and each pair is separated by ',' (you can use [`qs`](https://www.npmjs.com/package/qs) package for this)
- summary: The stringified parsed object
- value: "id=string,userId=string,vaultAccountId=number,connectionMethod=string,feeLevel=string,appUrl=string,appName=string"
- explode: true
- in: query
- name: filter
- required: false
- schema:
- $ref: '#/components/schemas/get_filter_parameter'
- style: form
- - description: Property to sort Web3 connections by.
- explode: true
- in: query
- name: sort
- required: false
+ - description: The protocol identifier (e.g. "ETH"/"SOL") to use
+ explode: false
+ in: path
+ name: chainDescriptor
+ required: true
schema:
- default: createdAt
enum:
- - id
- - userId
- - vaultAccountId
- - createdAt
- - feeLevel
- - appUrl
- - appName
- type: string
- style: form
- - description: Amount of results to return in the next page.
- explode: true
- in: query
- name: pageSize
- required: false
- schema:
- default: 10
- maximum: 50
- type: number
- style: form
- - description: Cursor to the next page
- explode: true
- in: query
- name: next
- required: false
- schema:
+ - ETH
+ - SOL
+ - ETH_TEST3
+ - SOL_TEST
type: string
- style: form
+ style: simple
responses:
"200":
content:
application/json:
schema:
- $ref: '#/components/schemas/GetConnectionsResponse'
- description: ""
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "400":
- description: Query parameters were invalid
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "500":
- description: Something went wrong
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- summary: List all open Web3 connections.
+ $ref: '#/components/schemas/ChainInfoResponseDto'
+ description: Chain specific info summary was returned successfully
+ summary: ""
tags:
- - Web3 connections
+ - Staking (Beta)
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise>\
- \ = fireblocks.web3Connections.get(web3ConnectionsApiGetRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.stakingBeta.getChainInfo(stakingBetaApiGetChainInfoRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response =\
- \ fireblocks.web3Connections().get(order, filter, sort, pageSize, next);"
+ code: CompletableFuture> response = fireblocks.stakingBeta().getChainInfo(chainDescriptor);
name: Fireblocks SDK Java example
x-accepts: application/json
- /connections/wc:
+ /staking/chains/{chainDescriptor}/{actionId}:
post:
- description: |-
- Initiate a new Web3 connection.
-
- * Note: After this succeeds, make a request to `PUT /v1/connections/wc/{id}` (below) to approve or reject the new Web3 connection.
- operationId: create
+ description: "Perform a chain-specific staking action (e.g. stake, unstake,\
+ \ withdraw)."
+ operationId: executeAction
parameters:
+ - description: The protocol identifier (e.g. "ETH"/"SOL") to use
+ explode: false
+ in: path
+ name: chainDescriptor
+ required: true
+ schema:
+ enum:
+ - ETH
+ - SOL
+ - ETH_TEST3
+ - SOL_TEST
+ type: string
+ style: simple
+ - description: The operation that can be executed on a vault/position
+ explode: false
+ in: path
+ name: actionId
+ required: true
+ schema:
+ enum:
+ - stake
+ - unstake
+ - withdraw
+ 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\
@@ -8954,394 +8857,321 @@ paths:
requestBody:
content:
application/json:
+ examples:
+ stake:
+ value:
+ vaultAccountId: "22"
+ providerId: kiln
+ stakeAmount: "32"
+ chainDescriptor: ETH
+ txNote: stake request id CcaHc2L43ZWjwCHART3oZoJvHLAe9hzT2DJNUpBzoTN1
+ of 32ETH created on 02.04.23
+ feeLevel: MEDIUM
+ unstake:
+ value:
+ id: b70701f4-d7b1-4795-a8ee-b09cdb5b850b
+ txNote: "unstake request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d\
+ \ #ETH"
+ feeLevel: MEDIUM
+ withdraw:
+ value:
+ id: b70701f4-d7b1-4795-a8ee-b09cdb5b850c
+ txNote: "withdraw request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d\
+ \ #ETH"
+ feeLevel: MEDIUM
schema:
- $ref: '#/components/schemas/create_request'
+ $ref: '#/components/schemas/ExecuteActionRequest'
required: true
responses:
"201":
content:
application/json:
+ examples:
+ stake:
+ value:
+ id: afedfd2e4-e3c9-4b70-90d6-eb0f74bfd4sd8
+ unstake:
+ value: {}
+ withdraw:
+ value: {}
schema:
- $ref: '#/components/schemas/CreateConnectionResponse'
- description: Web3 connection initiated successfully
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "400":
- description: Invalid data sent
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "500":
- description: Something went wrong
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- summary: Create a new Web3 connection.
+ $ref: '#/components/schemas/ExecuteActionResponse'
+ description: A chain-specific action has been executed successfully on vault/position
+ and is associated with 201 status code.
+ summary: ""
tags:
- - Web3 connections
+ - Staking (Beta)
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise>\
- \ = fireblocks.web3Connections.create(web3ConnectionsApiCreateRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.stakingBeta.executeAction(stakingBetaApiExecuteActionRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response\
- \ = fireblocks.web3Connections().create(createRequest, idempotencyKey);"
+ code: "CompletableFuture> response =\
+ \ fireblocks.stakingBeta().executeAction(executeActionRequest, chainDescriptor,\
+ \ actionId, idempotencyKey);"
name: Fireblocks SDK Java example
x-content-type: application/json
x-accepts: application/json
- /connections/wc/{id}:
- delete:
- description: Remove a Web3 connection
- operationId: remove
+ /staking/positions:
+ get:
+ description: "Return detailed information on all staking positions, including\
+ \ the staked amount, rewards, status and more."
+ operationId: getAllDelegations
parameters:
- - description: The ID of the existing Web3 connection to remove.
- explode: false
- in: path
- name: id
- required: true
+ - description: Use "ETH" / "SOL" in order to obtain information related to the
+ specific blockchain network or retrieve information about all chains that
+ have data available by providing no argument.
+ explode: true
+ in: query
+ name: chainDescriptor
+ required: false
schema:
type: string
- style: simple
+ style: form
responses:
"200":
- description: Connection removed successfully
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "404":
- description: Connection not found
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "500":
- description: Something went wrong
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- summary: Remove an existing Web3 connection.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/StakingGetAllDelegationsResponse'
+ description: An array of position data was returned successfully
+ summary: ""
tags:
- - Web3 connections
+ - Staking (Beta)
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise> = fireblocks.web3Connections.remove(web3ConnectionsApiRemoveRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.stakingBeta.getAllDelegations(stakingBetaApiGetAllDelegationsRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response = fireblocks.web3Connections().remove(id);
+ code: CompletableFuture>> response = fireblocks.stakingBeta().getAllDelegations(chainDescriptor);
name: Fireblocks SDK Java example
x-accepts: application/json
- put:
- description: |-
- Submit a response to *approve* or *reject* an initiated Web3 connection.
- * Note: This call is used to complete your `POST /v1/connections/wc/` request.
-
- After this succeeds, your new Web3 connection is created and functioning.
- operationId: submit
- parameters:
- - description: The ID of the initiated Web3 connection to approve.
- explode: false
- in: path
- name: id
- 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/RespondToConnectionRequest'
- required: true
+ /staking/positions/summary:
+ get:
+ description: "Return a summary of all vaults, categorized by their status (active,\
+ \ inactive), the total amounts staked and total rewards per-chain."
+ operationId: getSummary
+ parameters: []
responses:
"200":
- description: Connection submitted successfully
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "400":
- description: Invalid data sent
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "404":
- description: Connection not found
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "500":
- description: Something went wrong
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- summary: Respond to a pending Web3 connection request.
+ content:
+ application/json:
+ example:
+ active:
+ - chainDescriptor: ETH
+ amount: "64.036604667"
+ - chainDescriptor: SOL
+ amount: "0.077345939"
+ inactive:
+ - chainDescriptor: ETH
+ amount: "0"
+ - chainDescriptor: SOL
+ amount: "0"
+ rewardsAmount:
+ - chainDescriptor: ETH
+ amount: "0.036604667"
+ - chainDescriptor: SOL
+ amount: "0.001345939"
+ totalStaked:
+ - chainDescriptor: ETH
+ amount: "64.036604667"
+ - chainDescriptor: SOL
+ amount: "0.077345939"
+ schema:
+ $ref: '#/components/schemas/DelegationSummaryDto'
+ description: A summary for all vaults were returned successfully
+ summary: ""
tags:
- - Web3 connections
+ - Staking (Beta)
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise> = fireblocks.web3Connections.submit(web3ConnectionsApiSubmitRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.stakingBeta.getSummary();"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.web3Connections().submit(respondToConnectionRequest,\
- \ id, idempotencyKey);"
+ code: CompletableFuture> response = fireblocks.stakingBeta().getSummary();
name: Fireblocks SDK Java example
- x-content-type: application/json
x-accepts: application/json
- /screening/travel_rule/transaction/validate:
- post:
- description: |-
- Validate Travel Rule transactions.
-
- Checks what beneficiary VASP details are required by your jurisdiction and the beneficiary's jurisdiction.
-
- **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available.
-
- To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com).
- operationId: validateTravelRuleTransaction
- 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/TravelRuleValidateTransactionRequest'
- required: true
+ /staking/positions/summary/vaults:
+ get:
+ description: "Return a summary for each vault, categorized by their status (active,\
+ \ inactive), the total amounts staked and total rewards per-chain."
+ operationId: getSummaryByVault
+ parameters: []
responses:
"200":
content:
application/json:
+ example:
+ "0":
+ active:
+ - chainDescriptor: SOL
+ amount: "0.015202376"
+ inactive:
+ - chainDescriptor: SOL
+ amount: "0"
+ rewardsAmount:
+ - chainDescriptor: SOL
+ amount: "0.000202376"
+ totalStaked:
+ - chainDescriptor: SOL
+ amount: "0.015202376"
+ "1":
+ active:
+ - chainDescriptor: ETH
+ amount: "64.036604667"
+ - chainDescriptor: SOL
+ amount: "0.011191566"
+ inactive:
+ - chainDescriptor: ETH
+ amount: "0"
+ - chainDescriptor: SOL
+ amount: "0"
+ rewardsAmount:
+ - chainDescriptor: ETH
+ amount: "0.036604667"
+ - chainDescriptor: SOL
+ amount: "0.000191566"
+ totalStaked:
+ - chainDescriptor: ETH
+ amount: "64.036604667"
+ - chainDescriptor: SOL
+ amount: "0.011191566"
schema:
- $ref: '#/components/schemas/TravelRuleValidateTransactionResponse'
- description: Transaction validated successfully
- "400":
- description: Invalid request body
- "500":
- description: Internal server error
- summary: Validate Travel Rule Transaction
+ $ref: '#/components/schemas/StakingGetSummaryByVaultResponse'
+ description: A summary for each vault were returned successfully
+ summary: ""
tags:
- - Travel Rule (Beta)
+ - Staking (Beta)
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise>\
- \ = fireblocks.travelRuleBeta.validateTravelRuleTransaction(travelRuleBetaApiValidateTravelRuleTransactionRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.stakingBeta.getSummaryByVault();"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture>\
- \ response = fireblocks.travelRuleBeta().validateTravelRuleTransaction(travelRuleValidateTransactionRequest,\
- \ idempotencyKey);"
+ code: CompletableFuture> response
+ = fireblocks.stakingBeta().getSummaryByVault();
name: Fireblocks SDK Java example
- x-content-type: application/json
x-accepts: application/json
- /screening/travel_rule/transaction/validate/full:
- post:
- description: |-
- Validate Full Travel Rule transactions.
-
- Checks for all required information on the originator and beneficiary VASPs.
-
- **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available.
-
- To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com).
- operationId: validateFullTravelRuleTransaction
+ /staking/positions/{id}:
+ get:
+ description: "Return detailed information on a staking position, including the\
+ \ staked amount, rewards, status and more."
+ operationId: getDelegationById
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."
+ - description: The unique identifier of the staking position
explode: false
- in: header
- name: Idempotency-Key
- required: false
+ in: path
+ name: id
+ required: true
schema:
type: string
style: simple
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/TravelRuleValidateFullTransactionRequest'
- required: true
responses:
"200":
content:
application/json:
schema:
- $ref: '#/components/schemas/TravelRuleValidateTransactionResponse'
- description: Transaction validated successfully
- "400":
- description: Invalid request body
- "500":
- description: Internal server error
- summary: Validate Full Travel Rule Transaction
+ $ref: '#/components/schemas/DelegationDto'
+ description: Position data was returned successfully
+ summary: ""
tags:
- - Travel Rule (Beta)
+ - Staking (Beta)
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise>\
- \ = fireblocks.travelRuleBeta.validateFullTravelRuleTransaction(travelRuleBetaApiValidateFullTravelRuleTransactionRequest);"
+ code: "const response: Promise> = fireblocks.stakingBeta.getDelegationById(stakingBetaApiGetDelegationByIdRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture>\
- \ response = fireblocks.travelRuleBeta().validateFullTravelRuleTransaction(travelRuleValidateFullTransactionRequest,\
- \ idempotencyKey);"
+ code: CompletableFuture> response = fireblocks.stakingBeta().getDelegationById(id);
name: Fireblocks SDK Java example
- x-content-type: application/json
x-accepts: application/json
- /screening/travel_rule/vasp/{did}:
+ /staking/providers:
get:
- description: |-
- Get VASP Details.
-
- Returns information about a VASP that has the specified DID.
-
- **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available.
-
- To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com).
- operationId: getVASPByDID
- parameters:
- - explode: false
- in: path
- name: did
- required: true
- schema:
- type: string
- style: simple
- - description: "CSV of fields to return (all, \"blank\" or see list of all field\
- \ names below)"
- explode: true
- in: query
- name: fields
- required: false
- schema:
- type: string
- style: form
+ description: Return information on all the available staking providers.
+ operationId: getProviders
+ parameters: []
responses:
"200":
content:
application/json:
schema:
- $ref: '#/components/schemas/TravelRuleVASP'
- description: Transaction validated successfully
- "400":
- description: Invalid request body
- "500":
- description: Internal server error
- summary: Get VASP details
+ $ref: '#/components/schemas/StakingGetProvidersResponse'
+ description: An array of supported providers was returned successfully
+ summary: ""
tags:
- - Travel Rule (Beta)
+ - Staking (Beta)
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise> = fireblocks.travelRuleBeta.getVASPByDID(travelRuleBetaApiGetVASPByDIDRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.stakingBeta.getProviders();"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.travelRuleBeta().getVASPByDID(did,\
- \ fields);"
+ code: CompletableFuture>> response = fireblocks.stakingBeta().getProviders();
name: Fireblocks SDK Java example
x-accepts: application/json
- /screening/travel_rule/vasp:
- get:
+ /staking/providers/{providerId}/approveTermsOfService:
+ post:
description: |-
- Get All VASPs.
-
- Returns a list of VASPs. VASPs can be searched and sorted and results are paginated.
-
- **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available.
-
- To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com).
- operationId: getVASPs
+ Approve the terms of service of the staking provider.
+ This must be called before performing a staking action for the first time with this provider.
+ operationId: approveTermsOfServiceByProviderId
parameters:
- - description: Field to order by
- explode: true
- in: query
- name: order
- required: false
+ - description: The unique identifier of the staking provider
+ explode: false
+ in: path
+ name: providerId
+ required: true
schema:
+ enum:
+ - kiln
+ - figment
type: string
- style: form
- - description: Records per page
- explode: true
- in: query
- name: per_page
- required: false
- schema:
- type: number
- style: form
- - description: Page number
- explode: true
- in: query
- name: page
- required: false
- schema:
- type: number
- style: form
- - description: "CSV of fields to return (all, \"blank\" or see list of all field\
- \ names below)"
- explode: true
- in: query
- name: fields
+ 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: form
+ style: simple
responses:
- "200":
+ "201":
content:
application/json:
schema:
- $ref: '#/components/schemas/TravelRuleGetAllVASPsResponse'
- description: Get all VASPs
- summary: Get All VASPs
+ $ref: '#/components/schemas/ProvidersResponseDto'
+ description: The terms of service have been successfully approved and is
+ associated with 201 status code.
+ summary: ""
tags:
- - Travel Rule (Beta)
+ - Staking (Beta)
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise>\
- \ = fireblocks.travelRuleBeta.getVASPs(travelRuleBetaApiGetVASPsRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.stakingBeta.approveTermsOfServiceByProviderId(stakingBetaApiApproveTermsOfServiceByProviderIdRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response\
- \ = fireblocks.travelRuleBeta().getVASPs(order, perPage, page, fields);"
+ code: "CompletableFuture> response = fireblocks.stakingBeta().approveTermsOfServiceByProviderId(providerId,\
+ \ idempotencyKey);"
name: Fireblocks SDK Java example
x-accepts: application/json
- /screening/travel_rule/vasp/update:
+ /admin_quorum:
put:
- description: |-
- Update VASP Details.
-
- Updates a VASP with the provided parameters. Use this endpoint to add your public jsonDIDkey generated by Notabene.
-
- **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available.
-
- To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com).
- operationId: updateVasp
+ description: Update admin quorum threshold
+ operationId: setAdminQuorumThreshold
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\
@@ -9358,181 +9188,262 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/TravelRuleUpdateVASPDetails'
+ $ref: '#/components/schemas/SetAdminQuorumThresholdRequest'
required: true
responses:
- "200":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/TravelRuleUpdateVASPDetails'
- description: VASP updated successfully
- "400":
- description: Invalid request body
- "500":
- description: Internal server error
- summary: Add jsonDidKey to VASP details
- tags:
- - Travel Rule (Beta)
- x-readme:
- code-samples:
- - language: typescript
- code: "const response: Promise>\
- \ = fireblocks.travelRuleBeta.updateVasp(travelRuleBetaApiUpdateVaspRequest);"
- name: Fireblocks SDK TypeScript example
- - language: java
- code: "CompletableFuture> response\
- \ = fireblocks.travelRuleBeta().updateVasp(travelRuleUpdateVASPDetails,\
- \ idempotencyKey);"
- name: Fireblocks SDK Java example
- x-content-type: application/json
- x-accepts: application/json
- /screening/travel_rule/post_screening_policy:
- get:
- description: Get the post-screening policy for Travel Rule.
- operationId: getPostScreeningPolicy
- parameters: []
- responses:
- "200":
+ "202":
content:
application/json:
schema:
- $ref: '#/components/schemas/ScreeningPolicyResponse'
- description: Post-screening policy retrieved successfully.
- summary: Travel Rule - View Post-Screening Policy
- tags:
- - Compliance
- x-readme:
- code-samples:
- - language: typescript
- code: "const response: Promise>\
- \ = fireblocks.compliance.getPostScreeningPolicy();"
- name: Fireblocks SDK TypeScript example
- - language: java
- code: CompletableFuture> response =
- fireblocks.compliance().getPostScreeningPolicy();
- name: Fireblocks SDK Java example
- x-accepts: application/json
- /screening/travel_rule/screening_policy:
- get:
- description: Get the screening policy for Travel Rule.
- operationId: getScreeningPolicy
- parameters: []
- responses:
- "200":
+ $ref: '#/components/schemas/SetAdminQuorumThresholdResponse'
+ description: OK
+ headers:
+ X-Request-ID:
+ $ref: '#/components/headers/X-Request-ID'
+ default:
content:
application/json:
schema:
- $ref: '#/components/schemas/ScreeningProviderRulesConfigurationResponse'
- description: Screening policy retrieved successfully.
- summary: Travel Rule - View Screening Policy
+ $ref: '#/components/schemas/ErrorSchema'
+ description: Error Response
+ headers:
+ X-Request-ID:
+ $ref: '#/components/headers/X-Request-ID'
+ summary: Update admin quorum threshold
tags:
- - Compliance
+ - Admin Quorum
+ x-internal: true
x-readme:
code-samples:
- - language: typescript
- code: "const response: Promise>\
- \ = fireblocks.compliance.getScreeningPolicy();"
- name: Fireblocks SDK TypeScript example
- - language: java
- code: CompletableFuture>
- response = fireblocks.compliance().getScreeningPolicy();
- name: Fireblocks SDK Java example
+ - language: python
+ code: result = fireblocks.set_admin_quorum_threshold(adminQuorumThreshold)
+ name: Fireblocks SDK Python example
+ - language: javascript
+ code: const result = await fireblocks.setAdminQuorumThreshold(adminQuorumThreshold)
+ name: Fireblocks SDK Javascript example
+ x-content-type: application/json
x-accepts: application/json
- /screening/travel_rule/policy_configuration:
+ /nfts/ownership/tokens:
get:
- description: Retrieves the configuration for Travel Rule screening policy.
- operationId: getScreeningConfiguration
- parameters: []
- responses:
- "200":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ScreeningConfigurationsRequest'
- description: Screening policy configuration retrieved successfully.
- summary: Get Travel Rule Screening Policy Configuration
- tags:
- - Compliance Screening Configuration
- x-readme:
- code-samples:
- - language: typescript
- code: "const response: Promise>\
- \ = fireblocks.complianceScreeningConfiguration.getScreeningConfiguration();"
- name: Fireblocks SDK TypeScript example
- - language: java
- code: CompletableFuture> response
- = fireblocks.complianceScreeningConfiguration().getScreeningConfiguration();
- name: Fireblocks SDK Java example
- x-accepts: application/json
- put:
- description: "Updates bypass screening, inbound delay, or outbound delay configurations\
- \ for Travel Rule."
- operationId: updateTravelRuleConfig
+ description: |
+ Returns all tokens and their data in your workspace.
+ operationId: getOwnershipTokens
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
+ - description: Blockchain descriptor filter
+ explode: true
+ in: query
+ name: blockchainDescriptor
required: false
schema:
+ enum:
+ - ETH
+ - ETH_TEST3
+ - ETH_TEST5
+ - ETH_TEST6
+ - POLYGON
+ - POLYGON_TEST_MUMBAI
+ - AMOY_POLYGON_TEST
+ - XTZ
+ - XTZ_TEST
+ - BASECHAIN_ETH
type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ScreeningConfigurationsRequest'
- description: Configuration updated successfully.
- summary: Update Travel Rule Configuration
- tags:
- - Compliance
- x-readme:
- code-samples:
- - language: typescript
- code: "const response: Promise>\
- \ = fireblocks.compliance.updateTravelRuleConfig(complianceApiUpdateTravelRuleConfigRequest);"
- name: Fireblocks SDK TypeScript example
- - language: java
- code: CompletableFuture> response
- = fireblocks.compliance().updateTravelRuleConfig(idempotencyKey);
- name: Fireblocks SDK Java example
- x-accepts: application/json
- /screening/aml/policy_configuration:
- get:
- description: Retrieves the configuration for Travel Rule screening policy.
- operationId: getAmlScreeningConfiguration
- parameters: []
+ style: form
+ - description: A comma separated list of Vault Account IDs. Up to 100 are allowed
+ in a single request. This field will be ignored when walletType=END_USER_WALLET
+ or ncwId is provided.
+ explode: true
+ in: query
+ name: vaultAccountIds
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Tenant's Non-Custodial Wallet ID
+ explode: true
+ in: query
+ name: ncwId
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: A comma separated list of Non-Custodial account IDs. Up to 100
+ are allowed in a single request. This field will be ignored when walletType=VAULT_ACCOUNT
+ or ncwId is not provided.
+ explode: true
+ in: query
+ name: ncwAccountIds
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: "Wallet type, it can be `VAULT_ACCOUNT` or `END_USER_WALLET`"
+ explode: true
+ in: query
+ name: walletType
+ required: false
+ schema:
+ default: VAULT_ACCOUNT
+ enum:
+ - VAULT_ACCOUNT
+ - END_USER_WALLET
+ type: string
+ style: form
+ - description: A comma separated list of NFT IDs. Up to 100 are allowed in a
+ single request.
+ explode: true
+ in: query
+ name: ids
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: A comma separated list of collection IDs. Up to 100 are allowed
+ in a single request.
+ explode: true
+ in: query
+ name: collectionIds
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Page cursor to fetch
+ explode: true
+ in: query
+ name: pageCursor
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Items per page (max 100)
+ explode: true
+ in: query
+ name: pageSize
+ required: false
+ schema:
+ maximum: 100
+ minimum: 1
+ type: number
+ style: form
+ - description: "Sort by param, it can be one param or a list of params separated\
+ \ by comma"
+ explode: true
+ in: query
+ name: sort
+ required: false
+ schema:
+ items:
+ enum:
+ - ownershipLastUpdateTime
+ - name
+ - collection.name
+ - blockchainDescriptor
+ type: string
+ type: array
+ style: form
+ - description: "Order direction, it can be `ASC` for ascending or `DESC` for\
+ \ descending"
+ explode: true
+ in: query
+ name: order
+ required: false
+ schema:
+ default: ASC
+ enum:
+ - DESC
+ - ASC
+ type: string
+ style: form
+ - description: Token ownership status
+ explode: true
+ in: query
+ name: status
+ required: false
+ schema:
+ default: LISTED
+ enum:
+ - LISTED
+ - ARCHIVED
+ type: string
+ style: form
+ - description: "Search owned tokens and their collections. Possible criteria\
+ \ for search: token name and id within the contract/collection, collection\
+ \ name, blockchain descriptor and name."
+ explode: true
+ in: query
+ name: search
+ required: false
+ schema:
+ maximum: 100
+ type: string
+ style: form
+ - description: Token ownership spam status.
+ explode: true
+ in: query
+ name: spam
+ required: false
+ schema:
+ enum:
+ - "true"
+ - "false"
+ - all
+ type: string
+ style: form
responses:
"200":
content:
application/json:
schema:
- $ref: '#/components/schemas/ScreeningConfigurationsRequest'
- description: Screening policy configuration retrieved successfully.
- summary: Get AML Screening Policy Configuration
+ $ref: '#/components/schemas/GetOwnershipTokensResponse'
+ description: ""
+ headers:
+ X-Request-ID:
+ $ref: '#/components/headers/X-Request-ID'
+ summary: List all owned tokens (paginated)
tags:
- - Compliance Screening Configuration
+ - NFTs
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise>\
- \ = fireblocks.complianceScreeningConfiguration.getAmlScreeningConfiguration();"
+ code: "const response: Promise>\
+ \ = fireblocks.nFTs.getOwnershipTokens(nFTsApiGetOwnershipTokensRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response
- = fireblocks.complianceScreeningConfiguration().getAmlScreeningConfiguration();
+ code: "CompletableFuture> response\
+ \ = fireblocks.nFTs().getOwnershipTokens(blockchainDescriptor, vaultAccountIds,\
+ \ ncwId, ncwAccountIds, walletType, ids, collectionIds, pageCursor, pageSize,\
+ \ sort, order, status, search, spam);"
name: Fireblocks SDK Java example
x-accepts: application/json
put:
- description: "Updates bypass screening, inbound delay, or outbound delay configurations\
- \ for AML."
- operationId: updateAmlScreeningConfiguration
+ description: |
+ Updates all tokens and balances per blockchain and vault account.
+ operationId: updateOwnershipTokens
parameters:
+ - description: Blockchain descriptor filter
+ explode: true
+ in: query
+ name: blockchainDescriptor
+ required: true
+ schema:
+ enum:
+ - ETH
+ - ETH_TEST3
+ - ETH_TEST5
+ - ETH_TEST6
+ - POLYGON
+ - POLYGON_TEST_MUMBAI
+ - AMOY_POLYGON_TEST
+ - BASECHAIN_ETH
+ type: string
+ style: form
+ - description: Vault account filter
+ explode: true
+ in: query
+ name: vaultAccountId
+ required: true
+ schema:
+ type: string
+ style: form
- 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\
@@ -9545,144 +9456,449 @@ paths:
type: string
style: simple
responses:
- "200":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ScreeningConfigurationsRequest'
- description: Configuration updated successfully.
- summary: Update AML Configuration
+ "202":
+ description: ""
+ headers:
+ X-Request-ID:
+ $ref: '#/components/headers/X-Request-ID'
+ summary: Refresh vault account tokens
tags:
- - Compliance
+ - NFTs
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise>\
- \ = fireblocks.compliance.updateAmlScreeningConfiguration(complianceApiUpdateAmlScreeningConfigurationRequest);"
+ code: "const response: Promise> = fireblocks.nFTs.updateOwnershipTokens(nFTsApiUpdateOwnershipTokensRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response
- = fireblocks.compliance().updateAmlScreeningConfiguration(idempotencyKey);
+ code: "CompletableFuture> response = fireblocks.nFTs().updateOwnershipTokens(blockchainDescriptor,\
+ \ vaultAccountId, idempotencyKey);"
name: Fireblocks SDK Java example
x-accepts: application/json
- /screening/aml/screening_policy:
+ /nfts/ownership/assets:
get:
- description: Get the screening policy for AML.
- operationId: getAmlScreeningPolicy
- parameters: []
+ description: |
+ Returns all owned distinct tokens (for your tenant) and their data in your workspace.
+ operationId: listOwnedTokens
+ parameters:
+ - description: Tenant's Non-Custodial Wallet ID
+ explode: true
+ in: query
+ name: ncwId
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: "Wallet type, it can be `VAULT_ACCOUNT` or `END_USER_WALLET`"
+ explode: true
+ in: query
+ name: walletType
+ required: false
+ schema:
+ default: VAULT_ACCOUNT
+ enum:
+ - VAULT_ACCOUNT
+ - END_USER_WALLET
+ type: string
+ style: form
+ - description: Page cursor to fetch
+ explode: true
+ in: query
+ name: pageCursor
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Items per page (max 100)
+ explode: true
+ in: query
+ name: pageSize
+ required: false
+ schema:
+ maximum: 100
+ minimum: 1
+ type: number
+ style: form
+ - description: "Sort by param, it can be one param or a list of params separated\
+ \ by comma"
+ explode: true
+ in: query
+ name: sort
+ required: false
+ schema:
+ items:
+ enum:
+ - name
+ type: string
+ type: array
+ style: form
+ - description: "Order direction, it can be `ASC` for ascending or `DESC` for\
+ \ descending"
+ explode: true
+ in: query
+ name: order
+ required: false
+ schema:
+ default: ASC
+ enum:
+ - DESC
+ - ASC
+ type: string
+ style: form
+ - description: Token ownership status
+ explode: true
+ in: query
+ name: status
+ required: false
+ schema:
+ default: LISTED
+ enum:
+ - LISTED
+ - ARCHIVED
+ type: string
+ style: form
+ - description: Search owned tokens by token name
+ explode: true
+ in: query
+ name: search
+ required: false
+ schema:
+ maximum: 100
+ type: string
+ style: form
+ - description: Token ownership spam status.
+ explode: true
+ in: query
+ name: spam
+ required: false
+ schema:
+ enum:
+ - "true"
+ - "false"
+ - all
+ type: string
+ style: form
responses:
"200":
content:
application/json:
schema:
- $ref: '#/components/schemas/ScreeningProviderRulesConfigurationResponse'
- description: Screening policy retrieved successfully.
- summary: AML - View Screening Policy
+ $ref: '#/components/schemas/ListOwnedTokensResponse'
+ description: ""
+ headers:
+ X-Request-ID:
+ $ref: '#/components/headers/X-Request-ID'
+ summary: List all distinct owned tokens (paginated)
tags:
- - Compliance
+ - NFTs
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise>\
- \ = fireblocks.compliance.getAmlScreeningPolicy();"
+ code: "const response: Promise>\
+ \ = fireblocks.nFTs.listOwnedTokens(nFTsApiListOwnedTokensRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture>
- response = fireblocks.compliance().getAmlScreeningPolicy();
+ code: "CompletableFuture> response\
+ \ = fireblocks.nFTs().listOwnedTokens(ncwId, walletType, pageCursor, pageSize,\
+ \ sort, order, status, search, spam);"
name: Fireblocks SDK Java example
x-accepts: application/json
- /screening/aml/post_screening_policy:
+ /nfts/ownership/collections:
get:
- description: Get the post-screening policy for AML.
- operationId: getAmlPostScreeningPolicy
- parameters: []
+ description: |
+ Returns all collections in your workspace
+ operationId: listOwnedCollections
+ parameters:
+ - description: Tenant's Non-Custodial Wallet ID
+ explode: true
+ in: query
+ name: ncwId
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: "Wallet type, it can be `VAULT_ACCOUNT` or `END_USER_WALLET`"
+ explode: true
+ in: query
+ name: walletType
+ required: false
+ schema:
+ default: VAULT_ACCOUNT
+ enum:
+ - VAULT_ACCOUNT
+ - END_USER_WALLET
+ type: string
+ style: form
+ - description: "Search owned collections. Possible criteria for search: collection\
+ \ name, collection contract address."
+ explode: true
+ in: query
+ name: search
+ required: false
+ schema:
+ maximum: 100
+ type: string
+ style: form
+ - description: Page cursor to fetch
+ explode: true
+ in: query
+ name: pageCursor
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Items per page (max 100)
+ explode: true
+ in: query
+ name: pageSize
+ required: false
+ schema:
+ maximum: 100
+ minimum: 1
+ type: number
+ style: form
+ - description: "Sort by param, it can be one param or a list of params separated\
+ \ by comma"
+ explode: true
+ in: query
+ name: sort
+ required: false
+ schema:
+ items:
+ enum:
+ - name
+ type: string
+ type: array
+ style: form
+ - description: "Order direction, it can be `ASC` for ascending or `DESC` for\
+ \ descending"
+ explode: true
+ in: query
+ name: order
+ required: false
+ schema:
+ default: ASC
+ enum:
+ - DESC
+ - ASC
+ type: string
+ style: form
+ - description: Token ownership status
+ explode: true
+ in: query
+ name: status
+ required: false
+ schema:
+ default: LISTED
+ enum:
+ - LISTED
+ - ARCHIVED
+ type: string
+ style: form
responses:
"200":
content:
application/json:
schema:
- $ref: '#/components/schemas/ScreeningPolicyResponse'
- description: Post-screening policy retrieved successfully.
- summary: AML - View Post-Screening Policy
+ $ref: '#/components/schemas/ListOwnedCollectionsResponse'
+ description: ""
+ headers:
+ X-Request-ID:
+ $ref: '#/components/headers/X-Request-ID'
+ summary: List owned collections (paginated)
tags:
- - Compliance
+ - NFTs
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise>\
- \ = fireblocks.compliance.getAmlPostScreeningPolicy();"
+ code: "const response: Promise>\
+ \ = fireblocks.nFTs.listOwnedCollections(nFTsApiListOwnedCollectionsRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response =
- fireblocks.compliance().getAmlPostScreeningPolicy();
+ code: "CompletableFuture> response\
+ \ = fireblocks.nFTs().listOwnedCollections(ncwId, walletType, search,\
+ \ pageCursor, pageSize, sort, order, status);"
name: Fireblocks SDK Java example
x-accepts: application/json
- /screening/configurations:
- put:
- description: Update tenant screening configuration.
- operationId: updateScreeningConfiguration
+ /nfts/tokens/{id}:
+ get:
+ description: |
+ Returns the requested token data.
+ operationId: getNFT
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."
+ - description: NFT ID
+ example: NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd
explode: false
- in: header
- name: Idempotency-Key
- required: false
- schema:
- type: string
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
style: simple
responses:
"200":
content:
application/json:
schema:
- $ref: '#/components/schemas/ScreeningUpdateConfigurationsRequest'
- description: Tenant Screening configuration updated successfully.
- summary: Tenant - Screening Configuration
+ $ref: '#/components/schemas/TokenResponse'
+ description: ""
+ headers:
+ X-Request-ID:
+ $ref: '#/components/headers/X-Request-ID'
+ summary: List token data by ID
tags:
- - Compliance
+ - NFTs
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise>\
- \ = fireblocks.compliance.updateScreeningConfiguration(complianceApiUpdateScreeningConfigurationRequest);"
+ code: "const response: Promise> = fireblocks.nFTs.getNFT(nFTsApiGetNFTRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture>
- response = fireblocks.compliance().updateScreeningConfiguration(idempotencyKey);
+ code: CompletableFuture> response = fireblocks.nFTs().getNFT(id);
name: Fireblocks SDK Java example
x-accepts: application/json
- /management/ota:
+ put:
+ description: |
+ Updates the latest token metadata.
+ operationId: refreshNFTMetadata
+ parameters:
+ - description: NFT ID
+ example: NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd
+ explode: false
+ in: path
+ name: id
+ 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":
+ description: ""
+ headers:
+ X-Request-ID:
+ $ref: '#/components/headers/X-Request-ID'
+ summary: Refresh token metadata
+ tags:
+ - NFTs
+ x-readme:
+ code-samples:
+ - language: typescript
+ code: "const response: Promise> = fireblocks.nFTs.refreshNFTMetadata(nFTsApiRefreshNFTMetadataRequest);"
+ name: Fireblocks SDK TypeScript example
+ - language: java
+ code: "CompletableFuture> response = fireblocks.nFTs().refreshNFTMetadata(id,\
+ \ idempotencyKey);"
+ name: Fireblocks SDK Java example
+ x-accepts: application/json
+ /nfts/tokens:
get:
- description: Returns current OTA status
- operationId: getOtaStatus
+ description: |
+ Returns the requested tokens data.
+ operationId: getNFTs
+ parameters:
+ - description: A comma separated list of NFT IDs. Up to 100 are allowed in a
+ single request.
+ explode: true
+ in: query
+ name: ids
+ required: true
+ schema:
+ type: string
+ style: form
+ - description: Page cursor to fetch
+ explode: true
+ in: query
+ name: pageCursor
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Items per page (max 100)
+ explode: true
+ in: query
+ name: pageSize
+ required: false
+ schema:
+ maximum: 100
+ minimum: 1
+ type: number
+ style: form
+ - description: "Sort by param, it can be one param or a list of params separated\
+ \ by comma"
+ explode: true
+ in: query
+ name: sort
+ required: false
+ schema:
+ items:
+ enum:
+ - collection.name
+ - name
+ - blockchainDescriptor
+ type: string
+ type: array
+ style: form
+ - description: "Order direction, it can be `ASC` for ascending or `DESC` for\
+ \ descending"
+ explode: true
+ in: query
+ name: order
+ required: false
+ schema:
+ default: ASC
+ enum:
+ - DESC
+ - ASC
+ type: string
+ style: form
responses:
"200":
content:
application/json:
schema:
- $ref: '#/components/schemas/getOtaStatus_200_response'
- description: Current OTA status
- "404":
- description: Configuration not found for tenant
- summary: Returns current OTA status
+ $ref: '#/components/schemas/GetNFTsResponse'
+ description: ""
+ headers:
+ X-Request-ID:
+ $ref: '#/components/headers/X-Request-ID'
+ summary: List tokens by IDs
tags:
- - OTA (Beta)
+ - NFTs
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise> = fireblocks.oTABeta.getOtaStatus();"
+ code: "const response: Promise> = fireblocks.nFTs.getNFTs(nFTsApiGetNFTsRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response = fireblocks.oTABeta().getOtaStatus();
+ code: "CompletableFuture> response = fireblocks.nFTs().getNFTs(ids,\
+ \ pageCursor, pageSize, sort, order);"
name: Fireblocks SDK Java example
x-accepts: application/json
+ /nfts/ownership/tokens/{id}/status:
put:
- description: Enable or disable transactions to OTA
- operationId: setOtaStatus
+ description: |
+ Updates token status for a tenant, in all tenant vaults.
+ operationId: updateTokenOwnershipStatus
parameters:
+ - description: NFT ID
+ example: NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd
+ explode: false
+ in: path
+ name: id
+ 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\
@@ -9698,162 +9914,85 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/SetOtaStatusRequest'
+ $ref: '#/components/schemas/UpdateTokenOwnershipStatusDto'
required: true
responses:
- "202":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/SetOtaStatusResponse'
- description: Successfully updated OTA status
+ "200":
+ description: ""
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
- "400":
- description: Bad request
- "409":
- description: Similar request already pending
- "500":
- description: Internal server error
- summary: Enable or disable transactions to OTA
+ summary: Update token ownership status
tags:
- - OTA (Beta)
+ - NFTs
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise>\
- \ = fireblocks.oTABeta.setOtaStatus(oTABetaApiSetOtaStatusRequest);"
+ code: "const response: Promise> = fireblocks.nFTs.updateTokenOwnershipStatus(nFTsApiUpdateTokenOwnershipStatusRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.oTABeta().setOtaStatus(setOtaStatusRequest,\
- \ idempotencyKey);"
+ code: "CompletableFuture> response = fireblocks.nFTs().updateTokenOwnershipStatus(updateTokenOwnershipStatusDto,\
+ \ id, idempotencyKey);"
name: Fireblocks SDK Java example
x-content-type: application/json
x-accepts: application/json
- /management/workspace_status:
- get:
- description: Returns current workspace status
- operationId: getWorkspaceStatus
- responses:
- "200":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/getWorkspaceStatus_200_response'
- description: Current workspace status
- "404":
- description: Workspace not found
- summary: Returns current workspace status
- tags:
- - Workspace Status (Beta)
- x-readme:
- code-samples:
- - language: typescript
- code: "const response: Promise> = fireblocks.workspaceStatusBeta.getWorkspaceStatus();"
- name: Fireblocks SDK TypeScript example
- - language: java
- code: CompletableFuture> response = fireblocks.workspaceStatusBeta().getWorkspaceStatus();
- name: Fireblocks SDK Java example
- x-accepts: application/json
- /tap/active_policy:
- get:
- description: |
- Returns the active policy and its validation.
- **Note:** These endpoints are currently in beta and might be subject to changes.
- If you want to participate and learn more about the Fireblocks TAP, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com.
- operationId: getActivePolicy
+ /nfts/ownership/tokens/status:
+ put:
+ description: "Updates tokens status for a tenant, in all tenant vaults."
+ operationId: updateTokensOwnershipStatus
+ 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/UpdateTokensOwnershipStatusRequest'
+ required: true
responses:
"200":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/PolicyAndValidationResponse'
- description: A policy object
+ description: All token statuses have been updated
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
- default:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorSchema'
- description: Error Response
+ "400":
+ description: Invalid data sent
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
- summary: Get the active policy and its validation
+ "404":
+ description: When ownership for token ID is not found
+ headers:
+ X-Request-ID:
+ $ref: '#/components/headers/X-Request-ID'
+ summary: Update tokens ownership status
tags:
- - Policy Editor (Beta)
+ - NFTs
x-readme:
code-samples:
- - language: python
- code: policy = fireblocks.get_active_policy()
- name: Fireblocks SDK Python example
- - language: javascript
- code: const policy = await fireblocks.getActivePolicy();
- name: Fireblocks SDK Javascript example
- - language: typescript
- code: "const response: Promise>\
- \ = fireblocks.policyEditorBeta.getActivePolicy();"
- name: Fireblocks SDK TypeScript example
- - language: java
- code: CompletableFuture> response
- = fireblocks.policyEditorBeta().getActivePolicy();
- name: Fireblocks SDK Java example
- x-accepts: application/json
- /tap/draft:
- get:
- description: |
- Returns the active draft and its validation.
- **Note:** These endpoints are currently in beta and might be subject to changes.
- If you want to participate and learn more about the Fireblocks TAP, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com.
- operationId: getDraft
- responses:
- "200":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/DraftReviewAndValidationResponse'
- description: A draft validation response object
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- default:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorSchema'
- description: Error Response
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- summary: Get the active draft
- tags:
- - Policy Editor (Beta)
- x-readme:
- code-samples:
- - language: python
- code: policy = fireblocks.get_draft()
- name: Fireblocks SDK Python example
- - language: javascript
- code: const policy = await fireblocks.getDraft();
- name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise>\
- \ = fireblocks.policyEditorBeta.getDraft();"
+ code: "const response: Promise> = fireblocks.nFTs.updateTokensOwnershipStatus(nFTsApiUpdateTokensOwnershipStatusRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response
- = fireblocks.policyEditorBeta().getDraft();
+ code: "CompletableFuture> response = fireblocks.nFTs().updateTokensOwnershipStatus(tokenOwnershipStatusUpdatePayload,\
+ \ idempotencyKey);"
name: Fireblocks SDK Java example
+ x-content-type: application/json
x-accepts: application/json
- post:
- description: |
- Send publish request of certain draft id and returns the response.
- **Note:** These endpoints are currently in beta and might be subject to changes.
- If you want to participate and learn more about the Fireblocks TAP, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com.
- operationId: publishDraft
+ /nfts/ownership/tokens/spam:
+ put:
+ description: "Updates tokens spam property for a tenant's token ownerships,\
+ \ in all tenant vaults."
+ operationId: updateTokensOwnershipSpam
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\
@@ -9870,118 +10009,158 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/PublishDraftRequest'
+ $ref: '#/components/schemas/UpdateTokensOwnershipSpamRequest'
required: true
responses:
- "201":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/PublishResult'
- description: A policy publish result object
+ "200":
+ description: All token spam properties have been updated
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
- default:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorSchema'
- description: Error Response
+ "400":
+ description: Invalid data sent
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
- summary: Send publish request for a certain draft id
+ "404":
+ description: When ownership for token ID is not found
+ headers:
+ X-Request-ID:
+ $ref: '#/components/headers/X-Request-ID'
+ summary: Update tokens ownership spam property
tags:
- - Policy Editor (Beta)
+ - NFTs
x-readme:
code-samples:
- - language: python
- code: policy = fireblocks.publish_draft()
- name: Fireblocks SDK Python example
- - language: javascript
- code: const policy = await fireblocks.publishDraft();
- name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise> = fireblocks.policyEditorBeta.publishDraft(policyEditorBetaApiPublishDraftRequest);"
+ code: "const response: Promise> = fireblocks.nFTs.updateTokensOwnershipSpam(nFTsApiUpdateTokensOwnershipSpamRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.policyEditorBeta().publishDraft(publishDraftRequest,\
+ code: "CompletableFuture> response = fireblocks.nFTs().updateTokensOwnershipSpam(tokenOwnershipSpamUpdatePayload,\
\ idempotencyKey);"
name: Fireblocks SDK Java example
x-content-type: application/json
x-accepts: application/json
- put:
- description: |
- Update the draft and return its validation.
- **Note:** These endpoints are currently in beta and might be subject to changes.
- If you want to participate and learn more about the Fireblocks TAP, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com.
- operationId: updateDraft
+ /connections:
+ get:
+ description: Get open Web3 connections.
+ operationId: get
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
+ - description: List order; ascending or descending.
+ explode: true
+ in: query
+ name: order
+ required: false
+ schema:
+ default: ASC
+ enum:
+ - ASC
+ - DESC
+ type: string
+ style: form
+ - description: Parsed filter object
+ examples:
+ object:
+ description: ""
+ summary: The filter object
+ value:
+ id: string
+ userId: string
+ vaultAccountId: number
+ connectionMethod: string
+ feeLevel: string
+ appUrl: string
+ appName: string
+ stringified:
+ description: |-
+ About stringified parsed objects:
+
+ * Each key-value pair is separated by '=', and each pair is separated by ',' (you can use [`qs`](https://www.npmjs.com/package/qs) package for this)
+ summary: The stringified parsed object
+ value: "id=string,userId=string,vaultAccountId=number,connectionMethod=string,feeLevel=string,appUrl=string,appName=string"
+ explode: true
+ in: query
+ name: filter
+ required: false
+ schema:
+ $ref: '#/components/schemas/get_filter_parameter'
+ style: form
+ - description: Property to sort Web3 connections by.
+ explode: true
+ in: query
+ name: sort
required: false
schema:
+ default: createdAt
+ enum:
+ - id
+ - userId
+ - vaultAccountId
+ - createdAt
+ - feeLevel
+ - appUrl
+ - appName
type: string
- style: simple
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/PolicyRules'
- required: true
+ style: form
+ - description: Amount of results to return in the next page.
+ explode: true
+ in: query
+ name: pageSize
+ required: false
+ schema:
+ default: 10
+ maximum: 50
+ type: number
+ style: form
+ - description: Cursor to the next page
+ explode: true
+ in: query
+ name: next
+ required: false
+ schema:
+ type: string
+ style: form
responses:
"200":
content:
application/json:
schema:
- $ref: '#/components/schemas/DraftReviewAndValidationResponse'
- description: A draft validation response object
+ $ref: '#/components/schemas/GetConnectionsResponse'
+ description: ""
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
- default:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorSchema'
- description: Error Response
+ "400":
+ description: Query parameters were invalid
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
- summary: Update the draft with a new set of rules
+ "500":
+ description: Something went wrong
+ headers:
+ X-Request-ID:
+ $ref: '#/components/headers/X-Request-ID'
+ summary: List all open Web3 connections.
tags:
- - Policy Editor (Beta)
+ - Web3 connections
x-readme:
code-samples:
- - language: python
- code: policy = fireblocks.update_draft()
- name: Fireblocks SDK Python example
- - language: javascript
- code: const policy = await fireblocks.updateDraft();
- name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise>\
- \ = fireblocks.policyEditorBeta.updateDraft(policyEditorBetaApiUpdateDraftRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.web3Connections.get(web3ConnectionsApiGetRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture>\
- \ response = fireblocks.policyEditorBeta().updateDraft(policyRules, idempotencyKey);"
+ code: "CompletableFuture> response =\
+ \ fireblocks.web3Connections().get(order, filter, sort, pageSize, next);"
name: Fireblocks SDK Java example
- x-content-type: application/json
x-accepts: application/json
- /tap/publish:
+ /connections/wc:
post:
- description: |
- Send publish request of set of policy rules and returns the response.
- **Note:** These endpoints are currently in beta and might be subject to changes.
- If you want to participate and learn more about the Fireblocks TAP, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com.
- operationId: publishPolicyRules
+ description: |-
+ Initiate a new Web3 connection.
+
+ * Note: After this succeeds, make a request to `PUT /v1/connections/wc/{id}` (below) to approve or reject the new Web3 connection.
+ operationId: create
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\
@@ -9998,116 +10177,100 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/PolicyRules'
+ $ref: '#/components/schemas/CreateConnectionRequest'
required: true
responses:
"201":
content:
application/json:
schema:
- $ref: '#/components/schemas/PublishResult'
- description: A policy publish result object
+ $ref: '#/components/schemas/CreateConnectionResponse'
+ description: Web3 connection initiated successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
- default:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorSchema'
- description: Error Response
+ "400":
+ description: Invalid data sent
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
- summary: Send publish request for a set of policy rules
+ "500":
+ description: Something went wrong
+ headers:
+ X-Request-ID:
+ $ref: '#/components/headers/X-Request-ID'
+ summary: Create a new Web3 connection.
tags:
- - Policy Editor (Beta)
+ - Web3 connections
x-readme:
code-samples:
- - language: python
- code: policy = fireblocks.publish_rules()
- name: Fireblocks SDK Python example
- - language: javascript
- code: const policy = await fireblocks.publishRules();
- name: Fireblocks SDK Javascript example
- language: typescript
- code: "const response: Promise> = fireblocks.policyEditorBeta.publishPolicyRules(policyEditorBetaApiPublishPolicyRulesRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.web3Connections.create(web3ConnectionsApiCreateRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.policyEditorBeta().publishPolicyRules(policyRules,\
- \ idempotencyKey);"
+ code: "CompletableFuture> response\
+ \ = fireblocks.web3Connections().create(createConnectionRequest, idempotencyKey);"
name: Fireblocks SDK Java example
x-content-type: application/json
x-accepts: application/json
- /management/users:
- get:
- description: get console users from the current tenant
- operationId: getConsoleUsers
+ /connections/wc/{id}:
+ delete:
+ description: Remove a Web3 connection
+ operationId: remove
+ parameters:
+ - description: The ID of the existing Web3 connection to remove.
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ style: simple
responses:
"200":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/GetConsoleUsersResponse'
- description: got console users
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "401":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorResponse'
- description: Unauthorized. Missing / invalid JWT token in Authorization
- header.
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "403":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorResponse'
- description: Lacking permissions.
+ description: Connection removed successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
- "5XX":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorResponse'
- description: Internal error.
+ "404":
+ description: Connection not found
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
- default:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorSchema'
- description: Error Response
+ "500":
+ description: Something went wrong
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
- summary: get console users
+ summary: Remove an existing Web3 connection.
tags:
- - Console User
+ - Web3 connections
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise>\
- \ = fireblocks.consoleUser.getConsoleUsers();"
+ code: "const response: Promise> = fireblocks.web3Connections.remove(web3ConnectionsApiRemoveRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response =
- fireblocks.consoleUser().getConsoleUsers();
+ code: CompletableFuture> response = fireblocks.web3Connections().remove(id);
name: Fireblocks SDK Java example
x-accepts: application/json
- post:
- description: creates fireblocks console user
- operationId: createConsoleUser
+ put:
+ description: |-
+ Submit a response to *approve* or *reject* an initiated Web3 connection.
+ * Note: This call is used to complete your `POST /v1/connections/wc/` request.
+
+ After this succeeds, your new Web3 connection is created and functioning.
+ operationId: submit
parameters:
+ - description: The ID of the initiated Web3 connection to approve.
+ explode: false
+ in: path
+ name: id
+ 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\
@@ -10123,136 +10286,54 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/CreateConsoleUser'
+ $ref: '#/components/schemas/RespondToConnectionRequest'
+ required: true
responses:
"200":
- description: Users sent for creation
+ description: Connection submitted successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
"400":
- description: bad request
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "401":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorResponse'
- description: Unauthorized. Missing / invalid JWT token in Authorization
- header.
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "403":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorResponse'
- description: Lacking permissions.
+ description: Invalid data sent
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
- "5XX":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorResponse'
- description: Internal error.
+ "404":
+ description: Connection not found
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
- default:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorSchema'
- description: Error Response
+ "500":
+ description: Something went wrong
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
- summary: create console user
+ summary: Respond to a pending Web3 connection request.
tags:
- - Console User
+ - Web3 connections
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise> = fireblocks.consoleUser.createConsoleUser(consoleUserApiCreateConsoleUserRequest);"
+ code: "const response: Promise> = fireblocks.web3Connections.submit(web3ConnectionsApiSubmitRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.consoleUser().createConsoleUser(createConsoleUser,\
- \ idempotencyKey);"
+ code: "CompletableFuture> response = fireblocks.web3Connections().submit(respondToConnectionRequest,\
+ \ id, idempotencyKey);"
name: Fireblocks SDK Java example
x-content-type: application/json
x-accepts: application/json
- /management/api_users:
- get:
- description: get api users from the current tenant
- operationId: getApiUsers
- responses:
- "200":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/GetAPIUsersResponse'
- description: got api users
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "401":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorResponse'
- description: Unauthorized. Missing / invalid JWT token in Authorization
- header.
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "403":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorResponse'
- description: Lacking permissions.
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "5XX":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorResponse'
- description: Internal error.
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- default:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorSchema'
- description: Error Response
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- summary: get api users
- tags:
- - Api User
- x-readme:
- code-samples:
- - language: typescript
- code: "const response: Promise>\
- \ = fireblocks.apiUser.getApiUsers();"
- name: Fireblocks SDK TypeScript example
- - language: java
- code: CompletableFuture> response = fireblocks.apiUser().getApiUsers();
- name: Fireblocks SDK Java example
- x-accepts: application/json
+ /screening/travel_rule/transaction/validate:
post:
- description: creates api user
- operationId: createApiUser
+ description: |-
+ Validate Travel Rule transactions.
+
+ Checks what beneficiary VASP details are required by your jurisdiction and the beneficiary's jurisdiction.
+
+ **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available.
+
+ To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com).
+ operationId: validateTravelRuleTransaction
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\
@@ -10269,77 +10350,47 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/CreateAPIUser'
+ $ref: '#/components/schemas/TravelRuleValidateTransactionRequest'
+ required: true
responses:
"200":
- description: User sent for creation
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "401":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorResponse'
- description: Unauthorized. Missing / invalid JWT token in Authorization
- header.
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "403":
content:
application/json:
schema:
- $ref: '#/components/schemas/ErrorResponse'
- description: Lacking permissions.
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "5XX":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorResponse'
- description: Internal error.
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- default:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorSchema'
- description: Error Response
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- summary: create api user
+ $ref: '#/components/schemas/TravelRuleValidateTransactionResponse'
+ description: Transaction validated successfully
+ "400":
+ description: Invalid request body
+ "500":
+ description: Internal server error
+ summary: Validate Travel Rule Transaction
tags:
- - Api User
+ - Travel Rule (Beta)
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise> = fireblocks.apiUser.createApiUser(apiUserApiCreateApiUserRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.travelRuleBeta.validateTravelRuleTransaction(travelRuleBetaApiValidateTravelRuleTransactionRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.apiUser().createApiUser(createAPIUser,\
+ code: "CompletableFuture>\
+ \ response = fireblocks.travelRuleBeta().validateTravelRuleTransaction(travelRuleValidateTransactionRequest,\
\ idempotencyKey);"
name: Fireblocks SDK Java example
x-content-type: application/json
x-accepts: application/json
- /management/users/{id}/reset_device:
+ /screening/travel_rule/transaction/validate/full:
post:
- description: resets device
- operationId: resetDevice
+ description: |-
+ Validate Full Travel Rule transactions.
+
+ Checks for all required information on the originator and beneficiary VASPs.
+
+ **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available.
+
+ To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com).
+ operationId: validateFullTravelRuleTransaction
parameters:
- - description: The ID of the user
- explode: false
- in: path
- name: id
- 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\
@@ -10351,277 +10402,168 @@ paths:
schema:
type: string
style: simple
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TravelRuleValidateFullTransactionRequest'
+ required: true
responses:
"200":
- description: User sent for creation
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "401":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorResponse'
- description: Unauthorized. Missing / invalid JWT token in Authorization
- header.
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "403":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorResponse'
- description: Lacking permissions.
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "5XX":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorResponse'
- description: Internal error.
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- default:
content:
application/json:
schema:
- $ref: '#/components/schemas/ErrorSchema'
- description: Error Response
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- summary: resets device
+ $ref: '#/components/schemas/TravelRuleValidateTransactionResponse'
+ description: Transaction validated successfully
+ "400":
+ description: Invalid request body
+ "500":
+ description: Internal server error
+ summary: Validate Full Travel Rule Transaction
tags:
- - Reset device
+ - Travel Rule (Beta)
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise> = fireblocks.resetDevice.resetDevice(resetDeviceApiResetDeviceRequest);"
+ code: "const response: Promise>\
+ \ = fireblocks.travelRuleBeta.validateFullTravelRuleTransaction(travelRuleBetaApiValidateFullTravelRuleTransactionRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: "CompletableFuture> response = fireblocks.resetDevice().resetDevice(id,\
+ code: "CompletableFuture>\
+ \ response = fireblocks.travelRuleBeta().validateFullTravelRuleTransaction(travelRuleValidateFullTransactionRequest,\
\ idempotencyKey);"
name: Fireblocks SDK Java example
+ x-content-type: application/json
x-accepts: application/json
- /management/api_users/{userId}/whitelist_ip_addresses:
+ /screening/travel_rule/vasp/{did}:
get:
- description: gets ip addresses
- operationId: getWhitelistIpAddresses
+ description: |-
+ Get VASP Details.
+
+ Returns information about a VASP that has the specified DID.
+
+ **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available.
+
+ To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com).
+ operationId: getVASPByDID
parameters:
- - description: The ID of the user
- explode: false
+ - explode: false
in: path
- name: userId
+ name: did
required: true
schema:
type: string
style: simple
+ - description: "CSV of fields to return (all, \"blank\" or see list of all field\
+ \ names below)"
+ explode: true
+ in: query
+ name: fields
+ required: false
+ schema:
+ type: string
+ style: form
responses:
"200":
content:
application/json:
schema:
- $ref: '#/components/schemas/GetWhitelistIpAddressesResponse'
- description: successfully whitelisted
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "401":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorResponse'
- description: Unauthorized. Missing / invalid JWT token in Authorization
- header.
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "403":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorResponse'
- description: Lacking permissions.
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- "5XX":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorResponse'
- description: Internal error.
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- default:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ErrorSchema'
- description: Error Response
- headers:
- X-Request-ID:
- $ref: '#/components/headers/X-Request-ID'
- summary: gets ip addresses
+ $ref: '#/components/schemas/TravelRuleVASP'
+ description: Transaction validated successfully
+ "400":
+ description: Invalid request body
+ "500":
+ description: Internal server error
+ summary: Get VASP details
tags:
- - whitelist ip addresses
+ - Travel Rule (Beta)
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise>\
- \ = fireblocks.whitelistIpAddresses.getWhitelistIpAddresses(whitelistIpAddressesApiGetWhitelistIpAddressesRequest);"
+ code: "const response: Promise> = fireblocks.travelRuleBeta.getVASPByDID(travelRuleBetaApiGetVASPByDIDRequest);"
name: Fireblocks SDK TypeScript example
- language: java
- code: CompletableFuture> response
- = fireblocks.whitelistIpAddresses().getWhitelistIpAddresses(userId);
+ code: "CompletableFuture> response = fireblocks.travelRuleBeta().getVASPByDID(did,\
+ \ fields);"
name: Fireblocks SDK Java example
x-accepts: application/json
- /smart-transfers:
+ /screening/travel_rule/vasp:
get:
- description: Finds Smart Transfer tickets that match the submitted criteria
- operationId: searchTickets
+ description: |-
+ Get All VASPs.
+
+ Returns a list of VASPs. VASPs can be searched and sorted and results are paginated.
+
+ **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available.
+
+ To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com).
+ operationId: getVASPs
parameters:
- - description: Search string - counterparty name or asset or ticketId. Optional
+ - description: Field to order by
explode: true
in: query
- name: q
+ name: order
required: false
schema:
- minLength: 1
type: string
style: form
- - description: Ticket statuses for Smart Transfer tickets. Optional
- example:
- - DRAFT
- - OPEN
- explode: true
- in: query
- name: statuses
- required: false
- schema:
- default: []
- items:
- enum:
- - DRAFT
- - PENDING_APPROVAL
- - OPEN
- - IN_SETTLEMENT
- - FULFILLED
- - EXPIRED
- - CANCELED
- type: string
- type: array
- style: form
- - description: "NetworkId that is used in the ticket\t. Optional"
+ - description: Records per page
explode: true
in: query
- name: networkId
+ name: per_page
required: false
schema:
- type: string
+ type: number
style: form
- - description: Filter created tickets by created by self or by others. Optional
+ - description: Page number
explode: true
in: query
- name: createdByMe
+ name: page
required: false
schema:
- type: boolean
+ type: number
style: form
- - description: Lower bound of search range. Optional
+ - description: "CSV of fields to return (all, \"blank\" or see list of all field\
+ \ names below)"
explode: true
in: query
- name: expiresAfter
+ name: fields
required: false
schema:
- format: date-time
type: string
style: form
- - description: Upper bound of search range. Optional
- explode: true
- in: query
- name: expiresBefore
- required: false
- schema:
- format: date-time
- type: string
- style: form
- - description: "Type of transfer. ASYNC executes transfers as they are funded,\
- \ ATOMIC executes all terms (legs) as one atomic transfer"
- explode: true
- in: query
- name: type
- required: false
- schema:
- enum:
- - ASYNC
- type: string
- style: form
- - description: External ref. ID that workspace can use to identify ticket outside
- of Fireblocks system.
- explode: true
- in: query
- name: externalRefId
- required: false
- schema:
- maxLength: 64
- minLength: 1
- type: string
- style: form
- - description: ID of the record after which to fetch $limit records
- explode: true
- in: query
- name: after
- required: false
- schema:
- type: string
- style: form
- - description: "Number of records to fetch. By default, it is 100"
- explode: true
- in: query
- name: limit
- required: false
- schema:
- minimum: 1
- type: number
- style: form
responses:
"200":
content:
application/json:
schema:
- $ref: '#/components/schemas/SmartTransferTicketFilteredResponse'
- description: Smart Transfer tickets were returned successfully
- "403":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/SmartTransferForbiddenResponse'
- description: Unauthorized
- summary: Find Ticket
+ $ref: '#/components/schemas/TravelRuleGetAllVASPsResponse'
+ description: Get all VASPs
+ summary: Get All VASPs
tags:
- - Smart Transfer
+ - Travel Rule (Beta)
x-readme:
code-samples:
- language: typescript
- code: "const response: Promise>\
- \ = fireblocks.smartTransfer.searchTickets(smartTransferApiSearchTicketsRequest);"
+ code: "const response: Promise