Override Transaction
API Documentation: Override Transaction
Overview
This API endpoint allows you to override previous transaction, by creating new transaction with same nonce but different transaction data.
- HTTP Method: POST
- Endpoint:
/api/v1/wallet/eth/override
Request Body Parameters
walletId(required): this will be used to determine which key used to sign. The type is string.overrideRequestId(required): The ID of the previous request that you want to be override.feeMultiplierPercentage(required): The percentage of fee increment (in percentage).transactionType(required): The type of new transaction that want to be override the previous transaction, the possible values are :send_coin,send_erc20,send_erc721,send_erc1155,send_raw,send_transactionandsend_genericpin: The PIN is necessary if the wallet has a PIN enabled. The PIN need to be in hashed format (SHA-256).
Request Body Parameters for send_coin
to(required): the destination EVM address that will receive the coin.amount(required): in the wei format.
Example Request Body
{
"walletId" : "...",
"overrideRequestId": "2055187f-5c20-4cc4-8063-3eb1a3383da5",
"transactionType": "send_coin",
"feeMultiplierPercentage": 10, // 10% increment
"to" : "0xeF236f1b35B2105836540c23d055d1BFb6c5db52",
"amount": "10000000000000000000000000000"
}Request Body Parameters for send_erc20
to(required): the destination EVM address that will receive the NFT.amount(required): amount in wei unit format.tokenAddress(required): the ERC20 token contract address.
Example Request Body
{
"walletId" : "...",
"overrideRequestId": "2055187f-5c20-4cc4-8063-3eb1a3383da5",
"transactionType": "send_erc20",
"feeMultiplierPercentage": 10, // 10% increment
"to" : "0xeF236f1b35B2105836540c23d055d1BFb6c5db52",
"amount": "3000000",
"tokenAddress": "0x280c2D3182574d65139EE65383BD6285380d393d"
}Request Body Parameters for send_erc721
to(required): the destination EVM address that will receive the NFT.tokenId(required): the NFT ID.tokenAddress(required): the NFT contract address.
Example Request Body
{
"walletId" : "...",
"overrideRequestId": "2055187f-5c20-4cc4-8063-3eb1a3383da5",
"transactionType": "send_erc721",
"feeMultiplierPercentage": 10, // 10% increment
"to" : "0xeF236f1b35B2105836540c23d055d1BFb6c5db52",
"tokenId": "1",
"tokenAddress": "0x280c2D3182574d65139EE65383BD6285380d393d",
}Request Body Parameters for send_erc1155
to(required): the destination EVM address that will receive the NFT.amount(required): the Amount in wei unit format.tokenId(required): the Token ID.tokenAddress(required): the Token contract address.
Example Request Body
{
"walletId" : "...",
"overrideRequestId": "2055187f-5c20-4cc4-8063-3eb1a3383da5",
"transactionType": "send_erc1155",
"feeMultiplierPercentage": 10, // 10% increment
"to" : "0xeF236f1b35B2105836540c23d055d1BFb6c5db52",
"amount": "1",
"tokenId": "1",
"tokenAddress": "0x280c2D3182574d65139EE65383BD6285380d393d"
}Request Body Parameters for send_raw
rawUnsignedTransaction(required): Unsigned transaction in hex format (can be with prefix 0x or without prefix 0x).
Example Request Body
{
"walletId" : "...",
"overrideRequestId": "2055187f-5c20-4cc4-8063-3eb1a3383da5",
"transactionType": "send_raw",
"feeMultiplierPercentage": 10, // 10% increment
"rawUnsignedTransaction": "0x02f082426801843b9aca00848321560082522894f08f55777ca21aee3aeb451ffcdb4db322a73c6c8207d0822222c0808080"
}Request Body Parameters for send_transaction
to(required): The recipient’s Ethereum address, specified in standard Ethereum address format.data(required): The data associated with the transaction. If no specific data is provided, use 0x to indicate an empty transaction.nonce(required): The sender’s nonce, which is a number representing the number of transactions sent from the sender’s address. This should be an integer.gasFeeCap(required): The maximum gas fee (in gwei) the sender is willing to pay for the transaction, represented as a number (maxFeePerGas).gasTipCap(required): The maximum tip fee (in gwei) the sender is willing to provide as a priority fee to miners, represented as a number (maxPriorityFeePerGas).gas(required): The amount of gas (in units) required for the transaction to be processed. This should be specified as a number.value(required): The amount of Ether (in wei) to be transferred in the transaction. The value should be represented as an integer in wei (the smallest unit of Ether).
Example Request Body
{
"walletId" : "...",
"overrideRequestId": "2055187f-5c20-4cc4-8063-3eb1a3383da5",
"transactionType": "send_transaction",
"feeMultiplierPercentage": 10, // 10% increment
"to": "0x69DDcdE165b784c059cC3E9DFA1cdc374cd6F3C3",
"data": "0x",
"nonce": 1,
"gasFeeCap": 20000000000, // 20 gwei
"gasTipCap": 10000000000, // 10 gwei
"gas": 21000,
"value": 1000000000000000000 // 1 Ether (in wei)
}Request
Request Headers
X-SIGNATURE: (required): Calculated signature, please refer to Authorization section.X-TIMESTAMP: (required): Request timestamp in RFC3339 format.X-APP-ID: (required): APP ID which was generated when register in Xellar TSS API Service Dashboard.
Example Request Syntax
curl -X POST -H "Content-Type: application/json" -H "x-app-id: $YOUR_APP_ID" -H "x-timestamp: $YOUR_TIMESTAMP" -H "x-signature: $YOUR_SIGNATURE" -d '{
"walletId" : "...",
"overrideRequestId": "2055187f-5c20-4cc4-8063-3eb1a3383da5",
"transactionType": "send_coin",
"feeMultiplierPercentage": 10,
"to" : "0xeF236f1b35B2105836540c23d055d1BFb6c5db52",
"amount": "10000000000000000000000000000"
}' <BASE_URL>/api/v1/wallet/eth/overrideResponse
The response will include a JSON object with the following properties:
status(number): The HTTP status code of the response (e.g., 200 for success).message(string): A message providing additional information about the operation.data(object): An object containing the request information.data.requestId(string): The unique identifier for the request.
Example Response
{
"status": 200,
"message": "Override transaction is in progress",
"data": {
"requestId": "9c276eb2-e0e1-4789-bd54-42d5e920379f"
}
}