import { GoldRushClient } from "@covalenthq/client-sdk";
const ApiServices = async () => {
const client = new GoldRushClient("<GOLDRUSH_API_KEY>");
const resp = await client.BaseService.getLogEventsByTopicHash({chainName: "chainName", walletAddress: "walletAddress"});
console.log(resp.data);
};
ApiServices();curl --request GET \
--url https://api.covalenthq.com/v1/{chainName}/events/topics/{topicHash}/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.covalenthq.com/v1/{chainName}/events/topics/{topicHash}/"
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}/events/topics/{topicHash}/', 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}/events/topics/{topicHash}/",
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}/events/topics/{topicHash}/"
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}/events/topics/{topicHash}/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.covalenthq.com/v1/{chainName}/events/topics/{topicHash}/")
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,
"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>"
}
]
}
}
],
"pagination": {
"has_more": true,
"page_number": 123,
"page_size": 123,
"total_count": 123
}
}Get log events by topic hash(es)
Commonly used to get all event logs of the same topic hash across all contracts within a particular chain.
import { GoldRushClient } from "@covalenthq/client-sdk";
const ApiServices = async () => {
const client = new GoldRushClient("<GOLDRUSH_API_KEY>");
const resp = await client.BaseService.getLogEventsByTopicHash({chainName: "chainName", walletAddress: "walletAddress"});
console.log(resp.data);
};
ApiServices();curl --request GET \
--url https://api.covalenthq.com/v1/{chainName}/events/topics/{topicHash}/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.covalenthq.com/v1/{chainName}/events/topics/{topicHash}/"
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}/events/topics/{topicHash}/', 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}/events/topics/{topicHash}/",
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}/events/topics/{topicHash}/"
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}/events/topics/{topicHash}/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.covalenthq.com/v1/{chainName}/events/topics/{topicHash}/")
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,
"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>"
}
]
}
}
],
"pagination": {
"has_more": true,
"page_number": 123,
"page_size": 123,
"total_count": 123
}
}Credit Cost
Processing
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 endpoint will return event logs that contain this topic hash.
Query Parameters
The first block to retrieve log events with. Accepts decimals, hexadecimals, or the strings earliest and latest.
The last block to retrieve log events with. Accepts decimals, hexadecimals, or the strings earliest and latest.
Additional topic hash(es) to filter on - padded & unpadded address fields are supported. Separate multiple topics with a comma.
Number of items per page. Omitting this parameter defaults to 100.
0-indexed page number to begin pagination.
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
Pagination metadata.
Show child attributes
Show child attributes