Skip to main content
This guide outlines the processes for canceling, speeding up, and dropping transactions. By mastering these techniques, you can ensure that your transactions are processed promptly and accurately.

Cancel a transaction

Canceling a transaction stops it while it is still pending. You might want to cancel a transaction if it was initiated by mistake, if you need to modify its details, or if it no longer needs to be executed. Canceling prevents the transaction from being processed further.
This operation only applies to transactions from MPC Wallets and Smart Contract Wallets.
A transaction can be cancelled if its status is either of the following:
  • Submitted
  • PendingScreening
  • PendingAuthorization
  • PendingSignature (Only when the sub-status is Queue, InsufficientBalance, InsufficientBalanceFundLocked, PendingSignerApproval, PendingSystemProcessing, or Built)
To cancel a transaction via the WaaS 2.0 API, use the Cancel transaction operation. This requires the transaction ID of the transaction you wish to cancel.

Replace-By-Fee (RBF) transactions

Replace-By-Fee (RBF) is a feature that allows you to replace an unconfirmed transaction with a new version that typically pays a higher transaction fee. This functionality provides flexibility to modify transactions after they are broadcast but before they are confirmed by miners. The key benefits of RBF include the ability to:
  • Accelerate transaction confirmation by increasing the fee.
  • Cancel a pending transaction.
  • Modify transaction details such as the destination address or transfer amount.
The two most common use cases of RBF are speeding up and dropping transactions.

Speed up a transaction

Speeding up a transaction leverages RBF to replace the original transaction with a version with a higher fee, encouraging miners to prioritize it for faster confirmation. You might want to speed up a transaction if it is taking too long to be confirmed due to low fees. This is particularly useful in times of network congestion.
This operation only applies to transactions from Custodial Wallets (Web3 Wallets), MPC Wallets and Smart Contract Wallets. It does not apply to transactions on the following chains: VET, TRON, TVET, SOL, and TON.
A transaction can be sped up only if its status is Broadcasting. To speed up a transaction, use the Speed up transaction operation. This requires the transaction ID of the transaction you wish to speed up.
If you speed up 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.

Drop a transaction

Dropping a transaction leverages RBF to replace the original transaction with a version that effectively cancels it.
  • For EVM chains, this RBF transaction has a transfer amount of 0 and the sending address is the same as the receiving address.
  • For UTXO chains, this RBF transaction has a transfer amount of 0 and the destination address is the same as the change address in the original transaction.
You might want to drop a transaction if it was initiated by mistake, if you need to modify its details, or if it no longer needs to be executed but it cannot be canceled.
This operation only applies to transactions from Custodial Wallets (Web3 Wallets), MPC Wallets and Smart Contract Wallets. It does not apply to transactions on the following chains: VET, TRON, TVET, SOL, and TON.
A transaction can be dropped only if its status is Broadcasting. To drop a transaction, use the Drop transaction operation. This requires the transaction ID of the transaction you wish to drop. 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.
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.

Cobo-defined categories

This field cobo_category is defined by Cobo to indicate the logical category or purpose of a transaction, helping users identify what type of operation the transaction belongs to.
CategoryDescription
AutoFuelingA transaction where Fee Station pays the gas fee.
AutoFuelingRefundA transaction where Fee Station refunds a previously paid gas fee.
BillPaymentA transaction where Fee Station pays Cobo Bills.
BillRefundA transaction where Fee Station refunds previously paid Cobo Bills.
GasFeeSponsorA transaction where Fee Station pays the gas fee using USD stablecoins.
GasFeeSponsorRefundA transaction where Fee Station refunds a gas fee previously paid in USD stablecoins.
CommissionFeeChargeA transaction where Fee Station pays the commission fee.
CommissionFeeRefundA transaction where Fee Station refunds a previously paid commission fee.
Fee Station transactions, including their categories, can be retrieved only through Get Fee Station transaction information and List all Fee Station transactions.
CategoryDescription
ScreenAppRefundA refund transaction initiated through the Screening App.
ScreenAppIsolateAn isolation transaction initiated through the Screening App.
ComplianceRefundA refund transaction initiated by Cobo KYT.
ComplianceIsolateAn isolation transaction initiated by Cobo KYT.
CategoryDescription
StakingBabylonBtcDelegationA transaction for delegating BTC in Babylon staking.
StakingBabylonBtcSignBabylonA transaction for signing Babylon operations with BTC.
StakingBabylonClaimA transaction for claiming rewards from Babylon staking.
StakingBabylonSlashingA transaction related to slashing penalties in Babylon staking.
StakingBabylonStakeA transaction for staking assets in the Babylon platform.
StakingBabylonUnstakeA transaction for unstaking assets from the Babylon platform.
StakingBabylonWithdrawA transaction for withdrawing assets from Babylon staking.
StakingBithiveClaimA transaction for claiming rewards from BitHive staking.
StakingBithiveStakeA transaction for staking assets in the BitHive platform.
StakingBithiveUnstakeA transaction for unstaking assets from the BitHive platform.
StakingBithiveWithdrawA transaction for withdrawing assets from BitHive staking.
StakingCoreStakeA transaction for staking assets in the Core staking platform.
StakingCoreWithdrawA transaction for withdrawing assets from Core staking.
StakingEthClaimA transaction for claiming rewards from ETH staking.
StakingEthStakeA transaction for staking ETH assets.
StakingEthUnstakeA transaction for unstaking ETH assets.
StakingSkyfarmClaimA transaction for claiming rewards from Skyfarm staking.
StakingSkyfarmStakeA transaction for staking assets in the Skyfarm platform.
StakingSkyfarmUnstakeA transaction for unstaking assets from the Skyfarm platform.

Other categories

CategoryDescription
AutoSweepA transaction where tokens are automatically swept to a consolidated address.
TokenizationA transaction for managing tokenized assets, such as minting or wrapping tokens, through the Tokenization app.
TokenizationGasSponsorA transaction where gas fees are sponsored for tokenization-related operations, ensuring the transaction proceeds even if the source address lacks sufficient balance, through the Tokenization app.
TokenSwapA transaction for token swapping or cross-chain bridging through the Token Swap app.
SafeTxMessageA message signing transaction initiated by an MPC wallet to authorize a Smart Contract Wallet (Safe{Wallet}) transaction.
StellarChangeTrustA transaction for establishing a trustline on the Stellar network.
NonceAccountSignA transaction signed using a Solana nonce account, enabling deterministic and replay-safe transaction execution on the Solana network.
FeePayerSignA transaction where a designated Solana fee payer account covers the transaction fees, separating the fee payment from the main signer or source account.
Feel free to share your feedback to improve our documentation!