Skip to main content

Safrochain mainnet endpoints (RPC, REST, gRPC)

Mainnet is live

safrochain-1 is producing blocks (genesis time 2026-05-30T14:39:48Z). All endpoints below are served by the Safrochain Foundation infrastructure.

Network versions

NetworkChain IDsafrochain-node tagGo
Mainnetsafrochain-1v0.2.21.25.8
Testnetsafro-testnet-1release/v0.1.01.23.9

After building safrochaind from source at tag v0.2.2, make install and safrochaind version --long report Cosmos SDK v0.50.14, CometBFT v0.38.21, and Go go1.25.8 (OS/arch varies, e.g. darwin/arm64 on Apple Silicon or linux/amd64 on typical servers).

Chain identity

FieldValue
Chain IDsafrochain-1
Base denomusaf
Display denomSAF
Conversion1 SAF = 1_000_000 usaf
Total supply1,000,000,000 SAF (fixed)
Bech32 prefixaddr_safro
Minimum gas price0.05 usaf/gas (chain-wide via globalfee)
Validators at block 19 (2 SF Foundation + 7 community)

Genesis

FieldValue
RepositorySafrochain-Org/draft-genesis
Raw URLhttps://raw.githubusercontent.com/Safrochain-Org/draft-genesis/main/genesis.json
Current SHA-256964423b6008f6c3f0f0410455336372d74bb2f5cda0a8da52dfa152347850ec8
Validator manifestCOMMUNITY-VALIDATORS.md

The current SHA refers to the draft genesis. The foundation will publish the final SHA on launch day; the URL stays the same.

RPC (CometBFT JSON-RPC over HTTPS)

NameEndpointRole
rpc1https://rpc1.safrochain.networkprimary public RPC
rpc2https://rpc2.safrochain.networksecondary public RPC (archive)
rpchttps://rpc.safrochain.networkaggregated alias (round-robins between rpc1/rpc2)

Common paths:

curl -s https://rpc.safrochain.network/status | jq .result.sync_info.latest_block_height
curl -s https://rpc.safrochain.network/net_info
curl -s https://rpc.safrochain.network/health
curl -s 'https://rpc.safrochain.network/block?height=1'
# WebSocket
wscat -c wss://rpc.safrochain.network/websocket

Unsafe CometBFT methods (unsafe_dial_seeds, unsafe_flush_mempool, etc.) are blocked by the public proxy.

REST / LCD (Cosmos SDK API over HTTPS)

NameEndpointRole
api1https://api1.safrochain.networkprimary REST/LCD
api2https://api2.safrochain.networksecondary REST/LCD (archive)
apihttps://api.safrochain.networkaggregated alias

Examples:

curl -s https://api.safrochain.network/cosmos/base/tendermint/v1beta1/node_info
curl -s https://api.safrochain.network/cosmos/base/tendermint/v1beta1/syncing
curl -s https://api.safrochain.network/cosmos/staking/v1beta1/validators
curl -s https://api.safrochain.network/cosmos/bank/v1beta1/supply

gRPC (HTTP/2) and gRPC-Web

NameEndpointNotes
grpc1https://grpc1.safrochain.networkprimary gRPC (HTTP/2, TLS required)
grpc2https://grpc2.safrochain.networksecondary gRPC (HTTP/2, TLS required)
grpchttps://grpc.safrochain.networkaggregated alias
grpc-webhttps://grpc-web.safrochain.networkbrowser-friendly gRPC-Web (CosmJS)
grpcurl grpc.safrochain.network:443 \
cosmos.staking.v1beta1.Query/Validators

P2P seeds (CometBFT P2P over TCP)

NameNode ID @ endpointPurpose
seed[email protected]:26666primary public seed/sentry
seed2d323d296ba55e89fb6ce1a724f8da1740bd8cbb0@seed2.safrochain.network:26670secondary public seed/sentry

Drop-in [p2p] block for config.toml:

seeds = "[email protected]:26666,d323d296ba55e89fb6ce1a724f8da1740bd8cbb0@seed2.safrochain.network:26670"
persistent_peers = ""

The two seeds are enough to bootstrap. Once your node connects and pex populates its address book, it discovers and dials further peers automatically.

Validators never accept inbound public P2P; only the public seed nodes listed above are reachable from the open internet. The public RPC nodes (rpc1, rpc2) are fronted by Cloudflare, so only their HTTPS RPC port 443 is reachable — their CometBFT P2P sockets are intentionally not exposed publicly.

Status page

NameEndpointAccess
statushttps://status.safrochain.networkpublic (read-only)

TLS, CORS, and rate limits

  • All public endpoints terminate TLS via Let's Encrypt with HSTS, modern ciphers, and per-IP rate limits.
  • CORS is open on RPC/REST so that browser wallets (Keplr, Leap) can use the endpoints directly.
  • Unsafe CometBFT JSON-RPC methods (unsafe_dial_seeds, unsafe_flush_mempool, dial_peers, dial_seeds, …) are blocked at the public proxy.

Snapshots (optional, post-launch)

NameEndpointPurpose
snapshotshttps://snapshots.safrochain.networkdownloadable snapshot artifacts

Snapshots come with a manifest (height + sha256). Archive snapshots come from rpc2 and grow over time.

What is not public

Anything not listed above (validator P2P, internal signing, monitoring exporters, admin SSH, …) is intentionally firewalled off and is not something you should ever depend on as an external user.