Read from the chain

Terra Status

openfields.app

An independent project, not an official Terra product. Not affiliated with, endorsed by or connected to Terraform Labs, Phoenix Foundation or the Phoenix Directive.

What this is

One page that answers whether Terra is running, and if something is off, what. It reads the chain through public endpoints, the same way any app does, and signs nothing. Everything on it can be checked against the chain yourself with the paths below.

What is checked, and when it counts as a problem

  • Blocks. The age of the latest block. Up to 30 seconds is normal (a block takes about six), up to 120 seconds is slow, longer means the chain has stopped. At a scheduled upgrade height a stop is expected and named as such.
  • Upgrades. A software upgrade that has passed (the chain’s current plan), or one still in a vote. The countdown is the blocks left times the average block time of the last 1,000 blocks.
  • Validators. Each active validator’s missed blocks in the slashing window, against the allowance before it is jailed. Validators jailed lately and still leaving the active set are listed below it.
  • Bridges. Per IBC channel: whether it is open and its light client active, when a relayer last brought a packet in and an acknowledgement back, how many packets Terra sent that are still unacknowledged, and when the light client expires if nobody updates it. A main bridge needs attention when its client expires within three days, or packets have waited more than an hour but less than a week.
  • Endpoints. Every RPC and REST endpoint in the Cosmos chain registry, plus a few that apps use and it does not list, asked for the latest block. More than 20 blocks behind the best answer counts as behind.
  • Openfields apps. Each app’s page and data route, from outside.

Where it is read from

Blocks and software: /cosmos/base/tendermint/v1beta1/blocks/latest, /node_info
Upgrades: /cosmos/upgrade/v1beta1/current_plan, /cosmos/gov/v1/proposals?proposal_status=2 and the proposal’s tally
Validators: /cosmos/staking/v1beta1/validators, /cosmos/slashing/v1beta1/signing_infos, /cosmos/slashing/v1beta1/params
Bridges: /ibc/core/channel/v1/channels/…/client_state, /ibc/core/client/v1/client_status/…, /packet_commitments, and transaction searches for recv_packet, acknowledge_packet and send_packet
Endpoint list: github.com/cosmos/chain-registry/terra2/chain.json

Two vantage points

The page reads live from this site’s server: the chain every few seconds, validators every two minutes, bridges every four, endpoints every minute. Separately, every ten minutes a check on GitHub’s machines reads the chain and every endpoint from outside and writes one line to a public log on terra-swap’s status branch. The seven-day history is that log, so it cannot be written after the fact without it showing in git.

API

GET /api/status: the whole picture in one answer, open to any origin
GET /api/chain · /api/validators · /api/ibc · /api/endpoints · /api/apps · /api/history
GET /api/badge: an SVG badge, for a README or a website

Who runs it

Openfields builds and runs it independently. It is not affiliated with Terraform Labs, the Phoenix Directive, or any validator, relayer or endpoint provider named on it. People behind Openfields also run a Terra validator; it appears here like every other one, by the same rules. No cookies, no accounts, no analytics. The browser test sends requests from your browser straight to each endpoint, so those providers see them, as with any app that uses them. The code is open, MIT licensed.