Reference
Deployed contracts
The Hedera testnet ATS deployment, the current market parameters, and how to verify that the deployed bytecode matches the public source.
Hedera testnet (chain 296)
The bond is issued through the real ATS factory on Hedera testnet, and the Sidereal market is built around it. The addresses below are the same ones the app is built with; the deployment manifest and receipts live in contracts/deployments/hedera-ats.json and contracts/deployments/evidence/. Open any address on HashScan.
| Component | Address |
|---|---|
ATS factory The factory that issued the bond and applied its controls | 0x5fA65CA30d1984701F10476664327f97c864A9D3 |
ATS bond (security token) The ATS-issued ERC-3643 bond; coupons and maturity cashflow | 0x10810626c3D4b6DcD9EBD4e91bA64eb5FF8c50ff |
Settlement adapter (BOND) The app's bond handle; prices and settles the ATS position | 0xF7e9a16E6820E1b1227B9C271307602f7d702a65 |
SY vault (StandardizedYieldVault) Cash in, SY shares out; wraps the bond through the strategy | 0xfe820Cb2841b5cF694f29B6d22b0B73513313191 |
Bond strategy Holds the ATS bond and values it in the cash denomination | 0xC5c69cd67F2Fc189d7e4085FA3A090651c490675 |
Cash token (sdUSD, test only) 6-decimal demonstration cash; not USDC and not redeemable | 0x71311092Cf6486941Acb34d3631CF4aD8f442b07 |
PT token (PrincipalToken) ERC-20; mint/burn gated to the tokenizer | 0x67F22b76E7Cb722394118Fc4805b45CC428BD8eF |
YT token (YieldToken) ERC-20; settles yield on every balance change | 0x0B28a594d5Af6f5C893B82DE3b8fF69B63f1D5cf |
Tokenizer Escrows SY; split, recombine, claim, redeem | 0xB51Ec9e8F0F0C2A57c42b50d61CC17505d8BCf6d |
AMM (AmmMarket) Time-decay pool; YT routes through it | 0xF816CEC720C78Af2870f323B6374aD6F3E41861E |
Orderbook PT/SY price-time limit-order book | 0xD8de4ae33a0B05578381018B428fd4c72Fc51d48 |
Current market parameters
- Bond: an ATS-issued ERC-3643 security. The issuer controls KYC; the market reuses those controls, so a wallet without ATS eligibility cannot deposit into SY or move PT/YT.
- Cash: sdUSD, a 6-decimal testnet demonstration token. It is not USDC, not redeemable, and minted only by the deployment for the demo.
- Decimals: 6 for the cash and the ATS bond, 18 for SY, PT, and YT, with rate math in 18-decimal WAD.
- Maturity: fixed per deployment and shown in the app. A separate historical short-maturity market demonstrates settlement after maturity; the current market has a 90-day term.
- Fees: the swap and orderbook taker fees are bounded and adjustable only by the configured admin; the TWAP window is 30 minutes.
Verifying the deployment
The contracts are built reproducibly from the Foundry project. Dependencies are pinned in contracts/dependencies.lock.json, and the build inputs are recorded with the deployment evidence. All nine contracts of this deployment are verified on Sourcify (chain 296); earlier verification records apply to historical addresses. To verify a contract, run:
forge verify-contract <address> <path/to/Contract.sol:Contract> \
--chain 296 --verifier sourcifyA match means Sourcify recompiled the source and reproduced the deployed bytecode. Check the contract’s HashScan page separately for its displayed verification status. Rebuild locally with forge build and compare against the recorded build inputs; the contracts repository is the source of truth for the deployed bytecode.
Admin surface
The contracts are non-upgradeable. The SY vault’s strategy is bound immutably and its admin can only set a deposit cap; the AMM, tokenizer, and orderbook admins can set bounded, event-emitting fees. None of those controls can redirect holder balances, set the exchange rate, or mint. Details in Security and risks.