> ## Documentation Index
> Fetch the complete documentation index at: https://docs.istravex.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Replaying into your indexer

> Point your own indexer at the corpus and find out what it stores.

The wallet-backend pilot is one instance of a general recipe. Any indexer that can read ledgers from Stellar RPC can follow it, and the hosted mock RPC means you don't have to clone anything.

## 1. Point your indexer at the corpus

Set your RPC URL to one of:

| Network | URL | Passphrase |
| - | - | - |
| Mainnet fixtures | `https://rpc.istravex.com/pubnet` | `Public Global Stellar Network ; September 2015` |
| Testnet fixtures | `https://rpc.istravex.com/testnet` | `Test SDF Network ; September 2015` |
| Generated fixtures | `https://rpc.istravex.com/local` | `Standalone Network ; February 2017` |

Or run it locally with `npm run rpc -- --network pubnet --port 8000`.

## 2. Ingest the fixture ledgers

Get the ledger numbers from the fixtures list:

```bash theme={null}
curl -s 'https://api.istravex.com/v1/fixtures?network=pubnet' | jq '.fixtures[] | {id, ledger, tx_hash}'
```

Start ingestion at the oldest one. The range is [sparse](https://docs.istravex.com/tools/mock-rpc.md#the-ledger-range-is-sparse): only fixture ledgers exist. If your indexer requires contiguous ledgers, ingest each one with `startLedger` set to the fixture's ledger and `limit` 1.

## 3. Compare with expected\_indexed

For each fixture, look up what your indexer stored for its `tx_hash` and compare it with the manifest's `expected_indexed`:

```bash theme={null}
curl -s https://api.istravex.com/v1/fixtures/cap15-fee-bump-pubnet-0001 | jq .expected_indexed
```

```json theme={null}
{
  "fee_charged": "40354",
  "fee_paid_by": "GA2JRQOF6EA3HQWDCEDBPPMLYPJCFLDDGYZLEQGMS5SOBQIB3BAFHVAW"
}
```

Score each one as **correct**, **incorrect** (present but a field differs) or **dropped** (missing). Compare values as strings; don't let a JSON parser near the 64-bit ones.

## 4. Make it a test

The pilot's driver (`kit/pilot/wallet-backend.mjs`) and scorer (`kit/pilot/score.mjs`) are a template: start the mock RPC in-process, run your ingestion, emit JSON with string-encoded integers, score, fail on anything but correct. Run it in CI and every new fixture becomes a regression test for your indexer.

> [!TIP]
>
> If your indexer gets a fixture wrong, the [hardening guide](https://docs.istravex.com/guide/overview.md) rule for that pattern explains the fix. If you think the fixture is wrong, open an issue. Expectations come from independent sources, but that doesn't make them infallible.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.