curl --request GET \
--url https://api.range.org/v2/transactions \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.range.org/v2/transactions"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://api.range.org/v2/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.range.org/v2/transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$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.range.org/v2/transactions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
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.range.org/v2/transactions")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.range.org/v2/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "3891709-0",
"time": "2024-05-08T13:05:57.779Z",
"height": "3891709",
"hash": "8c288a1b3006b4c129af06c7603a6bb624a482d5dc1b7b4cf3791cb84ade3554",
"success": true,
"types": [
"MsgSend",
"MsgDelegate"
],
"signers": [
"cosmos1z6rh9mu9qggl2mugavyfu8h5td92d9y92r9ttc"
],
"transfers": {
"sender": {
"address": "AuZrspySopxfZUiXY6YxDyfS211KvXLe197kj3M2cLpq",
"network": "solana"
},
"receiver": {
"address": "noble14h2xp3fcfsgwmr24wrurfpv5t0chaal238k9wq",
"network": "noble-1"
}
},
"fee": {
"amount": "5000",
"denom": "uatom"
}
}
],
"meta": {
"next_cursor": "eyJpZCI6IjkxeFFlV3Z...",
"previous_cursor": "eyJpZCI6IjkxeFFlV3Z...",
"first_page_cursor": "eyJpZCI6IjkxeFFlV3Z...",
"last_page_cursor": "eyJpZCI6IjkxeFFlV3Z...",
"total_count": 100,
"page_number": 1
}
}Get transactions list
Returns a list of transactions that match the specified search term.
curl --request GET \
--url https://api.range.org/v2/transactions \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.range.org/v2/transactions"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://api.range.org/v2/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.range.org/v2/transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$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.range.org/v2/transactions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
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.range.org/v2/transactions")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.range.org/v2/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "3891709-0",
"time": "2024-05-08T13:05:57.779Z",
"height": "3891709",
"hash": "8c288a1b3006b4c129af06c7603a6bb624a482d5dc1b7b4cf3791cb84ade3554",
"success": true,
"types": [
"MsgSend",
"MsgDelegate"
],
"signers": [
"cosmos1z6rh9mu9qggl2mugavyfu8h5td92d9y92r9ttc"
],
"transfers": {
"sender": {
"address": "AuZrspySopxfZUiXY6YxDyfS211KvXLe197kj3M2cLpq",
"network": "solana"
},
"receiver": {
"address": "noble14h2xp3fcfsgwmr24wrurfpv5t0chaal238k9wq",
"network": "noble-1"
}
},
"fee": {
"amount": "5000",
"denom": "uatom"
}
}
],
"meta": {
"next_cursor": "eyJpZCI6IjkxeFFlV3Z...",
"previous_cursor": "eyJpZCI6IjkxeFFlV3Z...",
"first_page_cursor": "eyJpZCI6IjkxeFFlV3Z...",
"last_page_cursor": "eyJpZCI6IjkxeFFlV3Z...",
"total_count": 100,
"page_number": 1
}
}Authorizations
Authorization method required to allow user to access the api endpoints.
Query Parameters
Only find transfers on one specific network
"cosmoshub-4"
"n0192376853"
Comma-separated message types. Not supported with address on Cosmos Hub.
1 <= x <= 10010
"0xbe667b06979c46e186cebb4ad2c6fb6af8fb034e4723518416b2e7d3aeeb4753"
Only find transactions on one specific address. On Cosmos Hub, status and types cannot be combined with this filter.
Filter by transaction status SUCCEEDED or ERROR
SUCCEEDED, ERROR Start time (ISO 8601). Converted to Date.
"2025-01-01T00:00:00Z"
End time (ISO 8601). Converted to Date.
"2025-12-31T23:59:59Z"
Workspace id to filter these transactions by that workspace's token whitelist (asset-level overrides only — see TransactionService). Omit for the unfiltered response.
Restores the unfiltered response, ignoring the workspace token whitelist. Only meaningful alongside workspace_id.
Was this page helpful?