import cobo_waas2
from cobo_waas2.models.get_transaction_limitation200_response import (
GetTransactionLimitation200Response,
)
from cobo_waas2.rest import ApiException
from pprint import pprint
# See configuration.py for a list of all supported configurations.
configuration = cobo_waas2.Configuration(
# Replace `<YOUR_PRIVATE_KEY>` with your private key
api_private_key="<YOUR_PRIVATE_KEY>",
# Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
host="https://api.dev.cobo.com/v2",
)
# Enter a context with an instance of the API client
with cobo_waas2.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = cobo_waas2.TravelRuleApi(api_client)
transaction_type = "DEPOSIT"
transaction_id = "123e4567-e89b-12d3-a456-426614174000"
try:
# Retrieve transaction limitations
api_response = api_instance.get_transaction_limitation(
transaction_type, transaction_id
)
print("The response of TravelRuleApi->get_transaction_limitation:\n")
pprint(api_response)
except Exception as e:
print(
"Exception when calling TravelRuleApi->get_transaction_limitation: %s\n" % e
)
// Import classes:
import com.cobo.waas2.ApiClient;
import com.cobo.waas2.ApiException;
import com.cobo.waas2.Configuration;
import com.cobo.waas2.Env;
import com.cobo.waas2.api.TravelRuleApi;
import com.cobo.waas2.model.*;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Select the development environment. To use the production environment, replace `Env.DEV` with
// `Env.PROD
defaultClient.setEnv(Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
defaultClient.setPrivKey("<YOUR_PRIVATE_KEY>");
TravelRuleApi apiInstance = new TravelRuleApi();
String transactionType = "DEPOSIT";
UUID transactionId = UUID.fromString("123e4567-e89b-12d3-a456-426614174000");
try {
GetTransactionLimitation200Response result =
apiInstance.getTransactionLimitation(transactionType, transactionId);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling TravelRuleApi#getTransactionLimitation");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
package main
import (
"context"
"fmt"
coboWaas2 "github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2"
"github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2/crypto"
"os"
)
func main() {
transactionType := "DEPOSIT"
transactionId := "123e4567-e89b-12d3-a456-426614174000"
configuration := coboWaas2.NewConfiguration()
// Initialize the API client
apiClient := coboWaas2.NewAPIClient(configuration)
ctx := context.Background()
// Select the development environment. To use the production environment, replace coboWaas2.DevEnv with coboWaas2.ProdEnv
ctx = context.WithValue(ctx, coboWaas2.ContextEnv, coboWaas2.DevEnv)
// Replace `<YOUR_PRIVATE_KEY>` with your private key
ctx = context.WithValue(ctx, coboWaas2.ContextPortalSigner, crypto.Ed25519Signer{
Secret: "<YOUR_PRIVATE_KEY>",
})
resp, r, err := apiClient.TravelRuleAPI.GetTransactionLimitation(ctx).
TransactionType(transactionType).
TransactionId(transactionId).
Execute()
if err != nil {
fmt.Fprintf(
os.Stderr,
"Error when calling `TravelRuleAPI.GetTransactionLimitation``: %v\n",
err,
)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetTransactionLimitation`: GetTransactionLimitation200Response
fmt.Fprintf(os.Stdout, "Response from `TravelRuleAPI.GetTransactionLimitation`: %v\n", resp)
}
const CoboWaas2 = require("@cobo/cobo-waas2");
// Initialize the API client
const apiClient = CoboWaas2.ApiClient.instance;
// Select the development environment. To use the production environment, replace `Env.DEV` with `Env.PROD`
apiClient.setEnv(CoboWaas2.Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
apiClient.setPrivateKey("<YOUR_PRIVATE_KEY>");
// Call the API
const apiInstance = new CoboWaas2.TravelRuleApi();
const transaction_type = "DEPOSIT";
const transaction_id = "123e4567-e89b-12d3-a456-426614174000";
apiInstance.getTransactionLimitation(transaction_type, transaction_id).then(
(data) => {
console.log("API called successfully. Returned data: " + data);
},
(error) => {
console.error(error);
},
);
{
"vasp_list": [
{
"name": "ManyAges",
"vendor_code": "NB",
"vendor_vasp_id": "did:ethr:0x34414c8d5c8ed6f242aa6558ecb500283bab10f4"
}
],
"is_threshold_reached": true,
"self_custody_wallet_challenge": "Hi, please sign this message to confirm that you are the owner of this wallet address.\nThe transfer can only proceed after signing.\n- Address: 0x1234567890abcdef1234567890abcdef12345678\n- Nonce: b2860f5c9f201a81bc76f33e991c1f24\n- Timestamp: 1732523887\n",
"connect_wallet_list": [
"metamask"
],
"satoshi_test_supported": true
}{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}Retrieve transaction limitations
self_custody_wallet_challenge field in the response is deprecated. To obtain a signature challenge, call Get self-custody signature challenge instead. This operation itself is not deprecated and continues to return the VASP list, threshold info, connect wallet list, and Satoshi Test support.This operation retrieves Travel Rule requirements and available options for a transaction based on its transaction type and ID.
Use this endpoint before submitting Travel Rule information to understand the requirements and available options for your transaction.
import cobo_waas2
from cobo_waas2.models.get_transaction_limitation200_response import (
GetTransactionLimitation200Response,
)
from cobo_waas2.rest import ApiException
from pprint import pprint
# See configuration.py for a list of all supported configurations.
configuration = cobo_waas2.Configuration(
# Replace `<YOUR_PRIVATE_KEY>` with your private key
api_private_key="<YOUR_PRIVATE_KEY>",
# Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
host="https://api.dev.cobo.com/v2",
)
# Enter a context with an instance of the API client
with cobo_waas2.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = cobo_waas2.TravelRuleApi(api_client)
transaction_type = "DEPOSIT"
transaction_id = "123e4567-e89b-12d3-a456-426614174000"
try:
# Retrieve transaction limitations
api_response = api_instance.get_transaction_limitation(
transaction_type, transaction_id
)
print("The response of TravelRuleApi->get_transaction_limitation:\n")
pprint(api_response)
except Exception as e:
print(
"Exception when calling TravelRuleApi->get_transaction_limitation: %s\n" % e
)
// Import classes:
import com.cobo.waas2.ApiClient;
import com.cobo.waas2.ApiException;
import com.cobo.waas2.Configuration;
import com.cobo.waas2.Env;
import com.cobo.waas2.api.TravelRuleApi;
import com.cobo.waas2.model.*;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Select the development environment. To use the production environment, replace `Env.DEV` with
// `Env.PROD
defaultClient.setEnv(Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
defaultClient.setPrivKey("<YOUR_PRIVATE_KEY>");
TravelRuleApi apiInstance = new TravelRuleApi();
String transactionType = "DEPOSIT";
UUID transactionId = UUID.fromString("123e4567-e89b-12d3-a456-426614174000");
try {
GetTransactionLimitation200Response result =
apiInstance.getTransactionLimitation(transactionType, transactionId);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling TravelRuleApi#getTransactionLimitation");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
package main
import (
"context"
"fmt"
coboWaas2 "github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2"
"github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2/crypto"
"os"
)
func main() {
transactionType := "DEPOSIT"
transactionId := "123e4567-e89b-12d3-a456-426614174000"
configuration := coboWaas2.NewConfiguration()
// Initialize the API client
apiClient := coboWaas2.NewAPIClient(configuration)
ctx := context.Background()
// Select the development environment. To use the production environment, replace coboWaas2.DevEnv with coboWaas2.ProdEnv
ctx = context.WithValue(ctx, coboWaas2.ContextEnv, coboWaas2.DevEnv)
// Replace `<YOUR_PRIVATE_KEY>` with your private key
ctx = context.WithValue(ctx, coboWaas2.ContextPortalSigner, crypto.Ed25519Signer{
Secret: "<YOUR_PRIVATE_KEY>",
})
resp, r, err := apiClient.TravelRuleAPI.GetTransactionLimitation(ctx).
TransactionType(transactionType).
TransactionId(transactionId).
Execute()
if err != nil {
fmt.Fprintf(
os.Stderr,
"Error when calling `TravelRuleAPI.GetTransactionLimitation``: %v\n",
err,
)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetTransactionLimitation`: GetTransactionLimitation200Response
fmt.Fprintf(os.Stdout, "Response from `TravelRuleAPI.GetTransactionLimitation`: %v\n", resp)
}
const CoboWaas2 = require("@cobo/cobo-waas2");
// Initialize the API client
const apiClient = CoboWaas2.ApiClient.instance;
// Select the development environment. To use the production environment, replace `Env.DEV` with `Env.PROD`
apiClient.setEnv(CoboWaas2.Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
apiClient.setPrivateKey("<YOUR_PRIVATE_KEY>");
// Call the API
const apiInstance = new CoboWaas2.TravelRuleApi();
const transaction_type = "DEPOSIT";
const transaction_id = "123e4567-e89b-12d3-a456-426614174000";
apiInstance.getTransactionLimitation(transaction_type, transaction_id).then(
(data) => {
console.log("API called successfully. Returned data: " + data);
},
(error) => {
console.error(error);
},
);
{
"vasp_list": [
{
"name": "ManyAges",
"vendor_code": "NB",
"vendor_vasp_id": "did:ethr:0x34414c8d5c8ed6f242aa6558ecb500283bab10f4"
}
],
"is_threshold_reached": true,
"self_custody_wallet_challenge": "Hi, please sign this message to confirm that you are the owner of this wallet address.\nThe transfer can only proceed after signing.\n- Address: 0x1234567890abcdef1234567890abcdef12345678\n- Nonce: b2860f5c9f201a81bc76f33e991c1f24\n- Timestamp: 1732523887\n",
"connect_wallet_list": [
"metamask"
],
"satoshi_test_supported": true
}{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}import cobo_waas2
from cobo_waas2.models.get_transaction_limitation200_response import (
GetTransactionLimitation200Response,
)
from cobo_waas2.rest import ApiException
from pprint import pprint
# See configuration.py for a list of all supported configurations.
configuration = cobo_waas2.Configuration(
# Replace `<YOUR_PRIVATE_KEY>` with your private key
api_private_key="<YOUR_PRIVATE_KEY>",
# Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
host="https://api.dev.cobo.com/v2",
)
# Enter a context with an instance of the API client
with cobo_waas2.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = cobo_waas2.TravelRuleApi(api_client)
transaction_type = "DEPOSIT"
transaction_id = "123e4567-e89b-12d3-a456-426614174000"
try:
# Retrieve transaction limitations
api_response = api_instance.get_transaction_limitation(
transaction_type, transaction_id
)
print("The response of TravelRuleApi->get_transaction_limitation:\n")
pprint(api_response)
except Exception as e:
print(
"Exception when calling TravelRuleApi->get_transaction_limitation: %s\n" % e
)
// Import classes:
import com.cobo.waas2.ApiClient;
import com.cobo.waas2.ApiException;
import com.cobo.waas2.Configuration;
import com.cobo.waas2.Env;
import com.cobo.waas2.api.TravelRuleApi;
import com.cobo.waas2.model.*;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Select the development environment. To use the production environment, replace `Env.DEV` with
// `Env.PROD
defaultClient.setEnv(Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
defaultClient.setPrivKey("<YOUR_PRIVATE_KEY>");
TravelRuleApi apiInstance = new TravelRuleApi();
String transactionType = "DEPOSIT";
UUID transactionId = UUID.fromString("123e4567-e89b-12d3-a456-426614174000");
try {
GetTransactionLimitation200Response result =
apiInstance.getTransactionLimitation(transactionType, transactionId);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling TravelRuleApi#getTransactionLimitation");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
package main
import (
"context"
"fmt"
coboWaas2 "github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2"
"github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2/crypto"
"os"
)
func main() {
transactionType := "DEPOSIT"
transactionId := "123e4567-e89b-12d3-a456-426614174000"
configuration := coboWaas2.NewConfiguration()
// Initialize the API client
apiClient := coboWaas2.NewAPIClient(configuration)
ctx := context.Background()
// Select the development environment. To use the production environment, replace coboWaas2.DevEnv with coboWaas2.ProdEnv
ctx = context.WithValue(ctx, coboWaas2.ContextEnv, coboWaas2.DevEnv)
// Replace `<YOUR_PRIVATE_KEY>` with your private key
ctx = context.WithValue(ctx, coboWaas2.ContextPortalSigner, crypto.Ed25519Signer{
Secret: "<YOUR_PRIVATE_KEY>",
})
resp, r, err := apiClient.TravelRuleAPI.GetTransactionLimitation(ctx).
TransactionType(transactionType).
TransactionId(transactionId).
Execute()
if err != nil {
fmt.Fprintf(
os.Stderr,
"Error when calling `TravelRuleAPI.GetTransactionLimitation``: %v\n",
err,
)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetTransactionLimitation`: GetTransactionLimitation200Response
fmt.Fprintf(os.Stdout, "Response from `TravelRuleAPI.GetTransactionLimitation`: %v\n", resp)
}
const CoboWaas2 = require("@cobo/cobo-waas2");
// Initialize the API client
const apiClient = CoboWaas2.ApiClient.instance;
// Select the development environment. To use the production environment, replace `Env.DEV` with `Env.PROD`
apiClient.setEnv(CoboWaas2.Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
apiClient.setPrivateKey("<YOUR_PRIVATE_KEY>");
// Call the API
const apiInstance = new CoboWaas2.TravelRuleApi();
const transaction_type = "DEPOSIT";
const transaction_id = "123e4567-e89b-12d3-a456-426614174000";
apiInstance.getTransactionLimitation(transaction_type, transaction_id).then(
(data) => {
console.log("API called successfully. Returned data: " + data);
},
(error) => {
console.error(error);
},
);
Authorizations
The API key. For more details, refer to API key.
In the API playground, enter your API secret, and your API key will be accordingly calculated.
Query Parameters
The transaction type. Possible values include:
DEPOSIT: A deposit transaction.WITHDRAW: A withdrawal transaction.
DEPOSIT, WITHDRAW The transaction ID.
"123e4567-e89b-12d3-a456-426614174000"
Response
The request was successful.
A list of virtual asset service providers (VASP) you can select as the transaction source or destination.
Show child attributes
Show child attributes
Indicates whether the transaction amount exceeds a predefined threshold. If exceeded, additional information is required when filling Travel Rule details.
true: Threshold exceeded.false: Threshold not exceeded.
true
Deprecated. Use Get self-custody signature challenge instead. This field will be removed in a future release.
A human-readable, time-sensitive message to be signed by the wallet owner. The message contains key information including the wallet address, a unique nonce, and a timestamp. Signing this message confirms ownership of the wallet and allows the operation to proceed.
"Hi, please sign this message to confirm that you are the owner of this wallet address.\nThe transfer can only proceed after signing.\n- Address: 0x1234567890abcdef1234567890abcdef12345678\n- Nonce: b2860f5c9f201a81bc76f33e991c1f24\n- Timestamp: 1732523887\n"
A list of self-custody wallet providers you can select as the transaction source or destination.
A supported wallet type or integration.
Indicates whether Satoshi Test (on-chain micro-deposit verification) is supported for the transaction's chain.
true: You can initiate a Satoshi Test challenge to verify the counterparty address.false: The chain does not support Satoshi Test; use signature verification instead.
true
Was this page helpful?
