# Herd read services

Base: https://herd.thetanuts.finance/api

| Path | Existing service | Meaning |
| --- | --- | --- |
| /cow/chains | thetacow-operations | Supported chains and current factory |
| /cow/status | thetacow-operations | Per-chain indexed operations health |
| /cow/pairs/{chainId} | thetacow-operations | Paginated current-factory records |
| /cattle/registry | cattle-index-period | Current Base discovery checkpoint |
| /cattle/status | cattle-index-period | Current index readiness |
| /cattle/legacy/registry | cattle-index | Earlier Base discovery checkpoint |
| /cattle/legacy/status | cattle-index | Earlier index readiness |

GET and HEAD only. Chain IDs: 1, 8453, 42161, 56, 137, 43114.
Query strings are preserved. See the original service contract for query semantics.
The Cow list is not a complete historical wallet portfolio: earlier factories still
need their own discovery, and ownership must be read on chain.

Browser origins currently registered at this entrance: https://thetanuts.finance
and https://herd.thetanuts.finance. No caller credentials are forwarded.
The proposed thetaherd.com domains need registration when their frontend launches.

A source 503 stays 503, and its error body stays intact. A failed read is not
an empty wallet. Responses are not cached by the Herd gateway. A 15-second
deadline produces 502 when a read cannot complete.

Cattle registry data describes discovery coverage, not present account state.
Verify chain, factory, checkpoint hash and coverage; read from indexedBlock + 1
to the current snapshot, then read holdings and debt at that snapshot. Fall back
to direct discovery when the index is unavailable or invalid. Do not overwrite
a good local wallet cache with partial results.

No generic proxy, public RPC, writes, admin triggers or order posting routes
are exposed here. The existing workers retain their jobs and storage.

