import cobo_waas2
from cobo_waas2.models.create_transfer_transaction201_response import (
CreateTransferTransaction201Response,
)
from cobo_waas2.models.transaction_rbf import TransactionRbf
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.TransactionsApi(api_client)
transaction_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479"
transaction_rbf = cobo_waas2.TransactionRbf(
request_id="f47ac10b-58cc-4372-a567-0e02b2c3d479",
fee=cobo_waas2.TransactionRequestFee(
cobo_waas2.TransactionRequestFixedFee(
fee_type="EVM_EIP_1559", token_id="TRON"
)
),
)
try:
# Drop transaction
api_response = api_instance.drop_transaction_by_id(
transaction_id, transaction_rbf=transaction_rbf
)
print("The response of TransactionsApi->drop_transaction_by_id:\n")
pprint(api_response)
except Exception as e:
print(
"Exception when calling TransactionsApi->drop_transaction_by_id: %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.TransactionsApi;
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>");
TransactionsApi apiInstance = new TransactionsApi();
UUID transactionId = UUID.fromString("f47ac10b-58cc-4372-a567-0e02b2c3d479");
TransactionRbf transactionRbf =
new TransactionRbf()
.requestId("f47ac10b-58cc-4372-a567-0e02b2c3d479")
.fee(
new TransactionRequestFee(
new TransactionRequestFixedFee()
.feeType(FeeType.EVM_EIP_1559)
.tokenId("TRON")));
try {
CreateTransferTransaction201Response result =
apiInstance.dropTransactionById(transactionId, transactionRbf);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling TransactionsApi#dropTransactionById");
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() {
transactionId := "f47ac10b-58cc-4372-a567-0e02b2c3d479"
transactionRbf := *coboWaas2.NewTransactionRbf("f47ac10b-58cc-4372-a567-0e02b2c3d479", coboWaas2.TransactionRequestFee{TransactionRequestEvmEip1559Fee: coboWaas2.NewTransactionRequestEvmEip1559Fee("9000000000000", "1000000000000", coboWaas2.FeeType("Fixed"), "ETH")})
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.TransactionsAPI.DropTransactionById(ctx, transactionId).
TransactionRbf(transactionRbf).
Execute()
if err != nil {
fmt.Fprintf(
os.Stderr,
"Error when calling `TransactionsAPI.DropTransactionById``: %v\n",
err,
)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `DropTransactionById`: CreateTransferTransaction201Response
fmt.Fprintf(os.Stdout, "Response from `TransactionsAPI.DropTransactionById`: %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.TransactionsApi();
const transaction_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479";
const opts = {
TransactionRbf: CoboWaas2.TransactionRbf.constructFromObject({
request_id: "f47ac10b-58cc-4372-a567-0e02b2c3d479",
fee: { fee_type: "EVM_EIP_1559", token_id: "TRON" },
}),
};
apiInstance.dropTransactionById(transaction_id, opts).then(
(data) => {
console.log("API called successfully. Returned data: " + data);
},
(error) => {
console.error(error);
},
);
{
"request_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"transaction_id": "c986cb3b-1301-412f-9450-13a52c43a95f",
"status": "Submitted"
}{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}Drop transaction
This operation drops a specified transaction. Dropping a transaction leverages RBF to replace the original transaction with a version that effectively cancels it. For more details about dropping a transaction, refer to Drop a transaction.
A transaction can be dropped only if its status is Broadcasting.
You can use the address or included_utxos properties in the request body to specify the address or UTXOs that will cover the transaction fee. Generally, the transaction fee is paid by the original transaction’s source. If that source’s balance is insufficient, the specified address or UTXOs can be used to cover the fee.
import cobo_waas2
from cobo_waas2.models.create_transfer_transaction201_response import (
CreateTransferTransaction201Response,
)
from cobo_waas2.models.transaction_rbf import TransactionRbf
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.TransactionsApi(api_client)
transaction_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479"
transaction_rbf = cobo_waas2.TransactionRbf(
request_id="f47ac10b-58cc-4372-a567-0e02b2c3d479",
fee=cobo_waas2.TransactionRequestFee(
cobo_waas2.TransactionRequestFixedFee(
fee_type="EVM_EIP_1559", token_id="TRON"
)
),
)
try:
# Drop transaction
api_response = api_instance.drop_transaction_by_id(
transaction_id, transaction_rbf=transaction_rbf
)
print("The response of TransactionsApi->drop_transaction_by_id:\n")
pprint(api_response)
except Exception as e:
print(
"Exception when calling TransactionsApi->drop_transaction_by_id: %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.TransactionsApi;
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>");
TransactionsApi apiInstance = new TransactionsApi();
UUID transactionId = UUID.fromString("f47ac10b-58cc-4372-a567-0e02b2c3d479");
TransactionRbf transactionRbf =
new TransactionRbf()
.requestId("f47ac10b-58cc-4372-a567-0e02b2c3d479")
.fee(
new TransactionRequestFee(
new TransactionRequestFixedFee()
.feeType(FeeType.EVM_EIP_1559)
.tokenId("TRON")));
try {
CreateTransferTransaction201Response result =
apiInstance.dropTransactionById(transactionId, transactionRbf);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling TransactionsApi#dropTransactionById");
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() {
transactionId := "f47ac10b-58cc-4372-a567-0e02b2c3d479"
transactionRbf := *coboWaas2.NewTransactionRbf("f47ac10b-58cc-4372-a567-0e02b2c3d479", coboWaas2.TransactionRequestFee{TransactionRequestEvmEip1559Fee: coboWaas2.NewTransactionRequestEvmEip1559Fee("9000000000000", "1000000000000", coboWaas2.FeeType("Fixed"), "ETH")})
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.TransactionsAPI.DropTransactionById(ctx, transactionId).
TransactionRbf(transactionRbf).
Execute()
if err != nil {
fmt.Fprintf(
os.Stderr,
"Error when calling `TransactionsAPI.DropTransactionById``: %v\n",
err,
)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `DropTransactionById`: CreateTransferTransaction201Response
fmt.Fprintf(os.Stdout, "Response from `TransactionsAPI.DropTransactionById`: %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.TransactionsApi();
const transaction_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479";
const opts = {
TransactionRbf: CoboWaas2.TransactionRbf.constructFromObject({
request_id: "f47ac10b-58cc-4372-a567-0e02b2c3d479",
fee: { fee_type: "EVM_EIP_1559", token_id: "TRON" },
}),
};
apiInstance.dropTransactionById(transaction_id, opts).then(
(data) => {
console.log("API called successfully. Returned data: " + data);
},
(error) => {
console.error(error);
},
);
{
"request_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"transaction_id": "c986cb3b-1301-412f-9450-13a52c43a95f",
"status": "Submitted"
}{
"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.create_transfer_transaction201_response import (
CreateTransferTransaction201Response,
)
from cobo_waas2.models.transaction_rbf import TransactionRbf
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.TransactionsApi(api_client)
transaction_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479"
transaction_rbf = cobo_waas2.TransactionRbf(
request_id="f47ac10b-58cc-4372-a567-0e02b2c3d479",
fee=cobo_waas2.TransactionRequestFee(
cobo_waas2.TransactionRequestFixedFee(
fee_type="EVM_EIP_1559", token_id="TRON"
)
),
)
try:
# Drop transaction
api_response = api_instance.drop_transaction_by_id(
transaction_id, transaction_rbf=transaction_rbf
)
print("The response of TransactionsApi->drop_transaction_by_id:\n")
pprint(api_response)
except Exception as e:
print(
"Exception when calling TransactionsApi->drop_transaction_by_id: %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.TransactionsApi;
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>");
TransactionsApi apiInstance = new TransactionsApi();
UUID transactionId = UUID.fromString("f47ac10b-58cc-4372-a567-0e02b2c3d479");
TransactionRbf transactionRbf =
new TransactionRbf()
.requestId("f47ac10b-58cc-4372-a567-0e02b2c3d479")
.fee(
new TransactionRequestFee(
new TransactionRequestFixedFee()
.feeType(FeeType.EVM_EIP_1559)
.tokenId("TRON")));
try {
CreateTransferTransaction201Response result =
apiInstance.dropTransactionById(transactionId, transactionRbf);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling TransactionsApi#dropTransactionById");
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() {
transactionId := "f47ac10b-58cc-4372-a567-0e02b2c3d479"
transactionRbf := *coboWaas2.NewTransactionRbf("f47ac10b-58cc-4372-a567-0e02b2c3d479", coboWaas2.TransactionRequestFee{TransactionRequestEvmEip1559Fee: coboWaas2.NewTransactionRequestEvmEip1559Fee("9000000000000", "1000000000000", coboWaas2.FeeType("Fixed"), "ETH")})
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.TransactionsAPI.DropTransactionById(ctx, transactionId).
TransactionRbf(transactionRbf).
Execute()
if err != nil {
fmt.Fprintf(
os.Stderr,
"Error when calling `TransactionsAPI.DropTransactionById``: %v\n",
err,
)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `DropTransactionById`: CreateTransferTransaction201Response
fmt.Fprintf(os.Stdout, "Response from `TransactionsAPI.DropTransactionById`: %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.TransactionsApi();
const transaction_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479";
const opts = {
TransactionRbf: CoboWaas2.TransactionRbf.constructFromObject({
request_id: "f47ac10b-58cc-4372-a567-0e02b2c3d479",
fee: { fee_type: "EVM_EIP_1559", token_id: "TRON" },
}),
};
apiInstance.dropTransactionById(transaction_id, 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.
Path Parameters
The transaction ID.
Body
The request body to drop or to speed up transactions
The information about the request to drop or to speed up transactions.
The request ID that is used to track a transaction request. The request ID is provided by you and must be unique within your organization.
"f47ac10b-58cc-4372-a567-0e02b2c3d479"
The preset properties to limit transaction fee.
In the fixed fee model, the transaction fee is a fixed amount within a certain amount of period regardless of the transaction size or network congestion, which can vary between different chains. For more information about the fixed fee model, refer to Fee models.
You can specify the maximum fee amount to limit the transaction fee. The transaction will fail if the transaction fee exceeds the specified maximum fee amount.
Switch between the tabs to display the properties for different transaction fee models.
- Fixed
- EVM_EIP_1559
- EVM_Legacy
- UTXO
- SOL
- FIL
Show child attributes
Show child attributes
The information about the transaction source types Org-Controlled and User-Controlled. Refer to Transaction sources and destinations for a detailed introduction about the supported sources and destinations for each transaction type.
- For UTXO-based chains: both
addressandincluded_utxosare optional. If bothaddressandincluded_utxosare provided, the UTXOs must belong to the specified address. If neitheraddressnorincluded_utxosis provided, the system will select UTXOs from the wallet associated withwallet_id. - For account-based chains: You need to provide
addressotherwise the token transfer will fail. However, when estimating fees for a transfer,addressis not required.
For detailed rules on address and included_utxos in both regular and RBF transactions, see Address and included_utxos usage.
Switch between the tabs to display the properties for different transaction sources.
- Org-Controlled/User-Controlled
- Web3
Show child attributes
Show child attributes
The custom category for you to identify your transactions.
The description of the RBF transaction.
"Speedup transaction"
The mode of transaction fee payment using Fee Station. Currently, Fee Station supports eligible transactions made with MPC Wallets and Web3 Wallets on EVM-compatible chains, TRON, and Solana. For more details, refer to Fee Station.
ProActiveAutoFuel: Always use Fee Station to pay transaction fees.PassiveAutoFuel: Use Fee Station only when the source address balance is insufficient to cover transaction fees.UsePortalPreference: Use fueling strategy based on the Portal configuration.DisableAutoFuel: Do not use Fee Station for transaction fee payment under any circumstances.
If this parameter is not specified, it defaults to the behavior of UsePortalPreference.
Note: TRON and Solana do not support PassiveAutoFuel due to their fee delegation mechanisms.
PassiveAutoFuel, ProActiveAutoFuel, UsePortalPreference, DisableAutoFuel "PassiveAutoFuel"
Response
The request was successful.
The request ID that is used to track a transaction request. The request ID is provided by you and must be unique within your organization.
"f47ac10b-58cc-4372-a567-0e02b2c3d479"
The transaction ID.
"c986cb3b-1301-412f-9450-13a52c43a95f"
The transaction status. For more details including sub-statuses, please refer to Transaction statuses and sub-statuses.
The PendingAuthorization status covers both manual approval steps and internal automated risk-control, KYT, and compliance screening checks. A transaction in this status does not necessarily require a human to take action.
Submitted, PendingScreening, PendingAuthorization, PendingSignature, Broadcasting, Confirming, Completed, Failed, Rejected, Pending "Submitted"
Was this page helpful?
