Explorer API
The read-only API at https://explorer.jerdog.xyz/api/v1 serves the Arc mainnet index and saved verification reports. No wallet or API key is required. HTTP requests read stored data; they do not trigger RPC verification.
Open the explorer · Download OpenAPI 3.1
Endpoints
Section titled “Endpoints”| GET path | Result |
|---|---|
/status |
Index checkpoint, hub configuration, total requests, pending count, and pause state. |
/requests |
Requests ordered by descending sequence. |
/requests/{sequence} |
Request details, lifecycle state, transaction references, and saved verification. |
/requests/{sequence}/proof |
The stored proof status and report. |
/transactions/{hash}/requests |
Requests created, fulfilled, or expired in a transaction. |
curl 'https://explorer.jerdog.xyz/api/v1/requests?limit=12'curl 'https://explorer.jerdog.xyz/api/v1/requests/106/proof'Pagination and filters
Section titled “Pagination and filters”/requests accepts:
| Parameter | Meaning |
|---|---|
limit |
Page size, 1–50; default 12. |
before |
Exclusive sequence cursor, as a positive uint64 decimal string. |
consumer |
Exact consumer contract address. |
The response’s next value is the before cursor for the next page, or null at the end. Keep the same consumer filter and page size between requests. Unknown or repeated query parameters are rejected.
Request and index states
Section titled “Request and index states”Request status is 1 (Pending), 2 (Fulfilled), or 3 (Expired). callbackFailed is separate: a failed callback does not remove a fulfilled result. An all-zero random is valid.
Each response includes chainId, hub, block, at, and index. index.status is ready, catching_up, stale, or unavailable; index.lag records how far the checkpoint trails the observed head. HTTP 200 alone does not establish freshness.
The optional hubConfig snapshot contains defaultFee, activeLane, remainingLinks, and its own read time. Configuration fields may be null before the first read. Large integers, including sequences, fees, and block numbers, are decimal strings. Timestamps named at use Unix milliseconds; fees use native USDC’s 18 decimals.
Saved proof states
Section titled “Saved proof states”Before fulfillment, verification is null. For a fulfilled request it contains status and report:
| Status | Meaning |
|---|---|
pending |
Background verification has not finished. |
verified |
The historical commitment and formula passed, and checked state matched at the report’s block. |
failed |
A verification check found a contradiction. |
incomplete |
Available evidence or the configured hash budget was insufficient for a full check. |
unavailable |
Verification could not finish because required chain data could not be read. |
A missing or partial report is never a verified result. The saved report identifies checkedBy, verifierVersion, checkedAt, checkedBlock, and checkedBlockHash. Its verification object separates historical checks from the contract-state comparison. Its evidence includes public event data and any previously verified hash-chain anchor used by the indexer.
Reports describe the state at their recorded checkpoint, not future contract behavior. They are computations by RUFF Explorer, not light-client proofs or independent verification performed by the visitor’s browser. Use the public CLI or SDK with a separately selected RPC to repeat verification independently.
Errors and retries
Section titled “Errors and retries”| HTTP status | Meaning |
|---|---|
400 |
Invalid sequence, address, query, or path. |
404 |
Unknown route or request not present in the index. |
405 |
Unsupported method. |
422 |
A transaction matches more than 100 requests. |
429 |
Caller rate limit reached. |
503 |
Index unavailable or busy. |
Honor Retry-After when present, and use bounded retry delays. Responses can be briefly cached; aggressive refreshes do not accelerate indexing. URLs are limited to 512 characters; encoded paths and request bodies are not accepted. The OpenAPI download defines the full response shapes.
