Vertex Docs
  • Getting Started
    • 📋Overview
    • 📜Table of Contents
    • 🚀Mission
    • ⚔️Vertex Edge
      • 1️⃣Vertex on Arbitrum
      • 2️⃣Blitz on Blast
        • Blitz Documentation
      • 3️⃣Vertex on Mantle
        • 🎆Trading Rewards
        • 📊Perpetual & Spot Market Specifications
        • 🖥️Open-Source Contracts
        • 🔌API
      • 4️⃣Vertex on Sei
        • 💰Trading Rewards
        • 📊Perpetual & Spot Market Specifications
        • 🖥️On-Chain Contracts
        • 🔌API
      • 5️⃣Vertex on Base
        • 💰Trading Rewards
        • 📊Perpetual & Spot Market Specifications
        • 💻Onchain Contracts
        • 🔌API
        • ✍️Create a Coinbase Smart Wallet
      • 6️⃣Vertex on Sonic
        • 💰Trading Rewards
        • 📊Perpetual & Spot Market Specifications
        • ⛓️On-Chain Contracts
        • 🔌API
      • 7️⃣Vertex on Abstract
        • 📊Market Specifications
        • ⛓️On-Chain Contracts
        • 🔌API
      • 8️⃣Bro.Trade on Berachain
        • ⛓️On-Chain Contracts
        • 🔌API
      • 9️⃣Vertex on Avalanche
        • 💰Trading Rewards
        • 📊Market Specifications
        • ⛓️On-Chain Contracts
        • 🔌API
  • Basics
    • 📽️Products
    • ⚡Technical Architecture
    • 🧵Universal Cross Margin
    • ✂️Isolated Margin
    • ℹ️Subaccounts & Health
    • ⏰Liquidations & Insurance Fund
    • 💵PnL Settlements
    • 📊Pricing (Oracles)
    • 💰Fees
    • 📈Funding Rates
    • 📅Market Specifications
    • ⚡One-Click Trading
    • 🔫Trigger Orders
    • 🗂️GMCI 30 & MEME Indices
    • 💰Trade & Earn
      • 🤝Maker Program
      • 🔁Cross-Chain VRTX Rewards
      • ❓Trading Rewards - FAQs
    • 🧑‍🤝‍🧑Referral Program
    • ⚒️Resources & Links
    • ❔FAQs
  • VRTX Token
    • 🎓VRTX Tokenomics
    • 📊Token Supply Distribution
  • More
    • 🌐Glossary
    • 🔬Contracts & Code Audits
    • 🦋Bug Bounties
    • 💽Data & Research
    • 🪟Maintenance Windows
    • 🏁Terms of Use
    • ✍️Statement of Risk
    • 🌍Restricted Territories
    • 📸Brand Assets
  • Tutorials
    • 🏁Quick Start
    • 🖱️One-Click Trading
    • ⚙️Trading Basics
    • ♾️Perpetuals
    • 🔮Spot
    • 🧑‍🤝‍🧑Multiple Accounts
    • 🔫TP/SL & Stop-Market
    • 💰Withdrawals
    • ⚡Fast Withdrawals
    • 🌉Cross-Chain Deposits
    • 🔄Lend, Borrow & Repay
    • ❤️Margin Health
    • 💧Pools
    • 💫VRTX Staking
    • ↔️Switching Chains
    • 🪙Trading Rewards
    • ✂️Shortcuts
  • Developer Resources
    • API
      • 🔌Endpoints
      • Gateway
        • Executes
          • Place Order
          • Place Isolated Order
          • Cancel Orders
          • Cancel Product Orders
          • Cancel And Place
          • Withdraw Collateral
          • Transfer Quote
          • Liquidate Subaccount
          • Mint LP
          • Burn LP
          • Link Signer
        • Queries
          • Status
          • Contracts
          • Nonces
          • Order
          • Orders
          • Subaccount Info
          • Isolated Positions
          • Market Liquidity
          • Symbols
          • All Products
          • Edge All Products
          • Market Prices
          • Max Order Size
          • Max Withdrawable
          • Max LP Mintable
          • Fee Rates
          • Health Groups
          • Linked Signer
          • Insurance
          • Min Deposit Rates
        • Signing
          • Examples
          • Q&A
      • Subscriptions
        • Authentication
        • Streams
        • Events
        • Rate limits
      • Archive (indexer)
        • Orders
        • Matches
        • Events
        • Summary
        • Candlesticks
        • Edge Candlesticks
        • Funding Rate
        • Interest & funding payments
        • Oracle Price
        • Perp Prices
        • Product Snapshots
        • Market Snapshots
        • Edge Market Snapshots
        • Maker Statistics
        • Merkle Proofs
        • Rewards
        • Referral Code
        • Liquidation Feed
        • Linked Signer Rate Limit
        • Subaccounts
        • Signatures
        • USDC Price
      • Trigger
        • Executes
          • Place Order
          • Cancel Orders
          • Cancel Product Orders
        • Queries
          • List Trigger Orders
      • V2
        • Assets
        • Pairs
        • APR
        • Orderbook
        • Tickers
        • Contracts
        • Trades
        • VRTX Token
      • Rate limits
      • Errors
      • Symbols
      • Depositing
      • Withdrawing (on-chain)
      • Integrate via Smart Contracts
      • Definitions / Formulas
    • Vertex Typescript SDK
      • Getting Started
      • How To
        • Create a Vertex client
        • Useful Common Functions
        • Query Markets & Products
        • Deposit Funds
        • Withdraw Funds
        • Manage Orders
      • User Guide
        • Client
          • Market
            • Place Order
            • Cancel Orders
            • Cancel Product Orders
            • Mint LP
            • Burn LP
            • Get All Markets
            • Get Latest Market Price
            • Get Market Liquidity
            • Get Open Subaccount orders
            • Get Historical Orders
            • Get Max Order Size
            • Get Max Mint LP
            • Get Candlesticks
            • Get Funding Rate
            • Get Product Snapshots
          • Spot
            • Approve Allowance
            • Deposit
            • Withdraw
            • Get Max Withdrawable
            • Get Token Contract for Product
            • Get Token Wallet Balance
            • Get Token Allowance
          • Perp
            • Get prices
          • Subaccount
            • Link Signer
            • Get Subaccount Linked Signer with Rate limits
            • Get Subaccount Summary
            • Get Subaccount Fee Rates
            • Get Subaccount Token Rewards
        • Engine Client
          • Executes
          • Queries
        • Indexer Client
          • Base Queries
          • Paginated Queries
        • Websocket
          • Executes
          • Queries
          • Subscriptions
        • Utilities
          • Contracts
          • Utils
      • API Reference
    • Vertex Python SDK
    • Vertex Rust SDK
    • Contracts
    • API/SDK Terms of Use
