Smart Contracts

Pods is a decentralised non-custodial options protocol where users can participate as issuers (sellers) or executors (buyers). Sellers provide strike asset as collateral to the a contract under certain conditions (strike price and expiration date) and them can sell the minted ERC20 Pod with a premium on a third-party, DEX, CEX or on our own UI. Buyers who acquired that Pod are able to exchange 1 unit of a Pod + 1 unit of underlying asset * strike price until expiration date.

The Pods Protocol contracts are open source and all source code can be found on Github. An overview of the contracts is below, with more details for developers in the following pages.

If you need development support, join the #developers channel on our Pods Finance community Discord server.

PodOption

The OptionCore contract contain core properties shared by call and put. It's must be inherited from their parents contracts (PodCall / PodPut) to be a full used contract. See the PodOption section of the documentation.

PodPut

The put tokens orPodPut contracts are EIP-20 / ERC20 tokens, that represent the right of sell the same amount 1:1underlying asset at the strike priceuntil maturity date. (E.g: 1 unit of PodPut plus 1 unit of underlying asset gives me the right of exchange for x units ofstrike asset / strike price). This contract contains 5 functions:

  • Depositing strike asset as collateral, and minting PodPut.

  • Burning PodPut if seller wants to exit position before expiration date.

  • Exchange function in case PodPut holder wants to exercise his right.

  • Withdraw collateral after expiration date.

PodCall

The call tokens orPodCall contracts are EIP-20 / ERC20 tokens, that represent the right of buy the same amount 1:1underlying asset at the strike priceuntil maturity date. (E.g: 1 unit of PodCall plus 1 unit * strike price of strike asset (gives me the right of exchange for 1 unit of underlying asset). This contract contains 5 functions:

  • Depositing underlying asset as collateral, and minting PodCalls.

  • Burning PodCall if seller wants to exit position before expiration date.

  • Exchange function in case PodCall holder wants to exercise his right.

  • Withdraw collateral after expiration date.

OptionExchange

(coming soon)

The OptionExchange will manage selling PodCalls/podPuts at partners exchanges, working as an aggregator for finding liquidity. We will provide an UI to interact with this contract.

OptionFactory

(coming soon)

The OptionFactory will be responsible for deploying a new PodPut / aPodPut instance, and checking if already exists a deployed contract matching the same 4 parameters:

  • Underlying Asset address

  • Strike Asset address

  • Strike Price

  • Expiration Date

Last updated