This page exists so an integrator never builds against something that is not running. Check the network yourself before debugging your own code, and consult the feature table before designing a flow around a capability.

Check the network yourself

GET on the RPC returns 405. That is correct, not an outage — the JSON-RPC endpoint only accepts POST. Likewise, hitting /api/... on the dashboard host returns the SPA’s HTML with status 200, which looks like success and is not. Always use the api. subdomain for REST.
Call twice a few seconds apart: if eth_blockNumber returns the same height both times, the chain is reachable but not advancing, which is a different failure from a dead endpoint and needs an operator, not a client-side fix.

Feature reality

The whitepaper describes the full protocol vision. The table below is what the running testnet does today. Build on the first column; treat the second as roadmap.

Live and verified

Written but not switched on

Do not design a user-facing flow around these.

Not built

Sharding and the TPS figures that derive from it · pre-confirmations · hardware tiers and per-tier caps · sublinear √stake weighting (weight is linear) · Poseidon · per-shard fee market · forkless Wasm hot-swap · cross-chain bridge / YCMP · encrypted mempool / PBS · multi-region seeds. The VM is EVM by design decision — Move is not missing, it was dropped.

Contract addresses

Addresses live in contracts/script/deployed.json in the protocol repo and are listed on Contracts overview.
Never trust a contract address from memory or from a chat message. This chain has been wiped more than once; a full list of addresses went stale in the past while still looking plausible. Confirm with eth_getCode before shipping:
A result of "0x" means no contract there. After the most recent wipe the core addresses were preserved deliberately (deterministic CREATE from the same deployer at nonce 0, same order), which is why app builds kept working — that is a property to verify, not to assume.

Endpoints move

Every public URL embeds the server’s IP (54-237-170-237.sslip.io → 54.237.170.237). When the infrastructure moves, every URL changes. Read the base URLs from configuration your app can update without a new release.