Trust model and addresses.
What is enforced on-chain
- Fee splits, roots payouts, harvests, pool transfers and donation settlement are enforced by the contracts.
- Holder-reward allocation is computed by the keeper, and only its Merkle root is on-chain. Every snapshot is published and checkable on Rings.
- Shielded notes hide the spending graph, not the deposit transaction.
Admin powers
The admin is the owner of the contracts. On mainnet that is a Safe account, which is also the treasury listed under Addresses below.
The admin can: change fee shares within the bounds, set the treasury, pause a coin's roots and send its new roots share to the fixed recovery address, set the keeper, set pool deposit limits, set the launch and cause-registration fees, set the roots cap, and deactivate a cause.
The admin cannot: take roots BNB, change a coin's payee after handover, spend or freeze pool notes, mint tokens, change the 2.00% fee, or upgrade contracts. Nothing is upgradeable.
Addresses
| BNB Smart Chain testnet | Address | |
|---|---|---|
| Launchpad | 0xD24474169fc673A89F4d470e56F999348220Ba40 | |
| FeeRouter | 0x20C0957879B6D62Dd8437b3C49130CEd7620E6F2 | |
| Roots | 0xECf8647133a5dc4d8F9cbBB3A4F0E164B3D9A1E2 | |
| HolderRewards | 0x9b97e19ADACdF7C8f0f3Ea8DbD3012c91A945C0b | |
| DonationRotator | 0xaFA8fD797a9096b7Cf9e8305594233fc0a86C1C8 | |
| ShieldedPool | 0x2D780aee727c3349d9191A5e96D66c87DDA8f15E | |
| Groth16Verifier | 0x72EBdb81249f1f8b4705F8Ec53460D634cD06c74 | |
| PoseidonT3 | 0xceC0508fD958690E6f0A676e0791ff2D48462373 | |
| PoseidonT4 | 0x565616707d1Fd14609FadB8D170f9b4FC3f2b97b | |
| $ZKBNB (rootstock) | 0x050cD8Eb57149B893c77cdE336E020c318B2F17f | |
| PancakeSwap V2 router | 0xD99D1c33F9fC3444f8101754aBC46c52416550D1 | |
| Treasury | 0xaaF6D840f253b5Aea0376AB9B9361648E3C48872 | |
| Start block | 134569642 |