Your own Stellar indexer, deployed in minutes.

Sierpe is a self-hosted server that watches the Stellar network for the contracts you register and keeps their complete history in your own Postgres, behind an honest REST API.

No forks, no custom code, no vendor. Configuration is data: register contracts at runtime through an authenticated API, and Sierpe classifies them, backfills their full history — replaying the public archives for ranges no RPC serves anymore — and follows the tip.

  1. Deploy the container next to an empty Postgres
  2. POST /v1/contracts {"contract_id": "C...", "from": "genesis"}
  3. Sierpe discovers the contract’s events from its on-chain spec and walks its history backwards, honestly declaring coverage
  4. GET /v1/contracts/C.../events?topic0=...&after=<cursor> — or just open / in a browser: the embedded UI covers it all

It indexes events, contract state, token transfers and the classic trustlines of SAC assets — each with full history and a current snapshot where that makes sense.

Honest by construction. Coverage and gaps are first-class data, declared in every API response. An empty page always tells you whether there is nothing — or whether it just hasn’t been indexed yet.

Latest news

Sierpe 1.11.0 — events hand over their original bytes

2026-09-30

The first external consumer to build on a Sierpe instance was not a dashboard — it was another pipeline: an escrow platform bridging a year of indexed mainnet history into its own event queue. A bridge like that does not want our decode of an event; it wants the event, the original ContractEvent bytes, to carry through its own envelope untouched.

Sierpe 1.10.1 — two ways a gap could be recorded wrong

2026-09-10

Sparse healing shipped yesterday. Answering an operator’s question about it — can I apply a plan before my next batch of registrations clamps? — turned up two bugs in how a gap gets recorded. The answer was no, and now it is yes.

Sierpe 1.10.0 — healing only where your contracts actually lived

2026-09-10

The mainnet pilot finished walking the RPC window and started on what lies below it: six million ledgers with no live source, healed by replaying them through a captive stellar-core. The first measurements made the problem plain. Replay runs at 4.72 ledgers per second on that machine, which puts the remaining range at about two weeks — to recover data that lives in 0.15% of those ledgers. The rest was empty history being replayed at full price.

Sierpe 1.8.0 and 1.9.0 — the archive leg learns what deep healing actually costs

2026-09-08

The mainnet pilot moved from backfilling the RPC window into the archive leg’s territory: healing the six million ledgers below it. That transition surfaced three problems in three days — two shipped in 1.8.0 while the window walk was still running, and the third, found the hour the deep heal started, is 1.9.0.

Sierpe 1.7.0 — one scan for many contracts, and a bandwidth bug the pilot caught

2026-09-07

Two releases in one day, because deploying against mainnet for real is the fastest reviewer there is. 1.6.0 shipped this morning; by the afternoon the first production pilot — three contracts walking eleven months of history on a homelab machine — had exposed a cost model problem and a silent bandwidth bug. 1.7.0 fixes both.

Older news… · RSS