Fetch onchain transactions for a contract
Returns a paginated list of onchain transactions for the specified contract address and base asset ID, optionally filtered by date range.
GET
/
onchain_data
/
base_asset_id
/
{baseAssetId}
/
contract_address
/
{contractAddress}
/
transactions
TypeScript
const response: Promise<FireblocksResponse<OnchainTransactionsPagedResponse>> = fireblocks.onchainData.getOnchainTransactions(onchainDataApiGetOnchainTransactionsRequest);CompletableFuture<ApiResponse<OnchainTransactionsPagedResponse>> response = fireblocks.onchainData().getOnchainTransactions(baseAssetId, contractAddress, startDate, endDate, pageCursor, pageSize, sortBy, order);response = fireblocks.onchain_data.get_onchain_transactions(base_asset_id, contract_address, start_date, end_date, page_cursor, page_size, sort_by, order);curl --request GET \
--url https://api.fireblocks.io/v1/onchain_data/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/transactionsconst options = {method: 'GET'};
fetch('https://api.fireblocks.io/v1/onchain_data/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/transactions', 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.fireblocks.io/v1/onchain_data/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.fireblocks.io/v1/onchain_data/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/transactions"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://api.fireblocks.io/v1/onchain_data/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"baseAssetId": "ETH_TEST3",
"blockHash": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"blockNumber": 12345678,
"blockTimestamp": "2025-01-16T15:45:00Z",
"chainId": 1,
"cumulativeGasUsed": "21000",
"effectiveGasPrice": "20000000000",
"fromAddress": "0xabcdef1234567890abcdef1234567890abcdef12",
"gasUsed": "21000",
"status": "1",
"transactionHash": "0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890",
"transactionIndex": "0",
"type": "2",
"contractAddress": "0x1234567890123456789012345678901234567890",
"decodedLogs": {
"address": "0x1234567890123456789012345678901234567890",
"blockHash": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"blockNumber": "12345678",
"transactionHash": "0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890",
"logIndex": "0"
},
"toAddress": "0x1234567890123456789012345678901234567890"
}
],
"next": "MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA==",
"prev": "dGhpcyBpcyBhIHByZXZpb3VzIGN1cnNvcg==",
"total": 150
}{
"message": "<string>",
"code": 123
}Path Parameters
The blockchain base assetId
The contract address
Query Parameters
Start date of the time range in ISO 8601 format
End date of the time range in ISO 8601 format
Page cursor to get the next page"
Number of items per page (max 100), requesting more then 100 will return 100 items
Required range:
1 <= x <= 100Sorting field (enum).
Available options:
blockTimestamp, blockNumber, transactionHash ASC / DESC ordering (default DESC)
Available options:
ASC, DESC Response
Onchain transactions fetched successfully
Was this page helpful?
⌘I
TypeScript
const response: Promise<FireblocksResponse<OnchainTransactionsPagedResponse>> = fireblocks.onchainData.getOnchainTransactions(onchainDataApiGetOnchainTransactionsRequest);CompletableFuture<ApiResponse<OnchainTransactionsPagedResponse>> response = fireblocks.onchainData().getOnchainTransactions(baseAssetId, contractAddress, startDate, endDate, pageCursor, pageSize, sortBy, order);response = fireblocks.onchain_data.get_onchain_transactions(base_asset_id, contract_address, start_date, end_date, page_cursor, page_size, sort_by, order);curl --request GET \
--url https://api.fireblocks.io/v1/onchain_data/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/transactionsconst options = {method: 'GET'};
fetch('https://api.fireblocks.io/v1/onchain_data/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/transactions', 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.fireblocks.io/v1/onchain_data/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.fireblocks.io/v1/onchain_data/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/transactions"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://api.fireblocks.io/v1/onchain_data/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"baseAssetId": "ETH_TEST3",
"blockHash": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"blockNumber": 12345678,
"blockTimestamp": "2025-01-16T15:45:00Z",
"chainId": 1,
"cumulativeGasUsed": "21000",
"effectiveGasPrice": "20000000000",
"fromAddress": "0xabcdef1234567890abcdef1234567890abcdef12",
"gasUsed": "21000",
"status": "1",
"transactionHash": "0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890",
"transactionIndex": "0",
"type": "2",
"contractAddress": "0x1234567890123456789012345678901234567890",
"decodedLogs": {
"address": "0x1234567890123456789012345678901234567890",
"blockHash": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"blockNumber": "12345678",
"transactionHash": "0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890",
"logIndex": "0"
},
"toAddress": "0x1234567890123456789012345678901234567890"
}
],
"next": "MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA==",
"prev": "dGhpcyBpcyBhIHByZXZpb3VzIGN1cnNvcg==",
"total": 150
}{
"message": "<string>",
"code": 123
}