Skip to content

About

This repository contains the draft Genesis files, gentx submissions, validator configurations, and launch coordination resources for the Safrochain Mainnet.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Safrochain Mainnet — Launch Genesis

The canonical genesis.json for safrochain-1

Chain ID Denom Supply Validators Status


Status

✅ LAUNCH READY — Genesis is final and deployed to all foundation nodes. Chain wakes at 2026-06-25 10:00:00 UTC.

File genesis.json
Size 27,596 bytes (≈ 27 KB)
SHA-256 c05ac5aec1918df9edb257e8e0eea184d73edc51370eb4aa9f0b4f0aad615c4d
Genesis time 2026-06-25T10:00:00Z
Initial height 1
Binary safrochaind v0.2.2 (Cosmos SDK 0.50.14, CometBFT 0.38.21, CosmWasm 0.51)

Chain Parameters

Parameter Value
Chain ID safrochain-1
Base denom usaf (1 SAF = 1 000 000 usaf)
Bond denom usaf
Consensus CometBFT, ed25519 validator keys
Max validators 100
Min commission rate 5 %
Unbonding period 14 days (1209600s)
Voting period 7 days (604800s) — expedited 1 day (86400s)
Min gov deposit 5 000 SAF · expedited 10 000 SAF
Gov quorum / threshold / veto 33.4 % / 50 % / 33.4 %
Min gas price 0.05 usaf (globalfee)
Inflation min 3 % · max 12 % · target bonded 55 %
Slash — downtime 0.01 % · jail 10 min · window 10 000 blocks @ 50 %
Slash — double-sign 5 %
Evidence max age 14 days / 241 920 blocks
Max block bytes 22 020 096
Max block gas 100 000 000
CosmWasm code upload Permissionless (Everybody)
Feeshare (dev rev-share) 25 % of contract-tx fees to registered contract dev
Tokenfactory denom creation fee 100 SAF

IBC stack (full)

ibc-core, ibc-transfer (ICS-20 send + receive), interchain-accounts host + controller, interchain-query, feeibc (ICS-29), packet-forward-middleware, ibchooks (Wasm via IBC). Light clients: 07-tendermint, 06-solomachine.


Tokenomics

Total supply: 1 000 000 000 SAF

Allocation Amount (SAF) % Notes
DAO Reserve 199 776 000 19.98 % Governance-controlled treasury. 200M nominal less 224k pre-seeded into the 4 active validator + 2 cosigner-backup wallets.
Community 150 000 000 15.00 % Airdrops, missions, community rewards
Ecosystem Dev 150 000 000 15.00 % Grants & dApp programs (external developer pool)
Liquidity 100 000 000 10.00 % DEX liquidity & market making
Treasury 100 000 000 10.00 % Foundation operating treasury
Public Sale 100 000 000 10.00 % Sale participants
Partners 50 000 000 5.00 % Strategic partnerships
Team (vesting) 140 000 000 14.00 % 15 vesting accounts — see below
Dev Reserves 10 000 000 1.00 % Liquid dedicated wallet for grants/bounties/audits
Active validator wallets 124 000 0.012 % Ubuntu 51k + Kilimanjaro 51k + HusoNode 11k + Winnode 11k
SF cosigner backups 100 000 0.010 % 2 × 50k for Horcrux operations
— Total 1 000 000 000 100 %

Genesis Validators

The active validator set at block 1 consists of 2 Safrochain Foundation validators + 2 community validators, all 4 gentxs baked into app_state.genutil.gen_txs.

# Moniker Class Self-stake Commission Operator (valoper)
1 Ubuntu Foundation 50 000 SAF 8 % addr_safrovaloper1udj3fxkjpdf6zwa9sg5x89tg2k4cgels6pu2zt
2 Kilimanjaro Foundation 50 000 SAF 8 % addr_safrovaloper1aqwk6uaw0q3xfd306fc6uuslumjdalm0x3g9tc
3 HusoNode Community 10 000 SAF 10 % addr_safrovaloper1y5axpuvmns5ksl7tv8j933gtg3trr0slnlclxx
4 Winnode Community 10 000 SAF 10 % addr_safrovaloper1jz4fmzlc9lskmxum02elvml6jms03wa77d06vk
Total bonded at h=1 120 000 SAF

Foundation validator consensus pubkeys are the production ed25519 keys held by 3-cosigner Horcrux clusters (2-of-3 threshold per validator). All 4 standalone signed gentxs are committed alongside this README (gentx-fixed-*.json).

Community validators joining post-launch

Any community validator can join via MsgCreateValidator once the chain is live. Standard flow: install safrochaind v0.2.2, sync to tip, create a key, fund it, then submit safrochaind tx staking create-validator ….


