import cobo_waas2
from cobo_waas2.models.payment_estimate_fee201_response import (
PaymentEstimateFee201Response,
)
from cobo_waas2.models.payment_estimate_fee_request import PaymentEstimateFeeRequest
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.PaymentApi(api_client)
payment_estimate_fee_request = cobo_waas2.PaymentEstimateFeeRequest(
estimate_fees=[
cobo_waas2.PaymentEstimateFee(
token_id="req_20251230150638", amount="500.00"
)
]
)
try:
# Estimate fees
api_response = api_instance.payment_estimate_fee(
payment_estimate_fee_request=payment_estimate_fee_request
)
print("The response of PaymentApi->payment_estimate_fee:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling PaymentApi->payment_estimate_fee: %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.PaymentApi;
import com.cobo.waas2.model.*;
import java.util.Arrays;
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>");
PaymentApi apiInstance = new PaymentApi();
PaymentEstimateFeeRequest paymentEstimateFeeRequest =
new PaymentEstimateFeeRequest()
.estimateFees(
Arrays.asList(
new PaymentEstimateFee().tokenId("req_20251230150638").amount("500.00")));
try {
PaymentEstimateFee201Response result =
apiInstance.paymentEstimateFee(paymentEstimateFeeRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling PaymentApi#paymentEstimateFee");
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() {
paymentEstimateFeeRequest := *coboWaas2.NewPaymentEstimateFeeRequest([]coboWaas2.PaymentEstimateFee{*coboWaas2.NewPaymentEstimateFee("TokenId_example", "500.00")})
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.PaymentAPI.PaymentEstimateFee(ctx).
PaymentEstimateFeeRequest(paymentEstimateFeeRequest).
Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `PaymentAPI.PaymentEstimateFee``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `PaymentEstimateFee`: PaymentEstimateFee201Response
fmt.Fprintf(os.Stdout, "Response from `PaymentAPI.PaymentEstimateFee`: %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.PaymentApi();
const opts = {
PaymentEstimateFeeRequest:
CoboWaas2.PaymentEstimateFeeRequest.constructFromObject({
estimate_fees: [{ token_id: "req_20251230150638", amount: "500.00" }],
}),
};
apiInstance.paymentEstimateFee(opts).then(
(data) => {
console.log("API called successfully. Returned data: " + data);
},
(error) => {
console.error(error);
},
);
{
"data": [
{
"token_id": "<string>",
"amount": "500.00",
"commission_fee": {
"fee_amount": "<string>"
},
"bridging_fee": {
"fee_amount": "<string>",
"received_token_id": "<string>",
"received_amount": "<string>",
"bridge_status": "Completed"
},
"otc_fee": {
"fee_rate": "<string>",
"token_id": "<string>"
}
}
]
}{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}Estimate fees
This operation calculates fees for payment-related operations, including:
- Pay-in: Fees for accepting payments
- Refunds: Fees for refunding the payment
- Crypto payouts: Fees for payouts in crypto
- Fiat off-ramp: Fees for fiat currency transfers via off-ramp.
The returned fees represent the charges that would apply if the operation were executed immediately. Note that actual fees may vary over time based on your usage volume and applicable fee rates.
import cobo_waas2
from cobo_waas2.models.payment_estimate_fee201_response import (
PaymentEstimateFee201Response,
)
from cobo_waas2.models.payment_estimate_fee_request import PaymentEstimateFeeRequest
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.PaymentApi(api_client)
payment_estimate_fee_request = cobo_waas2.PaymentEstimateFeeRequest(
estimate_fees=[
cobo_waas2.PaymentEstimateFee(
token_id="req_20251230150638", amount="500.00"
)
]
)
try:
# Estimate fees
api_response = api_instance.payment_estimate_fee(
payment_estimate_fee_request=payment_estimate_fee_request
)
print("The response of PaymentApi->payment_estimate_fee:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling PaymentApi->payment_estimate_fee: %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.PaymentApi;
import com.cobo.waas2.model.*;
import java.util.Arrays;
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>");
PaymentApi apiInstance = new PaymentApi();
PaymentEstimateFeeRequest paymentEstimateFeeRequest =
new PaymentEstimateFeeRequest()
.estimateFees(
Arrays.asList(
new PaymentEstimateFee().tokenId("req_20251230150638").amount("500.00")));
try {
PaymentEstimateFee201Response result =
apiInstance.paymentEstimateFee(paymentEstimateFeeRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling PaymentApi#paymentEstimateFee");
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() {
paymentEstimateFeeRequest := *coboWaas2.NewPaymentEstimateFeeRequest([]coboWaas2.PaymentEstimateFee{*coboWaas2.NewPaymentEstimateFee("TokenId_example", "500.00")})
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.PaymentAPI.PaymentEstimateFee(ctx).
PaymentEstimateFeeRequest(paymentEstimateFeeRequest).
Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `PaymentAPI.PaymentEstimateFee``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `PaymentEstimateFee`: PaymentEstimateFee201Response
fmt.Fprintf(os.Stdout, "Response from `PaymentAPI.PaymentEstimateFee`: %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.PaymentApi();
const opts = {
PaymentEstimateFeeRequest:
CoboWaas2.PaymentEstimateFeeRequest.constructFromObject({
estimate_fees: [{ token_id: "req_20251230150638", amount: "500.00" }],
}),
};
apiInstance.paymentEstimateFee(opts).then(
(data) => {
console.log("API called successfully. Returned data: " + data);
},
(error) => {
console.error(error);
},
);
{
"data": [
{
"token_id": "<string>",
"amount": "500.00",
"commission_fee": {
"fee_amount": "<string>"
},
"bridging_fee": {
"fee_amount": "<string>",
"received_token_id": "<string>",
"received_amount": "<string>",
"bridge_status": "Completed"
},
"otc_fee": {
"fee_rate": "<string>",
"token_id": "<string>"
}
}
]
}{
"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.payment_estimate_fee201_response import (
PaymentEstimateFee201Response,
)
from cobo_waas2.models.payment_estimate_fee_request import PaymentEstimateFeeRequest
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.PaymentApi(api_client)
payment_estimate_fee_request = cobo_waas2.PaymentEstimateFeeRequest(
estimate_fees=[
cobo_waas2.PaymentEstimateFee(
token_id="req_20251230150638", amount="500.00"
)
]
)
try:
# Estimate fees
api_response = api_instance.payment_estimate_fee(
payment_estimate_fee_request=payment_estimate_fee_request
)
print("The response of PaymentApi->payment_estimate_fee:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling PaymentApi->payment_estimate_fee: %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.PaymentApi;
import com.cobo.waas2.model.*;
import java.util.Arrays;
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>");
PaymentApi apiInstance = new PaymentApi();
PaymentEstimateFeeRequest paymentEstimateFeeRequest =
new PaymentEstimateFeeRequest()
.estimateFees(
Arrays.asList(
new PaymentEstimateFee().tokenId("req_20251230150638").amount("500.00")));
try {
PaymentEstimateFee201Response result =
apiInstance.paymentEstimateFee(paymentEstimateFeeRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling PaymentApi#paymentEstimateFee");
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() {
paymentEstimateFeeRequest := *coboWaas2.NewPaymentEstimateFeeRequest([]coboWaas2.PaymentEstimateFee{*coboWaas2.NewPaymentEstimateFee("TokenId_example", "500.00")})
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.PaymentAPI.PaymentEstimateFee(ctx).
PaymentEstimateFeeRequest(paymentEstimateFeeRequest).
Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `PaymentAPI.PaymentEstimateFee``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `PaymentEstimateFee`: PaymentEstimateFee201Response
fmt.Fprintf(os.Stdout, "Response from `PaymentAPI.PaymentEstimateFee`: %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.PaymentApi();
const opts = {
PaymentEstimateFeeRequest:
CoboWaas2.PaymentEstimateFeeRequest.constructFromObject({
estimate_fees: [{ token_id: "req_20251230150638", amount: "500.00" }],
}),
};
apiInstance.paymentEstimateFee(opts).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.
Body
The request body for fee estimation.
A list of token IDs and amounts for which fees will be calculated.
Show child attributes
Show child attributes
The fee type. Possible values include:
Order: Fees for order processing.Refund: Fees for refund processing.CryptoSettlement: This fee type is deprecated. Please useCryptoPayoutinstead.OffRampSettlement: This fee type is deprecated. Please useOffRampPayoutinstead.CryptoPayout: Fees for crypto payouts.CryptoPayoutBridge: Fees for crypto payouts with cross-chain bridging.OffRampPayout: Fees for fiat off-ramp payouts.
Order, Refund, CryptoSettlement, OffRampSettlement, CryptoPayout, CryptoPayoutBridge, OffRampPayout "Order"
The token ID that the recipient will receive. Required only when fee_type is CryptoPayoutBridge.
For OffRamp payout, whether the payout is transferred to a registered bank account via a virtual account (VA) or directly.
true: The payout is transferred to a registered bank account via a VA (virtual account).false: The payout is transferred directly to a registered bank account.
false
Response
The request was successful.
A list of estimated fees for the requested operations.
Show child attributes
Show child attributes
