import { GoldRushClient } from "@covalenthq/client-sdk";
const ApiServices = async () => {
const client = new GoldRushClient("<GOLDRUSH_API_KEY>");
const resp = await client.TransactionService.getTransaction({chainName: "chainName", walletAddress: "walletAddress"});
console.log(resp.data);
};
ApiServices();curl --request GET \
--url https://api.covalenthq.com/v1/{chainName}/transaction_v2/{txHash}/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.covalenthq.com/v1/{chainName}/transaction_v2/{txHash}/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.covalenthq.com/v1/{chainName}/transaction_v2/{txHash}/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.covalenthq.com/v1/{chainName}/transaction_v2/{txHash}/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.covalenthq.com/v1/{chainName}/transaction_v2/{txHash}/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.covalenthq.com/v1/{chainName}/transaction_v2/{txHash}/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.covalenthq.com/v1/{chainName}/transaction_v2/{txHash}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"updated_at": "2023-11-07T05:31:56Z",
"chain_id": 123,
"chain_name": "<string>",
"chain_tip_height": 123,
"chain_tip_signed_at": "2023-11-07T05:31:56Z",
"items": [
{
"block_signed_at": "2023-11-07T05:31:56Z",
"block_height": 123,
"block_hash": "<string>",
"tx_hash": "<string>",
"tx_offset": 123,
"successful": true,
"from_address": "<string>",
"miner_address": "<string>",
"to_address": "<string>",
"value": "<string>",
"value_quote": 123,
"pretty_value_quote": "<string>",
"gas_metadata": {
"contract_decimals": 123,
"contract_name": "<string>",
"contract_ticker_symbol": "<string>",
"contract_address": "<string>",
"supports_erc": [
"<string>"
],
"logo_url": "<string>"
},
"gas_offered": 123,
"gas_spent": 123,
"gas_price": 123,
"fees_paid": "<string>",
"gas_quote": 123,
"pretty_gas_quote": "<string>",
"gas_quote_rate": 123,
"explorers": [
{
"label": "<string>",
"url": "<string>"
}
],
"log_events": [
{
"block_signed_at": "2023-11-07T05:31:56Z",
"block_height": 123,
"tx_offset": 123,
"log_offset": 123,
"tx_hash": "<string>",
"raw_log_topics": [
"<string>"
],
"sender_contract_decimals": 123,
"sender_name": "<string>",
"sender_contract_ticker_symbol": "<string>",
"sender_address": "<string>",
"sender_logo_url": "<string>",
"supports_erc": [
"<string>"
],
"sender_factory_address": "<string>",
"raw_log_data": "<string>",
"decoded": {
"name": "<string>",
"signature": "<string>",
"params": [
{
"name": "<string>",
"type": "<string>",
"indexed": true,
"decoded": true,
"value": "<string>"
}
]
}
}
],
"internal_transfers": [
{
"from_address": "<string>",
"to_address": "<string>",
"value": "<string>",
"gas_limit": 123
}
],
"input_data": {
"method_id": "<string>"
},
"classification": {
"version": 123,
"type": "<string>",
"category": "<string>",
"description": "<string>",
"account_address": "<string>",
"account_abstraction": {
"standard": "<string>",
"entry_point": "<string>",
"bundler": "<string>",
"sender": "<string>",
"paymaster": "<string>"
},
"sent": [
{
"action": "<string>",
"from": {
"address": "<string>"
},
"to": {},
"amount": "<string>",
"token": {}
}
],
"received": [
{}
]
}
}
]
}Transaction API
Fetches a single transaction, including its decoded event logs.
import { GoldRushClient } from "@covalenthq/client-sdk";
const ApiServices = async () => {
const client = new GoldRushClient("<GOLDRUSH_API_KEY>");
const resp = await client.TransactionService.getTransaction({chainName: "chainName", walletAddress: "walletAddress"});
console.log(resp.data);
};
ApiServices();curl --request GET \
--url https://api.covalenthq.com/v1/{chainName}/transaction_v2/{txHash}/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.covalenthq.com/v1/{chainName}/transaction_v2/{txHash}/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.covalenthq.com/v1/{chainName}/transaction_v2/{txHash}/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.covalenthq.com/v1/{chainName}/transaction_v2/{txHash}/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.covalenthq.com/v1/{chainName}/transaction_v2/{txHash}/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.covalenthq.com/v1/{chainName}/transaction_v2/{txHash}/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.covalenthq.com/v1/{chainName}/transaction_v2/{txHash}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"updated_at": "2023-11-07T05:31:56Z",
"chain_id": 123,
"chain_name": "<string>",
"chain_tip_height": 123,
"chain_tip_signed_at": "2023-11-07T05:31:56Z",
"items": [
{
"block_signed_at": "2023-11-07T05:31:56Z",
"block_height": 123,
"block_hash": "<string>",
"tx_hash": "<string>",
"tx_offset": 123,
"successful": true,
"from_address": "<string>",
"miner_address": "<string>",
"to_address": "<string>",
"value": "<string>",
"value_quote": 123,
"pretty_value_quote": "<string>",
"gas_metadata": {
"contract_decimals": 123,
"contract_name": "<string>",
"contract_ticker_symbol": "<string>",
"contract_address": "<string>",
"supports_erc": [
"<string>"
],
"logo_url": "<string>"
},
"gas_offered": 123,
"gas_spent": 123,
"gas_price": 123,
"fees_paid": "<string>",
"gas_quote": 123,
"pretty_gas_quote": "<string>",
"gas_quote_rate": 123,
"explorers": [
{
"label": "<string>",
"url": "<string>"
}
],
"log_events": [
{
"block_signed_at": "2023-11-07T05:31:56Z",
"block_height": 123,
"tx_offset": 123,
"log_offset": 123,
"tx_hash": "<string>",
"raw_log_topics": [
"<string>"
],
"sender_contract_decimals": 123,
"sender_name": "<string>",
"sender_contract_ticker_symbol": "<string>",
"sender_address": "<string>",
"sender_logo_url": "<string>",
"supports_erc": [
"<string>"
],
"sender_factory_address": "<string>",
"raw_log_data": "<string>",
"decoded": {
"name": "<string>",
"signature": "<string>",
"params": [
{
"name": "<string>",
"type": "<string>",
"indexed": true,
"decoded": true,
"value": "<string>"
}
]
}
}
],
"internal_transfers": [
{
"from_address": "<string>",
"to_address": "<string>",
"value": "<string>",
"gas_limit": 123
}
],
"input_data": {
"method_id": "<string>"
},
"classification": {
"version": 123,
"type": "<string>",
"category": "<string>",
"description": "<string>",
"account_address": "<string>",
"account_abstraction": {
"standard": "<string>",
"entry_point": "<string>",
"bundler": "<string>",
"sender": "<string>",
"paymaster": "<string>"
},
"sent": [
{
"action": "<string>",
"from": {
"address": "<string>"
},
"to": {},
"amount": "<string>",
"token": {}
}
],
"received": [
{}
]
}
}
]
}Credit Cost
Processing
0.1 credits (e.g. requests that return with status 200 but no items).Calls with no-logs cost 0.05 credits/item.Internal transactions are included in the response by using with-internal and cost 0.05 credits/item.with-internal is supported on select EVM chains only. See Traces Support for the current list of supported chains.Related guides
Related guides
Authorizations
Bearer authentication header of the form: Bearer <token>, where <token> is your GoldRush API Key.
Path Parameters
The chain name eg: eth-mainnet.
The transaction hash.
Query Parameters
The currency to convert. Supports USD, CAD, EUR, SGD, INR, JPY, VND, CNY, KRW, RUB, TRY, NGN, ARS, AUD, CHF, and GBP.
Omit log events.
Whether to include internal transfers/transactions.
Whether to include the transaction's input data, which is returned as input_data.method_id. Supported on a narrower set of chains than with-internal; returns a 501 where unsupported. Costs an extra 0.05 credits/item.
Whether to include a human-readable classification of the transaction, such as a swap or a token transfer. Supported on the same chains as with-internal. Costs an extra 0.05 credits/item.
The address to classify the transaction for, when with-classification=true. If omitted, the transaction's from_address is used.
Response
Successful response
The timestamp when the response was generated. Useful to show data staleness to users.
The requested chain ID eg: 1.
The requested chain name eg: eth-mainnet.
The latest block height of the blockchain at the time this response was provided.
The timestamp of the latest signed block at the time this response was provided.
List of response items.
Show child attributes
Show child attributes