Services & URIs

Explorer, RPC, WebSocket, faucet, names, claims, governance/Agora, read-only IPFS evidence, validator self-join, nodes, liquidity, payment, staking, downloads, snapshots, torrent, bootnode, and NTP endpoints.

Public ROKO services

Use the values in network-manifest.json as the machine-readable source of truth. This page explains how to use them.

Service catalog

NamePurposeProtocol
explorer.roko.networkblocks, transactions, tokens, validatorsHTTPS
rpc.roko.networksafe chain and temporal queriesJSON-RPC over HTTPS/WSS
faucet.roko.networktestnet ROKO for user-controlled walletsHTTPS
name.roko.networkregister, resolve, and manage .roko namesHTTPS and wallet RPC
claim.roko.networkEthereum holder recognition claimsHTTPS and wallet RPC
holders.roko.networkholder snapshots, analytics, and exportsHTTPS
nodes.roko.networkguided node install and operator handoffHTTPS
agora.roko.networkparticipant UI for review, wallet actions, staking, and validator self-joinHTTPS and wallet RPC
agora.roko.network/ipfs/<CID>read-only configured-testnet governance evidenceHTTPS download
governance.roko.networkwallet-free, read-only governance evidenceHTTPS
clowder.roko.networktestnet pools, swaps, and liquidity viewHTTPS and wallet RPC
payments.roko.networknon-custodial payment request builderHTTPS and wallet RPC
stake.roko.networkpwROKO lock, unlock, and staking portalHTTPS and wallet RPC
downloads.roko.networknative and offline-container releasesHTTPS
snapshots.roko.networkverified full/archive bootstrap dataHTTPS and BitTorrent
downloads.roko.network/torrentpublic artifact seeding guideHTTPS and BitTorrent
boot.roko.networkinitial peer discoveryROKO libp2p multiaddress over TCP
time.roko.networkpublic UTC time sourceNTPv4 over UDP/123

The DNS names deliberately hide implementation details. Do not depend on a resolved address remaining fixed.

Explorer, faucet, and artifacts

  • Browse the chain at explorer.roko.network.
  • Add testnet funds at faucet.roko.network. The faucet requires a wallet-signed proof of address control; the signature does not authorize a transaction or fee.
  • Register and manage ROKO-local names at name.roko.network. .roko names resolve in ROKO-aware applications; confirm the displayed address before signing.
  • Check Ethereum holder recognition at claim.roko.network. The active claim page links to the exact holder-intelligence snapshot used for eligibility.
  • Browse published holder snapshots, analytics, source exports, and the ROKO testnet holder view at holders.roko.network.
  • Launch or hand off a guided node setup at nodes.roko.network.
  • Review governance without connecting a wallet at governance.roko.network, or use agora.roko.network for the participant experience and separately reviewed wallet actions. Read Governance and Agora for the capability and availability boundary before signing.
  • Retrieve content-addressed governance evidence through the read-only https://agora.roko.network/ipfs/<CID> path. The gateway accepts only CIDv1/raw/sha2-256 identifiers and forces responses to download. It has no public upload or administrative API and does not fetch unknown content from the public IPFS network.
  • Use clowder.roko.network for testnet liquidity and swap workflows.
  • Create inspectable non-custodial payment requests at payments.roko.network.
  • Manage pwROKO locking and unlocking at stake.roko.network.
  • The current testnet validator walkthrough uses a 50-pwROKO self-bond. Follow Become a validator for claim, lock, bond, keys, candidacy, and activation checks; the live technical minimum is presently unset and must not be presented as a zero-bond recommendation.
  • If your wallet is not configured yet, follow Wallets and faucet before claiming.
  • Browse release artifacts at downloads.roko.network and verify the current release with SHA256SUMS.
  • Bootstrap from a verified normal or archive snapshot at snapshots.roko.network.
  • Use the peer-assisted download guide for the official torrent and magnet distribution guide.
  • To help other operators download artifacts, follow BitTorrent seeding. Seeders only share public release and snapshot files; they do not need validator keys or source access.

