Kwenta Documentation
DiscordKwentaTwitterBlog
  • 🥂Welcome to Kwenta
  • Getting Started
    • How to start using Kwenta
    • Introduction
    • Getting started on Optimism
    • How to get sUSD
    • Access Kwenta
      • Installing the IPFS Companion to Access Kwenta
      • Backup RPCs
      • Withdrawing from v2 Isolated Margin using Optimistic Etherscan
  • Using Kwenta
    • Futures on Kwenta
    • Jargon
    • Synthetix Isolated Margin
      • Funding
        • Technical Details
      • Delayed Orders
      • Maker/Takers on Kwenta
      • Leverage
      • Liquidations
      • Initial/Maintenance Margin
      • One-Click Trading
        • Onboarding to 1CT
        • FAQ
      • Smart Margin
        • Dashboard Overview
        • Futures UI Overview
        • Get Started with Smart Margin
          • Withdrawing sUSD & ETH
          • Opening/Closing Positions
          • Conditional Orders
            • Limit Orders
            • Stop-Loss Orders
          • FAQ
      • Delegated Trading
        • Getting started
        • Managing Delegates
        • Accessing Accounts Delegate to You
      • Fees
      • Referral Program
        • The Traders Tab
        • The Affiliates Tab
        • Incentive Tiers and Rewards
      • FAQ
    • Perennial Isolated Margin
      • Perennial Intro
        • Market Design
        • Oracles
        • Payoff & Positions
        • Trading Fees and Price Impact
        • Funding Rate
        • Interest Rate
        • Leverage & Liquidations
        • Collateral
        • CodeBase
      • Bridging to Arbitrum
      • Trading on Perennial
        • Dashboard Overview
        • Futures UI Overview
        • Opening/Closing Positions
        • Advanced Orders
          • Limit Orders
          • Stop-Loss Orders
      • Gasless Trading
        • Onboarding to 1-Click-Trading
        • FAQ
  • Kwenta Token
    • Staking KWENTA
      • How to stake KWENTA
      • Escrow and Vesting
      • Transferring Escrow Entries
    • Claiming Rewards
    • Trading Rewards
  • DAO
    • Kwenta Token
    • Governance
    • MarketingDAO
    • devDAO
      • Contributing to the Kwenta Frontend
        • Troubleshooting
        • Testing
  • Developers
    • Deployed Contracts
      • V2 Futures Market Proxy Contracts
    • Verify Kwenta
    • Kwenta SDK
  • Resources
    • Audits
    • Development progress Epoch 1 2024
    • GitHub
Powered by GitBook
On this page

Was this helpful?

  1. Using Kwenta
  2. Perennial Isolated Margin
  3. Perennial Intro

Payoff & Positions

PreviousOraclesNextTrading Fees and Price Impact

Last updated 10 months ago

Was this helpful?

When initializing a market, the market operator will select a payoff function. A payoff function describes the logic the smart contracts should use to divide the money between the two sides of the market: long & short, when the market settles.

Perennial allows for developers to define any payoff function they desire — everything from simple long <asset> markets to 3x short <asset> markets to options & exotic payoffs. Below are some examples of possible payoff functions:

Example Payoff Functions

Product
Payoff
Oracle

3x Leveraged Ether

3 * ETH

Chainlink ETH Feed

Squeeth

ETH * ETH

Chainlink ETH Feed

ETH-USDC UniV2 LP

sqrt( ETH )

Chainlink ETH Feed

The payoff function for a market can be any function over an available oracle feed. This function is the definition of the exposure one (1e18) taker position represents within the market.

In the case of the "3x Leveraged ETH" payoff function, the payoff function itself is leveraged. This is independent of Maker positions that can also be leveraged (Ex. a Maker could be 2x leveraged on a 3*ETH market). For more information on Maker/Taker leverage, see the Maintenance (& Leverage) section.

Positions

Positions in Perennial are represented as units of a payoff function. This means exposure is tethered to the payoff function, not in terms of USD.

For example, say one wanted to open a 1 ETH long position (payoff = 1 * ETH). This will open a taker position for 1 * market_payoff, so 1 * ETH. This position would keep 1 ETH of exposure until closed or liquidated.

Conversely, if a user is trying to open a position in terms of some $USD amount, they would have to estimate the USD value in units of the underlying payoff and open a position accordingly.

For example, if ETH is about $1000, and a user wants to open a $2500 long-eth position, they could call openTake(2.5), which will open a position that tracks 2.5*ETH, which will be approximately (but not exactly, because of delayed settlement) equal to $2500.

& are debited from a position's collateral account.

Funding
fees