# Payoff curves

In DIVA Protocol, payoff profiles are parametric, allowing the creation of a wide range of unique and tailored payoff profiles with different slopes, barriers, and ranges. The shape of the *long* payoff curve is governed by four parameters: **floor, inflection, cap, and gradient.**

Due to the zero-sum nature, the short payoff curve is implied via the relationship **payoff(Short) + payoff(Long) = 1**. Visually, the short token payoff curve is just a horizontally mirrored version of the long token payoff curve. This is illustrated in the following graphic:

<figure><img src="/files/olDFJdNv8QoNwrKbNGYt" alt=""><figcaption><p>Illustration: Parametric payoff curves in DIVA Protocol</p></figcaption></figure>

{% hint style="info" %}
The amount of long and short position tokens issued is equal to the amount of collateral held in the contingent pool, resulting in a maximum payout of 1 unit of the collateral token per long/short position token. For instance, if USDC 100 is deposited into the contingent pool, one party will receive 100 long and the other party 100 short tokens, regardless of their individual contributions.
{% endhint %}

Example long and short payoff curves that result from the parametric approach are illustrated below:

### **Long payoff curves**

![Example long payoff curves](/files/TTlzZTsofzUvOAmc2o6K)

### **Short payoff curves**

![Example short payoff curves](/files/prPAy8EvlRxKibDw9iUl)

### Payoff formula

The payoff per long token is calculated as follows (assuming 0 fees):

```
if (finalReferenceValue = inflection):
	payoffLong = gradient
else if (finalReferenceValue ≤ floor):
	payoffLong = 0
else if (finalReferenceValue ≥ cap):
	payoffLong = 1
else if (finalReferenceValue < inflection):
	payoffLong = gradient * (finalReferenceValue - floor)/(inflection - floor)
else if (finalReferenceValue > inflection):
	payoffLong = gradient + (1 - gradient)*(finalReferenceValue - inflection)/(cap - inflection)
```

As `payoffLong + payoffShort = 1` (ignoring fees), the short token payoff is given by `payoffShort = 1 - payoffLong.`


---

# Agent Instructions: 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:

```
GET https://docs.divaprotocol.io/introduction/what-is-diva-protocol/how-it-works/payoff-curves.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
