A sovereign Layer 1 blockchain for railway settlement and payments — built with Cosmos SDK v0.47.17 and CometBFT v0.37.18.
NexaRail mainnet launched on 2026-06-18 18:00 UTC. Block production averages ~5 s, slashing is live, and the validator active set was open from launch.
| Chain ID | nexarail-mainnet-1 |
| Native denom | unxrl (1 NXRL = 1,000,000 unxrl) |
| Block time | ~5 s |
| Genesis SHA256 | f84f5f03d4d54945153c3f68e20e9864fc03c7f35dbeec2b40274f18d152db32 |
| Live status page | https://bookings-cpu.github.io/nexarail-status/ |
| Genesis file | GitHub release: mainnet-genesis-nexarail-mainnet-1 |
| Binary (linux/amd64) | GitHub release: v0.1.0-rc1-validator-recovery-hotfix |
| Validator onboarding runbook | docs/mainnet/NEW_VALIDATOR_ONBOARDING.md |
| Validator broadcast / pin | coordination/outreach/mainnet-validator-broadcast-2026-06-19.md |
| Mint enablement scoping | docs/mainnet/MINT_ENABLEMENT_SCOPING_2026-06-21.md |
| The Cut-Over (decentralisation ceremony) plan | docs/mainnet/DECENTRALISATION_CEREMONY_PLAN.md |
| Coord rewards custody commitment | docs/mainnet/COORD_REWARDS_COMMITMENT_2026-06-21.md |
Active set: launched with 7 validators (5 coord + 2 external: NodeSync, UTSA). Now growing daily via the open external onboarding queue.
Active governance: Proposal #1 (enable NXRL staking yield via mint module, 5%-12% floating inflation) is in voting until 2026-06-26 15:14 UTC. Once executed, validators and delegators begin earning continuous staking rewards.
Slashing is live from block 1. Downtime >50% over 10,000 blocks → 600 s jail + 0.01% slash. Double-sign → 5% slash + permanent tombstone. Never run two nodes with the same priv_validator_key.json.
Standard faucet grant for new validators: 500 NXRL self-bond + 100 NXRL gas = 600 NXRL total, drawn from the 150M NXRL ecosystem_grants bucket. Request format and full step-by-step are in the onboarding runbook above. Critical: count the zeros on --amount=500000000unxrl — multiple validators have typo'd two zeros short and ended up with 5 NXRL self-bond instead of 500.
The controlled testnet served its purpose (validator readiness, slashing rehearsal, peer-mesh proving, faucet pipeline calibration) and was retired on 2026-06-20. See coordination/outreach/2026-06-20-testnet-retirement-mainnet-migration.md for the migration notice. Historical testnet docs remain in docs/testnet/ for reference.
For local development, the source tag v0.1.0-rc1-cli-hotfix provides a single-command devnet:
git clone https://github.com/Bookings-cpu/nexarail.git
cd nexarail
git checkout v0.1.0-rc1-cli-hotfix
bash scripts/dev/run-nexarail-regression-matrix.sh --fastSee Reviewer Handoff | Litepaper | Quickstart | Release Verification
scripts/dev/run-local-demo.sh --serve-dashboard --keep-runningOne command: verify package → launch devnet → run smoke tests → open dashboard.
| Option | Effect |
|---|---|
--serve-dashboard |
Open local dashboard at http://localhost:8088 |
--keep-running |
Leave devnet running after demo |
--skip-smoke |
Skip smoke tests (faster) |
The controlled testnet was retired on 2026-06-20 in favour of mainnet. The table below is preserved as a historical record of where the testnet programme stood at the point of retirement. For live status see the mainnet section above.
| Item | Detail |
|---|---|
| Packaging | Complete — RC1 release assets packaged and verified |
| Local devnet | Ready — single-node and 5-agent modes available |
| Controlled external-validator launch | Completed — testnet ran with 5 coord + 2 external validators (NodeSync, UTSA) |
| Mainnet | LIVE — nexarail-mainnet-1 launched 2026-06-18 18:00 UTC (see top of README) |
| Validator onboarding | Open on mainnet — see docs/mainnet/NEW_VALIDATOR_ONBOARDING.md |
| Product-flow suite | 487 pass / 0 fail — full coverage validated |
| REST parity | 36/36 (100%) — REST readback parity confirmed |
| Testnet status | RETIRED_2026-06-20 |
| Link | Description |
|---|---|
| Local Demo Guide | One-command demo walkthrough |
| RC1 Reviewer README | Primary entry point for reviewers |
| RC1 Quickstart | Command-first devnet guide |
| RC1 Evidence Summary | All evidence at a glance |
| RC1 Review Checklist | Reviewer verification checklist |
| RC1 Release Notes | Full release notes |
| RC1 Devnet Launch Guide | Step-by-step devnet setup |
| Litepaper | Project overview |
| REST API Docs | All REST readback endpoints |
| Evidence Manifest | Evidence index |
| Known Limitations | Current limitations |
| Controlled Testnet Launch Plan | Phase 17A external-validator launch candidate plan |
| Validator Action Pack | Source-build onboarding commands for accepted validators |
| Controlled Testnet Status | Current launch status and guardrails |
| Phase 17B Intake Status | Validator intake, gentx, peers, and genesis candidate status |
| Phase 18A Coordinator Candidate | Internal coordinator-only candidate plan and safety boundary |
| Public Join Readiness Checklist | Join-readiness gates while external gentxs remain pending |
| Phase 18B Intake Execution | External validator intake, gentx review, endpoint collection, and freeze gate |
| Final Genesis Freeze Decision | Current freeze decision and next required action |
| Phase 17C First External Gentx Verification | NodeSync SHA256 match, gentx verifier pass, confirmed DNS peer, and next action |
| Phase 17C.1 NodeSync Recheck | Local evidence recheck for attachment/download handling and SHA256 proof |
| Phase 17D Genesis Candidate | Six-validator review candidate with NodeSync plus coordinator-operated validators |
| Phase 17E Reachability Gate | NodeSync DNS/TCP reachability result and freeze decision |
| Launch Operations Dashboard | Coordinator readiness table for launch operations |
| Incident Response Runbook | Halt, rollback, support, and incident response process |
| Resource | Description |
|---|---|
| Developer Quickstart | Get started building against the devnet |
| API Examples | Curl examples for all REST endpoints |
| Product Flow Examples | Complete merchant/settlement/escrow/treasury/payout flows |
| Demo App Plan | Future lightweight dashboard plan |
| REST Examples | Read-only REST example scripts (bash + curl) |
| Node.js Client | Lightweight Node.js client (no dependencies) |
| Python Client | Lightweight Python client (stdlib only) |
| Local Dashboard | Read-only local devnet dashboard (static HTML/JS/CSS) |
| SDK Package Preparation | Local SDK packaging status — Node @nexarail/devnet-client@0.1.0-dev, Python nexarail-devnet-client==0.1.0.dev (local install only, no npm/PyPI publishing) |
| Regression Matrix | CI regression checks and expected pass counts |
| CI Checks | When to run each check and expected outputs |
Run the complete local devnet workflow from launch to inspect to SDK to dashboard:
scripts/dev/run-end-to-end-demo.shSee Scenario Doc and Summary for details.
Get all developer assets in one archive:
scripts/dev/prepare-developer-bundle.shThe bundle includes docs, SDK archives, examples, scripts, and manifests.
Archive is saved to releases/developer-bundles/.
See Onboarding Checklist and Contributing Guide to get started.
See Contributor Testing Guide for expected check results.
Browse the documentation as a static website:
# Build the portal
bash scripts/dev/build-developer-portal.sh
# Serve locally on port 8090
bash scripts/dev/serve-developer-portal.shPortal source: docs/portal/index.html
Build output: site/developer-portal/index.html
| Resource | Description |
|---|---|
| SDK RC1 Release Notes | Release notes for the SDK RC1 — changes, installation, usage |
| Node.js SDK API Reference | Comprehensive API reference for the Node.js devnet client |
| Python SDK API Reference | Comprehensive API reference for the Python devnet client |
| SDK Recipes | Common SDK usage patterns and recipes |
| Local Package Archive | Local SDK tarballs for offline/dev use — NOT published to npm or PyPI |
# Fast (no devnet needed):
scripts/dev/run-nexarail-regression-matrix.sh --fast
# Full (with devnet):
scripts/dev/run-nexarail-regression-matrix.sh --full --with-devnetRuntime note: Local 5-agent runtime readiness, the Phase 17A dry-run, and the Phase 18A internal coordinator-candidate dry-run are proven. Phase 18B intake execution remains open, Phase 18C coordinator launch operations are prepared, and the NodeSync gentx plus DNS peer are verified, but final genesis publication and external validator launch evidence remain pending.
- Go 1.22+
- Make
make build
# Binary: build/nexaraildmake init-devnet # Create 3-validator devnet under ~/.nexarail/
make start-devnet # Launch validatorsDevnet endpoints:
- RPC:
http://127.0.0.1:26657 - REST:
http://127.0.0.1:1317 - gRPC:
127.0.0.1:9090
| Parameter | Value |
|---|---|
| Chain ID (devnet) | nexarail-devnet-1 |
| Chain ID (testnet) | nexarail-testnet-1 (proposed) |
| Coin Denom | unxrl |
| Display Ticker | NXRL (1 NXRL = 1,000,000 unxrl) |
| Bech32 Prefix | nxr |
auth, bank, staking, slashing, gov, distribution, mint, params, crisis, upgrade, evidence, feegrant, authz, capability, vesting, genutil
| Module | Purpose | Live Funds? |
|---|---|---|
| x/fees | Fee split parameters (60/20/20 bps) | Policy only |
| x/merchant | Merchant registration + rebate tiers | N/A |
| x/settlement | Payment settlement + fee routing | Behind 3 flags |
| x/escrow | Payment escrow custody | Behind 1 flag |
| x/payout | Automated payouts | Behind 1 flag |
| x/treasury | Protocol treasury + spend execution | Behind 1 flag |
All live fund flows are implemented but disabled by default behind governance-gated flags:
| Module | Flag | Default |
|---|---|---|
| x/escrow | LiveEnabled |
false |
| x/treasury | LiveEnabled |
false |
| x/payout | LiveEnabled |
false |
| x/settlement | LiveEnabled |
false |
| x/settlement | TreasuryRoutingEnabled |
false |
| x/settlement | BurnRoutingEnabled |
false |
See docs/design/LIVE_FLAGS_MATRIX.md and docs/PHASE_5_LIVE_FUNDS_STATUS.md.
- Validator distribution (design complete — see
docs/design/VALIDATOR_DISTRIBUTION_DESIGN.md) - Fee router / BeginBlock routing
- Stablecoin registry
- Bridge (IBC or custom)
go mod tidy && go mod verify
go build ./...
go vet ./...
go test ./... # ~332 tests, 14 packages, all pass| Document | Description |
|---|---|
docs/testnet/CONTROLLED_VALIDATOR_REGISTRATION.md |
Registration overview, requirements, process |
docs/testnet/VALIDATOR_APPLICATION_FORM.md |
Application form for validators |
docs/testnet/VALIDATOR_ACCEPTANCE_CHECKLIST.md |
Pre-launch checklist for accepted validators |
docs/testnet/GENESIS_SUBMISSION_INSTRUCTIONS.md |
Gentx creation and submission guide |
docs/testnet/VALIDATOR_COMMUNICATIONS_PLAN.md |
Communication channels and protocols |
docs/testnet/GENESIS_COORDINATOR_RUNBOOK.md |
Internal coordinator operational guide |
docs/testnet/VALIDATOR_INTAKE_PIPELINE.md |
Application intake pipeline and SLAs |
docs/testnet/VALIDATOR_SCORING_RUBRIC.md |
7-category technical review scoring |
docs/testnet/VALIDATOR_EMAIL_TEMPLATES.md |
Standardised email templates |
docs/testnet/DISCORD_TELEGRAM_MODERATION_GUIDE.md |
Community moderation rules |
docs/testnet/GENESIS_GENTX_REVIEW_CHECKLIST.md |
22-point gentx verification |
docs/testnet/CONTROLLED_REGISTRATION_ANNOUNCEMENT_FINAL.md |
Public announcement (ready to publish) |
docs/testnet/FAQ.md |
Frequently asked questions |
docs/testnet/VALIDATOR_REGISTRATION_TRACKER_TEMPLATE.csv |
Intake tracking spreadsheet |
| Document | Description |
|---|---|
docs/NEXARAIL_LITEPAPER.md |
Full public litepaper — problem, vision, modules, safety model, roadmap, limitations |
docs/NEXARAIL_LITEPAPER_SUMMARY.md |
One-page summary of the litepaper |
- Testnet only. NexaRail has no public mainnet.
- No token sale. NXRL has not been offered for sale. No ICO/IEO/IDO has occurred.
- No monetary value. Testnet tokens have zero value and cannot be exchanged.
- No investment. Participation is for technical testing only. No returns are promised.
- Resets possible. Testnet state may be wiped at any time.
- Legal review pending. See
docs/legal/LEGAL_REVIEW_PACKAGE.md.
Proprietary — NexaRail Protocol