Stable Rate Swap
Fix the output rate of a token pair for your users. Fynd routes the swap at market and settles the difference against your vault balance in the TychoRouter. You keep full control of the rate, every swap settles onchain in one transaction, and there is no counterparty that can go offline.
Stable Rate Swap is built from two primitives you may already use: the client fee and the client contribution.
Stable Rate Swap runs as a separate Fynd server that we host for you, with its own base URL. It accepts the same requests as the standard Fynd API and returns the same responses, plus an API extension with Stable Rate Swap fields.
Beta. Stable Rate Swap is available to selected integrators. To get access, contact us on Telegram.
How it works
You declare the rate your user sees, for example 1 USDC = 1 USDT.
Fynd finds the best market route, as for any quote.
When the market quote is above your declared output, the surplus goes to your vault as a client fee.
When the market quote is below your declared output, your vault tops the output up to the declared amount as a client contribution.
The router settles atomically and your user receives the declared amount.


Fynd encodes the declared rate into the same ClientFee payload that client fees use. The fee moves surplus into your vault, and maxClientContribution caps how much the router may take from your vault to cover a shortfall. No new contract sits between your user and the router. The vault only settles the difference between your declared rate and the onchain rate, so a declared rate that tracks the market needs only a small float.
The formula uses three inputs:
Market quote (
Q): what the best onchain route returns for the input amount right now. It moves with the market.Declared output (
D): what you promise your user, at the rate you set. For 1,000,000 USDC at 1 USDC = 1 USDT,Dis 1,000,000 USDT, whatever the market does.Depeg tolerance: the largest gap, in basis points of
D, that your vault covers when the market is below your rate.
Favorable price movement between quote time and execution above expected_amount_out is captured by the router, as in every Fynd swap. See Fynd Fees.
Example: market above your rate
1,000,000 USDC in, declared 1,000,000 USDT out, market quote 1,000,300 USDT:
Example: market below your rate
1,000,000 USDC in, declared 1,000,000 USDT out, market quote 999,700 USDT, 30 bps depeg tolerance:
Quote response
Your Stable Rate Swap server accepts the same POST /v1/{chain}/quote request as Fynd. Enable encoding, and you get the same OrderQuote back. The fee_breakdown and the encoded transaction are the standard ones, so an existing Fynd client only needs a different base URL. Encoding is required because the fixed rate lives in the transaction's ClientFee payload. See encoding options.
Each quote also carries the Stable Rate Swap API extension. Use it to show your user the declared rate next to the market, and to monitor how far the market drifts from your rate and how much your vault subsidizes.
declared_amount_out
string
Output at your declared rate. This is what the user receives.
market_amount_out
string
Output of the market route at quote time.
router_expected_amount_out
string
max(market, declared), encoded as expectedAmountOut in the tx.
client_fee_bps
integer
Client fee that moves the surplus into your vault. 0 when none.
max_client_contribution
string
Cap on the subsidy your vault pays for this swap.
deadline
integer
Unix timestamp after which the quote is no longer valid.
gap_bps
integer
Signed distance between market and declared output in basis points.
All amounts are in output token units.
Hosted deployment
We host the Stable Rate Swap server for you on any chain Fynd supports, for any token pair and any rate policy. Onboarding is guided. Together we:
Pick the chain, the token pair, and the rate policy your users see.
Set the depeg tolerance, the quote validity window, and the float you keep in your TychoRouter vault. See the vault mechanism in the Tycho docs.
Point your app at your base URL. Quotes come back signed and ready to submit, so your app does no signing.
Monitor your vault balance. It moves on every swap, and you top it up as needed.
Get access
Stable Rate Swap is in Beta. Contact us on Telegram with your pairs, chains, expected volume, and whether you already hold vault inventory.
Last updated