FundTokens lets anyone hold a trustless, self-custodial basket of Bitcoin Cash native assets using CashTokens and smart contracts. No middlemen. Transparent rules. On-chain.
Deposit a fund's backing (BCH and CashTokens) to mint its fund tokens; return fund tokens to redeem the backing. Fund definitions are fixed and published on-chain, the contracts are non-upgradeable, and every fund token works anywhere CashTokens do.
| Overview | How FundTokens works: fund types, versions, instances, threads, fees, maintenance |
| Integration guide | Create funds, mint and redeem with @fundtokens/builders |
| Library API | Registry client, fund type resolver, errors |
| Fund types | Each fund type and contract version: contracts, system tokens, builders |
| Library README | Installing, developing, adding versions, publishing |
| Agent docs · AGENTS.md | Implementation-level specs for AI agents and auditors |
| Fund type | Versions |
|---|---|
| Fixed basket: a fixed basket of BCH and CashTokens per unit | v1 |
| BCH/USD Target Blend: BCH and a USD token at a target weight, rebalanced by anyone for a small reward | v1 (in design) |
fund-tokens-contracts/ ← contracts and the @fundtokens/builders library
└── src/fund-types/<type>/<version>/
├── contracts/*.cash ← CashScript sources, frozen once released
├── artifacts/ ← generated by yarn build:contracts
├── tests/
└── *.ts ← that version's builders
docs/ ← documentation, laid out by fund type and version
cd fund-tokens-contracts
yarn install
yarn build:contracts # after changing a .cash source
yarn verify # artifacts current, type-check, all tests, buildCopyright (c) 2026 FoldingCash LLC. All rights reserved.