Read canonical transaction status
curl --request GET \
--url https://api.route.fun/api/v2/transactions/{hash}const options = {method: 'GET'};
fetch('https://api.route.fun/api/v2/transactions/{hash}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.route.fun/api/v2/transactions/{hash}"
response = requests.get(url)
print(response.text){
"hash": "<string>",
"chainId": 4663,
"status": "not_found",
"finalized": true,
"blockNumber": "<string>",
"blockHash": "<string>",
"from": "<string>",
"to": "<string>",
"gasUsed": "<string>",
"effectiveGasPrice": "<string>",
"settlementCoverage": "none",
"settlements": [
{}
]
}Data
Read canonical transaction status
No API key required. 60 requests per minute per caller, with separate shared data capacity. Search covers listed tokens or an exact contract address. Balances cover listed and selected tokens, not every wallet asset, and report partial failures. Transaction status reports chain inclusion and finality; not_found is not proof a transaction was never submitted. It does not verify a swap against its quote.
GET
/
api
/
v2
/
transactions
/
{hash}
Read canonical transaction status
curl --request GET \
--url https://api.route.fun/api/v2/transactions/{hash}const options = {method: 'GET'};
fetch('https://api.route.fun/api/v2/transactions/{hash}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.route.fun/api/v2/transactions/{hash}"
response = requests.get(url)
print(response.text){
"hash": "<string>",
"chainId": 4663,
"status": "not_found",
"finalized": true,
"blockNumber": "<string>",
"blockHash": "<string>",
"from": "<string>",
"to": "<string>",
"gasUsed": "<string>",
"effectiveGasPrice": "<string>",
"settlementCoverage": "none",
"settlements": [
{}
]
}No API key required.
API overview
Path Parameters
Pattern:
^0x[0-9a-fA-F]{64}$Response
Data response; see developer data guide for coverage and fields