Supported Payout Functions

Outcome supports linear and binary payout functions performed on-chain while step-wise function should additionally involve off-chain calculation. On-chain payout function should be configured by pointing the LSP contract to the relevant financial product library (FPL) and providing additional parameters for FPL.

Linear payout

When pointing LSP contract to Linear FPL the recipients of KPI options (long tokens) would be able to claim:

  • nothing when lower bound of target metric threshold (set in lowerBound parameter to FPL) is not met;

  • maximum amount of collateralPerPair (scaled down by 18 decimals) per each long token when upper bound of target metric threshold (set in upperBound parameter to FPL) is met;

  • proportional amount between zero and maximum amount when target metric is resolved between its lower and upper bounds.

Note that also lowerBound and upperBound threshold parameter values should be scaled up by 18 decimals when configuring the KPI options deployment.

Binary payout

When pointing LSP contract to Binary FPL the recipients of KPI options (long tokens) would be able to claim:

  • nothing when target metric threshold (set in strikePrice parameter to FPL) is not met;

  • maximum amount of collateralPerPair (scaled down by 18 decimals) per each long token when target metric is at or above its defined threshold (set in strikePrice parameter to FPL).

Note that also strikePrice threshold parameter values should be scaled up by 18 decimals when configuring the KPI options deployment.

Step-wise payout

When using step-wise payout function the verifiers of target metric would be also tasked to transform it to desired payout amounts before resolving final price through Optimistic Oracle. Step-wise function can be configured by PostProcessingMethod and PostProcessingParameters as documented in common ancillary data parameters section.

Since the LSP contract logic is not aware of any off-chain post processing it also requires the configuration of FPL parameters. When using off-chain payout function the deployers should point LSP contract to Linear FPL and set its lowerBound to 0 and upperBound matching the highest resolvable price from PostProcessingParameters (scaled up by 18 decimals).

Example step-wise payout

As an illustration KPI option program targeting following payouts:

  • If project TVL is below USD 10 million minimum payout of 100'000 UMA should be distributed;

  • If project TVL is at least USD 10 million but lower than USD 100 million total payout of 200'000 UMA should be distributed;

  • If project TVL is USD 100 million or higher maximum payout of 1'000'000 UMA should be distributed.

Assuming the resolved TVL is scaled in millions of USD the above example payouts can be achieved by setting following ancillary data parameters:

PostProcessingMethod:STEPWISE,
PostProcessingParameters:{"milestones":[[0,100],[10,200],[100,1000]]}

When deploying KPI options following additional parameters should be set:

  • collateralPerPair to 1 (scaled up by 18 decimals);

  • FPL pointing to Linear FPL;

  • FPL lowerBound to 0;

  • FPL upperBound to 1000 (scaled up by 18 decimals);

The sponsor in above example should lock 1'000'000 UMA by minting the same amount of long/short pair tokens where long tokens are distributed to KPI option recipients. Depending on resolved TVL the payout function would work as follows:

  • If TVL is below USD 10 million Optimistic Oracle resolves price to 100 (scaled up by 18 decimals) that corresponds to 10% of upperBound, hence KPI option recipients would be able to claim 100'000 UMA;

  • If TVL is at least USD 10 million but lower than USD 100 million Optimistic Oracle resolves price to 200 (scaled up by 18 decimals) that corresponds to 20% of upperBound, hence KPI option recipients would be able to claim 200'000 UMA;

  • If TVL is USD 100 million or higher Optimistic Oracle resolves price to 1000 (scaled up by 18 decimals) that corresponds to 100% of upperBound, hence KPI option recipients would be able to claim 1'000'000 UMA;

Last updated