Walkthrough
| Step | Where | What it shows |
|---|---|---|
| 1 | Wallet | A KYC'd citizen (Sokha) holds tokenized riel and pays another citizen โ about 1 riel in fees, instant finality, lost-key recovery backed by the Identity Authority. |
| 2 | Wallet | Payments to a non-KYC'd address (Vanna) are impossible โ compliance is enforced by the chain, not by apps. |
| 3 | Admin | Separation of powers: Identity Authority issues identity, the enforcement authority freezes with a court-order reference, the council governs the gateway โ no institution holds two powers. |
| 4 | Wallet | Egress: permitted tokens bridge out through the governed gateway (tier + daily cap enforced); everything else is refused. |
| 5 | Explorer | The whitelisted explorer: full sovereign auditability behind authenticated access. |
| 6 | Fund | The public-good fund, open to anyone without a login: every payment contributes a fee, and the page shows the running total and where each riel came from. Privacy for people, transparency for public money โ the same chain does both. |
| 7 | Use cases | Assistance that can only buy food, land title as an ERC-3643 token a lender can take as collateral, and delivery escrow paying restaurant, rider and platform in one transaction โ things a chain with a national identity layer can do that a public chain cannot. Also: how to deploy your own contract here. |
| 8 | Validators | How to run a node yourself: what it costs (a server, not money), what is required, and the one obligation that protects everyone โ a validator's RPC port serves the whole ledger, so keeping it private is a term of participation. |
| 9 | Tokens & NFTs | See what any address holds, and mint an NFT yourself if your address is verified. The artwork is generated on chain โ no image server, nothing to go offline. An unverified address is told exactly why it is refused, which is the permissioning working rather than failing. |
| 10 | Wallet | Swap KHRt โ tRIEL at a fixed 1:1. Two-tier money in practice: wrapping locks a tokenized riel and mints the native coin; unwrapping burns the coin and releases its backing. Anyone can check on Tokens & NFTs that the locked collateral matches โ no exchange rate, no spread, and nothing taken on trust. |
Pilot accounts (optional, seeded by scripts/seed-accounts.js; keys in app/deployments.json): Sokha โ tier 2 (full KYC), Dara โ tier 1 (capped), Vanna โ no KYC.
Built for the threats that are coming, not the ones that already happened
Two failure modes will define the next decade of financial infrastructure: AI-driven attacks that make credential theft and social engineering cheap at scale, and quantum computers that eventually break the signatures every blockchain relies on. A sovereign, permissioned chain can answer both in ways a public chain and a traditional bank structurally cannot.
๐ก Against AI-driven attack โ multisig required at mainnet
- No unilateral authority โ a mainnet requirement. On mainnet the validator manager, every precompile admin address, and every administrative contract role must be held by institutional multisigs, so that no official below the council can act alone. Every role is a deployment parameter and the promotion procedure requires multisig ceremonies before launch. The testnet deployment does not do this โ all roles are currently held by a single deployer key.
- Powers are split across institutions โ in the contracts, not yet in the deployment. Identity issuance, asset freezing, and money issuance are three distinct roles in three distinct contracts, so compromising one authority gets one power rather than the chain. That separation is real in code and is what mainnet would assign to different institutions. On the testnet all three roles are held by the same key, so today compromising it does get you the chain.
- Every enforcement action carries a court-order reference on chain. An action without one is not just wrong, it is impossible โ the contracts revert on a zero reference. This one is live today, in EnforcementRegistry, KHRStablecoin and LandTitleToken.
- Validators sign blocks with node keys, and no human approves individual blocks โ so there is no per-block human to deceive. That much is true today. HSM protection is a mainnet requirement, not the current state: the testnet's staking keys are files on the node's disk.
- A stolen key need not be a lost account. Identity-bound recovery reissues a holding to a new address under the same registered identity, so the attacker's advantage expires. Implemented for land titles only (LandTitleToken.recoveryAddress); KHRt has enforcement confiscate rather than recovery, and native tRIEL has no recovery path at all. General account recovery needs the account abstraction described in the next pillar, which is not built.
- Tamper-evident across institutions โ the mainnet target. With validators run by separate institutions, altering the record requires collusion between them and leaves evidence with all of them. The testnet has one registered validator on one host, so it has neither that property nor any fault tolerance.
๐ Against quantum โ crypto-agility by governance
- Upgradeable signature verification โ designed, not built. The design targets smart accounts whose signing scheme can change: ECDSA today, ML-DSA / Falcon-class when the standards and tooling mature, keeping the same address with no asset migration. The prototype implements no account abstraction: accounts here are ordinary externally-owned ECDSA keys, exactly as on any EVM chain.
- A governed validator set can actually execute the upgrade. Coordinated, fleet-wide cryptographic migration is a decision here. On a public chain it is a years-long social negotiation that may simply fail. (The property is governance, not scale โ this deployment's set is one validator.)
- "Private to the world" limits harvest-now-decrypt-later. Public ledgers expose every public key permanently, so an adversary can collect today and break later. CSB's ledger is not world-readable, so there is far less to harvest in the first place.
- Migration is a planned phase, not an emergency response written after the news breaks.
The rest, briefly: Avalanche L1 (Subnet-EVM), permissioned proof-of-authority โ public institutions as validators (placeholder) ยท Identity-Authority-issued on-chain KYC with no personal data on chain, one address per identity by default ยท tokenized riel with a pluggable issuer, convertible 1:1 with the native coin in both directions from day one ยท gas priced at about 1 riel per payment and routed to a public-good fund rather than burned ยท a single governed egress gateway wrapping Avalanche ICTT with a council-controlled token allowlist, minimum tiers, daily caps and a circuit breaker. Full text: docs/architecture.md.
Build on CSB
Source code, contracts, and deployment guides are open on GitHub. Developers can be enabled to deploy contracts and connect MetaMask on the permissioned chain โ see the Dev Guide for the exact steps (allowlist enablement, RPC access, network config).