
We keep hearing what Avalanche can't do for institutional finance. So we built a proof of concept for all of it.
Two live Avalanche L1s on Fuji testnet. Standard Solidity. Contracts in the genesis block. Every button below sends a real on-chain transaction.
can't doL1-Private runs validatorOnly: true. Run a node. Discover the subnet. Watch it fail to peer. No blocks. No state. No data. You are not in the allowed set.
Sync C-Chain (public):
docker run --rm avaplatform/avalanchego:v1.14.2 \ --network-id=fuji
Sync L1-Institutional (permissioned transactions, open sync):
docker run --rm avaplatform/avalanchego:v1.14.2 \ --network-id=fuji \ --track-subnets=2BJEeSX76ftRwicQ7196SZtoCV2srRLGnXJkgTAvVjheNeT2wP \ --partial-sync-primary-network=true
Sync L1-Private:
docker run --rm avaplatform/avalanchego:v1.14.2 \ --network-id=fuji \ --track-subnets=2SX9zJYSCoDksFru5G7mX9BGAxcfDrQRKQwGpQbB4WM5JFZrEq \ --partial-sync-primary-network=true
Each Avalanche L1 is a sovereign chain with its own validator set. Not a rollup. Not a sidechain. Its own network. Its own rules.
can't doGenerate a fresh wallet. Fund it. Try to transact on L1-Institutional. The VM itself rejects it — not a smart contract, not middleware, the execution layer. Then KYC the wallet and try the exact same transaction.
Creates a random wallet and funds it with gas on L1-Institutional.
This wallet has gas but is not on the txAllowList. The VM will reject it at the protocol level.
Submit KYC info to add the wallet to the allowlist, then retry the exact same transaction.
can't doDelivery-vs-Payment across two sovereign L1s. A seller tokenizes US Treasuries on L1-Private. A buyer bridges stablecoins from C-Chain via ICTT. The coordinator on L1-Institutional settles both legs atomically via ICM, or neither.
~150 lines of Solidity. View the settlement contract.
Public stablecoin on C-Chain
USTB26 on private chain
Terms: 1,000 USTB26 for 100,000 sUSD
Escrow USTB26, send ICM to coordinator
Both legs present triggers atomic settlement.
can't doSovereign validators keep outsiders from seeing the chain. But what about privacy between participants on the same chain? EncryptedERC uses zk-SNARKs (Groth16) + El-Gamal encryption on BabyJubJub to keep balances fully encrypted on-chain. Deployed live on L1-Institutional.
can't doEvery contract below is standard Solidity compiled with Foundry. Three were embedded in the genesis block — live at block 0, zero deployment step. No proprietary language. No vendor lock-in. Any Solidity developer can read, audit, or extend this code.
| Chain | Contract | Address | Note |
|---|---|---|---|
| C-Chain | SettlementStablecoin | 0x2ff27ba4C464387bD9A2aa1C188B10e98F39fe35 | sUSD |
| C-Chain | ERC20TokenHome | 0xb0E6e3E0b4f550865adDB10d6324E0F152fE688c | ICTT bridge |
| Institutional | InstitutionalAllowlist | 0xC0DE000000000000000000000000000000000001 | Genesis |
| Institutional | CrossChainDvP | 0xC0DE000000000000000000000000000000000003 | Genesis |
| Institutional | ERC20TokenRemote | 0xa4DfF80B4a1D748BF28BC4A271eD834689Ea3407 | sUSD bridge |
| Private | SecuritiesToken | 0xC0DE000000000000000000000000000000000004 | Genesis |
| Private | SecuritiesEscrow | 0xA4cD3b0Eb6E5Ab5d8CE4065BcCD70040ADAB1F00 | DvP lock |
0xC0DE0000000000000000000000000000000000040xA4cD3b0Eb6E5Ab5d8CE4065BcCD70040ADAB1F00
can't doThe stablecoin starts on C-Chain — Avalanche's public EVM with access to DeFi protocols, liquidity, and on/off-ramps. ICTT bridges it into the permissioned chain for settlement. After settlement, proceeds can bridge back. Institutional settlement doesn't have to mean trapped capital.
can't doWe also built a Daml-compatible VM that runs on Avalanche L1s. Same language, your infrastructure.
damlonavalanche.com