TIDE
TIDE is an open-source Uniswap v4 hook for projects that sell tokens through bonds. It links new sales to pool buying and directs designated fees to buybacks during sustained selling.
What this is
Bonds let a project raise treasury or liquidity funding upfront without selling directly into its trading pool; buyers accept delayed token delivery in exchange for a possible discount.
If sales continue while demand weakens, tokens waiting to unlock can accumulate. TIDE ties the allowance for new sales to observed buying, while keeping existing bond delivery dates fixed.
- More net buying: more room for new bond sales, within the other caps.
- Less net buying: less room for new sales, down to a base allowance.
- Confirmed net selling: designated fees and protection reserves become available for capped buybacks.
Projects connect compatible pools to the signal and buyback rules. A bond-sale contract can also use the signal to limit new sales; enabling buybacks for a token does not give it a bond market. Examples use TOKEN and USDC. Each integration defines its sale terms and funding allocations.
Two ways to buy a token
A pool purchase and a bond purchase move money to different places. A pool is a trading contract holding both assets. A bond is a direct token sale with delivery at a later date.
| Trading pool | Bond sale | |
|---|---|---|
| You pay | USDC | USDC |
| Price | Market execution price | Quoted by the bond-sale contract, potentially at a discount |
| Delivery | Immediate | Claimable under the agreed bond schedule |
| Token source | Pool inventory | Protocol bond inventory |
| Payment destination | The trading pool | Protocol funding budgets |
Buying a bond does not buy tokens from the pool and does not count as pool demand in the sale-limit calculation. These examples sell from allocated inventory. The hook sets a sale allowance; the project’s token and sale contracts govern how supply is issued.
Why use bonds?
The project receives capital upfront. The buyer accepts a wait in return for a possible discount. A sale can be quoted, limited and settled without selling the project's inventory directly into its own trading pool.
The wait separates the time of payment from the time the tokens become liquid. It does not remove future selling pressure. The buyer can sell after claiming, and the market price can fall below the bond purchase price before then.
At that illustrative quote, 1M TOKEN costs 2,850 USDC and becomes claimable seven days later under this example’s delivery terms. The 150 USDC difference from the reference value is a purchase discount, not earned income. Actual orders use the integrated bond quote and applicable caps.
TIDE adds a limit to this funding method: recent pool buying helps determine how much new bond inventory may be sold. It changes new sale capacity while existing delivery terms stay fixed.
Where bond payments go
The project receives the payment through its bond-sale contract. It defines the destination before the sale. TIDE does not prescribe one treasury split for every project.
| Possible destination | Purpose |
|---|---|
| Treasury | Fund development and operations under the project’s spending rules |
| Protocol-owned liquidity | Acquire or add liquidity that the project holds itself |
| Reserves | Build reserves in the assets accepted by the bond market |
A project raising working capital and a project acquiring liquidity can use the same sale-limit rule. Their proceeds can go to different destinations. Bond funding remains separate from product revenue and from TIDE’s fee-funded buyback budget.
Where bonds come from
Token bonds are an established funding mechanism. Olympus used them to acquire reserve assets and liquidity. Bond Protocol made bond markets available to other projects. The useful precedent is capital paid upfront for tokens delivered under agreed terms.
| Design | What it does | Relation to TIDE v2 |
|---|---|---|
| Olympus bonds ↗ | Reserve bonds exchange tokens for treasury assets. Liquidity bonds accept LP tokens. Buyers accept the bond's delivery terms. | A project can use this funding pattern with TIDE’s demand-based limit on new sales. |
| Bond Protocol ↗ | Infrastructure for projects to run bond markets and acquire assets for their treasuries. | TIDE's addition is a sales allowance linked to net tokens bought from the trading pool. It does not require using Bond Protocol. |
| Olympus RBS ↗ | A historical system that used price bands to govern sales and reserve purchases. It has been replaced in Olympus. | TIDE uses trading flow and limited fee budgets. It sets no target price band or redemption floor. |
The distinction is the rule connecting pool activity to new bond capacity, together with a separate fee-funded buyback rule. Bonds, vesting and buybacks themselves are established mechanisms.
How much can be sold?
Net buying is the number of TOKEN tokens traders take out of the pool, minus the number they sell back into it. Protocol trades are excluded. The bond allowance uses average daily net buying over the last three days, with negative net buying treated as zero.
| Term | Meaning |
|---|---|
| BASE | The daily sale allowance before adding anything for net buying. It remains in the formula even when net buying is zero or negative. |
| K | Additional sale allowance per token of average daily net buying. K = 2 permits two additional tokens to be sold for each token of net buying. |
| Tier cap | The existing bond tier's daily ceiling. It can reduce the result of BASE + K × net buying. |
| Remaining inventory | Unsold tokens allocated to bonds. The allowance cannot exceed tokens available to sell. |
Calculate an example
Amounts are in the project’s token. The starting BASE of 2M illustrates 0.2% of a 1B supply, with K = 2. Change the inputs to compare allowances; these values are not requirements for every project.
Daily bond allowance: 3,000,000 TOKEN
The lowest of the calculated allowance, tier cap and remaining inventory applies. Other purchase checks can reduce availability further.
This calculator starts with an already-computed average. The daily snapshot uses the previous three completed UTC days: aggregate signed net buying, floor at zero, then divide by three. One allowance is shared across all three daily rounds, and only BASE applies until three full days of data exist.
An allowance is permission to sell, not an automatic sale. Buyers still have to purchase the bonds. Existing price guards, order limits and outstanding-delivery limits can further restrict purchases.
BASE is a funding policy choice. For a pool holding 20M tokens, a 1M daily base is 5% of that inventory; a 3M base is 15%. Projects need to size BASE and K against liquidity, expected demand and future unlocks. The calculator values are illustrative.
When do buybacks switch on?
The reference design also classifies the market using three-day observation periods, called epochs. Two consecutive completed periods beyond the threshold confirm a buying or selling state. A single trade or price move does not switch it.
| Market state | Signal | TIDE buybacks |
|---|---|---|
| Net buying | Two qualifying net-buying periods | Off |
| Neutral | Neutral or low-volume conditions under the signal rules | Off |
| Net selling | Two qualifying net-selling periods | Eligible, subject to funding and the daily cap |
A period qualifies when its volume meets the pool’s minimum and net flow is at least 5% of total volume; the sign decides buying or selling. A low-volume period, or one under 5%, sets the state to Neutral and breaks the streak. Mixed qualifying directions keep the previous state until two consecutive periods agree. Empty periods count as low volume, and every pool starts in Neutral. Each pool is measured separately; a signal in one pool does not qualify another.
The daily bond allowance and the confirmed market state are separate calculations. The allowance follows the three-day buying measure. The state controls buyback eligibility. There is no state multiplier on bond capacity in v2.
What pays for buybacks?
The reference split keeps half of the 1.5% trading tax for treasury reserves in every market state. The other half follows the pool’s state: it goes to staking rewards in Neutral and Net buying, and to that pool’s buyback budget in Net selling. Ownership is fixed when the fee accrues, using the settled state; later state changes never reassign it. LP fees are accounted for separately.
| Allocation | Per $100 taxable amount | Treatment |
|---|---|---|
| Treasury reserves | $0.75 | Retained by the treasury in every state |
| State-dependent share | $0.75 | Staking rewards in Neutral and Net buying; that pool’s buyback budget in Net selling |
The anti-sandwich protection reserve is the second funding source. The protection mechanism can charge more than the base tax on qualifying trades. Only the excess goes to this reserve. The hook charges the greater of the base tax and the protection amount, rather than adding both in full.
A buyback purchases the pool’s own token and burns it, only while that pool is in Net selling. An authorized executor submits bounded, signed orders; there is no automated keeper. Each pool has its own limits: 5,000 quote units per UTC day and 1,000 per order, with at most 1% slippage against the signed quote after pool and hook costs. Fees that arrive in the pool’s own token are burned directly instead of being sold and bought back, valued at the pool’s 24-hour TWAP and counted toward the same daily limit.
Only fees that accrue during Net selling go to buybacks; rewards already owed to stakers are never redirected. Buybacks never use bond proceeds, top-up or conversion fees, operating cash, LP principal or the other pool’s budget. Protection reserves are isolated per pool and released only after a 48-hour authorization. Unused daily allowance expires, while unused funds stay reserved for later Net selling.
A spending ceiling is not a funding promise. At a 0.75% allocation, 100,000 of eligible trading volume contributes 750 to the buyback budget, before protection-reserve contributions. Retiring purchased tokens does not ensure total supply falls if new issuance exceeds retirements.
What still unlocks on schedule?
A bond buyer agrees to a delivery schedule at purchase. TIDE changes the allowance for subsequent sales. It does not extend the delivery date of a bond already sold.
| Tokens | What governs them |
|---|---|
| Purchased bonds | The terms recorded by the bond-sale contract; a seven-day cliff is one example |
| Team and other allocations | The project’s own vesting contracts, independently of this sale-limit rule |
| Circulating balances | Normal token transfers; TIDE does not freeze holders’ balances |
Claimable means the owner can submit a transaction to receive the tokens. It does not mean an automatic transfer. Earlier bond deliveries can still arrive during a weak market. Projects need to account for those commitments when choosing sale limits.
A worked example
Assume BASE = 2M, K = 2 and a daily tier cap of 6.2M TOKEN. This example uses a seven-day bond and the fee split above. Inventory and all other purchase checks are assumed sufficient.
| Step | What happens |
|---|---|
| Buying increases | Average daily net buying reaches 500K TOKEN. The formula allows up to 3M in new bond sales per day. |
| A buyer takes a bond | The buyer pays USDC. Tokens are reserved from bond inventory and become claimable seven days after that purchase. |
| Buying falls away | Once the three-day net-buying measure reaches zero or below, the formula returns to the 2M base. Existing bonds keep their delivery dates. |
| Selling is confirmed | After two qualifying selling periods, buybacks become eligible. The executor can use the designated fee budget and eligible protection reserves within the spending limits. Treasury reserves remain separate. |
The sequence shows the rules, not a price forecast. A large sell can happen before the state changes. Sale allowances need buyers, and buybacks need funds. Neither side of the mechanism creates demand by itself.
Public wallets and movements
Each integration should publish the addresses that receive bond payments, hold token inventory and execute buybacks. Balances, commitments and outgoing transfers let users check where the funds go. The table below lists useful disclosures for an adopting project.
| Wallet or position | What to inspect |
|---|---|
| Team | Allocation, vested and unvested amounts, claimed amount, cliff end and transfers |
| Foundation | Balance, outgoing transfers and latest movement |
| Treasury | Asset balances and spending history |
| Protocol liquidity | LP position, underlying assets, lock terms and collected fees |
| Bond inventory | Unsold inventory and tokens committed to outstanding notes |
| Protection reserve | Received protection charges, available budget and buyback outflows |
A public balance is not necessarily spendable. Team vesting, LP locks and bond commitments are different restrictions. The display must distinguish them rather than apply the team cliff to every wallet.
Integration parameters
The hook supplies the market signal and sale-limit logic. An integration connects that logic to its bond contract, token inventory and fee destinations. These choices must be explicit in the deployed contracts.
| Parameter | What a project defines |
|---|---|
| Token and pool | Project token, payment asset and compatible v4 pool |
| BASE and K | The base sale allowance and response to net buying, sized for the project |
| Sale caps and inventory | Daily ceilings, available inventory and any additional purchase checks |
| Bond terms | Pricing, accepted assets, delivery schedule and proceeds destinations |
| Signal rules | The reference design uses three-day periods, two-period confirmation and a 5% threshold with a minimum-volume check |
| Fees and buybacks | Fee rates, allocation, protection-reserve rules, daily spending cap and execution limits |
| Control and disclosure | Parameter permissions, fund custody, source code, audits and public addresses |
Router configuration · spec v1.4, 30 October
These are Router’s final requirements, from its signed contract specification. Other projects can use the same mechanism with their own assets and parameters. They are requirements, not evidence of deployed or audited contracts.
| Item | Requirement |
|---|---|
| Pool coverage | Signal and buyback modules on ROUTER/USDG and GEN/USDG; the bond allowance applies to ROUTER sales |
| BASE / K | BASE is 0.2% of the original 1B issuance: 2M ROUTER a day, and it does not shrink after burns. K = 2. One allowance is shared by the three daily rounds; GEN trading never adds ROUTER capacity |
| Minimum epoch volume | 200K USDG for ROUTER/USDG and 100K USDG for GEN/USDG, per three-day epoch |
| Fee funding | 50% of the 1.5% tax to the treasury in every state; the other 50% to the GEN staking pool in Neutral and Net buying, and to that pool’s buyback budget in Net selling |
| Execution limits | Per pool: 5,000 USDG per UTC day and 1,000 USDG per order, shared by USDG buybacks and direct in-kind burns; 1% maximum slippage |
| Protection reserve | Isolated per pool, with no cross-pool transfers; releases keep a 48-hour authorization delay |
| Launch safeguards | 24-hour TWAP with a 48-hour warm-up of real observations before bonds and burn conversion open; USD 100,000 minimum liquidity per pool; GEN below $0.70 pauses new bonds and burn conversion |
| Delivery terms | Bonds: seven-day cliff. Team: 12-month cliff followed by 36-month linear vesting. No demand-based acceleration |
The GEN staking pool loses its trading-tax share only while a pool is in Net selling, and keeps 50% of top-up fees, 50% of burn-conversion fees and 10% of bond proceeds in every state. No new reward token, ROUTER mining or community-allocation subsidy is included.
Each pool buys back its own token: ROUTER from ROUTER/USDG and GEN from GEN/USDG. GEN that is bought back or received in kind is retired together with its service rights, without creating credits or restoring issuance quota.
The bond snapshot is taken at each UTC day boundary from the previous three completed days: aggregate signed ROUTER net buying, floor it at zero, then divide by three. Until three full days of real tracking exist, only BASE applies. Each purchase consumes the allowance once, and unused capacity does not carry over.
BASE can permit sales without net buying. K greater than one can permit additional sales larger than observed net buying. Projects need to test these choices against their unlock schedule, weak demand and attempts to inflate the signal. A fee budget limits how much can be bought back.
This page describes the open-source hook design. Each deployment needs published source, verified addresses and its own security review. The calculator illustrates the formula; it does not read a deployed contract or submit transactions.