Verification

Reproduce the checksum and validate the file with the official binary:

# 1. Download
curl -fsSL -o genesis.json \
  https://raw.githubusercontent.com/Safrochain-Org/mainnet-genesis/main/genesis.json

# 2. Verify integrity
shasum -a 256 genesis.json
# Expected: c05ac5aec1918df9edb257e8e0eea184d73edc51370eb4aa9f0b4f0aad615c4d

# 3. Validate against safrochaind
mkdir -p ~/.safrochain/config
cp genesis.json ~/.safrochain/config/genesis.json
safrochaind genesis validate --home ~/.safrochain
# Expected: "File at ... is a valid genesis file"

Inspect the 4 bundled gentxs:

jq '.app_state.genutil.gen_txs
    | map(.body.messages[0]
          | {moniker: .description.moniker,
             valoper: .validator_address,
             self_stake_usaf: .value.amount,
             commission: .commission.rate})' genesis.json

Confirm supply integrity:

# Total supply (must equal 1e15 usaf = 1B SAF)
jq -r '.app_state.bank.supply[] | "\(.denom): \(.amount)"' genesis.json

# Sum of balances (must equal supply)
jq '[.app_state.bank.balances[].coins[]
     | select(.denom == "usaf") | .amount | tonumber] | add' genesis.json

Joining the network

If you want to run a node (validator or RPC), see the operator guide:

# 1. Install safrochaind v0.2.2
git clone --depth 1 --branch v0.2.2 https://github.com/Safrochain-Org/safrochain-node ~/safrochain-node
cd ~/safrochain-node && make install

# 2. Initialize a fresh home
safrochaind init <your-moniker> --chain-id safrochain-1

# 3. Drop in this genesis
curl -fsSL -o ~/.safrochain/config/genesis.json \
  https://raw.githubusercontent.com/Safrochain-Org/mainnet-genesis/main/genesis.json
shasum -a 256 ~/.safrochain/config/genesis.json
# Confirm SHA matches: c05ac5aec1918df9edb257e8e0eea184d73edc51370eb4aa9f0b4f0aad615c4d

# 4. Configure seeds + persistent_peers in ~/.safrochain/config/config.toml
#    seeds = "bc772fdc9749e6dfd200a9428f07d86fe4fd34ec@seed.safrochain.network:26666,d323d296ba55e89fb6ce1a724f8da1740bd8cbb0@seed2.safrochain.network:26670"
#    persistent_peers = "131aeac8bd7fe9b678cdaa9cc3fe2d7af3ded1fe@rpc1.safrochain.network:26676,5cd69b65c08c78937b9cdf17617caaa1aa33672e@rpc2.safrochain.network:36656"
#    minimum-gas-prices = "0.05usaf"   in ~/.safrochain/config/app.toml

# 5. Start at or before 2026-06-25 10:00 UTC
safrochaind start
# The daemon will log "Genesis time is in the future. Sleeping until then..."
# and automatically commit block 1 at exactly 10:00:00 UTC.

Public RPC/API/gRPC endpoints (all *.safrochain.network): rpc1, rpc2, api1, api2, grpc1, grpc2, grpc-web. Load-balanced aliases: rpc.safrochain.network, api.safrochain.network, grpc.safrochain.network. These start serving mainnet once the chain commits block 1.


Files in this folder

File Purpose
genesis.json The mainnet genesis (file to publish)
gentx-fixed-safro-validator-1.json Ubuntu signed gentx
gentx-fixed-safro-validator-2.json Kilimanjaro signed gentx
gentx-fixed-HusoNode.json HusoNode signed gentx
gentx-fixed-Winnode.json Winnode signed gentx
_consensus_pubkeys.json Foundation validators' public consensus keys (Horcrux-protected)
README.md This file

Not published (local-only / git-ignored):

Path Why it's private
preprod-keys/ SF validator operator mnemonics (separate from Horcrux-held consensus keys)
team-mnemonic.secret Team root mnemonic
operator-messages/ Internal per-validator handover notes
_archive/ Historical preprod artifacts (kept for reference, not part of mainnet)

Resources

📂 Repository Safrochain-Org/mainnet-genesis
🌐 Website safrochain.com
📦 Node binary safrochaind v0.2.2
📚 Docs docs.safrochain.com
📝 Issues Safrochain-Org/safrochain-node/issues

Safrochain — Sovereign infrastructure for African on-chain finance

🌅 Launch: 2026-06-25 10:00 UTC

About

This repository contains the draft Genesis files, gentx submissions, validator configurations, and launch coordination resources for the Safrochain Mainnet.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors