Dashboard
Status
Check whether Deference is working, read each part's uptime and incidents, and subscribe to updates.
Status is public. Check it when sign-in, requests or credit additions are delayed. It shows the latest checks, uptime over the last 90 days and published incidents. Stats covers usage and confirmed chain figures.
Check the overall state
The page title is the overall state. Under it, the age of the last check reads "Checked 54 s ago", or "Last checked 4 min ago" once the checks are older than 3 minutes. Service checks run every 60 seconds. Keeper and provider balances are checked hourly.
| State | Meaning |
|---|---|
| All systems operational | Every row is operational |
| Degraded performance | A row is slow or partly failing |
| Partial outage | A row is down |
| Major outage | API is down together with Models via OpenRouter, or with two other rows |
| Some checks are not reporting | Everything that reports is operational, but a row reads Unknown |
| Status unknown | No row has reported recently |
Read each row
Find the row for the action that failed. Each has a state: Operational, Degraded, Down or Unknown. The median check time appears under its name when timing data is available. For Models via OpenRouter, Median … to reach measures reaching OpenRouter, rather than the time to generate a model response.
Service reachability is Down after three failed checks in a row, and Degraded when its check is slow or partly failing. Balance rows are Degraded below their configured minimum and Down when the balance cannot be read. Service checks become Unknown after three minutes. Balance checks become Unknown after three hours. Unconfigured checks have no readings. Unknown time does not count toward uptime.
| Row | What it checks |
|---|---|
| API | That the API answers GET /v1/models/{id} |
| Models via OpenRouter | That models answer: OpenRouter's model data each minute, a one-token completion every 5 minutes, and the share of requests through Deference that succeed |
| Ethereum | That the chain keeps producing blocks. The row is named for the chain the site runs on: Ethereum, Ethereum Sepolia or Local chain |
| Credit indexing | How far the slowest active inference contract is behind the confirmed chain head. Missing contract cursors or an unreadable complete position are Degraded. The row adds the current activation-credit estimate, such as "Credited in about 16 s" |
| Keeper ETH balance | ETH available for keeper transactions, compared with the configured minimum |
| OpenRouter balance | Provider credits minus usage, compared with the configured minimum |
| Website and dashboard | That the site loads |
| Sign-in | That the sign-in provider can be reached. New sign-ins need it. API keys, open sessions and requests keep working without it |
Read the uptime bars
Each row shows 90 daily bars, or the last 30 on a narrow screen, with its uptime over the same window beside its state. Hover or focus a day to read it: "99.2% up", "12 min degraded", "Not checked" or "No data". Degraded time counts as up, and unknown time is left out.
The bars start on the first day a row was checked. Earlier days are grey, read "No data", and never count as down time.
Follow incidents
Read an open incident above the rows for its affected services and latest update: Investigating, Identified, Monitoring or Resolved. Its impact can raise the page's reported severity.
Resolved incidents stay under Incidents for 90 days, with their duration and a Post-mortem link when available. Incidents are written manually. A failed check can colour a daily bar even when no incident has been published, so check both the bars and the incident history.
Subscribe
Subscribe offers an RSS feed, with one item per incident update, and the status as JSON.
curl https://deference.si/api/status.json/api/status.json follows Statuspage v2 (page, status, components, unresolved incidents), plus recent_incidents for 90 days and a meta block with the method. status.indicator is none, minor, major, critical or unknown. Component statuses are operational, degraded_performance, major_outage or unknown. A 503 with indicator unknown means the status data cannot be read right now. The RSS feed is at /api/status/feed.xml.