Overview
Liquid Treasury enables institutions to earn competitive yields on stablecoin holdings through blue-chip Tokenized Money Market Funds (TMMFs) — with instant redemptions available 24/7, subject to availability. Built on the Multiliquid Protocol, Liquid Treasury delivers institutional-grade access to Treasury yields with full compliance, on-chain transparency, and seamless integration. Available to U.S. and non-U.S. Accredited Investors. KYC/KYB required for all depositors.T-Bill Yield
Returns tied to short-term U.S. Treasury Bill rates. Real-world asset backing, not synthetic or DeFi-native.
Instant Liquidity
Redeem to stablecoins or blue-chip TMMFs instantly, 24/7/365, subject to availability.
Issuer Diversification
Multi-issuer TMMF reserve structure reduces counterparty risk. No single point of failure.
The Problem
Institutions must choose between earning yield or having liquidity. Traditional money market products force this tradeoff with settlement delays and redemption caps. No existing product offers all three: true instant liquidity, T-Bill yield, and issuer diversification.Why Liquid Treasury
| Feature | Liquid Treasury | Traditional TMMFs |
|---|---|---|
| Liquidity | 24/7 instant, atomic, subject to availability | T+1 or daily windows |
| Access | Programmatic and automated | Largely manual |
| Infrastructure | On-chain native | Fiat + On-chain |
| Eligibility | U.S. and non-U.S. Accredited Investors | Varies |
The $TSY Token
| Property | Value |
|---|---|
| Symbol | $TSY |
| Type | ERC-20 (and equivalent) |
| Decimals | 18 |
| Networks | Ethereum, Solana (coming soon) |
| Bridge | LayerZero OFT |
| Transfers | Permissionless |
How It Works
Deposit
Send USDC to Liquid Treasury and receive $TSY tokens. Primary minters complete KYC/KYB onboarding. Deposits flow into the multi-issuer TMMF reserve, with a dedicated stablecoin buffer for instant redemptions.
Earn
Start accruing yield immediately. Returns are contractually tied to prevailing U.S. Treasury Bill yields, providing transparent, market-linked returns. Interest is calculated daily based on the 3-Month U.S. T-Bill Oracle rate.
Reserve Architecture
Liquid Treasury’s reserve is split between yield-generating TMMF holdings and a stablecoin buffer that decouples redemption speed from settlement:TMMF Holdings (~80-95%)
Allocated across leading blue-chip Tokenized Money Market Funds, the yield-generating core of the reserve. Always available for atomic, in-kind redemptions.
Stablecoin Buffer (~5-20%)
Stablecoin reserve enabling instant redemptions without redeeming underlying TMMFs. Buffer replenishes on T+1/T+2 cycles from new deposits and TMMF redemptions. If the stablecoin buffer hits 0%, all transactions will be reverted.
Legal Structure
Liquid Treasury operates through a bankruptcy-remote Delaware Special Purpose Vehicle (SPV), providing clear legal separation and investor protection.- Contractual Interest: Interest is contractually tied to prevailing U.S. Treasury Bill yields, providing transparent, market-linked returns.
- Bankruptcy Remote: SPV assets are segregated and bankruptcy-remote, providing structural protection.
- On-Chain Verifiable: Real-time on-chain reserve verification for full transparency.
DeFi Composability
$TSY is designed for seamless integration across DeFi:- Permissionless Transfers: Move $TSY freely between wallets and protocols.
- DeFi-Ready: Use as collateral, liquidity, or in yield strategies.
- Secondary Market Liquidity: Trade or swap $TSY on secondary markets.
Compliance
KYC/KYB Verification
Required for all primary participants. Whitelist-enforced on-chain minting ensures only verified addresses receive newly issued tokens.
BSA/AML Compliance
Bank Secrecy Act and Anti-Money Laundering compliance. Blacklist enforcement for sanctioned or restricted addresses.
Segregated Reserve Custody
Segregated reserve custody via audited smart contracts using OpenZeppelin standards.
On-Chain Transparency
Real-time on-chain reserve verification. All state changes emit comprehensive events for auditability.
Integration Options
Liquid Treasury is designed for programmatic access — ideal for B2B2C platforms, trading desks, liquid funds, vault curators, exchanges, payment processors, and any business managing treasury operations at scale.- Smart Contracts: Direct on-chain interaction via ethers.js or web3.py for DeFi integrations
- REST API: Full-featured endpoints for deposits, redemptions, balance queries, and transaction history.
- SDK: TypeScript library for seamless integration into existing stacks
- CLI Tool: Command-line interface for automated treasury operations and scripting workflows
For developer integration details, contract ABIs, and technical specifications, see the Integration Guide.
Technical Reference
The sections below provide detailed smart contract documentation for developers integrating directly with Liquid Treasury’s on-chain infrastructure.Contract Architecture
Treasury Token
- ERC20Upgradeable: Standard token functionality
- ERC20BurnableUpgradeable: Burn capability
- ERC20PermitUpgradeable: EIP-2612 gasless approvals
- AccessControlEnumerableUpgradeable: Role-based permissions with enumeration
- PausableUpgradeable: Emergency pause capability
- ReentrancyGuardUpgradeable: Reentrancy attack protection
- UUPSUpgradeable: Secure upgrade mechanism
Deployment Model
The treasury token can be deployed independently on multiple chains, connected via bridge contracts: Each deployment is independent but connected via bridges:- Same token name and symbol across chains
- Separate role administration per chain
- Bridge contracts handle cross-chain transfers via burn-and-mint
Core Functions
Minting
mint (Primary Issuance) Mint tokens to whitelisted addresses only. Used for initial token issuance to institutional clients after KYC/KYB verification.- Caller must have
MINTER_ROLE - Recipient must be whitelisted (
whitelisted[to] == true) - Contract must not be paused
- Amount must be non-zero
AccountNotWhitelisted(to) if recipient is not whitelisted, InvalidAmount() if amount is zero
Whitelist enforcement on primary issuance ensures KYC/KYB compliance. Only addresses that have completed the onboarding process can receive newly minted tokens.
- Caller must have
BRIDGE_ROLE - Recipient must not be the zero address
- Contract must not be paused
- Amount must be non-zero
BridgeMint(bridge, to, amount) for off-chain monitoring before the standard Transfer event.
Burning
burnFrom requires prior approval from the token holder. If the caller has BRIDGE_ROLE, a BridgeBurn event is emitted for off-chain monitoring in addition to the standard Transfer event.
Requirements:
- Amount must be non-zero
- Contract must not be paused
burnFromrequires sufficient allowance
Transfers
Standard ERC-20transfer and transferFrom functions. Transfers are permissionless with two exceptions:
- Blacklist enforcement: Both sender and receiver are checked against the blacklist on every transfer (including mints and burns). Blacklisted addresses cannot send or receive tokens.
- Pause enforcement: All transfers are blocked when the contract is paused.
Whitelist enforcement applies only to
mint() (primary issuance). Transfers between addresses are unrestricted beyond blacklist and pause checks. This enables $TSY to trade freely on secondary markets and integrate with DeFi protocols.EIP-2612 Permit
- User signs an approval message off-chain
- A relayer submits the
permit()transaction (pays gas) - Approval is set without requiring a transaction from the user
- Subsequent
transferFrom()orburnFrom()can execute immediately
Bridge Integration
Bridge Management
Bridges are managed through role-based access control. TheOPERATOR_ROLE can add and remove bridges:
BRIDGE_ROLE; removing a bridge revokes it. Each operation emits BridgeAdded or BridgeRemoved events.
Multiple bridges can operate simultaneously, providing redundancy, distributed risk, and competitive routing options.
TreasuryOFTAdapter (LayerZero)
A reference bridge implementation using LayerZero’s OFT (Omnichain Fungible Token) protocol:- Source chain: Burns tokens via
Treasury.burnFrom()(requires user approval of the adapter) - Destination chain: Mints tokens via
Treasury.bridgeMint()(requiresBRIDGE_ROLE) - Routes zero-address recipients to
0xdeadto prevent token loss
- Deploy
TreasuryOFTAdapteron each chain - Grant
BRIDGE_ROLEto the adapter:treasury.addBridge(adapterAddress) - Configure LayerZero peers:
adapter.setPeer(dstEid, peerAddress)
Compliance Controls
Whitelist
Whitelist enforcement applies only to primary issuance minting (mint()). Managed by WHITELISTER_ROLE:
mapping(address => bool) public whitelisted
Lifecycle:
- Institution completes KYC/KYB onboarding
- Compliance team adds the institution’s address to the whitelist
- Address can now receive primary issuance mints
- If needed, address is removed from the whitelist during offboarding
Blacklist
Blacklisted addresses cannot send or receive tokens in any context (transfers, mints, burns). Managed byBLACKLISTER_ROLE:
mapping(address => bool) public blacklisted
Batch operations enable efficient compliance actions across multiple addresses in a single transaction.
Administrative Functions
Force Burn
super._update() directly.
Use cases: Regulatory compliance (e.g., court orders), security incident response, recovery from compromised addresses.
Events: Emits ForcedBurn(operator, from, amount).
Force Transfer
ForcedTransfer(operator, from, to, amount).
Pause / Unpause
forceBurn, forceTransfer) remain operational when the contract is paused.
Yield-Bearing Integration (Treasury Delegate)
When integrated with MultiliquidSwap, the Liquid Treasury token becomes a yield-bearing asset through the Treasury Delegate contract. The delegate manages daily interest rate accrual, a credit-based redemption system, and swap operations.Overview
The Treasury Delegate extends the standard Multiliquid delegate model with yield mechanics:- Users deposit RWAs or stablecoins via MultiliquidSwap and receive $TSY tokens
- The delegate tracks credits (deposit entitlements) separately from token balances
- An off-chain worker posts daily interest rates sourced from the 3-Month US T-Bill Oracle
- Credits accrue yield over time via a compounding multiplier
- When users redeem, they receive their principal plus accumulated yield
Token/Credit Separation
$TSY tokens (ERC-20) and credits are independent:- Tokens can be freely transferred on the open market
- Credits track a user’s yield entitlement and are non-transferable
- Secondary market buyers receive tokens but no credits (no yield benefit until depositing via MultiliquidSwap)
- Redemption requires sufficient credits to prevent negative backing
| Scenario | Tokens | Credits | Can Redeem? |
|---|---|---|---|
| User deposits via MultiliquidSwap | Receives tokens | Receives credits | Yes |
| User buys tokens on secondary market | Has tokens | No credits | No (must deposit first) |
| User transfers tokens to another wallet | Loses tokens | Keeps credits | Yes, with tokens bought back on secondary market |
Daily Rate System
Posting Rates An off-chain worker posts daily interest rates sourced from the 3-Month US T-Bill Oracle :dayNumber: The day number (block.timestamp / 1 days)grossRate: The APY before management fee (WAD-scaled, e.g., 4.5% =4.5e16)- The management fee is subtracted on-chain; the net APY is stored
- The net APY is converted to a per-day compounding rate
firstRateDay and lastRatePostingDay). The operator cannot advance the rate posting frontier.
Management Fee
5e15) subtracted from the gross rate at posting time. Only the issuer admin can update it.
Withheld Credits
New deposits enter a withheld credits queue before becoming full credits. These withheld credits become full credits after 24 hours of yield-generation. Withheld credits are selected first when any withdrawals are being made. If they have not reached the 24 hour maturity period upon withdrawal, the credits have yield generated withheld (if any). This prevents timing exploits of the underlying RWA NAVs. Each withheld credit entry tracks:| Deposit Type | Earning Start | Yield Method | Rationale |
|---|---|---|---|
| RWA deposit | Immediate | Daily only (no partial days) | Already invested in underlying fund |
| Stablecoin deposit | T+1 (next day) | Continuous (includes partial days) | Settlement delay for stablecoin backing |
- Additions: New deposits are pushed to the back of the deque
- Reductions (withdrawals): Consumed from the back (LIFO — most recent deposits first, which have accrued the least yield)
- Merges: Released from the front (FIFO — oldest deposits mature first) when 24-hour hold period expires
Interest Accrual
Interest accrual is permissionless — anyone can trigger it for any user:credits * yieldMultiplier / WAD. The multiplier starts at 1e18 (1.0) and compounds daily.
View Functions
Withheld credits are always valued at 1:1 in view functions (no yield applied). Only main credits receive the yield multiplier. For stablecoin withdrawals, a partial-day yield is applied using the last posted rate to account for intra-day accrual.
Access Control
Treasury Token Roles
| Role | Permissions | Typical Holder |
|---|---|---|
DEFAULT_ADMIN_ROLE | Upgrade contract, manage all roles | Multi-sig governance |
OPERATOR_ROLE | Bridge management (add/remove), force burn, force transfer. Role admin for BRIDGE_ROLE and MINTER_ROLE. | Operations multi-sig |
MINTER_ROLE | Primary issuance minting (whitelist-enforced) | Treasury Delegate, authorized issuers |
BRIDGE_ROLE | Cross-chain bridge minting (no whitelist) | Bridge adapter contracts |
PAUSER_ROLE | Pause and unpause all token operations | Security team |
WHITELISTER_ROLE | Add/remove addresses from whitelist | Compliance team |
BLACKLISTER_ROLE | Add/remove addresses from blacklist (including batch) | Compliance team |
Treasury Delegate Roles
| Role | Permissions | Typical Holder |
|---|---|---|
DEFAULT_ADMIN_ROLE | Upgrade delegate contract | Multi-sig governance |
MULTILIQUID_SWAP_CONTRACT | Execute swap operations (deployStablecoin, receiveStablecoin, etc.) | MultiliquidSwap contract |
| Issuer Admin | Set management fee, configure custody addresses, manage RWA/stablecoin whitelists, pause delegate | Protocol team |
RATE_POSTER_ROLE | Post sequential daily interest rates | Off-chain rate worker |
OPERATOR_ROLE | Correct past daily rates | Operations multi-sig |
PAUSE_ROLE | Emergency pause of delegate operations | Security team |
Events
Treasury Token Events
Treasury Delegate Events
Custom Errors
Treasury Token Errors
Treasury Delegate Errors
Technical Specifications
| Property | Value |
|---|---|
| Token Standard | ERC-20 (with extensions) |
| Decimals | 18 |
| Upgrade Pattern | UUPS Proxy |
| Solidity Version | 0.8.30 |
Next: Integration Guide
Learn how to integrate with the Multiliquid Protocol