api.istravex.com serves the whole corpus: every fixture, every XDR file, every canonical ledger, and the latest results from the SDK runners, replay and pilots. rpc.istravex.com serves the same ledgers through Stellar RPC’s getLedgers. Both are free, need no key, and allow every origin.
This page is about using them well. For every endpoint and field, see the API reference.
Pick the right source
The same data is available three ways. They suit different jobs:A five-minute tour
Verify what you download
Every fixture file response carriesX-Content-SHA256, the sha256 of the decoded XDR, which is also in the manifest. If you’re going to assert against the bytes, check them first:
?encoding=binary you get base64, byte-identical to the file in the repository.
Be a good neighbor
The limits are generous for normal use: 1,200 requests a minute on/v1/* and 300 a minute on the RPC, per client. Two habits keep you well inside them.
Send If-None-Match. The corpus only changes on deploy, so most repeat requests can be answered with an empty 304:
Cache-Control, so a CDN or HTTP cache in front of your app will hold them too.
Honor 429. If you do hit the limit, the response says when to come back:
Show the numbers somewhere
/v1/stats and /v1/results/* are stable JSON, so they’re easy to surface in a README, a dashboard or a release checklist. A shields.io dynamic badge needs no code at all:
query at any field in /v1/stats, for example $.sdk_checks.passed or $.wallet_backend_pilot.correct.
What the hosted service is not
- Not a Stellar RPC. The mock RPC serves only the corpus’s fixture ledgers (
getHealth,getNetwork,getLatestLedger,getLedgers). Don’t point production at it. - Not an SLA. It’s run by the project, on one server. For anything that must not go down, run your own copy. It’s one container, and the corpus is baked into the image.
- Not a place for your data. It’s read-only: no accounts, no writes, no telemetry. The only thing kept is the server’s standard access log.