Cobo Wallet as a Service 2.0
- API version: 1.0.0
- Generator version: 7.6.0
The Cobo Wallet-as-a-Service (WaaS) 2.0 API is the latest version of Cobo’s WaaS API offering. It enables you to access Cobo’s full suite of crypto wallet technologies with powerful and flexible access controls. By encapsulating complex security protocols and streamlining blockchain interactions, this API allows you to concentrate on your core business activities without worrying about the safety of your assets. The WaaS 2.0 API presents the following key features:
- A unified API for Cobo’s all four wallet types
- Support for 80+ chains and 3000+ tokens
- A comprehensive selection of webhook events
- Flexible usage models for MPC wallets, including Organization-Controlled Wallets and User-Controlled Wallets
- Programmatic control of smart contract wallets such as Safe\{Wallet\} with fine-grained access controls
- Seamlessly transfer funds across multiple exchanges, including Binance, OKX, Bybit, Deribit, and more
For more information about the WaaS 2.0 API, see Introduction to WaaS 2.0.
For more information, please visit https://www.cobo.com/waas
Automatically generated by the OpenAPI Generator
Building the API client library requires:
- Java 1.8+
- Maven (3.8.3+)/Gradle (7.2+)
To install the API client library to your local Maven repository, simply execute:
mvn clean install
To deploy it to a remote Maven repository instead, configure the settings of the repository and execute:
mvn clean deploy
Refer to the OSSRH Guide for more information.
Add this dependency to your project's POM:
<dependency>
<groupId>com.cobo</groupId>
<artifactId>cobo-waas2</artifactId>
<version>1.0.1</version>
<scope>compile</scope>
</dependency>
Add this dependency to your project's build file:
repositories {
mavenCentral() // Needed if the 'cobo-waas2' jar has been published to maven central.
mavenLocal() // Needed if the 'cobo-waas2' jar has been published to the local maven repo.
}
dependencies {
implementation "com.cobo:cobo-waas2:1.0.1"
}
At first generate the JAR by executing:
mvn clean package
Then manually install the following JARs:
target/cobo-waas2-1.0.1.jar
target/lib/*.jar
Please follow the installation instruction and execute the following Java code:
// Import classes:
import com.cobo.waas2.ApiClient;
import com.cobo.waas2.ApiException;
import com.cobo.waas2.Configuration;
import com.cobo.waas2.model.*;
import com.cobo.waas2.api.WalletsApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// for dev environment
//defaultClient.setEnv(Env.DEV);
// set custom base url
//defaultClient.setBasePath("https://api[.xxx].cobo.com/v2");
defaultClient.setPrivKey("<YOUR_API_PRIVATE_KEY_IN_HEX>");
WalletsApi apiInstance = new WalletsApi();
WalletType walletType = WalletType.fromValue("Custodial");
WalletSubtype walletSubtype = WalletSubtype.fromValue("Asset");
String chainIds = "BTC,ETH";
Integer limit = 10;
String before = "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGmk1";
String after = "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGSAk";
try {
ListSupportedChains200Response result = apiInstance.listSupportedChains(walletType, walletSubtype, chainIds, limit, before, after);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling WalletsApi#listSupportedChains");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
All URIs are relative to https://api.dev.cobo.com/v2
Class | Method | HTTP request | Description |
---|---|---|---|
DevelopersWebhooksApi | createWebhookEndpoint | POST /webhooks/endpoints | Register webhook endpoint |
DevelopersWebhooksApi | getWebhookEndpointById | GET /webhooks/endpoints/{endpoint_id} | Get webhook endpoint information |
DevelopersWebhooksApi | getWebhookEventById | GET /webhooks/endpoints/{endpoint_id}/events/{event_id} | Retrieve event information |
DevelopersWebhooksApi | listWebhookEndpoints | GET /webhooks/endpoints | List webhook endpoints |
DevelopersWebhooksApi | listWebhookEventDefinitions | GET /webhooks/events/definitions | Get webhook event types |
DevelopersWebhooksApi | listWebhookEventLogs | GET /webhooks/endpoints/{endpoint_id}/events/{event_id}/logs | List webhook event logs |
DevelopersWebhooksApi | listWebhookEvents | GET /webhooks/endpoints/{endpoint_id}/events | List all webhook events |
DevelopersWebhooksApi | retryWebhookEventById | POST /webhooks/endpoints/{endpoint_id}/events/{event_id}/retry | Retry event |
DevelopersWebhooksApi | updateWebhookEndpointById | PUT /webhooks/endpoints/{endpoint_id} | Update webhook endpoint |
TransactionsApi | cancelTransactionById | POST /transactions/{transaction_id}/cancel | Cancel transaction |
TransactionsApi | createContractCallTransaction | POST /transactions/contract_call | Call smart contract |
TransactionsApi | createMessageSignTransaction | POST /transactions/message_sign | Sign message |
TransactionsApi | createTransferTransaction | POST /transactions/transfer | Transfer token |
TransactionsApi | dropTransactionById | POST /transactions/{transaction_id}/drop | Drop transaction |
TransactionsApi | estimateFee | POST /transactions/estimate_fee | Estimate transaction fee |
TransactionsApi | getTransactionById | GET /transactions/{transaction_id} | Get transaction information |
TransactionsApi | listTransactions | GET /transactions | List all transactions |
TransactionsApi | resendTransactionById | POST /transactions/{transaction_id}/resend | Resend transaction |
TransactionsApi | speedupTransactionById | POST /transactions/{transaction_id}/speedup | Speed up transaction |
WalletsApi | checkAddressValidity | GET /wallets/check_address_validity | Check address validity |
WalletsApi | createAddress | POST /wallets/{wallet_id}/addresses | Create addresses in wallet |
WalletsApi | createWallet | POST /wallets | Create wallet |
WalletsApi | deleteWalletById | POST /wallets/{wallet_id}/delete | Delete wallet |
WalletsApi | getAddress | GET /wallets/{wallet_id}/addresses/{address} | Get address information |
WalletsApi | getChainById | GET /wallets/chains/{chain_id} | Get chain information |
WalletsApi | getMaxTransferableValue | GET /wallets/{wallet_id}/max_transferable_value | Get maximum transferable value |
WalletsApi | getTokenById | GET /wallets/tokens/{token_id} | Get token information |
WalletsApi | getWalletById | GET /wallets/{wallet_id} | Get wallet information |
WalletsApi | listAddresses | GET /wallets/{wallet_id}/addresses | List wallet addresses |
WalletsApi | listEnabledChains | GET /wallets/enabled_chains | List enabled chains |
WalletsApi | listEnabledTokens | GET /wallets/enabled_tokens | List enabled tokens |
WalletsApi | listSupportedChains | GET /wallets/chains | List supported chains |
WalletsApi | listSupportedTokens | GET /wallets/tokens | List supported tokens |
WalletsApi | listTokenBalancesForAddress | GET /wallets/{wallet_id}/addresses/{address}/tokens | List token balances by address |
WalletsApi | listTokenBalancesForWallet | GET /wallets/{wallet_id}/tokens | List token balances by wallet |
WalletsApi | listUtxos | GET /wallets/{wallet_id}/utxos | List UTXOs |
WalletsApi | listWallets | GET /wallets | List all wallets |
WalletsApi | lockUtxos | POST /wallets/{wallet_id}/utxos/lock | Lock UTXOs |
WalletsApi | unlockUtxos | POST /wallets/{wallet_id}/utxos/unlock | Unlock UTXOs |
WalletsApi | updateWalletById | PUT /wallets/{wallet_id} | Update wallet |
WalletsMpcWalletsApi | cancelTssRequestById | POST /wallets/mpc/vaults/{vault_id}/tss_requests/{tss_request_id}/cancel | Cancel TSS request |
WalletsMpcWalletsApi | createKeyShareHolderGroup | POST /wallets/mpc/vaults/{vault_id}/key_share_holder_groups | Create key share holder group |
WalletsMpcWalletsApi | createMpcProject | POST /wallets/mpc/projects | Create project |
WalletsMpcWalletsApi | createMpcVault | POST /wallets/mpc/vaults | Create vault |
WalletsMpcWalletsApi | createTssRequest | POST /wallets/mpc/vaults/{vault_id}/tss_requests | Create TSS request |
WalletsMpcWalletsApi | deleteKeyShareHolderGroupById | POST /wallets/mpc/vaults/{vault_id}/key_share_holder_groups/{key_share_holder_group_id}/delete | Delete key share holder group |
WalletsMpcWalletsApi | getKeyShareHolderGroupById | GET /wallets/mpc/vaults/{vault_id}/key_share_holder_groups/{key_share_holder_group_id} | Get key share holder group information |
WalletsMpcWalletsApi | getMpcProjectById | GET /wallets/mpc/projects/{project_id} | Get project information |
WalletsMpcWalletsApi | getMpcVaultById | GET /wallets/mpc/vaults/{vault_id} | Get vault information |
WalletsMpcWalletsApi | getTssRequestById | GET /wallets/mpc/vaults/{vault_id}/tss_requests/{tss_request_id} | Get TSS request |
WalletsMpcWalletsApi | listCoboKeyHolders | GET /wallets/mpc/cobo_key_share_holders | List all Cobo key share holders |
WalletsMpcWalletsApi | listKeyShareHolderGroups | GET /wallets/mpc/vaults/{vault_id}/key_share_holder_groups | List all key share holder groups |
WalletsMpcWalletsApi | listMpcProjects | GET /wallets/mpc/projects | List all projects |
WalletsMpcWalletsApi | listMpcVaults | GET /wallets/mpc/vaults | List all vaults |
WalletsMpcWalletsApi | listTssRequests | GET /wallets/mpc/vaults/{vault_id}/tss_requests | List TSS requests |
WalletsMpcWalletsApi | updateKeyShareHolderGroupById | PUT /wallets/mpc/vaults/{vault_id}/key_share_holder_groups/{key_share_holder_group_id} | Update key share holder group |
WalletsMpcWalletsApi | updateMpcProjectById | PUT /wallets/mpc/projects/{project_id} | Update project name |
WalletsMpcWalletsApi | updateMpcVaultById | PUT /wallets/mpc/vaults/{vault_id} | Update vault name |
- Activity
- ActivityAction
- ActivityInitiator
- ActivityStatus
- ActivityTimeline
- ActivityType
- AddressEncoding
- AddressInfo
- AddressTransferDestination
- AddressTransferDestinationAccountOutput
- AddressTransferDestinationUtxoOutputsInner
- AmountDetailsInner
- AmountStatus
- AssetBalance
- AssetInfo
- BabylonStakeExtra
- BabylonValidator
- BaseContractCallSource
- BaseEstimateStakingFee
- BaseStakeExtra
- ChainInfo
- CheckAddressValidity200Response
- CoboSafeDelegate
- CoboSafeDelegateType
- ContractCallDestination
- ContractCallDestinationType
- ContractCallParams
- ContractCallSource
- ContractCallSourceType
- CreateAddressRequest
- CreateCustodialWalletParams
- CreateExchangeWalletParams
- CreateKeyShareHolder
- CreateKeyShareHolderGroupRequest
- CreateMpcProjectRequest
- CreateMpcVaultRequest
- CreateMpcWalletParams
- CreateSafeWalletParams
- CreateSmartContractWalletParams
- CreateStakeActivity
- CreateStakeActivityExtra
- CreateTransferTransaction201Response
- CreateTssRequestRequest
- CreateUnstakeActivity
- CreateWalletParams
- CreateWebhookEndpointRequest
- CreateWithdrawActivity
- CreatedWalletInfo
- CurveType
- CustodialTransferSource
- CustodialWalletInfo
- DeleteKeyShareHolderGroupById201Response
- DeleteWalletById201Response
- EigenLayerLstStakeExtra
- EigenLayerNativeStakeExtra
- EigenlayerValidator
- ErrorResponse
- EstimateContractCallFeeParams
- EstimateFeeParams
- EstimateFeeRequestType
- EstimateStakeFee
- EstimateTransferFeeParams
- EstimateUnstakeFee
- EstimateWithdrawFee
- EstimatedEvmEip1559Fee
- EstimatedEvmEip1559FeeSlow
- EstimatedEvmLegacyFee
- EstimatedEvmLegacyFeeSlow
- EstimatedFee
- EstimatedFixedFee
- EstimatedUtxoFee
- EstimatedUtxoFeeSlow
- EvmContractCallDestination
- EvmEIP191MessageSignDestination
- EvmEIP712MessageSignDestination
- EvmEip1559FeeBasePrice
- EvmEip1559FeeRate
- EvmLegacyFeeBasePrice
- EvmLegacyFeeRate
- ExchangeId
- ExchangeTransferDestination
- ExchangeTransferSource
- ExchangeWalletInfo
- ExchangeWalletInfoAllOfSubAccounts
- ExtendedTokenInfo
- FeeAmount
- FeeGasLimit
- FeeRate
- FeeType
- FixedFeeRate
- KeyShareHolder
- KeyShareHolderGroup
- KeyShareHolderGroupStatus
- KeyShareHolderGroupType
- KeyShareHolderStatus
- KeyShareHolderType
- ListAddresses200Response
- ListKeyShareHolderGroups200Response
- ListMpcProjects200Response
- ListMpcVaults200Response
- ListSupportedChains200Response
- ListSupportedTokens200Response
- ListTokenBalancesForAddress200Response
- ListTransactions200Response
- ListTssRequests200Response
- ListUtxos200Response
- ListWallets200Response
- ListWebhookEndpoints200Response
- ListWebhookEventDefinitions200ResponseInner
- ListWebhookEventLogs200Response
- ListWebhookEvents200Response
- LockUtxos201Response
- LockUtxosRequest
- LockUtxosRequestUtxosInner
- MPCDelegate
- MPCProject
- MPCVault
- MPCVaultType
- MPCWalletInfo
- MaxFeeAmount
- MaxTransferableValue
- MessageSignDestination
- MessageSignDestinationType
- MessageSignParams
- MessageSignSource
- MessageSignSourceType
- MpcContractCallSource
- MpcMessageSignSource
- MpcSigningGroup
- MpcTransferSource
- Pagination
- PoolDetails
- PoolDetailsAllOfValidatorsInfo
- PoolSummary
- ReplaceType
- RetryWebhookEventById201Response
- RootPubkey
- SafeContractCallSource
- SafeTransferSource
- SafeWallet
- SmartContractInitiator
- SmartContractWalletInfo
- SmartContractWalletOperationType
- SmartContractWalletType
- SourceGroup
- StakingPoolType
- StakingSource
- Stakings
- StakingsValidatorInfo
- TSSGroups
- TSSRequest
- TSSRequestStatus
- TSSRequestType
- TokenBalance
- TokenBalanceBalance
- TokenInfo
- Transaction
- TransactionApprover
- TransactionBlockInfo
- TransactionCustodialAssetWalletSource
- TransactionDepositFromAddressSource
- TransactionDepositFromLoopSource
- TransactionDepositFromWalletSource
- TransactionDepositToAddressDestination
- TransactionDepositToWalletDestination
- TransactionDestination
- TransactionDestinationType
- TransactionDetail
- TransactionDetailAllOfTimeline
- TransactionDetails
- TransactionEvmContractDestination
- TransactionEvmEip1559Fee
- TransactionEvmLegacyFee
- TransactionExchangeWalletSource
- TransactionFee
- TransactionFeeStationWalletSource
- TransactionFixedFee
- TransactionInitiatorType
- TransactionMPCWalletSource
- TransactionMessageSignEIP191Destination
- TransactionMessageSignEIP712Destination
- TransactionRawTxInfo
- TransactionRbf
- TransactionRbfSource
- TransactionReplacement
- TransactionRequestEvmEip1559Fee
- TransactionRequestEvmLegacyFee
- TransactionRequestFee
- TransactionRequestFixedFee
- TransactionRequestUtxoFee
- TransactionResend
- TransactionResult
- TransactionResultType
- TransactionSignatureResult
- TransactionSigner
- TransactionSmartContractSafeWalletSource
- TransactionSource
- TransactionSourceType
- TransactionStatus
- TransactionSubStatus
- TransactionTimeline
- TransactionTokeApproval
- TransactionTokenAmount
- TransactionTransferToAddressDestination
- TransactionTransferToAddressDestinationAccountOutput
- TransactionTransferToAddressDestinationUtxoOutputsInner
- TransactionTransferToWalletDestination
- TransactionType
- TransactionUtxo
- TransactionUtxoFee
- TransactionWebhookEventData
- TransferDestination
- TransferDestinationType
- TransferParams
- TransferSource
- UTXO
- UpdateCustodialWalletParams
- UpdateExchangeWalletParams
- UpdateGroupAction
- UpdateKeyShareHolderGroupByIdRequest
- UpdateMpcProjectByIdRequest
- UpdateMpcVaultByIdRequest
- UpdateMpcWalletParams
- UpdateSmartContractWalletParams
- UpdateWalletParams
- UpdateWebhookEndpointByIdRequest
- UtxoFeeBasePrice
- UtxoFeeRate
- WalletInfo
- WalletSubtype
- WalletType
- WebhookEndpoint
- WebhookEndpointStatus
- WebhookEvent
- WebhookEventData
- WebhookEventDataType
- WebhookEventLog
- WebhookEventStatus
- WebhookEventType
Authentication schemes defined for the API:
- Type: API key
- API key parameter name: BIZ-API-KEY
- Location: HTTP header
- Type: OAuth
- Flow: accessCode
- Authorization URL: https://auth.cobo.com/authorize
- Scopes:
- custodial_asset_wallet:create: Create access to custodial asset wallets
- custodial_asset_wallet:add: Generate address access to custodial asset wallets
- custodial_asset_wallet:edit: Change wallet name access to custodial asset wallets
- custodial_asset_wallet:withdraw: Withdraw access to custodial asset wallets
- mpc_organization_controlled_wallet:create: Create access to MPC organization-controlled wallets
- mpc_organization_controlled_wallet:add: Generate address access to MPC organization-controlled wallets
- mpc_organization_controlled_wallet:edit: Change wallet name access to MPC organization-controlled wallets
- mpc_organization_controlled_wallet:withdraw: Withdraw access to MPC organization-controlled wallets
- mpc_organization_controlled_wallet:contract_call: Contract call access to MPC organization-controlled wallets
- mpc_organization_controlled_wallet:message_sign: Message sign access to MPC organization-controlled wallets
- mpc_organization_controlled_vault:manage: Create/Edit access to MPC organization-controlled vaults
- mpc_organization_controlled_key_group:manage: Create/Edit/Delete access to MPC organization-controlled key groups
- mpc_organization_controlled_tss_request:manage: Create/Cancel access to MPC organization-controlled tss requests
- mpc_user_controlled_wallet:create: Create access to MPC user-controlled wallets
- mpc_user_controlled_wallet:add: Generate address access to MPC user-controlled wallets
- mpc_user_controlled_wallet:edit: Change wallet name access to MPC user-controlled wallets
- mpc_user_controlled_wallet:withdraw: Withdraw access to MPC user-controlled wallets
- mpc_user_controlled_wallet:contract_call: Contract call access to MPC user-controlled wallets
- mpc_user_controlled_wallet:message_sign: Message sign access to MPC user-controlled wallets
- mpc_user_controlled_project:manage: Create/Edit access to MPC user-controlled projects
- mpc_user_controlled_vault:manage: Create/Edit access to MPC user-controlled vaults
- mpc_user_controlled_key_group:manage: Create/Edit/Delete access to MPC user-controlled key groups
- mpc_user_controlled_tss_request:manage: Create/Cancel access to MPC user-controlled tss requests
- webhook:resend: Resend access to webhook events
- webhook_url:edit: Create/Edit access to webhook urls
It's recommended to create an instance of ApiClient
per thread in a multithreaded environment to avoid any potential issues.