APIPublicList journal roots
List journal roots
Signed journal roots by wallet and time.
- Auth None
- Guide Journal
GET
Signed Merkle roots of wallets’ decisions, published hourly. Each root is signed by the journal publisher key, and Exchain anchors the roots on Cardano mainnet once a day; anchor is set on the root an anchor covers. No credential needed.
from?stringStart of the window, RFC 3339, inclusive.
Format
date-timeto?stringEnd of the window, RFC 3339, exclusive.
Format
date-timewalletId?stringOnly roots of this wallet.
Match
^wal_[0-9A-HJKMNP-TV-Z]{26}$Roots.
application/json- response
items*array<>asOf*stringMatch
^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}Z$Format
date-timeschemaVersion*stringWire schema version, "1.1" today.
Value in
"1.0""1.1"chainTip*|nullcurl -X GET 'https://cosign.exchain.network/v1/journal/roots'Example Response
{ "items": [ { "schemaVersion": "1.1", "walletId": "wal_01J9XK3M4N5P6Q7R8S9T0V1W2Z", "epoch": 1442, "fromSeq": 3391, "toSeq": 3624, "count": 233, "root": "d0f00b4eb5f17f017601f89a576ae672a90a665216d2749b7ac4e795cb2de471", "from": "2026-11-05T14:00:00Z", "to": "2026-11-05T15:00:00Z", "publishedAt": "2026-11-05T15:00:00Z", "publisherKeyHash": "9f5b2c1d0e3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e", "signature": "566fba3ffe3864aa1a5714fe4841960063f8ac44c70119f188ede719b8a5672a88237f3bc90afa805668d34003fb6e1f33e31d6fad59992c3bd271b3f01f1c9f", "anchor": null, "auditHead": { "requests": { "seq": 88123, "hash": "32b656bb67ef55c6709c707095ae5f7563d7e8bbaf5e992000900ca97434193f" }, "signer": { "seq": 40211, "hash": "17a171adbb483bb1509f5120f4351bd080dcba3779cef07555e1ae5c0c233058" }, "admin": { "seq": 312, "hash": "39bdb676f04f4610e375710c26c2df20bfe861f056d3d390f4c0f384400693c9" }, "fees": { "seq": 57, "hash": "a53ad5807db71f756556cb6e4523c454d1586963790b99922eef77ca31d1de4f" }, "records": { "seq": 9124, "hash": "23c0432e62036c24373e2e20c5e947323418b8a4231ca54b5239dbd5fa9162e4" } } }, { "schemaVersion": "1.1", "walletId": "wal_01J9XK3M4N5P6Q7R8S9T0V1W2Z", "epoch": 1441, "fromSeq": 3102, "toSeq": 3390, "count": 289, "root": "018c36d16e8ee902a1b920ecdcca39c2f5b90149794a911b7a669d001fd6f1c7", "from": "2026-11-05T13:00:00Z", "to": "2026-11-05T14:00:00Z", "publishedAt": "2026-11-05T14:00:00Z", "publisherKeyHash": "9f5b2c1d0e3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e", "signature": "40688e04ace8546b7f9818c894d7043c1a7582878d7a10ca845e182ef160c642ce139d6a82780e484da85be2ca2dbfcd19e9946f1f74fa6705ea5eab6fa92b22", "anchor": { "txHash": "35a9627e952eb1950ce3cfaa45c40640b4e84eb5e3ecb38c098f2219c6a3c2ad", "slot": 172604183 } } ], "asOf": "2026-11-05T14:22:07.318Z", "schemaVersion": "1.1", "chainTip": { "slot": 104118120, "blockHash": "9a301ac2e5747e7ebeeecececd2f114f55695614277514e085211c5417d04c26" }}Errors
| Status | Code | Meaning |
|---|---|---|
400 | bad_request | A query parameter is invalid. |
Every code and what to do about it: Errors and codes.