---
title: "Signed daily Merkle roots of the receipt log"
method: GET
path: "/.well-known/faro-log-roots"
tags: ["Receipts"]
---

# Signed daily Merkle roots of the receipt log

`GET /.well-known/faro-log-roots`

## Request

- Base URL: `https://api.farofinance.app`
- URL: `https://api.farofinance.app/.well-known/faro-log-roots`
- Auth: none declared

One signed root per completed UTC day of the append-only receipt log, in day order — mirror this document freely. `base_tx_hash` is the Base transaction carrying the 32-byte root as calldata; only the root ever goes on-chain. Public — no API key required.

## Response `200`

Successful Response

- LogRootsOut
  - `roots` LogRootOut[], required
    - `day` string, required: UTC day this root covers, YYYY-MM-DD.
    - `tree_size` integer, required: Number of receipt entries under this root.
    - `root_hash` string, required: RFC 6962 Merkle root over the day's entry hashes (hex).
    - `chain_head` string, required: entry_hash of the day's last log entry (hex).
    - `generated_at` string, date-time, required
    - `jws` string, required: Detached Ed25519 JWS over the canonical root payload.
    - `kid` string, required: JWKS key id that signed this root.
    - `base_tx_hash` string, nullable: Base transaction carrying this root as calldata (null until anchored).
    - `anchored_at` string, date-time, nullable

---

[API](https://skmtc.dev/farofinance/apis/faro.md) · [All operations](https://skmtc.dev/farofinance/apis/faro/llms.txt) · [OpenAPI document](https://skmtc.dev/farofinance/apis/faro/revisions/205cdf54420b?raw)
