BULL Execution


  1. All Collections
  2. Vaults
  3. BULL Vaults
  4. BULL Execution

Overview

Call Spread Strategy

Step by step:

Payoffs:

The new week begins and the Vault will sell the previous week’s accrued yield native to the asset (i.e. ignoring the possible call spread profits) to fund the next round of spread purchases.

Example:

Smart Contract Enforcement

The subaccount owned by the vault is registered with the Derive Exchange in the same way as a regular user, with the core difference being in the way the order signing is performed.

Derive ensures full custody of users’ funds by requiring (at a smart contract level) that any trade between two parties has messages signed by their session keys. A session key is just a separate private / public key pair that the user gives trading permissions by registering it with Derive's matching smart contract.

For example, in order for a trade between Alice and Bob to take place (e.g. to sells 8 call options at a price of $12.5), both Alice and Bob must sign a messages where they agree for such a trade, and both messages will be validated by the matching smart contract. Only the Exchange is allowed to submit such messages to the smart contract, which allows for added layers of security such as IP whitelisting of session keys, etc.

A vault has to go through the same flow, except the session keys it uses are not just plain old private keys stored somewhere secretly. Instead, the vault’s session key is a smart contract, and signatures are generated by calling this contract’s function.

The contract will only generate a signature if a set of validations passes, for example it will check the requested sell amount of sUSDe against the vault’s balance and refuse to generate a signature if the amount requested is too large. Similarly it will refuse to sign a price if that price is too far away from an oracle price. A complete list of contract safeguards will be added here shortly.