Pilgrim Documentation
  • Pilgrim Overview & Concepts
  • White Paper
    • Pilgrim White Paper
    • Valuation & Trading Algorithm
  • Resources
    • Pilgrim Web App
    • Forum
    • Discord
    • Telegram
    • GitHub
  • The Pilgrim Token
    • Tokenomics Overview
    • Token Distribution
    • Trading Fee
  • Trader's and Creator's Guide
    • The Bidders Queue
    • Arbitraging Positions
    • Earning Yield
  • The Pilgrim DAO
    • Governance & Operations
    • Development & Key Stakeholders
  • Security
    • Protocol Security
  • Signature
    • Signed off by Test in Prod
Powered by GitBook
On this page
  • Introduction
  • Fee Calculation Methodology
  1. The Pilgrim Token

Trading Fee

Introduction

Pilgrim Protocol charges the user a trading fee on:

  • trading rounds on a PilgrimPair pool

  • on a buyout event of the metaNFT or NFT

  • on delisting, i.e. reclaiming ownership of the locked NFT

This section describes how trading fees are quantitatively calculated on Pilgrim, and detailed fee distribution logic.

TL;DR:

Pilgrim Protocol charges two types of fees on every round trade: a base fee and a round fee.

  • The base fee is taken in the form of base tokens, and is used to buy back PIL for distribution to xPIL stakers. Additional PIL rewards are given to round traders as well.

  • The round fee is taken in the form of rounds, and is sent to the metaNFT owner. This is given in addition to fee subsidizations from the Protocol Treasury, denominated in PIL tokens.

An NFT fee is also charged when NFTs or metaNFTs are traded. This is used to buy back PIL for distribution to xPIL stakers.

Pilgrim is a decentralized protocol; no centralized party takes fees accumulated from the protocol directly.

Fee Calculation Methodology

Definition

  1. Base Fee Ratio: fbase=abase/b,b=1000,abase∈[0,b],abase∈Z+f_\text{base} = a_\text{base} / b, b = 1000, a_\text{base} \in [0, b], a_\text{base} \in \mathbb{Z}^{+}fbase​=abase​/b,b=1000,abase​∈[0,b],abase​∈Z+

  2. Round Fee Ratio: fround=around/b,b=1000,around∈[0,b],around∈Z+f_\text{round} = a_\text{round} / b, b = 1000, a_\text{round} \in [0, b], a_\text{round} \in \mathbb{Z}^{+}fround​=around​/b,b=1000,around​∈[0,b],around​∈Z+

  3. NFT Fee Ratio: fNFT=aNFT/b,b=1000,aNFT∈[0,b],aNFT∈Z+f_\text{NFT} = a_\text{NFT} / b, b = 1000, a_\text{NFT} \in [0, b], a_\text{NFT} \in \mathbb{Z}^{+}fNFT​=aNFT​/b,b=1000,aNFT​∈[0,b],aNFT​∈Z+

  4. Base Fee Function: feebase(n)=ceil(n/b)∗abasefee_\text{base}(n) = ceil(n / b) * a_\text{base}feebase​(n)=ceil(n/b)∗abase​: A function which calculates how much base tokens are charged as fees.

  5. Round Fee Function: feeround(n)=ceil(m/b)∗around∗Kfee_\text{round(n)} = ceil(m / b) * a_\text{round} * Kfeeround(n)​=ceil(m/b)∗around​∗K: A function which calculates how much base tokens are charged as fees. Note that the result is also a multiple of KKK.

  6. NFT Fee Function: feeNFT(n)=ceil(n/b)∗aNFTfee_\text{NFT(n)} = ceil(n / b) * a_\text{NFT}feeNFT(n)​=ceil(n/b)∗aNFT​ : A function which calculates how much base tokens are charged as fees when metaNFTs or NFTs are traded.

Buying Rounds: Exchanging Base Tokens to Rounds

When a user pays nnn base tokens, they receive m⋅K−feeround(m)m \cdot K - fee_\text{round}(m)m⋅K−feeround​(m) rounds.

  1. The protocol receives nnn base tokens -- e.g. PIL, WETH, USDC, etc.

  2. feebase(n)fee_\text{base}(n)feebase​(n) base tokens are taken from provided base tokens. The resulting number of base tokens is n−feebase(n)n - fee_\text{base}(n)n−feebase​(n).

  3. Apply Pilgrim AMM logic: m⋅Km \cdot Km⋅K rounds are minted.

  4. feeround(m)fee_\text{round}(m)feeround​(m) rounds are removed from initially minted rounds. The resulting number of rounds returned is m⋅K−feeround(m)m \cdot K - fee_\text{round}(m)m⋅K−feeround​(m)

Selling Rounds: Exchanging Rounds to Base Tokens

When a user pays n⋅Kn \cdot Kn⋅K rounds, they receive m−feeround(m)m - fee_\text{round}(m)m−feeround​(m) base tokens.

  1. The protocol receives n⋅Kn \cdot Kn⋅K rounds.

  2. feeround(m)fee_\text{round}(m)feeround​(m) rounds are taken from provided rounds. The resulting number of rounds is n⋅K−feeround(n)n \cdot K - fee_\text{round}(n)n⋅K−feeround​(n).

  3. Apply Pilgrim AMM logic: mmm base tokens are withdrawn from the protocol.

  4. feebase(m)fee_\text{base}(m)feebase​(m) base tokens are removed from withdrawn liquidity. The resulting number of base tokens returned is m−feebase(m)m - fee_\text{base}(m)m−feebase​(m).

Trading NFTs, metaNFTs, or delisting NFTs

When a user pays nnn base tokens, metaNFT holders and round holders receive n−feeNFT(n)n - fee_\text{NFT}(n)n−feeNFT​(n) base tokens in total.

  1. The protocol receives nnn base tokens.

  2. feeNFT(n)fee_\text{NFT}(n)feeNFT​(n) base tokens are taken from provided base tokens. The resulting number of base tokens is n−feeNFT(n)n - fee_\text{NFT}(n)n−feeNFT​(n).

PreviousToken DistributionNextThe Bidders Queue

Last updated 3 years ago