๐Ÿ‡ฐ๐Ÿ‡ญ Run a CSB validator

who can join, what it takes โ€” no login required

A validator is a server holding a copy of the CSB ledger and taking part in confirming its blocks. The testnet runs a small validating set today and is open to additional operators.

It costs a server, not money. There is no stake, nothing to buy, and no financial risk โ€” everything here is test data and test riel. If you can run a Linux server with Docker, you can run a validator.

What is actually being asked of you

Keep the node runningAim for 24/7, but testnet downtime is not a crisis. Tell the coordinator if you stop.
Apply upgradesWhen a version pair is announced, update and restart. Version mismatches are the most common cause of a node falling out.
Keep your RPC port privateA term of participation, not a suggestion. See below.
Back up your staking keyIt is your validator identity. Lose it and the node cannot be recovered โ€” only replaced.

Registration fees on Avalanche Fuji are paid by the coordinator with free test AVAX. You are not asked to fund anything.

Server requirements

Operating systemUbuntu 22.04 or 24.04 (other Linux works; the guide assumes Ubuntu)
Hardware4+ vCPU ยท 8+ GB RAM ยท 100+ GB SSD
NetworkA public IPv4 address
SoftwareDocker with the compose plugin
ProviderAnything โ€” your own data centre or a cloud VM
9651 โ€” open
Peer-to-peer. This is how validators talk to each other, and it must be reachable from the internet.
9650 โ€” closed
The RPC API. Must never be reachable from the internet. It stays bound to localhost.

The one obligation that affects everyone else

Your node's RPC port serves the entire ledger to anyone who can reach it, with no authentication. Exposing it does not just affect your own users โ€” it breaks the chain's "private to the world" guarantee for every participant at once. One carelessly open port undoes the privacy property for everybody.

Two independent locks, and you keep both: the port stays bound to 127.0.0.1 (the supplied configuration already does this โ€” do not change http-host), and you never open 9650 in your firewall or cloud security group. Either one alone is enough to protect the chain; requiring both is deliberate, so a single mistake is not sufficient to cause harm.

Users reach the chain through scoped, per-address RPC URLs instead โ€” the same mechanism behind Connect wallet on this site.

How to join

1
Contact the coordinator. This is a permissioned chain: the validator set is governed, so you are added deliberately rather than by joining anonymously. You will receive the Subnet ID, VM ID and the version pair to run โ€” these cannot be guessed.
2
Prepare a server to the specification above, with port 9651 open and 9650 closed.
3
Run the node โ€” clone the repository, paste the coordinator's values into .env, and start it with Docker Compose. About ten minutes of work.
4
Send your NodeID and proof-of-possession to the coordinator, who registers you in the validator-manager contract. Your node begins validating once registration confirms.
5
Back up your staking key off the server, before you need it.
git clone https://github.com/sengtha/CSB.git && cd CSB
cp .env.validator.example .env   # paste the coordinator's Subnet ID / VM ID
docker compose -f docker-compose.validator.yml up -d --build
docker compose -f docker-compose.validator.yml logs -f

Full operator manual โ†— โ€” setup, registration, upgrades, troubleshooting, and how to leave cleanly.

Why the validator set is governed

Anyone can validate a public chain anonymously. CSB deliberately cannot work that way: the whole design rests on validators being known parties who accept an obligation about what they do with the data they hold. That is the cost of "private to the world" โ€” it is a promise that only holds if every node keeps it.

Said honestly: a governed validator set means the operators can, collectively, see everything. Byzantine fault tolerance does not protect against the parties running the chain โ€” it protects against one of them acting alone, and it makes tampering evident to the others. Credibility here comes from who the validators are and how independent they are of one another, not from cryptography. Seating operators outside any single institution is what would strengthen it.

CSB is a personal, independent experiment โ€” not a government project. Running a testnet validator means taking part in a research prototype, nothing more. No affiliation with or endorsement by any institution is implied.