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()
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
)
Manage transactions
Drop transaction
This operation drops a specified transaction.
Dropping a transaction will trigger a Replace-By-Fee (RBF) transaction which is a new version of the original transaction. It must have a higher transaction fee to incentivize miners to prioritize its confirmation over the original one. A transaction can be dropped if its status is Broadcasting.
- For EVM chains, this RBF transaction has a transfer amount of
0and the sending address is the same as the receiving address. - For UTXO chains, this RBF transaction has a transfer amount of
0and the destination address is the same as the change address in the original transaction.
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.
A transaction request for tracking is returned upon successful operation.
When a transaction is being dropped, any subsequent drop or speed up operations will still apply to the original transaction. For example, if a user creates Transaction A and later performs a drop operation on Transaction A using Transaction B, followed by a speed up operation on Transaction B using Transaction C, the speed up operation will still apply to Transaction A, not Transaction B.
This operation only applies to transactions from MPC Wallets and Smart Contract Wallets. It does not apply to transactions on the following chains: VET, TRON, TVET, SOL, and TON.
If you drop a transaction from a Smart Contract Wallet, two RBF transactions will be triggered, one for the transaction from the Smart Contract Wallet, and the other for the transaction from the Delegate.
