curl --request GET \
--url https://api.kas.fyi/v1/blocks/daa-score/{daa_score_start}/{daa_score_end} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.kas.fyi/v1/blocks/daa-score/{daa_score_start}/{daa_score_end}"
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.kas.fyi/v1/blocks/daa-score/{daa_score_start}/{daa_score_end}', 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.kas.fyi/v1/blocks/daa-score/{daa_score_start}/{daa_score_end}",
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.kas.fyi/v1/blocks/daa-score/{daa_score_start}/{daa_score_end}"
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.kas.fyi/v1/blocks/daa-score/{daa_score_start}/{daa_score_end}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.kas.fyi/v1/blocks/daa-score/{daa_score_start}/{daa_score_end}")
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{
"blocks": [
{
"hash": "2a0c51fab2a7c7a187299e087a244d1e70acdc75e0214a661c62761e2d6bbf4f",
"acceptedIdMerkleRoot": "6a58371f3b3ead073b801ef01d9483949e327433551cd7acd4fb120fa50107d4",
"difficulty": 507406243542504400,
"isChainBlock": true,
"mergeSetBluesHashes": [
"2a0c51fab2a7c7a187299e087a244d1e70acdc75e0214a661c62761e2d6bbf4f"
],
"mergeSetRedsHashes": [
"2a0c51fab2a7c7a187299e087a244d1e70acdc75e0214a661c62761e2d6bbf4f"
],
"selectedParentHash": "2a0c51fab2a7c7a187299e087a244d1e70acdc75e0214a661c62761e2d6bbf4f",
"bits": 420621680,
"blueScore": 198182682,
"blueWork": "000000000000000000000000001aac71f3a8e677ec782921",
"daaScore": 199879592,
"hashMerkleRoot": "4033b49e51c2fd1ddf067b3c6f94f7b1b228baccfe8134a0c875b7d24c5df06f",
"nonce": "2463154641575365871",
"parents": [
"2a0c51fab2a7c7a187299e087a244d1e70acdc75e0214a661c62761e2d6bbf4f"
],
"pruningPoint": "2a0c51fab2a7c7a187299e087a244d1e70acdc75e0214a661c62761e2d6bbf4f",
"timestamp": "2025-08-17T05:30:42.577Z",
"utxoCommitment": "493dd3d15378745ea44dab81fd702eb35b9330f27f971e0eb1792ef4583b6dae",
"version": 1,
"transactionIds": [
"f123bed13d88bc18236d977c0035267d0054b912170fe4ae619e93306685d2af"
]
}
],
"transactions": [
{
"transactionId": "a7177c55769381a56c126e458c8bb6046613b8a8d45c2f8d3ca5dc71a065279a",
"blockTime": 1749531022210,
"subnetworkId": "0000000000000000000000000000000000000000",
"hash": "f123bed13d88bc18236d977c0035267d0054b912170fe4ae619e93306685d2af",
"mass": "2036",
"blockHashes": [
"30ab8f5ac54c8aa9cbf9a69209a2061e7123293efc40630136c970abef59450b",
"f97afb6794c56e0bb283ea6a38cc51cc41303a055ef9376e707139928cffa588"
],
"acceptingBlockHash": "2a0c51fab2a7c7a187299e087a244d1e70acdc75e0214a661c62761e2d6bbf4f",
"isAccepted": true,
"confirmations": 10,
"payload": "0x",
"inputs": [
{
"transactionId": "a7177c55769381a56c126e458c8bb6046613b8a8d45c2f8d3ca5dc71a065279a",
"index": 0,
"signatureScript": "4183faed776b7f1b1ed32b97aafe3069ee357c80b637f5069ab859916a896ec69a59e9bebcc3e646587d59376a40c72dd0290f8ebdbf0b64f13e2d8f81d0fe106301",
"sigOpCount": 1,
"previousOutput": {
"transactionId": "a7177c55769381a56c126e458c8bb6046613b8a8d45c2f8d3ca5dc71a065279a",
"index": 0,
"amount": "31112708372",
"scriptPublicKey": "2010fdab002cff0ac15bfc8b982c5a616bef9e5a66f0c655f4f63f7d1cef39d2b4ac",
"scriptPublicKeyAddress": "kaspa:qqg0m2cq9nls4s2mlj9estz6v947l8j6vmcvv4057clh688088ftg7ce6p895",
"scriptPublicKeyType": "pubkey"
}
}
],
"outputs": [
{
"transactionId": "a7177c55769381a56c126e458c8bb6046613b8a8d45c2f8d3ca5dc71a065279a",
"index": 0,
"amount": "31112708372",
"scriptPublicKey": "2010fdab002cff0ac15bfc8b982c5a616bef9e5a66f0c655f4f63f7d1cef39d2b4ac",
"scriptPublicKeyAddress": "kaspa:qqg0m2cq9nls4s2mlj9estz6v947l8j6vmcvv4057clh688088ftg7ce6p895",
"scriptPublicKeyType": "pubkey"
}
]
}
]
}Blocks by DAA score range
Retrieve list of blocks with given daa score range. Both start and end are inclusive. The maximum difference allowed between start and end for the same request is 100.
curl --request GET \
--url https://api.kas.fyi/v1/blocks/daa-score/{daa_score_start}/{daa_score_end} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.kas.fyi/v1/blocks/daa-score/{daa_score_start}/{daa_score_end}"
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.kas.fyi/v1/blocks/daa-score/{daa_score_start}/{daa_score_end}', 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.kas.fyi/v1/blocks/daa-score/{daa_score_start}/{daa_score_end}",
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.kas.fyi/v1/blocks/daa-score/{daa_score_start}/{daa_score_end}"
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.kas.fyi/v1/blocks/daa-score/{daa_score_start}/{daa_score_end}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.kas.fyi/v1/blocks/daa-score/{daa_score_start}/{daa_score_end}")
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{
"blocks": [
{
"hash": "2a0c51fab2a7c7a187299e087a244d1e70acdc75e0214a661c62761e2d6bbf4f",
"acceptedIdMerkleRoot": "6a58371f3b3ead073b801ef01d9483949e327433551cd7acd4fb120fa50107d4",
"difficulty": 507406243542504400,
"isChainBlock": true,
"mergeSetBluesHashes": [
"2a0c51fab2a7c7a187299e087a244d1e70acdc75e0214a661c62761e2d6bbf4f"
],
"mergeSetRedsHashes": [
"2a0c51fab2a7c7a187299e087a244d1e70acdc75e0214a661c62761e2d6bbf4f"
],
"selectedParentHash": "2a0c51fab2a7c7a187299e087a244d1e70acdc75e0214a661c62761e2d6bbf4f",
"bits": 420621680,
"blueScore": 198182682,
"blueWork": "000000000000000000000000001aac71f3a8e677ec782921",
"daaScore": 199879592,
"hashMerkleRoot": "4033b49e51c2fd1ddf067b3c6f94f7b1b228baccfe8134a0c875b7d24c5df06f",
"nonce": "2463154641575365871",
"parents": [
"2a0c51fab2a7c7a187299e087a244d1e70acdc75e0214a661c62761e2d6bbf4f"
],
"pruningPoint": "2a0c51fab2a7c7a187299e087a244d1e70acdc75e0214a661c62761e2d6bbf4f",
"timestamp": "2025-08-17T05:30:42.577Z",
"utxoCommitment": "493dd3d15378745ea44dab81fd702eb35b9330f27f971e0eb1792ef4583b6dae",
"version": 1,
"transactionIds": [
"f123bed13d88bc18236d977c0035267d0054b912170fe4ae619e93306685d2af"
]
}
],
"transactions": [
{
"transactionId": "a7177c55769381a56c126e458c8bb6046613b8a8d45c2f8d3ca5dc71a065279a",
"blockTime": 1749531022210,
"subnetworkId": "0000000000000000000000000000000000000000",
"hash": "f123bed13d88bc18236d977c0035267d0054b912170fe4ae619e93306685d2af",
"mass": "2036",
"blockHashes": [
"30ab8f5ac54c8aa9cbf9a69209a2061e7123293efc40630136c970abef59450b",
"f97afb6794c56e0bb283ea6a38cc51cc41303a055ef9376e707139928cffa588"
],
"acceptingBlockHash": "2a0c51fab2a7c7a187299e087a244d1e70acdc75e0214a661c62761e2d6bbf4f",
"isAccepted": true,
"confirmations": 10,
"payload": "0x",
"inputs": [
{
"transactionId": "a7177c55769381a56c126e458c8bb6046613b8a8d45c2f8d3ca5dc71a065279a",
"index": 0,
"signatureScript": "4183faed776b7f1b1ed32b97aafe3069ee357c80b637f5069ab859916a896ec69a59e9bebcc3e646587d59376a40c72dd0290f8ebdbf0b64f13e2d8f81d0fe106301",
"sigOpCount": 1,
"previousOutput": {
"transactionId": "a7177c55769381a56c126e458c8bb6046613b8a8d45c2f8d3ca5dc71a065279a",
"index": 0,
"amount": "31112708372",
"scriptPublicKey": "2010fdab002cff0ac15bfc8b982c5a616bef9e5a66f0c655f4f63f7d1cef39d2b4ac",
"scriptPublicKeyAddress": "kaspa:qqg0m2cq9nls4s2mlj9estz6v947l8j6vmcvv4057clh688088ftg7ce6p895",
"scriptPublicKeyType": "pubkey"
}
}
],
"outputs": [
{
"transactionId": "a7177c55769381a56c126e458c8bb6046613b8a8d45c2f8d3ca5dc71a065279a",
"index": 0,
"amount": "31112708372",
"scriptPublicKey": "2010fdab002cff0ac15bfc8b982c5a616bef9e5a66f0c655f4f63f7d1cef39d2b4ac",
"scriptPublicKeyAddress": "kaspa:qqg0m2cq9nls4s2mlj9estz6v947l8j6vmcvv4057clh688088ftg7ce6p895",
"scriptPublicKeyType": "pubkey"
}
]
}
]
}Cost
This endpoint costs 1 RU (Request Units) per call.Authorizations
API key required for authentication. Get your API key at https://developer.kas.fyi
Path Parameters
Starting DAA score value for the range query (inclusive)
199879592
Ending DAA score value for the range query (inclusive). If not provided, defaults to daa_score_start.
Maximum range size is 100.
199879592
Query Parameters
Filter to include only Virtual Selected Parent Chain (VSPC) blocks. Default is false.
false
Whether to include transactions. Default is false.
true
Whether to include the payload of the transaction. Only effective when include_transactions is true. Default is false.
false
Response
Array of blocks and transactions within the specified DAA score range.
Transactions are returned in a separate flat array rather than nested within blocks, as the same transaction can appear in multiple blocks.