Synthetix Docs
V2 User Docs
  • User Docs
  • Synthetix Exchange
  • Leveraged Tokens
  • For Developers
V2 User Docs
  • Synthetix Protocol
    • Welcome to Synthetix
    • The Synthetix Protocol
      • Synthetix Token (SNX)
      • The Role of Stakers
      • Oracles
      • Synthetix Litepaper
    • Synthetic Assets
      • Perpetual Futures
      • Spot Synths
  • Staking
    • Depositing to the 420 Pool
    • Current Protocol Parameters
    • Staking Guide (Nearing Deprecation)
      • Steps for Staking SNX (via Minting)
      • Steps for Unstaking SNX (via Burning)
      • Steps for Claiming Rewards
      • Automating Staking, Claiming, Burning, and Minting
        • Legacy Automated Minting & Claiming
      • Understanding the Collateralization Ratio
      • Understanding Debt, Minting, and Burning
      • Simplified Debt Hedging
      • Escrow and Vesting
      • Liquidations
    • Staking FAQ
    • Bridging sUSD
  • DAO
    • Governance Framework
      • Synthetix Improvement Proposals (SIPs)
      • Synthetix Configuration Change Proposal (SCCPs)
      • Spartan Council
      • Core Contributors
      • Staker
    • Elections and Voting
      • Voting with a Gnosis Safe
    • How to write SIP/SCCPs
  • V3
    • Synthetix v3
    • Build on v3
  • Synthetix Ecosystem
    • Built on Synthetix
      • Kwenta - Spot and Perps
      • Decentrex - Perps
      • Lyra - Options
      • Polynomial - Perps and Option Vaults
      • 1inch/Curve - Atomic Swaps
    • Community Infrastructure
    • Ecosystem Operations
  • integrations
    • Perps Integration Guide
      • Introduction
      • Optimistic Sepolia Testnet Tokens
      • Technical Integration
      • Perps Subgraph
      • General FAQ
      • Tracking Codes
      • Perps Keeper
      • Liquidations
      • Useful Links
      • Migration Guides
        • PerpsV2 Mintaka -> Almach
        • FuturesV1 -> PerpsV2 (Mintaka)
    • Contract Addresses
    • Releases
  • Terms of Use
  • Brand Assets
    • Design Resources
Powered by GitBook
On this page
  • What is a Tracking Code?
  • Obtaining a Tracking Code
  • Volume Attribution
  1. integrations
  2. Perps Integration Guide

Tracking Codes

PreviousGeneral FAQNextPerps Keeper

What is a Tracking Code?

Synthetix generates revenue via fees collected through the use of different (e.g. atomic swaps & perps). One such method are maker/taker fees charged on entry/exit of perp positions. Protocols and dapps that wish to partner and/or integrate with Synthetix, can receive a portion of fees relative to volumes generated.

A trackingCode is used to associate and attribute volume generated through atomic and delayed orders.

Obtaining a Tracking Code

Tracking codes are issued on a case by case basis, to genuine integrators once they are actively sending volume through the protocol. There is no documentation or permission required to integrate with Synthetix contracts, so the steps to obtaining a tracking code and share of fees are:

  1. Integrate your project with Synthetix

  2. Set your tracking code as your project name

  3. Perform some transactions on mainnet (for Perps you will see them )

  4. Reach out in channel on , to share your project and early transactions

Volume Attribution

To attribute volume to a tracking code, we provide an amended withTracking method for each market modification call. This allows you to specify a trackingCode as the last argument. If a position is successfully opened a PerpsTracking event is emitted and used for fee revenue attribution.

function modifyPositionWithTracking(
    int sizeDelta,
    uint priceImpactDelta,
    bytes32 trackingCode
) external;

function submitOffchainDelayedOrderWithTracking(
    int sizeDelta,
    uint priceImpactDelta,
    bytes32 trackingCode
) external;
synthetic assets
here
#dev-portal
Synthetix Discord