Skip to main content

TX Monitor API

The status of any Stacks transaction, cached once it's final.

Base URL: https://tx.charisma.rocks/api/v1

CORS is limited to Charisma sites. From anywhere else, call it from a server.

GET /status/{txid}​

ParamInNotes
txidpath0x + 64 hex characters, or 64 hex characters without 0x
curl https://tx.charisma.rocks/api/v1/status/0xa039c44666041b433f7c3ea82e0635988665e2affd1fea6ed2d9a06f96b939ee
{
"success": true,
"data": {
"txid": "0xa039c44666041b433f7c3ea82e0635988665e2affd1fea6ed2d9a06f96b939ee",
"status": "success",
"blockHeight": 99953,
"blockTime": 1679877507,
"fromCache": false,
"checkedAt": 1790907417526
}
}
FieldNotes
statussuccess, abort_by_response, abort_by_post_condition or pending
blockHeightSet once confirmed
blockTimeUnix seconds
fromCachetrue when served from the cache of final statuses
checkedAtUnix ms

A transaction that isn't final yet holds the request open for up to about 30 seconds:

Errors

StatusBodyCause
404{ "success": false, "error": "Transaction not found", "message": "Invalid transaction ID format" }Malformed id
404{ "success": false, "error": "Transaction not found", "message": "Transaction ID not found on blockchain" }Not on chain after about 30 s
500{ "success": false, "error": "Failed to check transaction status", "message": "…" }Upstream failure

Caching: final statuses send Cache-Control: public, max-age=3600, stale-while-revalidate=86400 and a stable ETag of "<txid>-<status>"; send it back as If-None-Match to get 304 Not Modified. pending sends public, max-age=30, stale-while-revalidate=300, must-revalidate and no ETag.