> For the complete documentation index, see [llms.txt](https://docs.onre.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.onre.finance/technical-resources/redemptions-and-onchain-liquidity.md).

# Redemptions and Onchain Liquidity

OnRe supports the onchain liquidity of ONyc tokens through its primary-market infrastructure.

The OnRe application allows eligible holders to redeem ONyc tokens via the user interface, while supported software systems (routing infrastructure) can access the same functionality programmatically.

All redemptions, direct or routed, are priced and executed by OnRe’s smart contract. The current deployment processes transactions entirely onchain and does not rely on the facilitation of a backend system with a queue.

### Redeeming ONyc

Eligible holders can redeem their tokens at the OnRe application. The user enters into the user interface the number of tokens for which a redemption is desired and gets a quote in USDG.

{% hint style="info" %}
For example, a user may want to redeem 1,000 ONyc and the user might reasonably expect (as per the rules of the smart contract) to receive 995 USDG at that point in time but not less than 990 USDG (the minimum output, given slippage).

Once submitted by the user, the redemption is processed by the smart contract as a single atomic transaction that must meet the minimum-output constraint (or it is reversed in full). The redeemed ONyc is burned as part of the same transaction.
{% endhint %}

Eligible holders are only those whose wallets have been verified through the application’s onboarding process. Holders who originally acquired tokens on secondary markets are required to complete OnRe’s anti-money laundering and anti-terrorist financing (AML/ATF) procedures before they can submit a redemption through the application, which is the primary market.

### Redemption Pricing

Redemptions of ONyc do not execute at the token’s unit price in terms of published net asset value (NAV). To produce a quote, the application takes the current unit price of ONyc and adjusts it.

{% stepper %}
{% step %}
First, the number of redeemable tokens is reduced by an amount corresponding to the fee that OnRe charges for the service. At present, this fee is 25 basis points.
{% endstep %}

{% step %}
Second, the unit price itself is discounted according to a convex power curve. The inputs to this curve include available liquidity and net demand during the current epoch (plus the decaying net demand from the previous epoch). Buy activity can offset sell pressure.
{% endstep %}
{% endstepper %}

{% code overflow="wrap" %}

```
effective_liquidity = min(
    pressure_adjusted_wall,
    actual_vault_balance,
    TVL_target_when_configured
)

utilization = raw_sell_value / effective_liquidity

output = raw_sell_value × (1 - haircut(utilization, pressure, cadence))
```

{% endcode %}

Integrators should use `quote_swap_sell` to obtain the current executable quote rather than reimplementing the pricing curve.

### Redemption Liquidity

Redemptions are funded from onchain liquidity that OnRe dedicates for this purpose. OnRe’s management carves out a portion of the capital that is raised for underwriting to ensure that the company can meet redemptions during historically observed market conditions. At present, this portion is about 15% of the capital. This figure is subject to change, based on senior management’s view of the needs of investors and of the company’s in-force insurance portfolio. The amount of this portion that is immediately available onchain sits in a designated vault (the `redemption vault`).

### How Liquidity Replenishes

Liquidity can be replenished through purchases of ONyc.

The smart contract can be configured to forward a certain percentage of the proceeds of token sales directly and automatically to the designated vault until a certain target is reached.

{% code overflow="wrap" %}

```
target = TVL × vault_target_bps / 10,000
headroom = max(0, target - current_redemption_vault_balance)

refill = min(net_buy_inflow, headroom)
proceeds = net_buy_inflow - refill
```

{% endcode %}

This mechanism fosters a two-sided liquidity system in which purchases of ONyc help to bolster the very liquidity that is used for redemptions of ONyc.

### RFQ and Program-Native Liquidity

Routing infrastructure can access OnRe’s onchain liquidity programmatically. The smart contract exposes live quote and execution instructions for buying and selling ONyc:

<table><thead><tr><th width="136.24609375">Action</th><th>Quote</th><th>Execute</th></tr></thead><tbody><tr><td>Buy ONyc</td><td><code>quote_swap_buy</code></td><td><code>open_swap_buy(token_in_amount, minimum_out)</code></td></tr><tr><td>Sell ONyc</td><td><code>quote_swap_sell</code></td><td><code>open_swap_sell(token_in_amount, minimum_out)</code></td></tr></tbody></table>

These instructions allow supported routers to request a current quote and include the corresponding OnRe transaction within their routing flow. Quotes reflect current onchain state and are not liquidity reservations. Callers should set a minimum output and simulate the transaction before submission.

#### Availability Checks

Before routing through OnRe’s onchain liquidity, integrators should confirm the following conditions:

* the global kill switch on `State` is not active;
* the relevant `Offer` and `RedemptionOffer` are enabled;
* the applicable `PropAmmPairState` is enabled; and
* sufficient liquidity is available in the redemption vault for the requested transaction

If any such check fails, the route should be treated as temporarily unavailable until the relevant condition is restored.

### Titan Integration

OnRe’s application is integrated with the Titan Prime API, a DEX-aggregator that can compare OnRe’s onchain liquidity with available secondary-market options and select between them as part of normal routing activity.

This integration allows users to benefit from multiple potential sources of liquidity through a single user interface. The best available execution route may vary depending on trade direction, trade size, available liquidity and broader market conditions.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.onre.finance/technical-resources/redemptions-and-onchain-liquidity.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
