Tatum
Search…
How to send an Ethereum transaction
Sending an Ethereum transaction is very straightforward, you only have to execute one API call to Tatum.
The Ethereum blockchain is account-based. Your address is the account from which you send and receive every transaction.
In order to send Ethereum to another blockchain address, you have to provide the recipient address, the amount to be transferred, and the private key of the account you want to send money from. The fee for the transaction is calculated automatically based on the usage of the blockchain network, but can be entered manually.
Estimating transaction fees
You can quickly estimate transaction fees using the Estimate fee for transaction endpoint.

Sending an Ethereum transaction

Enough of the theory. Let's send some Ethereum using an Ethereum/Send endpoint.
Request
Response
1
curl --location --request POST 'https://api-eu1.tatum.io/v3/ethereum/transaction' \
2
--header 'x-api-key: YOUR_API_KEY' \
3
--header 'Content-Type: application/json' \
4
--data-raw '{
5
"to": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
6
"currency": "ETH",
7
"amount": "0.01",
8
"fromPrivateKey": "0xcd2fe348ecbde2a9b1caf0429dfaac4b656b9d969eca290cc106e6cbb38ef1e9"
9
}'
Copied!
1
{
2
"txId": "0x7698f412a70385f3e1ab513a9ecf5edd7dc1c76f0e369b1c7b059d98892091c0"
3
}
Copied!
Securely signing transactions
In this guide, we are signing transactions with a private key via API. This is fine for testing and demo purposes, but should not be used for production purposes. Your private keys and mnemonics should never leave your security perimeter. To correctly and securely sign a transaction you can use Tatum CLI from the command line, a specific language library like Tatum JS, the local middleware API, or our complex key management system, Tatum KMS.

Getting transaction detail

The result is the transaction ID that can be obtained and checked via the Ethereum/Get transaction endpoint.
Request
Response
1
curl --location --request GET 'https://api-eu1.tatum.io/v3/ethereum/transaction/0x7698f412a70385f3e1ab513a9ecf5edd7dc1c76f0e369b1c7b059d98892091c0' \
2
--header 'x-api-key: YOUR_API_KEY'
Copied!
1
{
2
"blockHash": "0x51ba00b430d47ab623a8d4e516cb8a11dc5ee7e773bd9649ac2ad2573b9d3616",
3
"blockNumber": 9115179,
4
"contractAddress": null,
5
"gas": 26000,
6
"gasPrice": "60000000000",
7
"gasUsed": 21000,
8
"logs": [],
9
"nonce": 0,
10
"status": true,
11
"transactionHash": "0x7698f412a70385f3e1ab513a9ecf5edd7dc1c76f0e369b1c7b059d98892091c0",
12
"transactionIndex": 0,
13
"value": "10000000000000000",
14
"from": "0xfb99f8ae9b70a0c8cd96ae665bbaf85a7e01a2ef",
15
"to": "0x687422eea2cb73b5d3e242ba5456b782919afc85"
16
}
Copied!
And that's it. A piece of cake. Now you know how to create your wallet, receive assets, and send them somewhere else. To find out more about the endpoints you used today, read our API Reference.
Last modified 1mo ago