Collection.xyz Documentation
Collection.xyz
  • What is Collection.xyz?
  • Collection Concepts
    • Liquidity Pool
      • Advanced Pool
      • Basic Pool
    • Bonding Curve and Delta
    • Fee
    • Buy / Sell
    • APR
    • The Collection Whitepaper
    • Collection 1.00: Patch Notes
  • User Guides
    • Create a Trade Pool
    • Create a Buy Pool
    • Create a Sell Pool
    • Buy & Sell NFTs instantly
    • LP Strategy Guide
  • Technical Reference
    • NFT AMM
      • What Is A CollectionPool?
      • Differences Between Individual And Communal Liquidity Pool Model
      • How do I determine if a pool has sufficient liquidity to fulfil an order?
    • Fee Structure
      • Overview of the Fee Structure in NFT AMMs
      • Calculation and Collection of Fees
    • Royalties
      • How are royalties implemented?
      • Relation between Royalties and Fees in the AMMs
      • All Possible Royalty Scenarios
    • Airdrop Compatibility
      • Can Collection.xyz handle airdrops?
    • Pool Types
      • Definition of Pool Types In NFT AMMs
      • Comparison of Different Pool Types
    • Bonding Curves
      • Parameters of the bonding curves
      • Type of bonding curves
        • Linear Curve
        • Exponential Curve
        • Sigmoid Curve
      • How are the parameters used in each of the bonding curves?
      • Customizable spread curves
    • Github Repos & Addresses
    • Audit Reports
    • Technical User Flows
      • Technical Architecture
      • Create Pool
      • Swapping and Trading: User Buying NFT
      • Swapping and Trading: User Selling NFT
      • Bonding Curves and Pricing
Powered by GitBook
LogoLogo

Collection.xyz

  • Main Website
  • NFT DEX Testnet

Connect with us

  • Discord
  • Twitter
  • Blog

© 2023 Collection. All rights reserved

On this page
  1. Technical Reference
  2. Bonding Curves

Parameters of the bonding curves

We maintain four parameters for the bonding curve.

Delta

Delta is a static variable until changed used to determine the speed of price increase Delta can be functionally flat as well, if you don’t want prices to change from trade to trade.

  • The number indicating functionally flat delta differs from each curve. For Linear curves, input a delta of 0. For Exponential curves, input a delta of 1e18 (representing 100% i.e. no multiplicative change). You can also do that with Sigmoid curves by setting P_min = P_max. However, since these are all functionally equivalent, we recommend just sticking with the simple Linear representation if you wish to create a functionally flat pricing curve.

SpotPrice

SpotPrice is a stateful variable that is used to store a rough price level to help calculate bid/asks

Props

We foresee the need for an arbitrarily large set of static variable beyond just delta (e.g. for the sigmoid curve, we require explicit min/max levels)

State

We foresee the need for an arbitrarily large set of stateful variables. State is a bytes variable for an arbitrarily large set of stateful variables.

Do note that the difference between props and state is just a convention for the curves that we have, and is not enforced for custom curves - someone could easily make props the stateful variable and state the static variable.

Variables
Intent of variable usage
DataType
Limited Data Storage?

Delta

Static - Changed by user only when you want to change the hyperparameters of pricing function

uint128

Limited

SpotPrice

Stateful - Changed by the pool automatically on each trade

uint128

Limited

Props

Static - Changed by user only when you want to change the hyperparameters of pricing function

bytes

Unlimited

State

Stateful - Changed by the pool automatically on each trade

bytes

Unlimited

PreviousBonding CurvesNextType of bonding curves

Last updated 2 years ago