Stochastic.Finance Docs

Last updated 12 September 2026

Minting options

Minting is how every option in the protocol comes into existence. You post USDC, and the contract hands you both legs of a brand-new option.

There is no underwriting pool and no permission step. If the parameters you ask for exist on the grid and you have the collateral, the mint succeeds.

What happens

One transaction, in the dApp at /issue_options:

  1. You specify the option — underlying feed, maturity, strike, Call or Put — and how much USDC to post.
  2. The contract pulls the USDC and holds it as collateral.
  3. It mints two ERC-1155 tokens to you: the long leg and the short leg, each in an amount equal to the collateral posted.

issue_options

Post 100 USDC and you receive 100 units of the long leg and 100 units of the short leg. Because the two legs always divide the collateral between them, holding both is a flat position worth exactly what you put in, minus fees when you eventually settle.

1 USDC = 1 option unit

Option amounts are denominated in collateral, not in contracts on a notional. This is why there is no margin: the most any option can ever pay is the USDC posted against it.

Turning a mint into a position

The mint itself is neutral. You take a position by selling one of the two legs:

Sell the… You are left holding Your view
Short leg Long leg The option gains value — spot moves toward and past the strike
Long leg Short leg The option loses value — spot stays away from the strike

Selling happens on the AMM (/swaps) like any other trade, or by transferring the token directly to a counterparty — the legs are ordinary ERC-1155 tokens.

So "writing an option" here is a two-step operation: mint, then sell the long leg. The USDC you receive for it is your premium, and the short leg you keep is your obligation. Unlike a traditional short option position, that obligation is already fully funded — there is nothing further you can be called on for.

Requirements and limits

Rule Detail
Collateral Native Base USDC, approved to the SF Options contract first
Amount granularity Whole cents — the amount must be a multiple of 1e4 in USDC's 6-decimal units
Minimum One cent
Maturity Must not have expired. Minting into an expired maturity reverts
Parameters Strike, maturity and feed must exist on the grid; European kind only

Calling it directly

// Everything spelled out
ISFOptions(0xf0022aC3…).issueOption(
    tknAmt,        // collateral in USDC units, multiple of 1e4
    pricefeed,     // registered Chainlink aggregator address
    maturity,      // uint24, packed (year-2000)<<16 | month<<8 | day
    strike,        // uint24 packed strike code from the grid
    option_type,   // 0 = Call, 1 = Put
    option_kind,   // 1 = European (only value accepted)
    direction      // 0 = long, 1 = short — either mints the same pair
) returns (uint256 tokenId);

// Or, if you already know the id of the leg you want
ISFOptions(0xf0022aC3…).issueOptionFromTokenId(tknAmt, tokenId);

The direction argument does not change the outcome: both legs are minted either way, and the return value is the id you asked for. Its counterpart is the same id with the direction bit flipped — see TokenID format.

Both functions emit optionIssued(writer, tokenId, invertedTokenId, amount), and the mint itself appears as an ERC-1155 TransferBatch from the zero address, so wallets and indexers see the new position without any special integration.

What minting costs

Nothing, beyond gas. There is no fee to mint.

The protocol's fee is charged at the other end of an option's life, when a leg is exercised, and it is taken out of that leg's payout. See Fees.

Why you'd do this

Minting is the supply side of the protocol. Two reasons to be here:

  • Collect premium. Sell the leg you think is overpriced and keep the other. Your maximum loss is bounded by the collateral you already posted, which is the whole design.
  • Seed a pool. Providing liquidity requires option tokens as well as USDC, and minting is where those option tokens come from. Writers and liquidity providers are usually the same people.

Next

© Stochastic Finance Protocol — All Rights Reserved