The indexing collection covers what the job is and where the money is lost. This entry covers what other people have built to make it survivable.
Nearly all of it exists because somebody hit the same problem twice and got annoyed, which is the most reliable indicator that a tool is worth having.
Before you start: preflight
horizon-doctor is a read-only validation CLI for the indexer stack under Horizon. Its stated purpose is to turn a Horizon-era startup panic into a controlled, explained gate: rather than the stack falling over with a stack trace, you get told which precondition is not met.
reo-doctor does the same for the Rewards Eligibility Oracle under GIP-0088. If your rewards eligibility is not what you expected, this tells you why before you go reading contracts.
Both are read-only, which is the right shape for something you run against production while worried.
Day to day: the API quirks
swissindexingknife is a CLI wrapping indexer operations, written explicitly to encapsulate every known API quirk so nobody has to remember them. That is an unglamorous thing to build and a very good sign about whoever built it.
indexer-gateway-auth is an authenticating reverse proxy for the Indexer Management API. That API is powerful and was not designed to be exposed; this puts a door on it.
Not getting disputed
The disputes entry says the cheapest habit available is comparing your POIs against other indexers before publishing rather than after somebody posts a 10,000 GRT deposit.
graphix is Edge & Node’s cross-checking software and the tool for exactly that: it compares POIs across indexers on the same deployment and surfaces divergence.
foghorn approaches quality from the other end. It runs block-pinned GraphQL probes and hashes the responses, so an indexer that is fast, returns clean 200s and serves wrong data is visible as wrong. Counting status codes cannot see that by construction.
tattler produces signed, replayable receipts for indexed data: an answer you can hand to somebody who has no reason to trust you, pinned to a block so they can reproduce it.
Payments
weaver builds, signs and checks Direct Indexer
Payment agreements, with the EIP-712 hashing verified against the deployed
RecurringCollector rather than against a reading of the specification. That distinction
is the entire value of the tool: a signature that matches the spec and not the contract is
a signature that reverts.
tap-query queries indexers directly with TAP receipts and no gateway in the path, which is a useful thing to have when you are trying to work out whether a problem is yours or the gateway’s.
What to monitor, restated
The running the stack entry has the full list. The two that tooling most often misses:
- POI age per allocation, well before 28 days. Nothing alerts on this by default and the allocation simply stops earning.
- Unaggregated receipt value and unredeemed RAV age. Queries continue to be served while the money stops, and no query metric shows it.