The explorer-compatible Ethereum JSON-RPC endpoint is https://explorer.roko.network/api/eth-rpc. Prefer https://rpc.roko.network for native Substrate and temporal methods.

Bootnode

A hostname is not a complete libp2p address. A bootnode multiaddress also contains its transport, port, and stable peer ID:

/dns4/boot.roko.network/tcp/30333/ws/p2p/12D3KooWKSBZRtSiGKo8ueJtazCHT89LaBi6ZAtzgbeznf4NtVGj

Pass that entire value to --bootnodes. Allow outbound TCP/30333. A node that will accept inbound peers must also allow its configured P2P listen port and advertise a reachable public multiaddress.

This is libp2p traffic, not HTTPS JSON-RPC. An HTTP reverse proxy or ordinary Cloudflare Tunnel is not automatically a libp2p transport.

HTTPS JSON-RPC

Query basic health:

curl --fail --silent --show-error https://rpc.roko.network \
  -H 'content-type: application/json' \
  --data '{"jsonrpc":"2.0","id":1,"method":"system_health","params":[]}'

Verify chain identity:

curl --fail --silent --show-error https://rpc.roko.network \
  -H 'content-type: application/json' \
  --data '[
    {"jsonrpc":"2.0","id":1,"method":"system_chain","params":[]},
    {"jsonrpc":"2.0","id":2,"method":"chain_getBlockHash","params":[0]},
    {"jsonrpc":"2.0","id":3,"method":"eth_chainId","params":[]}
  ]'

Compare the genesis hash and EVM chain ID to the manifest. A DNS name and TLS certificate are not enough to establish that an endpoint serves the intended chain.

Query mesh time:

curl --fail --silent --show-error https://rpc.roko.network \
  -H 'content-type: application/json' \
  --data '{"jsonrpc":"2.0","id":1,"method":"temporal_getConsensusTime","params":[]}'

The public endpoint is for safe methods. Never send a seed, secret URI, keystore operation, authoring/admin request, or unsigned transaction containing private material to it. Method discovery is not proof that a method is authorized.

Use timeouts, exponential backoff, and more than one provider for a production application. Run your own full/archive node for high volume, privacy, historical-state guarantees, or independence from public rate limits.

WebSocket

Use wss://rpc.roko.network for subscriptions. A Polkadot.js example:

import { ApiPromise, WsProvider } from "@polkadot/api";

const api = await ApiPromise.create({
  provider: new WsProvider("wss://rpc.roko.network"),
});

const unsubscribe = await api.rpc.chain.subscribeFinalizedHeads((header) => {
  console.log(header.number.toString(), header.hash.toHex());
});

process.on("SIGINT", async () => {
  unsubscribe();
  await api.disconnect();
});

Applications should act on finalized heads when a reorganization would be unsafe.

Public NTP

Use ROKO as one of several independent, permitted sources:

# /etc/chrony/sources.d/roko.sources
server time.roko.network iburst
pool pool.ntp.org iburst maxsources 3

Then reload and inspect:

sudo chronyc reload sources
chronyc sources -v
chronyc tracking

Do not add nts to the ROKO line until the manifest says ntsVerified: true. Do not mix leap-smeared and non-smeared sources. Respect server rate limiting and Kiss-o'-Death responses; aggressive polling harms the public service.

NTP transports time to a host. It does not prove an on-chain event timestamp; use temporal RPC for that.

Reporting a problem

Report the problem through the operator form, the ROKO Telegram, or the ROKO Discord. Include:

  • the public DNS name and protocol;
  • UTC observation time;
  • client software/version;
  • sanitized error and retry behavior; and
  • the manifest genesis hash you expected.

Remove local addresses, peer lists, credentials, headers/tokens, and unrelated logs.