Powered by GitBook
On this page
  • How to query the amount of rewards I have earned?
  • Do we need to be >0.25% of maker volume in epoch 1 to qualify for epoch 2?
  • Quoting requirements are 5K per side for BTC/USDC and ETH/USDC spot, what’s the requirements for BTC and ETH perps?
  • How is the uptime field in the rewards response calculated?
  • What does maker_fee in rewards response represent? Isn’t maker fee rate 0?
  • Are all calculations based on subaccount or wallet address?
  • Do we have to provide liquidity on both the bid and ask sides of the orderboook to get rewards?
  • What does reward_coefficient refer to in global_rewards of rewards response?
  • For Q_MIN(N), does the order need to be in the books for the whole minute to qualify?
  • How is the base price determined when calculating spread?
  • Can you provide an example illustrating the Q_MIN(N) calculations?
  • How can I get more maker tokens?
Export as PDF
  1. Basics
  2. 💰Trade & Earn

❓Trading Rewards - FAQs

Frequently asked questions for VRTX trading rewards.

How to query the amount of rewards I have earned?

Via the Rewards query.

Do we need to be >0.25% of maker volume in epoch 1 to qualify for epoch 2?

No, each epoch is independent. You will qualify as long as your maker volume of the current epoch is >0.25%.

Quoting requirements are 5K per side for BTC/USDC and ETH/USDC spot, what’s the requirements for BTC and ETH perps?

Spot and perpetual markets have the same requirements, so both of them should be 5K.

How is the uptime field in the rewards response calculated?

Uptime represents the total minutes in the epoch (out of 28 days) your Q_MIN(N) is positive, so it's a value in the range of [0, 40320].

