Get the lightweight current status of a tracked transaction
curl --request GET \
--url https://api.delora.build/v1/transactions/{lookupKey}/status \
--header 'x-api-key: <api-key>'import requests
url = "https://api.delora.build/v1/transactions/{lookupKey}/status"
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.delora.build/v1/transactions/{lookupKey}/status', 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.delora.build/v1/transactions/{lookupKey}/status",
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.delora.build/v1/transactions/{lookupKey}/status"
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.delora.build/v1/transactions/{lookupKey}/status")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.delora.build/v1/transactions/{lookupKey}/status")
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{
"id": "<string>",
"transactionId": "<string>",
"sourceTxHash": "<string>",
"destTxHash": "<string>",
"status": "success",
"substatus": "<string>",
"statusSource": "analytics",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"statusCode": 400,
"code": "VALIDATION_ERROR",
"message": "Invalid request parameters",
"timestamp": "2026-05-13T18:00:00.000Z",
"details": {
"message": [
"One or more request parameters are invalid."
]
},
"path": "/v1/..."
}{
"statusCode": 400,
"code": "VALIDATION_ERROR",
"message": "Invalid request parameters",
"timestamp": "2026-05-13T18:00:00.000Z",
"details": {
"message": [
"One or more request parameters are invalid."
]
},
"path": "/v1/..."
}{
"statusCode": 400,
"code": "VALIDATION_ERROR",
"message": "Invalid request parameters",
"timestamp": "2026-05-13T18:00:00.000Z",
"details": {
"message": [
"One or more request parameters are invalid."
]
},
"path": "/v1/..."
}{
"statusCode": 400,
"code": "VALIDATION_ERROR",
"message": "Invalid request parameters",
"timestamp": "2026-05-13T18:00:00.000Z",
"details": {
"message": [
"One or more request parameters are invalid."
]
},
"path": "/v1/..."
}Transaction Tracking
Get a tracked transaction status
Returns the latest status stored by Delora’s asynchronous tracking workers. It does not trigger an on-demand provider lookup.
GET
/
v1
/
transactions
/
{lookupKey}
/
status
Get the lightweight current status of a tracked transaction
curl --request GET \
--url https://api.delora.build/v1/transactions/{lookupKey}/status \
--header 'x-api-key: <api-key>'import requests
url = "https://api.delora.build/v1/transactions/{lookupKey}/status"
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.delora.build/v1/transactions/{lookupKey}/status', 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.delora.build/v1/transactions/{lookupKey}/status",
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.delora.build/v1/transactions/{lookupKey}/status"
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.delora.build/v1/transactions/{lookupKey}/status")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.delora.build/v1/transactions/{lookupKey}/status")
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{
"id": "<string>",
"transactionId": "<string>",
"sourceTxHash": "<string>",
"destTxHash": "<string>",
"status": "success",
"substatus": "<string>",
"statusSource": "analytics",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"statusCode": 400,
"code": "VALIDATION_ERROR",
"message": "Invalid request parameters",
"timestamp": "2026-05-13T18:00:00.000Z",
"details": {
"message": [
"One or more request parameters are invalid."
]
},
"path": "/v1/..."
}{
"statusCode": 400,
"code": "VALIDATION_ERROR",
"message": "Invalid request parameters",
"timestamp": "2026-05-13T18:00:00.000Z",
"details": {
"message": [
"One or more request parameters are invalid."
]
},
"path": "/v1/..."
}{
"statusCode": 400,
"code": "VALIDATION_ERROR",
"message": "Invalid request parameters",
"timestamp": "2026-05-13T18:00:00.000Z",
"details": {
"message": [
"One or more request parameters are invalid."
]
},
"path": "/v1/..."
}{
"statusCode": 400,
"code": "VALIDATION_ERROR",
"message": "Invalid request parameters",
"timestamp": "2026-05-13T18:00:00.000Z",
"details": {
"message": [
"One or more request parameters are invalid."
]
},
"path": "/v1/..."
}Return the current lightweight tracking status for a Delora
The response contains
transactionId, source transaction hash, or destination transaction hash. Use this endpoint when polling an existing transaction instead of repeatedly fetching the full transaction object.
curl 'https://api.delora.build/v1/transactions/TRANSACTION_ID_OR_TX_HASH/status' \
--header 'x-api-key: YOUR_API_KEY'
id, transactionId, source and destination hashes, status, substatus, statusSource, and updatedAt.
This reads the latest status stored by Delora’s asynchronous workers; it does not trigger a live provider lookup. Use backoff between polls and handle 429 and 503 responses. See status lifecycle semantics.Authorizations
Delora API key. Required by Transaction Tracking endpoints and optional for most routing endpoints.
Headers
Customer API key. Required for Transaction Tracking endpoints.
Path Parameters
Delora transactionId, source transaction hash, or destination transaction hash.
Example:
"0x596a6d35655f3d2d334abcffb6b69999b82d5661f18692ea24174589894a7d30"
Response
Lightweight transaction status.
Current asynchronous tracking status.
Available options:
success, recovered, bridge_pending, refund_pending, refunded, bridge_failed, unknown Source or combination of sources used for the current status.
Available options:
analytics, receipt, bridge_api, mixed, unknown 
