Pods Options
app.pods.financeGithubBlogDiscord
  • Getting Started
  • Understand Options
    • What are options?
    • How do options work?
    • Pricing Options
  • The Protocol
    • Overview
    • Safety Measures
    • Ecosystem Participants
    • Use Cases
  • Options
    • Overview
    • Options Instrument
      • Variables
      • Functions
        • Mint
        • Unmint
        • Withdraw
        • Exercise
    • Smart Contracts
      • OptionFactory
      • PodPut
      • WPodPut
      • PodCall
      • WPodCall
    • Applied Use Cases
    • Understanding Returns
  • Options AMM
    • Overview
    • Options AMM
      • Variables
      • Components
      • Functions
        • Add Liquidity
        • Re-add Liquidity
        • Trade
        • Remove Liquidity
      • Pricing
      • Find The Next IV
      • Fees
      • Scenarios
        • LP Simulations
    • Smart Contracts
      • OptionAMMPool
      • OptionAMMFactory
      • OptionPoolRegistry
    • Applied Math
  • Developers
    • System Overview
    • Deployed Contracts
    • Dev Environment
  • Interfacing with Pods
    • Brand Assets
  • Code Integration Guides
    • Integrating with Pods (video)
    • How To Create Your Own Option
    • How To Create Your Own Pool
    • How To Trade (Buy/Sell)
    • How To Exercise
    • How To Remove Liquidity
  • User Guides
    • Videos
  • Security
    • Audits
  • APPENDIX
    • FAQ
    • Glossary of Terms
  • Additional Resources
  • app.pods.finance
  • Github
  • Blog
  • Discord
  • Twitter
  • Pods v0 Docs
Powered by GitBook
On this page
  • Main contracts
  • OptionFactory
  • PodPut
  • WPodPut
  • PodCall
  • WPodCall
  • Auxiliary Contracts
  • PodPutBuilder / PodCallBuilder / WPodPutBuilder / WPodCallBuilder

Was this helpful?

  1. Options

Smart Contracts

PreviousExerciseNextOptionFactory

Last updated 3 years ago

Was this helpful?

Main contracts

OptionFactory

PodPut

WPodPut

If you want to manage WETH / ETH conversion yourself, you can simply use PodPut with WETH in the underlying asset parameter.

PodCall

WPodCall

If you want to manage WETH / ETH conversion yourself, you can use PodCall with WETH in the underlying asset parameter.

Auxiliary Contracts

PodPutBuilder / PodCallBuilder / WPodPutBuilder / WPodCallBuilder

All those contracts are the direct factories of the Option contracts. We will not cover them in our documentation, but you can check directly on our code. Check our Github. They all have the same function and parameters used to deploy a new option contract:

  • buildOption()

Contract responsible for creating/deploying new option contracts. This contract can create four different option's contracts: PodPut, WPodPut, PodCall, WPodCall. It uses the "" pattern, where it uses auxiliary "builder" contracts (PodPutBuilder, WPodPutBuilder, PodCallBuilder, WPodCallBuilder). From the users/developer's perspective, they do not need to interact with those auxiliary contracts. OptionFactory has only one function:

()

The contract for American or European Put options. It works with any ERC20 pair as the strike asset and underlying asset. This contract is also compatible with on the strike asset or the underlying asset. It is possible to interact with the contract mainly using:

Same logic as the PodPut, but with some special function to convert ETH into WETH. The underlying asset of that contract must be the . The only function that has a different signature is theexerciseEth. Although the other functions work differently under the hood, they have the same signature of the PodPut:

If you are using WPodPut on a testnet, you should use a contract address for the underlying asset with the same interface of the mainnet WETH. You can check our WETH address for testnets on our .

The contract for American or European Call options. It works with any ERC20 pair as the strike asset and underlying asset. This contract is also compatible with on the strike asset or the underlying asset. It is possible to interact with the contract mainly using:

)

()

Same logic as the PodCall, but with some special function to convert ETH into WETH. The underlying asset of that contract must be the . The only function that has a different signature is the mintEth. Although the other functions work differently under the hood, they have the same signature of the PodPut:

)

If you are using WPodCall on a testnet, you should use a contract address for the underlying asset with the same interface of the mainnet WETH. You can check our WETH address for testnets on our .

Mega Factory
createOption
aTokens
official WETH address
mint()
unmint()
deployed contracts page
aTokens
official WETH address
deployed contracts page
Option Instrument Diagram
mint()
unmint()
exercise()
withdraw()
exerciseEth()
withdraw()
mint()
unmint(
exercise
withdraw()
unmint()
exercise()
withdraw()
mintEth(