Knowledge Base
  • 👨‍🎨For creators
    • 👋Intro to creating with Highlight
    • 📜Project quick start guides
      • Launch an open edition
      • Launch a delayed reveal collection
      • Launch a 1-of-1 auction
      • Launch a generative artwork
      • Launch an open edition generative artwork
      • Launch a PFP project
      • Launch a generative, image-based PFP project
      • Launch a ranked auction
      • Launch an onchain project
      • Launch a collector's choice project
      • Ongoing drops with the same contract
    • 🎇Learn the creation flows
      • ERC-721 vs. ERC-1155 Token Standards
      • Edition flow
      • Generative flow
      • Series flow
      • The importance of testing your collections
    • 👩‍💻Use embeds to build custom mint sites
      • Case Study: How Superchain Chiblings launched a fully custom website on Highlight x Base
      • Running a collector's choice mint via embeds
    • 💸Selling your NFTs
      • Available sale methods
        • Ranked auction
        • Dutch auction
        • English auction
      • Setting up gates (allowlists)
      • Combining sale methods
      • Configuring payment currencies
        • Accepting ERC20 payments
        • Accepting credit card payments
      • Payouts, royalties & splits
      • Livestream on the mint page
    • 🛠️Managing your collections
      • Hiding a collection
      • Mint creator reserves
      • Airdropping tokens
      • Updating collection metadata
      • Getting verified
      • Sponsored mints
      • Reducing collection size
    • 🔮Generative & onchain art tools
      • Highlight Studio
      • Onchain file system
      • Storing SVGs onchain
      • Downloading token metadata
      • How onchain is Highlight?
    • 🌐Integrations & ecosystem
      • Farcaster
      • Paragraph.xyz
      • Foundation Worlds
        • Importing a collection to Worlds
        • Foundation × Highlight FAQs
      • Export generative art from Cables.gl
      • Highlight on mobile
    • 🤓Advanced
      • Reusing contracts
      • Randomization algorithm
      • Upload asset specifications
      • Fulfilling auctions for non-transferable tokens
    • ✨About Highlight
      • Artwork policies
      • Highlight fees
  • For Collectors
    • 💳Buying
      • Buying on secondary
      • Exchange currency across chains
  • 💲Selling
    • Selling on secondary
    • Instantly sell & relist NFTs
  • 🔔Notifications
  • For developers
    • Intro to the Highlight Protocol
    • NFT contracts
      • Official addresses
      • ERC721GeneralSequence
      • ERC721General
      • ERC721EditionsDFS
      • ERC721SingleEditionDFS
      • ERC721GenerativeOnchain
      • Deprecated contracts
    • Custom metadata renderers
      • Example custom renderers
    • Minting protocol
      • Mint Managers
      • Mint Mechanics
        • Dutch auction mechanic
        • Ranked auction mechanic
        • Verisart mechanic
        • Seed-based mechanic
        • Auction Manager *
      • Referral Manager
    • Management modules
      • TokenManager
      • RoyaltyManager
    • Observability
    • Onchain File Storage
    • Mint fee oracle
    • Protocol rewards
      • Creator rewards
      • Mint referral rewards
    • Crosschain burn / redeem
  • Official links
    • ✨Highlight website
    • 🟣Highlight Farcaster
    • 🐦Highlight Twitter
    • 👋About us
Powered by GitBook
On this page
  1. For developers
  2. Minting protocol

Referral Manager

Learn how to earn referral rewards for each mint when you display Highlight projects on your site

PreviousAuction Manager *NextManagement modules

Last updated 8 months ago

Highlight offers a contract called ReferralManager, which acts as a proxy for our . By executing mints through this contract, you can capitalize on , earning 10% of .

On the ReferralManager, vectorMint721WithReferral, gatedNumMint721WithReferral and gatedChooseMint721WithReferral are the three methods supported, which essentially means that referrals are supported for all fixed price sales and private dutch auctions on Highlight.

vectorMint721WithReferral is used for mints on public sales, where you can pretty easily construct the arguments yourself.

The gatedNumMint721WithReferral and gatedChooseMint721WithReferral methods require an EIP712 based signature, and are used for and mints. You can construct these arguments by hitting our API. In fact, you can construct mint args for every referral-supported mint using our API if you wanted to, with the following schema and endpoint:

API url: https://api.highlight.xyz:8080/

Graphql query: 

mutation ClaimMintTo($data: MintClaimInput!, $vectorId: String!) {
  claimMintTo(data: $data, vectorId: $vectorId) {
    contract {
      chainId
      address
      args
      method
      value
      gasLimit
    }
  }
}

where MintClaimInput = {
  numTokensToMint: number;
  referrer?: string; // here's where you'd pass the referrer address
  mintData?: string; // you can ignore this field
}


Review the ReferralManager contract on Github:

See the page to find the ReferralManager on each chain.

MintManager
referral rewards
Highlight's mint fee
gated mints
collector’s choice series
NFT contracts
Logohl-evm-contracts/contracts/mint/referrals/ReferralManager.sol at main · highlightxyz/hl-evm-contractsGitHub