Skip to main content
Claim the USDC payout for option tokens held at expiry. This function burns the specified amount of ERC-1155 option tokens and transfers the corresponding USDC payout to the caller. Contract: ConvallaxCore0xc760F8f6B8830463822be9F68eB10e1b5Dace378

Function Signature

function claimHolderPayout(uint256 seriesId, uint256 amount) external

Parameters

seriesId
uint256
required
The settled option series ID.
amount
uint256
required
Number of option tokens to burn and claim (6 decimals). Example: 10000000 = 10 whole options.

Payout Calculation

The payoffPerWhole (USDC raw per 1 whole option, i.e. per 1,000,000 raw tokens) is set at settlement:
Call:  payoffPerWhole = max(0, resolutionBps − strikeBps) × 10,000
Put:   payoffPerWhole = max(0, strikeBps − resolutionBps) × 10,000
Holder payout for burning amount raw tokens:
payout = amount × payoffPerWhole / 1,000,000
If the option expired worthless (payoffPerWhole = 0), the tokens are burned but no USDC is transferred.

Prerequisites

  • The series must be settled (via settleWithAttestation() or settle())
  • The caller must hold at least amount of option tokens for the series
  • No approval is needed — ConvallaxCore is the minter/burner of option tokens

Example

const core = new ethers.Contract(
  '0xc760F8f6B8830463822be9F68eB10e1b5Dace378',
  ['function claimHolderPayout(uint256 seriesId, uint256 amount) external'],
  signer
);

const tx = await core.claimHolderPayout(seriesId, ethers.parseUnits('10', 6));
await tx.wait();
There is no deadline to claim. Payouts remain available on-chain indefinitely.