What does maker_fee in rewards response represent? Isn’t maker fee rate 0?

maker_fee doesn’t represent fees that maker paid, it represents the accumulative taker_fee that the opposite side of your maker order paid, which means for a trade --

(taker, maker, taker_fee), we keep track of fees as follows --

taker_fees(taker) += taker_fee, maker_fees(maker) += taker_fee.

Are all calculations based on subaccount or wallet address?

Calculations are based on wallet addresses. To sum them up, we extract the wallet from all subaccounts, and all trades / orders across multiple subaccounts are unified.

Do we have to provide liquidity on both the bid and ask sides of the orderboook to get rewards?

Yes, we take the smaller side of bid and ask as your size.

What does reward_coefficient refer to in global_rewards of rewards response?

The reward_coefficient / num_product represents the portion of tokens (both maker and taker) allocated to the product. Assume epoch total maker tokens are 1000, we have 4 products. If a product has reward_coefficient = 1.2, maker / taker tokens allocated to this product will be 1000 * 1.2 / 4.

We want to allocate more tokens to more active markets, so the more fees a market collected, the higher reward_coefficient it will have.

For Q_MIN(N), does the order need to be in the books for the whole minute to qualify?

Not the whole minute, we take a snapshot every minute using random sampling. You’ll qualify as long as you meet the requirements when the snapshot is taken.

How is the base price determined when calculating spread?

We use the mid-market price --(bid_1 + ask_1) / 2.

Can you provide an example illustrating the Q_MIN(N) calculations?

Q_MIN(N) = min(Q_BID(N), Q_ASK(N)), where:

  • Q_BID(N) = BidDepth_1 / BidSpread_1 + BidDepth_2 / BidSpread_2 + ...

  • Q_ASK(N) = AskDepth_1 / AskSpread_1 + AskDepth_2 / AskSpread_2 + ...

We’ll use an example to introduce how these values (Depth and Spread) are calculated.

Assume you have the following orders:

  • Price: $80, size: 999 (bid)

  • Price: $98, size: 10 (bid)

  • Price: $99, size: 6 (bid)

  • Price: $101, size: 8 (ask)

  • Price: $102, size: 15 (ask)

  • Price: $140: size: 999 (ask)

Assuming the mid market price is $100, min depth is $1.5k, and max spread is 0.05, we have:

  • BidDepth_3 = 80*999 = 79920, BidSpread_3 = (100-80)/100 = 0.2

  • BidDepth_2 = 98*10 = 980, BidSpread_2 = (100-98)/100 = 0.02

  • BidDepth_1 = 99*6 = 594, BidSpread_1 = (100-99)/100 = 0.01

  • AskDepth_1 = 101*8 = 808, AskSpread_1 = (101-100)/100 = 0.01

  • AskDepth_2 = 102*15 = 1530, AskSpread_2 = (102-100)/100 = 0.02

  • AskDepth_3 = 140*999 = 139860, AskSpread_3 = (140-100)/100 = 0.4

Since BidSpread_3 > 0.05 and AskSpread_3 > 0.05, these two orders will be ignored. Now the depths of valid orders are:

  • BidDepth = BidDepth_2 + BidDepth_1 = 1574

  • AskDepth = AskDepth_2 + AskDepth_1 = 2338

Since both depths are more than the requirement ($1.5k), we have:

  • Q_BID(N) = 594 / 0.01 + 980 / 0.02 = 108400

  • Q_ASK(N) = 808 / 0.01 + 1530 / 0.02 = 157300

So, Q_MIN(N) = min(108400, 157300) = 108400.

However, if the $99 order’s size is 5 (instead of 6), the Q_MIN(N) will be 0 since the min depth requirement can’t be fulfilled on the bid side.

How can I get more maker tokens?

We have q_score = sum_q_min^0.3 * maker_fee^0.7 * uptime^5, where sum_q_min represents the sum Q_MIN(N) across all minutes, maker_fee and uptime have been introduced above. q_score directly determines how many tokens you will get which is -- q_score / sum(q_score, across all addresses) * total_maker_tokens, so you can try to increase any of these three values to get better q_score subsequently getting more tokens.

PreviousCross-Chain VRTX RewardsNextReferral Program

Last updated 4 months ago

Page cover image